$ npm install base-resolver
'base-methods' plugin for resolving and loading globally installed npm modules.
Install with npm
$ npm i base-resolver --save
var resolver = require('base-resolver');
In two steps, the following example shows how we would use base-resolver
with a custom Generate
application that is built on top of [base-methods][].
Step 1: Setup
The following example shows how we might begin creating a basic project generator from [base-methods][]. More specifically, this shows how we might register and cache generators.
var resolver = require('base-resolver');
var Generate = require('base-methods');
// register a "global" plugin, to initialize the `generators`
// object, and decorate a `register` method (as an alternative
// to inheriting base-methods or other more complicated approaches)
Generate.use(function(app) {
app.generators = {};
app.define('register', function(key, config) {
this.generators[key] = config;
return this;
});
});
// register `resolver` as a global plugin
Generate.use(resolver('generate'));
Step 2
Intantiate the custom application we just created, and search for generators!
var generate = new Generate();
// setup a listener that will register generators (
// `config`s) as they're emitted
generate.on('config', function(config) {
console.log('registered:', config.alias);
generate.register(config.alias, config);
});
// find configs!
generate
.resolve('generate-*/generator.js', {
cwd: require('global-modules')
});
.resolve('generate-*/generator.js', {
cwd: process.cwd()
});
Params
name
{String}: Optionally specify a namespace for storing resolved configs.options
{Object}: Options to pass to matchedoption.patterns
{String|Array}: Glob patterns to searchoption.cwd
{String}: The starting directory to search fromreturns
{Object}Example
resolver.on('config', function(config) {
// do stuff with "config"
});
resolver
.resolve('foo', {pattern: 'generator.js', cwd: 'foo'})
.resolve('bar', {pattern: 'generator.js', cwd: 'bar'})
.resolve('baz', {pattern: 'generator.js', cwd: 'baz'})
Install dev dependencies:
$ npm i -d && npm test
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Jon Schlinkert
Copyright © 2015 Jon Schlinkert Released under the MIT license.
This file was generated by verb on December 14, 2015.
© 2010 - cnpmjs.org x YWFE | Home | YWFE