node package manager

Introducing npm Enterprise add-ons. Integrate third-party dev tools into npm…


Load the resolved filepaths to npm modules, either directly in your config or from Underscore/Lo-Dash templates.


Use matchdep to filter and resolve filepaths to npm module dependencies

Use returned filepaths in your node projects (var load = require('load-modules').load('*')), or load into your project's Grunt config data with templates (<%= _.load("foo*" %>).

Install the module with: npm install load-modules --save

var load = require('load-modules').load(pattern, config);
// Resolve filepaths to all dependencies from package.json 
// Resolve filepaths to all devDependencies 
// Resolve filepaths to both dependencies and devDependencies 
// Resolve the path to a specific module 

More examples →

First, mixin this module's methods so they can be used in Lo-Dash templates:

module.exports = function (grunt) {
  // start by adding this line of JavaScript to your Gruntfile 

with the mixins defined, you can use them in templates like this:

  less: {
    src: ['<%= _.load("normalize.css") %>', '<%= %>', 'theme.less'],
    dest: 'dist/'

Any specified template strings (<%= %>) will be processed when config data is retrieved.

More examples →

// 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)

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality.

Jon Schlinkert

  • 2013-09-07 v0.1.0 First commit.

Copyright (c) 2013 Jon Schlinkert, contributors. Licensed under the MIT license.