A Grunt plugin to bundle one or more AMD packages into a single define statement. This means you can just require the bundle and get all the packages loaded via requirejs.
This plugin requires Grunt
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-requirejs-bundle --save-dev
In your project's Gruntfile, add a section named
requirejs-bundle to the data object passed into
requirejs-bundle task will enumerate all Bower packages (containing bower.json) in the provided src directory and build them into a single AMD statement.
Default value: undefined
Paths of source files globbed in the src parameter can be treated as relative to this path.
Packages that are bundled with this task are only included if their name matches this grunt filespec pattern.
The AMD call will be called with this as the first parameter.
The requirejs-bundle task will emit either an AMD require statement or an AMD define. The default is an AMD require.
In this example, custom options are used bundle all the packages in the components directory into a single AMD module called 'my-components', the module is going to be compiled by requirejs with the baseUrl set to 'src', so we also set the 'requirejs-bundle' baseUrl to make the paths the same.
Assuming we have a two bower packages (package1 and package2) in the components directory, the resulting AMD module will look like this:-
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.
- 0.0.8 - Fixed a bug that added the module name to require() calls
- 0.0.7 - Added support for requireCall option
- 0.0.6 - expand the full package name