runtime-env-cli v1.0.1
runtime-env-cli
runtime-env-cli is an NPM package that helps manage environment variables in web applications. It allows environment-agnostic build for frameworks like create-react-app and inject environment variables as window.env in html files during server startup.
Usage
Development Mode
Install
runtime-env-clias development dependency.pnpm:
pnpm i -D runtime-env-clinpm:
npm i -D runtime-env-cliYarn:
pnpm add -D runtime-env-cliImport
runtime-env-cliin top-level javascript/typescript file for aliasingprocess.envaswindows.envin development mode.import "runtime-env-cli";It also provides type-safety for
windows.env.Note: You can make it further type-safe by extending interfaces
ProcessEnvorWindowEnv.Use environment variables from
window.env:window.env.SAMPLE_ENV;
Production Mode
Generate static files for your application.
npm run buildInstall
runtime-env-cliin hosting environment (if using docker, do this in the last stage).npm i -g runtime-env-cliRun the cli to inject env into html files before serving files (in docker, do this in entrypoint following by serving files, refer example).
runtime-env [options]Note: CLI uses
process.envto get environment while injecting. Any matching environment variables already configured in shell will be read. To use .env files, first load it before running this (refer dotenv-cli).
CLI Options
- -v, --version: output the version number.
- -p, --path paths... (optional): glob patterns to match path of html files (default: "./build/*/.html").
- -m, --match \<regex>: regular expression to match environment variable names to be injected.
- -h, --help: display help for command.
example
runtime-env --path "./**/*.html" --match "^APP_ENV_"This will inject all environment variables prefixed with APP_ENV_ as window.env object into all html files under working directory.
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago