@anolilab/rc
v1.1.4
Published
The runtime configuration loader.
Downloads
4,306
Readme
Install
npm install @anolilab/rc
yarn add @anolilab/rc
pnpm add @anolilab/rc
Usage
The main function provided by this module is rc. It allows you to load configuration settings for your application from different sources.
import { rc } from "@anolilab/rc";
const { config, files } = rc("npm");
// returns a merged config object with all found npmrc files and a files list what files where found.
Api
- name (string): The application name. This is used to locate configuration files and environment variables.
- options (object, optional): An object with the following properties:
- config (string, optional): Path to a specific configuration file.
- cwd (string, optional): The current working directory to start searching for configuration files. Defaults to process.cwd().
- defaults (object, optional): Default configuration values.
- home (string, optional): The home directory to use. Defaults to os.homedir().
- stopAt (string, optional): Directory to stop searching for configuration files.
Standards
Given your application name (appname), rc will look in all the obvious places for configuration.
- The defaults object you passed in
/etc/${appname}/config
/etc/${appname}rc
$HOME/.config/${appname}/config
$HOME/.config/${appname}
$HOME/.${appname}/config
$HOME/.${appname}rc
- a local
.${appname}/config
and.${appname}rc
and all found looking in../../../ ../../ ../ ./
etc. - if you passed environment variable
${appname}_config
then from that file - if you passed options.config variable, then from that file
- environment variables prefixed with
${appname}_
or use "__" to indicate nested properties (e.g.appname_foo__bar__baz
=>foo.bar.baz
)
All configuration sources that were found will be flattened into one object, in this exact order.
Api Docs
@anolilab/rc
Functions
rc()
function rc(name, options): object
Parameters
• name: string
• options = {}
• options.config?: string
• options.cwd?: string
• options.defaults?: Record
<string
, any
>
• options.home?: string
• options.stopAt?: string
Returns
object
config
config: Record<string, any>;
files
files: string[];
Defined in
Related
- rc - The non-configurable configuration loader for lazy people.
Supported Node.js Versions
Libraries in this ecosystem make the best effort to track Node.js’ release schedule. Here’s a post on why we think this is important.
Contributing
If you would like to help take a look at the list of issues and check our Contributing guidelines.
Note: please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Credits
License
The anolilab rc is open-sourced software licensed under the MIT