0.1.0 • Published 8 years ago

ldep v0.1.0

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

List and load dependencies.

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

list (scope, config)

Returns an array of dependency names.

argumenttypedefaultdescription
scopearray'dependencies', 'devDependencies', 'peerDependencies'list of dependency types
configstring 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.

argumenttypedescription
depsarraylist of dependency names
renamefunctionfunction 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).

argumenttype
matchstring or array
depsarray
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);