rcloader
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 = ;var map = ; module { var rcLoader = '.configfilename' options; return ;};
If you would rather, just skip the callback and it will run synchronously.
var fileOpts = rcLoader;
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, unlessoptions
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.