Skip to content

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. Faster alternative to `load-plugins`.

License

Notifications You must be signed in to change notification settings

tunnckoCore/load-deps

Repository files navigation

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

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.

tunnckoCore.tk keybase tunnckoCore tunnckoCore npm tunnckoCore twitter tunnckoCore github

About

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. Faster alternative to `load-plugins`.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published