loose-envify (1) - Linux Manuals

loose-envify: replace Node.js environment variables with plain strings

NAME

loose-envify - replace Node.js environment variables with plain strings

SYNOPSIS

loose-envify <javascript_source_file.js>

DESCRIPTION

Performs a Javascript source-to-source transformation (transpiling), that efficiently replaces Node.js process.env environment variables with plain strings. This makes the environment variable checks faster and easier to optimize out.

EXAMPLES

Running this source code:

if (process.env.NODE_ENV === "development") {
  console.log('development only')
}

through loose-envify:

loose-envify index.js > bundle.js

with NODE_ENV set to production results in:

if ("production" === "development") {
  console.log('development only')
}

which, when run through a minifier, would be stripped out completely.

However, if you run the same script through loose-envify with NODE_ENV set to development it gives:

if ("development" === "development") {
  console.log('development only')
}

The if statement will evaluate to true, so the code won't be removed.

AUTHOR

Andres Suarez <zertosh [at] gmail.com>

COPYRIGHT

This manual page was written by Paolo Greppi <paolo.greppi [at] libpf.com> for the Debian project (and may be used by others), also based on material from the envify README (https://github.com/hughsk/envify) by Hugh Kennedy <hughskennedy [at] gmail.com> and the envify contributors.