Socket
Socket
Sign inDemoInstall

rcfinder

Package Overview
Dependencies
1
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    rcfinder

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


Version published
Maintainers
1
Install size
61.9 kB
Created

Readme

Source

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.

Keywords

FAQs

Last updated on 09 May 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc