Socket
Socket
Sign inDemoInstall

@anolilab/rc

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@anolilab/rc

The runtime configuration loader.


Version published
Weekly downloads
680
increased by8.11%
Maintainers
1
Weekly downloads
 
Created
Source

anolilab rc

This module provides a utility function to load rc configuration settings from various sources, including environment variables, default values, and configuration files located in multiple standard directories. It merges these settings into a single configuration object.


typescript-image npm-image license-image


Daniel Bannert's open source work is supported by the community on GitHub Sponsors


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.

  • 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

Keywords

FAQs

Package last updated on 11 Jun 2024

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc