For build system plugins that need to fetch relative config files (like .jshintrc).
$ npm install rcloader
For build system plugins that need to fetch relative config files (like .jshintrc).
npm install rcloader
This plugin was written to specifically address this issue for a couple of gulp plugins.
var RcLoader = require('rcloader');
var map = require('map-stream');
module.exports = function MyGulpPlugin(options) {
var rcLoader = new RcLoader('.configfilename', options);
return map(function (file, cb) {
// get the options for this file specifically
rcLoader.for(file.path, function (err, fileOpts) {
// do something cool
// send the file along
cb(null, file);
});
});
};
If you would rather, just skip the callback and it will run synchronously.
var fileOpts = rcLoader.for(file.path, options);
The second argument to the RcLoader
constructor should be the options that plugin consumers define, and it can take a few different forms.
If the user specifies a string, it is used as a path to the only config file that they care about. Calling rcLoader.for(path)
will always return a copy of the config file at that path.
If the user specifies an object, the following keys will be stripped from it:
lookup
, Boolean: Find the closest config file each time .for()
is called. default is true, unless options
is a path.defaultFile
, string: Specify a default configuration file.If defaultFile
is not specified, all values except lookup
will override values found in the config file.
© 2010 - cnpmjs.org x YWFE | Home | YWFE