Package Exports
- base-runner
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (base-runner) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
base-runner

Orchestrate multiple instances of base-methods at once.
Install
Install with npm
$ npm i base-runner --saveUsage
var path = require('path');
var runner = require('base-runner');
var Generate = require('generate');
Generate.mixin(runner('generate', 'generator'));
var base = Generate.getConfig('generator.js')
.resolve('generate-*/generator.js', {
cwd: '@/'
})
.resolve('*/generator.js', {
cwd: path.join(__dirname, 'fixtures')
})
.resolve('generator.js', {
cwd: __dirname
});API
.getConfig
Static method for getting the very first instance to be used as the base instance. The first instance will either be defined by the user, like in local node_modules, or a globally installed module that serves as a default/fallback.
Params
filename{String}: Then name of the config file to lookup.returns{Object}: Returns the "base" instance.
Example
var base = Base.getConfig('generator.js');.getTask
Get task name from the runner.tasks object.
Params
name{String}returns{Object}
Example
runner.getTask('abc');
// get a task from app `foo`
runner.getTask('foo:abc');
// get a task from sub-app `foo.bar`
runner.getTask('foo.bar:abc');.addApp
Alias for register. Adds an app with the given name
to the runner.apps object.
Params
name{String}: The name of the config object to registerconfig{Object|Function}: The config object or function
.hasApp
Return true if app name is registered. Dot-notation may be used to check for sub-apps.
Params
name{String}returns{Boolean}
Example
base.hasApp('foo.bar.baz');.getApp
Return app name is registered. Dot-notation may be used to get sub-apps.
Params
name{String}returns{Boolean}
Example
base.getApp('foo');
// or
base.getApp('foo.bar.baz');.extendApp
Extend an app.
Params
app{Object}returns{Object}: Returns the instance for chaining.
Example
var foo = base.getApp('foo');
foo.extendApp(app);Params
apps{Object}done{Function}
Example
// run the default tasks for apps `foo` and `bar`
foo.runApps(['foo', 'bar'], function(err) {
if (err) return console.log(err);
console.log('done!');
});
// run the specified tasks for apps `foo` and `bar`
var apps = {
foo: ['a', 'b', 'c'],
bar: ['x', 'y', 'z']
};
base.runApps(apps, function(err) {
if (err) return console.log(err);
console.log('done!');
});.invoke
Invoke app fn with the given base instance.
Params
fn{Function}: The app function.app{Object}: The "base" instance to use with the app.returns{Object}
Example
runner.invoke(app.fn, app);getConfig
If necessary, this static method will resolve the first instance to be used as the base instance for caching any additional resolved configs.
Params
configfile{String}: The name of the config file, ex:assemblefile.jsmoduleName{String}: The name of the module to lookup, ex:assembleoptions{Object}returns{Object}
Example
var Generate = require('generate');
var resolver = require('base-resolver');
var generate = resolver.first('generator.js', 'generate', {
Ctor: Generate,
isModule: function(app) {
return app.isGenerate;
}
});Related projects
- base-methods: Starter for creating a node.js application with a handful of common methods, like
set,get,… more | homepage - base-options: Adds a few options methods to base-methods, like
option,enableanddisable. See the readme… more | homepage - base-plugins: Upgrade's plugin support in base-methods to allow plugins to be called any time after init. | homepage
- base-resolver: 'base-methods' plugin for resolving and loading globally installed npm modules. | homepage
- base-store: Plugin for getting and persisting config values with your base-methods application. Adds a 'store' object… more | homepage
Running tests
Install dev dependencies:
$ npm i -d && npm testContributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Author
Jon Schlinkert
License
Copyright © 2015 Jon Schlinkert Released under the MIT license.
This file was generated by verb on December 14, 2015.