node package manager
Stop wasting time. Easily manage code sharing in your team. Create a free org »


lazy-load-grunt-config NPM Version

lazy-load-grunt-config is a Grunt library that allows you to break up your Gruntfile config by task. It was inspired by load-grunt-config


npm install lazy-load-grunt-config


  • Each task has its own config file. Example: copy.js, uglify.js, etc.
  • Auto load all grunt plugins. Uses load-grunt-tasks.
  • Support for returning a function.
  • Easily register task aliases with aliases.js



module.exports = function(grunt) {

With options

module.exports = function(grunt) {
    var path = require('path');
    require('lazy-load-grunt-config')(grunt, {
        // Path to task files, defaults to grunt dir. 
        configPath: path.join(process.cwd(), 'grunt'),
        // Auto grunt.initConfig 
        init: true,
        // Data passed into config. Can use with <%= test %> 
        data: {
            test: false
        // Can optionally pass options to load-grunt-tasks. If you set to false, it will disable auto loading tasks. 
        loadGruntTasks: {
            pattern: 'grunt-*',
            config: require('./package.json'),
            scope: 'devDependencies'


If your grunt/ folder contains an aliases.js file, lazy-load-grunt-config will use that to define your tasks aliases (like grunt.registerTask('default', ['nodemon']);).

grunt/aliases.js returning an object.

module.exports = {
    'default': [],
    css: ['copy', 'stylus']

grunt/aliases.js returning a function. Useful if there is need to compute something before return.

module.exports = function (grunt, options) {
    // Computation example: 
    // -------------------- 
    var css = ['copy', 'stylus'];
    if (grunt.option('notify', false)) {
    return {
        'default': [],
        css: css

Change log

0.1.0 / 2015-10-28

  • Initial commit