rcloader

WebJar for rcloader

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

rcloader
Last Version

Last Version

0.2.2
Release Date

Release Date

Type

Type

jar
Description

Description

rcloader
WebJar for rcloader
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/spalger/rcloader

Download rcloader

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/rcloader/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>rcloader</artifactId>
    <version>0.2.2</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/rcloader/
implementation 'org.webjars.npm:rcloader:0.2.2'
// https://jarcasting.com/artifacts/org.webjars.npm/rcloader/
implementation ("org.webjars.npm:rcloader:0.2.2")
'org.webjars.npm:rcloader:jar:0.2.2'
<dependency org="org.webjars.npm" name="rcloader" rev="0.2.2">
  <artifact name="rcloader" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='rcloader', version='0.2.2')
)
libraryDependencies += "org.webjars.npm" % "rcloader" % "0.2.2"
[org.webjars.npm/rcloader "0.2.2"]

Dependencies

compile (4)

Group / Artifact Type Version
org.webjars.npm : lodash.assign jar [4.2.0,5)
org.webjars.npm : lodash.isobject jar [3.0.2,4)
org.webjars.npm : lodash.merge jar [4.6.0,5)
org.webjars.npm : rcfinder jar [0.1.6,0.2)

Project Modules

There are no modules declared in this project.

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.

Versions

Version
0.2.2