0.0.1 • Published 5 years ago

@jogs/cross-env-file v0.0.1

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

Run scripts that set environment across platforms via JSON file.

This is a fork of cross-env that uses a JSON file to read the environment variables.

Installation

This module is distributed via npm which is bundled with node and should be installed as one of your project's devDependencies:

npm install --save-dev cross-env-file

Usage

I use this in your npm scripts:

{
  "scripts": {
    "build": "cross-env-file -p ./.my-env.json webpack --config build/webpack.config.js"
  }
}

Ultimately, the command that is executed (using cross-spawn) is:

webpack --config build/webpack.config.js

If no path is specified with -p the default name .env is used.

This is how a JSON environment file could look like:

{
  "base_url": "https://example.com",
  "aws": {
    "my_secret": "my-nested-secret"
  }
}

This will add the following environment variables to process.env:

base_url=https://example.com
aws_my_secret=my-nested-secret

cross-env-file vs cross-env-file-shell

The cross-env-file module exposes two bins: cross-env-file and cross-env-file-shell. The first one executes commands using cross-spawn, while the second one uses the shell option from Node's spawn.

The main use case for cross-env-file-shell is when you need an environment variable to be set across an entire inline shell script, rather than just one command.

For example, if you want to have the environment variable apply to several commands in series then you will need to wrap those in quotes and use cross-env-file-shell instead of cross-env-file.

LICENSE

MIT