bowerex

Extension tool for bower

Usage no npm install needed!

<script type="module">
  import bowerex from 'https://cdn.skypack.dev/bowerex';
</script>

README

bowerex

Bower but with extra functionality, in particular aimed at managing large projects with many private packages. On install / update, will automatically check out any private packages and link them for you.

Note: Although bowerex has extensive unit tests, it is yet to be fully tested. Use at your own risk.

Checkout

bowerex can checkout your project directory from it's source control (assuming it's either git or svn). Will execute an install once complete.

bowerex checkout git@yourserver.com:/path/to/repo
bowerex checkout http://example.com/rep/project --type=svn

Install / update

On install / update, will automatically check out any private packages and link them for you. Default directory for the package checkouts is "bower_checkouts". Both install and update command perform the same operation (as it seems in bower).

bowerex install
bowerex update

Tagging

bowerex can tag your project as well as it's dependent packages. All references to private packages in your bower.json will be updated to the tagged versions. It will automatically increment the version number in your bower.json on your original branch.

bowerex tag

Tag recycling

If a package has not been modified since it's last tag was created, the tagging operation will use the previous tag instead of creating a new one. This behaviour relies on some metadata inserted to the tagged bower.json to work, and so will only recycle tags that have been previously created by bowerex, not manually created ones.

Automatic commit / merge

If you attempt to tag when there are uncommited changes in your working copy, then bowerex can commit them as part of your tag (you will be prompted in this case to override this behaviour). Changes can also be automatically merged back to the original branch if required.

If you are working on a tagged working copy, the version number increment will default to the bugfix version (instead of minor as it normally does). This should be helpful when applying regression fixes to previously tagged versions.