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.

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i init-grunt-config

    Weekly Downloads

    1

    Version

    0.0.2

    License

    BSD-2-Clause

    Last publish

    Collaborators

    • elisehein
    • brainshave