Skip to documentation

package

@stackline/load-grunt-tasks 1.0.2 — installation and API

Load multiple grunt tasks using globbing patterns

Install @stackline/load-grunt-tasks

npm install @stackline/[email protected]

Package version: 1.0.2. Metadata verified: 2026-11-12. This is separate from the framework version and demonstration runtime.

Node.js requirement
{"node": ">=8"}
Accepted peer dependencies (declared ranges)
{"grunt": ">=1"}

Tested environments are described in the versioned README and linked source checks. A declared peer range is not evidence that every version in it was tested.

Versioned reference

This reference comes from the published @stackline/[email protected] README. Its upstream attribution and license remain with the source. Benchmark and security statements describe the cited tests and advisories, not a guarantee for every application.

@stackline/load-grunt-tasks

Load multiple grunt tasks using globbing patterns.

Documentation | npm | Issues | Repository

Current package version: 1.0.2


Why this package?

@stackline/load-grunt-tasks is the Stackline-maintained distribution of [email protected]. It is an independent continuation of load-grunt-tasks; original authors and licenses remain credited below.

Compatibility

Item Value
Package @stackline/[email protected]
API target [email protected]
Supported Node.js >=8
License MIT
Runtime dependencies arrify, multimatch, pkg-up, resolve-pkg
Peer dependencies grunt >=1

Installation

npm install @stackline/load-grunt-tasks

Preserve existing imports and plugin resolution with an npm alias:

npm install load-grunt-tasks@npm:@stackline/load-grunt-tasks

Usage and API reference

load-grunt-tasks

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('@stackline/load-grunt-tasks')(grunt);

Install

$ npm install --save-dev @stackline/load-grunt-tasks

Usage

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

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

Examples

Load all grunt tasks

require('@stackline/load-grunt-tasks')(grunt);

Equivalent to:

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

Load all grunt-contrib tasks

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

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

require('@stackline/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('@stackline/load-grunt-tasks')(grunt, {pattern: ['grunt-contrib-*', '!grunt-contrib-coffee']});

Set custom path to package.json

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

Only load from devDependencies

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

Only load from devDependencies and dependencies

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

All options in use

require('@stackline/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.

Credits and original authors

Original copyright, license notices and contributor acknowledgements remain part of this distribution. Stackline maintenance does not replace authorship of the original work.

License

MIT. See the license and notice files in the repository.

Use this repository's issue tracker for reproducible bugs and feature requests. Join r/Stackline for examples, usage questions and release discussions.