A grunt plugin allowing you to use
This plugin resolves dependencies recursively, and builds a list of correctly sorted, non-duplicate dependencies.
Note: This plugin doesn't support external urls yet. If you need support for this, create an issue here, or submit a pull request.
This plugin requires Grunt
~0.4.2 or older.
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-useuses --save-dev
In your project's Gruntfile, add a section for this task to the data object passed into
Allows you to specify aliases for your dependencies.
/*** Some cool file.** Gives you back assets/vendor/angular/angular.min.js* @uses angular.min** Gives you back assets/vendor/angular/angular.js* @uses angular*/
Allows you to specify searchPaths for useuses. It's exactly what it sounds like, in that it will apply its search algorhythm in the supplied searchPaths as well.
/*** Some cool file.** Gives you back assets/bower_components/angular/angular.min.js* @uses angular/angular.min*/
/** My file** Some info about My file** @author RWOverdijk* @version 0.1.0* @license MIT*/
This plugin allows you to add a new annotation by the name of
@uses in the following ways:
/** Relative to your current dir:* @uses ./my-dependency.js** Without the .js extension (will load ./my-dependency.js):* @uses ./my-dependency** A package with an index.js (will load ./package/index.js)* @uses ./package** Paths relative to your project directory:* @uses assets/scripts/common/filter/age.js*/
The advantages are clear.
You can specify dependencies in annotations making development easier, as you have a reference to the file's dependencies. The files individually still work without any dependencies, and you can still build a concatenated file.
I've made a very small, but very informative example. You can find it in the