Load the resolved filepaths to npm modules, either directly in your config or from Underscore/Lo-Dash templates.
npm install load-modulesvar load = require('load-modules').load('')), or load into your project's Grunt config data with templates (<%= _.load("foo" %>).
npm install load-modules --save
js
var load = require('load-modules').load(pattern, config);
console.log(load);
`
Examples
`js
// Resolve filepaths to all dependencies from package.json
require('load-modules').load('foo*');
// Resolve filepaths to all devDependencies
require('load-modules').loadDev('bar-*');
// Resolve filepaths to both dependencies and devDependencies
require('load-modules').loadAll('*-baz'));
// Resolve the path to a specific module
require('load-modules').filepath('module-to-resolve');
`
More examples →
$3
First, mixin this module's methods so they can be used in Lo-Dash templates:
`js
module.exports = function (grunt) {
// start by adding this line of JavaScript to your Gruntfile
grunt.util._.mixin(require('load-modules'));
grunt.initConfig({...});
grunt.registerTask(...);
};
`
with the mixins defined, you can use them in templates like this:
`js
grunt.initConfig({
less: {
src: ['<%= _.load("normalize.css") %>', '<%= foo.bar %>', 'theme.less'],
dest: 'dist/'
}
});
`
Any specified template strings (<%= %>) will be processed when config data is retrieved.
More examples →
Usage
`js
// Resolve filepaths for dependencies
load(pattern, config)
// Resolve filepaths for devDependencies
loadDev(pattern, config)
// Resolve filepaths for all dependencies
loadAll(pattern, config)
// Resolve filepath for a specific module
filepath(pattern, config)
``