dotfiles/.vscode/extensions/saviorisdead.RustyCode-0.18.0/node_modules/rcfinder
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

rcfinder

Travis CI

This module provides the file lookup logic for the generally more useful rcloader package.

Find a config file (like .jshintrc) by walking up from a specific directory.

Custom logic can be implemented for loading your config files, and calls to the file system are cached so that you can find files relative to every file in a project without making a ton of unnecessary calls.

install

npm install rcfinder

Use

Create an instance of the RcFinder class, passing it the name of your config file and an object specifying other options.

var RcFinder = require('rcfinder');
var rcFinder = new RcFinder('.jshintrc', {});

Then you can use the finder to look up the proper config file for a directory.

// get the closet .jshintc file for this file
var config = rcFinder.find(__dirname);

If you want to use async file system calls, just specify a callback to find.

rcFinder.find(__dirname, function (err, config) {

});

Config

When creating an instance of the RcFinder class, you can specify options to dictate how the class behaves.

config.loader

A function to call that will load a given path. Once the path for a config file is determined, this will be called with that path as it's only argument and it should return a proper value.

The default loader is:

function loader(path) {
  return JSON.parse(fs.readFileSync(path));
}

To make your loader async, simply ask for second argument which will be set to a node-style callback. You can also ask for a simple async JSON loader by setting loader: equal to 'async'.

NOTE: You must call .find() with a callback if your loader is async.