HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/zaklada/html/node_modules/rcloader/README.md
# rcloader

[![Travis CI](https://travis-ci.org/spalger/rcloader.svg)](https://travis-ci.org/spalger/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
```sh
npm install rcloader
```

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

### within a gulp plugin
```js
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.
```js
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.