Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

26 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌌 Cosmic

Find and load configuration for your app, based on cosmiconfig, with fallback to environment variables.

Node CI Travis CI Coverage Dependencies License Vulnerabilities Based on Node.ts npm type definitions npm package npm downloads Contributors semantic-release

npm

⭐ Features

Cosmic, like cosmiconfig, will look for a configuration file:

  • a package.json property
  • a JSON or YAML, extensionless "rc file"
  • an "rc file" with the extensions .json, .yaml, .yml, or .js.
  • a .config.js CommonJS module

For example, if the app name is "cosmic", these files will be searched:

  • a cosmic property in package.json
  • a .cosmicrc file in JSON or YAML format
  • a .cosmicrc.json file
  • a .cosmicrc.yaml, .cosmicrc.yml, or .cosmicrc.js file
  • a cosmic.config.js file exporting a JS object

Apart from these, it also looks for:

  • a cosmic.yaml, cosmic.yml, or cosmic.js file without "rc"
  • Environment variables

πŸ’‘ Usage

Install the package from npm:

npm install @anandchowdhary/cosmic

Import and use:

import { cosmic } from "@anandchowdhary/cosmic";

const config = await cosmic("project"); // {}

Use the config function to fetch a value:

import { cosmic, config } from "@anandchowdhary/cosmic";

await cosmic("project");
const environment = config("nodeEnv");

Clear the cache and fetch configuration available:

import { clearCosmicCache } from "@anandchowdhary/cosmic";

clearCosmicCache();

Sync functions are also available:

import { cosmicSync } from "@anandchowdhary/cosmic";

const config = cosmicSync("project"); // {}

πŸ‘©β€πŸ’» Development

Build TypeScript:

npm run build

Run unit tests and view coverage:

npm run test-without-reporting

πŸ“„ License

MIT Β© Anand Chowdhary

About

🌌 Find and load configuration for your app, based on cosmiconfig

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Used by

Contributors

Languages

Generated from AnandChowdhary/node.ts