init-grunt-config

0.0.2 • Public • Published

init-grunt-config

This plugin helps you organize the configuration of you grunt tasks in separate file for each task.

Usage

Instead of defining everything inside grunt.initConfig, you can do the following:

var load_configs = require("init-grunt-config");
 
module.exports = function (grunt) {
  grunt.initConfig({ /* any global options */ });
 
  // Load your tasks here, for example with load-grunt-tasks plugin.
 
  // Specify a folder that holds all of your
  // task configuration files in the form taskname.js
  load_configs("tasks");
 
  // ...
};

The tasks folder:

|- Gruntfile.js
|- tasks
|-- clean.js
|-- copy.js
|-- ...

Example task configuration file:

// clean.js
 
module.exports = {
  tmp_files: ["./tmp/*"],
  sass_files: ["./styles/sass"]
}

Voilà - the Gruntfile is now cleaner and more manageable, and each grunt plugin has its own separate file!

Types of configuration files

Each configuration file can be one of:

  • JSON file

  • JavaScript file that exports an object

    module.exports = { value: true };
  • JavaScript file that exports a function

    module.exports = function (grunt) {
      return {
        value: true
      };
    }

Tests

Each test is an example project with a Gruntfile testing only one specific feature. You can run it with:

tests/run

Contributing

Please write a test case with before posting a Pull Request. PRs without tests are considered "requests for comments", which are welcome too if you want to discus some feature without necessarily going all the way with implementation.

/init-grunt-config/

    Package Sidebar

    Install

    npm i init-grunt-config

    Weekly Downloads

    3

    Version

    0.0.2

    License

    BSD-2-Clause

    Last publish

    Collaborators

    • elisehein
    • brainshave