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.

    Install

    npm i @aibex/envtools

    DownloadsWeekly Downloads

    0

    Version

    0.0.6

    License

    Apache-2.0

    Unpacked Size

    27 kB

    Total Files

    16

    Last publish

    Collaborators

    • jakobo