pkgenv

0.9.0 • Public • Published

pkgenv 0.9.0

One configuration to rule them all

npm license travis greenkeeper mind BLOWN

.

pkgcfg tag to reference environment variables.

.

Installation

npm install --save pkgenv

Registration

The env{} tag from pkgenv will be auto-discovered by pkgcfg because it follows the package naming convention. You can also register it explicitly by adding 'env' to the array of pkgcfg tags in package.json. See the pkgcfg docs on using external tags for more information.

Usage

Assume we have some API key 1e567a-a4e67f that is set in the environment variable API_KEY. Here is how you can use env{} to reference it in your package.json:

package.json:

{
  "apiKey": "env{API_KEY}",
}

Then, read your package.json with pkgcfg:

var cfg = require('pkgcfg')();
console.info(cfg.apiKey); // '1e567a-a4e67f'

env{(name='NODE_JS', defaultValue='')}

Reference environment variables.

name

Optional String. The name of the environment variable to read. Defaults to 'NODE_JS'.

defaultValue

Optional String. The default value to use when no environment variable with the given name exists. Defaults to '' (empty string).

examples

{
  "ex1": "env{PATH}",
  "ex2": "env{DOES_NOT_EXIST}",
  "ex3": "env{('DOES_NOT_EXIST', 'default value')}",
  "ex4": "env{}",
  "ex5": "env{NODE_ENV}",
  "ex6": "env{('NODE_ENV', '')}",
}
  • ex1 will be resolved to the contents of the PATH environment variable.
  • ex2 will be resolved to '' (empty string)
  • ex3 will be resolved to 'default value'
  • ex4 will be resolved to the contents of process.env.NODE_ENV, or to '' (empty string) if NODE_ENV is not set.
  • ex5 is equavalent to ex4.
  • ex6 is equavalent to ex4.

Issues

Add an issue in this project's issue tracker to let me know of any problems you find, or questions you may have.

Copyright

Copyright 2016 by Stijn de Witt. Some rights reserved.

License

Creative Commons Attribution 4.0 (CC-BY-4.0)

Package Sidebar

Install

npm i pkgenv

Weekly Downloads

1

Version

0.9.0

License

CC-BY-4.0

Unpacked Size

23.4 kB

Total Files

6

Last publish

Collaborators

  • stijndewitt