Synchronizing Bower dependencies, with the possibility of compiling a list
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-bower-sync --save-dev
The bowersync task
This plugin allows you to synchronize two directories, based on the contents of the bower.json file.
Within your grunt file:
bowersync:taskName:files:'your/target/directory': 'bower_components'options:// The path to the file. Default: 'bower.json'bowerFile: 'bower.json'// Use when copying `dependencies` section. Default: truedependencies: true// Use when copying `devDpendencies` section. Default: falsedevDependencies: false// Use when copying `peerDependencies` section. Default: falsepeerDependencies: false// Remove all files from dest that are not found in src. Default: trueupdateAndDelete: true// Create symlinks to dependencies, instead of copying them. Default: falsesymlink: false
How it works?
Algorithm of work built on comparing the dependencies in the bower.json file and the current list of dependencies in the target directory.
- Read dependencies in the bower.json file
- Copy all dependencies (overwrite*) into the target directory
- Get a list of dependencies in the target directory
- Find unique items in a list (dependencies that are not in bower.json file)
- Compiling a list of dependencies for delete in the target directory
- Removing unnecessary dependencies to the target directory
- Overwrite enabled due to the possibility release of a new version of the dependency
- v1.0.2 [2016-08-20] - Update dependencies.
- v1.0.1 [2016-02-22] - Compatibility with Grunt version 1.0.0.
- v1.0.0 [2016-01-14] - Update deps, simplify conditions and first stable release.
- v0.2.3 [2015-12-29] - Fix wrong work with promises in a loop. Again.
- v0.2.2 [2015-12-26] - Update
- v0.2.1 [2015-12-15] - Fix wrong work with promises in a loop.
- v0.2.0 [2015-12-14] - Working with symlinks.
- v0.1.5 [2015-09-13] - Eslint (XO) checking.
- v0.1.4 [2015-09-10] - The completion of the task, if the src directory does not exist.
- v0.1.3 [2015-09-09] - Change task name.
- v0.1.2 [2015-09-09] - Initial().