@jogs/cross-env-file

0.0.1 • Public • Published

cross-env-file

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][npm] which is bundled with [node][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][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][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

Package Sidebar

Install

npm i @jogs/cross-env-file

Weekly Downloads

0

Version

0.0.1

License

MIT

Unpacked Size

15.5 kB

Total Files

9

Last publish

Collaborators

  • jogs