ldep

0.1.0 • Public • Published

List and load dependencies.

Based on https://github.com/jackfranklin/gulp-load-plugins.

list (scope, config)

Returns an array of dependency names.

argument type default description
scope array ['dependencies', 'devDependencies', 'peerDependencies'] list of dependency types
config string or object 'package.json' path to package.json file or custom config object
var deps = ldep.list(['dependencies']);
var deps = ldep.list(['devDependencies'], './package.json');

load (deps, rename)

Attaches dependency names to a single variable. Dependencies are lazy loaded only when the dependency name is accessed.

argument type description
deps array list of dependency names
rename function function to customize name of each dependency. Takes 2 arguments - name of dependency and camelize function (which converts gulp-plugin to gulpPlugin) - and returns the modified name
var deps = ldep.list();
var $ = ldep.load(deps);
// or simply
var $ = ldep.load(ldep.list());
 
// now instead of doing this
var moduleName = require('module-name');
// use it like this
$.moduleName // moduleName is loaded now
var $ = ldep.load(ldep.list(['devDependencies'])), function(name, camelize) {
    return camelize(name.replace(/^gulp\-/, ''));
});

like (match, deps)

This is a wrapper for multimatch implemented as multimatch(deps, match).

argument type
match string or array
deps array
var deps = ldep.list();
// get only gulp plugins
var gulpPlugins = ldep.like('gulp-*', deps);
// or simply
var gulpPlugins = ldep.like('gulp-*', ldep.list());
// get only grunt plugins
var gruntPlugins = ldep.like('grunt-contrib-*', ldep.list());

Usage

npm install ldep
var ldep = require('ldep');
// load gulp plugins and rename them by removing 'gulp-' prefix and camelizing
var $ = ldep.load(ldep.like('gulp-*', ldep.list()), function(name, camelize) {
    return camelize(name.replace(/^gulp\-/, ''));
});
// load gulp plugins only from devDependencies
var $ = ldep.load(ldep.like('gulp-*', ldep.list(['devDependencies'])), function(name, camelize) {
    return camelize(name.replace(/^gulp\-/, ''));
});
// or
var deps = ldep.list(['devDependencies']);
var gulpPlugins = ldep.like('gulp-*', deps);
function renameGulpPlugins(name, camelize) {
    return camelize(name.replace(/^gulp\-/, ''));
}
var plugins = ldep.load(gulpPlugins, renameGulpPlugins);

Package Sidebar

Install

npm i ldep

Weekly Downloads

0

Version

0.1.0

License

MIT

Last publish

Collaborators

  • marella