dotfiles/.vscode/extensions/saviorisdead.RustyCode-0.18.0/node_modules/rcloader
Cyryl Płotnicki 2f946d6200 Add .vscode
2016-09-11 10:29:13 +02:00
..
node_modules/lodash Add .vscode 2016-09-11 10:29:13 +02:00
test Add .vscode 2016-09-11 10:29:13 +02:00
.jshintrc Add .vscode 2016-09-11 10:29:13 +02:00
.npmignore Add .vscode 2016-09-11 10:29:13 +02:00
.travis.yml Add .vscode 2016-09-11 10:29:13 +02:00
index.js Add .vscode 2016-09-11 10:29:13 +02:00
package.json Add .vscode 2016-09-11 10:29:13 +02:00
README.md Add .vscode 2016-09-11 10:29:13 +02:00

rcloader

Travis CI

For build system plugins that need to fetch relative config files (like .jshintrc).

Features

  • Find the closest config file (like .jshintrc) relative to the file you are linting
  • Lookups are cached to limit IO operations
  • Accepts input directly from plugin consumers to
    • specifiy a file that should always be used
    • specify a default file
    • specify overrides
    • disable file lookup

Install

npm install rcloader

Use

This plugin was written to specifically address this issue for a couple of gulp plugins.

within a gulp plugin

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);

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.