Skip to content

Thin wrapper around resolve-dep for loading plugins from node_modules or local directories. Like load-gulp-plugins, match dep, etc, but works for gulp, grunt, assemble, verb or anything other task runner or build system that uses plugins.

License

Notifications You must be signed in to change notification settings

jonschlinkert/load-plugins

Repository files navigation

load-plugins NPM version Build Status

Load plugins for gulp, grunt, assemble, verb any node.js app that needs to load plugins from node_modules or local folders.

Install

Install with npm

$ npm i load-plugins --save

Usage

with gulp

var plugin = require('load-plugins')('gulp-*');

gulp.task('default', function () {
  gulp.src('test/*.js')
    .pipe(plugin.jshint());
    .pipe(plugin.mocha());
});

with assemble

var plugin = require('load-plugins')('assemble-*');

assemble.task('default', function () {
  assemble.src('templates/*.hbs')
    .pipe(plugin.paginate());
    .pipe(plugin.collections());
    .pipe(assemble.dest('dist/'));
});

with verb

var plugin = require('load-plugins')('verb-*');

verb.task('default', function () {
  verb.src('docs/*.md')
    .pipe(plugin.toc());
    .pipe(plugin.reflinks());
    .pipe(verb.dest('./'));
});

Options

See resolve-dep for additional options.

options.require

Pass a custom function for requireing files.

plugins('gulp-*', {
  require: function(filepath) {
    // do stuff to filepath
  }
});

options.camelize

Make plugin names camelcased. By default this is true.

options.rename

Pass a rename function to change how plugins are named.

plugins('my-plugins-*', {
  rename: function (filepath) {
    return path.basename(filepath);
  }
});

options.strip

Omit strings from plugin names. This is a complement to the .rename() option, it's easiest to understand by way of example:

plugins('gulp-*', {strip: 'gulp'});

Returns {mocha: [Function]} instead of {'gulp-mocha': [Function]}, and so on.

You may also pass an array of strings to strip, or use braces, e.g.:

// note that the `strip` option doesn't work with full glob patterns, just braces
plugins('{foo,bar}-*', {strip: ['foo', 'bar']});

Related

Running tests

Install dev dependencies:

$ npm i -d && npm test

Contributing

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue

Author

Jon Schlinkert

License

Copyright © 2014-2015 Jon Schlinkert Released under the MIT license.


This file was generated by verb-cli on July 05, 2015.

About

Thin wrapper around resolve-dep for loading plugins from node_modules or local directories. Like load-gulp-plugins, match dep, etc, but works for gulp, grunt, assemble, verb or anything other task runner or build system that uses plugins.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 3

  •  
  •  
  •