load-deps

1.0.5 • Public • Published

load-deps npmjs.com The MIT License

Just load devDependencies of the current project or any other dependencies. Useful for any node.js app that needs to load plugins from node_modules. 15-20x times faster alternative to load-plugins and gulp-load-plugins.

code climate standard code style travis build status coverage status dependency status

Install

npm i load-deps --save

Usage

For more use-cases see the tests

const loadDeps = require('load-deps')

loadDeps

Load modules of the current project, by default loads dependencies from devDependency property from package.json, but can be customized.

Params

  • patterns {String|Array|Function|RegExp|Object}
  • opts {Object}: see options section
  • returns {Object}

Example

var appname = require('app-name')
var loadDeps = require('load-deps')
 
var strip = ['gulp', 'handlebars', 'helpers']
var rename = function renameFn(name) {
  return appname(name, strip)
}
 
var plugin = loadDeps('gulp-*', {renameKey: rename})
 
gulp.task('default', function () {
  gulp.src('test/*.js')
    .pipe(plugin.jshint())
    .pipe(plugin.mocha())
    .pipe(plugin.stylus())
    .pipe(plugin.mustache())
    .pipe(plugin.istanbul())
})

Options

options.require

Pass a custom function for requireing files.

var loadDeps = require('load-deps')
var plugin = loadDeps('gulp-*', {
  require: function (name) {
    // do stuff to name
  }
})

options.renameKey

Pass a renameKey function to change how plugins are named.

var loadDeps = require('load-deps')
var plugin = loadDeps('my-plugins-*', {
  renameKey: function (name) {
    return path.resolve(name)
  }
})

Benchmark

It is 15-20x faster than load-plugins and gulp-load-plugins.

npm run benchmark

results as of 22 April, 2016

[charlike@voltaire load-deps]$ npm run benchmark
  load-plugins x 205 ops/sec ±3.09% (61 runs sampled)
  load-deps x 14,297 ops/sec ±10.74% (63 runs sampled)
  gulp-load-plugins x 813 ops/sec ±2.27% (62 runs sampled)

Fastest is load-deps

Related

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
But before doing anything, please read the CONTRIBUTING.md guidelines.

Charlike Make Reagent new message to charlike freenode #charlike

tunnckoCore.tk keybase tunnckoCore tunnckoCore npm tunnckoCore twitter tunnckoCore github

Package Sidebar

Install

npm i load-deps

Weekly Downloads

3

Version

1.0.5

License

MIT

Last publish

Collaborators

  • vanchoy
  • tunnckocore