0.4.0 • Published 9 years ago

grunt-horde v0.4.0

Weekly downloads
3
License
MIT
Repository
github
Last release
9 years ago

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.

Build Status

Example

Gruntfile.js

Define the composition at a high-level: the modules to merge, in what order, and final customization.

module.exports = function(grunt) {
  var horde = require('grunt-horde').create(grunt);
  horde
    .loot('my-base-config')
    .loot('./config/grunt')
    .demand('initConfig.eslint.options', {envs: ['node', 'es6']})
    .attack();
};

./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.js
module.exports = function() {
  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.js
module.exports = function() {
  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

Development

License

MIT

Tests

npm test
0.4.0

9 years ago

0.3.5

10 years ago

0.3.4

10 years ago

0.3.3

10 years ago

0.3.2

10 years ago

0.3.1

11 years ago

0.3.0

11 years ago

0.2.2

11 years ago

0.2.1

11 years ago

0.2.0

11 years ago

0.1.0

11 years ago