This package has been deprecated

Author message:

Please consider using dotenv-safe instead

@aibex/envtools

0.0.6 • Public • Published

envtools

Simple Functions for a Sane Environment

Add via Yarn yarn add @aibex/envtools

or via npm npm install @aibex/envtools

import { requires, defaults } from "@aibex/envtools";

// require certain ENV values to be present
requires(["REQUIRED", "ENV", "NAMES"]); // throws if missing, list in e.data.env
requires(["ALSO", "WITH", "CALLBACKS"], err => {
  // if err, then err.data.env contains missing
});

// insist on defaults in ENV if not defined
defaults({
  ENV_NAME: "DEFAULT_VALUE_HERE",
  COERCED_VALUES: 1, // will be "1" for compatibility with process.env
});

requires()

provide a list of required environment variables, and either (A) throw an exception or (B) pass the error to the callback on failure

requires(list, [cb])

param type description
list array a list of all environment variables to check (case sensitive)
cb function (optional) if provided, the callback will be triggered. Instead of throwing an error, the error will be the first argument passed to the callback in order to comply with node's cb(err, data) style callback

defaults()

ensure a set of environment variables are defined, supplying a default value of any values are currently undefined

defaults(obj)

// obj
{
  ENV_KEY: "ENV_VALUE";
}
param type description
obj object An object of key/value pairs, where each key is the env variable that should have a default, and value is the default value if process.env[key] is not set. Values are coerced to strings via string concatenation.

Tests

Test are written using ava. You can run the test suite using yarn test.

Releasing

While we use yarn for everything internally, release-it works more consistently with npm run-script release. This is because of how npm/yarn manage their logins.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Published

Version History

  • Version
    Downloads (Last 7 Days)
    • Published

Package Sidebar

Install

npm i @aibex/envtools

Weekly Downloads

1

Version

0.0.6

License

Apache-2.0

Unpacked Size

27 kB

Total Files

16

Last publish

Collaborators

  • jakobo