grunt-horde
Packageable, composable grunt configuration modules
- Use
Gruntfile.js
to define the composition at a high-level. - Reuse common configuration by storing them as modules.
- Customize the merged configuration with a composition API.
- More easily maintain sections like initConfig, loadNpmTasks, and registerTask in individual files.
- Access convenient aliases for template expansion, object merging, and semver.
- Load configurations from regular directories or local NPM modules.
Example
Gruntfile.js
Define the composition at a high-level: the modules to merge, in what order, and final customization.
module { var horde = ; horde ;};
./node_modules/my-base-config/
Loaded first, this module provides a baseline.
initConfig/
index.js
eslint.js
shell.js
tasks/
precommit.js
loadNpmTasks.js
loadTasks.js
registerTask.js
registerMultiTask.js
// initConfig/eslint.jsmodule { return src: files: src: 'index.js' 'lib/**/*.js' ;};
./config/grunt/
Defines project-specific configs that are merged recursively with
./node_modules/my-base-config
.
initConfig/
eslint.js
loadNpmTasks.js
registerTask.js
// initConfig/eslint.jsmodule { return src: files: test: 'test/**/*.js' ;};
Now initConfig.eslint
contains both src
(from ./node_modules/my-base-config
) and test
(from ./config/grunt
).
Installation
NPM
npm install grunt-horde
Documentation
Usage
- Introduction
- Modules
Development
License
MIT
Tests
npm test