load-grunt-tasks

Load multiple grunt tasks using globbing patterns

  • Owner: sindresorhus/load-grunt-tasks
  • Platform:
  • License:: MIT License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

load-grunt-tasks Build Status

Load multiple grunt tasks using globbing patterns

Usually you would have to load each task one by one, which is unnecessarily cumbersome.

This module will read the dependencies/devDependencies/peerDependencies/optionalDependencies in your package.json and load grunt tasks that match the provided patterns.

Before

grunt.loadNpmTasks('grunt-shell');
grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-recess');
grunt.loadNpmTasks('grunt-sizediff');
grunt.loadNpmTasks('grunt-svgmin');
grunt.loadNpmTasks('grunt-styl');
grunt.loadNpmTasks('grunt-php');
grunt.loadNpmTasks('grunt-eslint');
grunt.loadNpmTasks('grunt-concurrent');
grunt.loadNpmTasks('grunt-bower-requirejs');

After

require('load-grunt-tasks')(grunt);

Install

$ npm install --save-dev load-grunt-tasks

Usage

// Gruntfile.js
module.exports = grunt => {
	// Load all grunt tasks matching the ['grunt-*', '@*/grunt-*'] patterns
	require('load-grunt-tasks')(grunt);

	grunt.initConfig({});
	grunt.registerTask('default', []);
};

Examples

Load all grunt tasks

require('load-grunt-tasks')(grunt);

Equivalent to:

require('load-grunt-tasks')(grunt, {pattern: ['grunt-*', '@*/grunt-*']});

Load all grunt-contrib tasks

require('load-grunt-tasks')(grunt, {pattern: 'grunt-contrib-*'});

Load all grunt-contrib tasks and another non-contrib task

require('load-grunt-tasks')(grunt, {pattern: ['grunt-contrib-*', 'grunt-shell']});

Load all grunt-contrib tasks excluding one

You can exclude tasks using the negate ! globbing pattern:

require('load-grunt-tasks')(grunt, {pattern: ['grunt-contrib-*', '!grunt-contrib-coffee']});

Set custom path to package.json

require('load-grunt-tasks')(grunt, {config: '../package'});

Only load from devDependencies

require('load-grunt-tasks')(grunt, {scope: 'devDependencies'});

Only load from devDependencies and dependencies

require('load-grunt-tasks')(grunt, {scope: ['devDependencies', 'dependencies']});

All options in use

require('load-grunt-tasks')(grunt, {
	pattern: 'grunt-contrib-*',
	config: '../package.json',
	scope: 'devDependencies',
	requireResolution: true
});

Options

pattern

Type: string, string[]
Default: ['grunt-*', '@*/grunt-*'] (Glob pattern)

config

Type: string, object
Default: Path to nearest package.json

scope

Type: string, string[]
Default: ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies']
Values: 'dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies', 'bundledDependencies'

requireResolution

Type: boolean
Default: false

Traverse up the file hierarchy looking for dependencies like require(), rather than the default grunt-like behavior of loading tasks only in the immediate node_modules directory.

Main metrics

Overview
Name With Ownersindresorhus/load-grunt-tasks
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2013-08-15 20:32:55
Pushed At2022-07-08 12:28:03
Last Commit At
Release Count24
Last Release Namev5.1.0 (Posted on 2019-07-31 02:11:03)
First Release Namev0.1.0 (Posted on 2013-08-15 22:35:34)
用户参与
Stargazers Count0.9k
Watchers Count16
Fork Count60
Commits Count77
Has Issues Enabled
Issues Count38
Issue Open Count1
Pull Requests Count8
Pull Requests Open Count0
Pull Requests Close Count17
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private