Detalhes do pacote

cross-conf-env

akabekobeko27.3kMIT1.3.0

To cross-platform the config and root variable reference of package.json in npm-scripts.

npm-scripts, npm_package_config, package.json, variable

readme (leia-me)

cross-conf-env

Support Node of LTS npm version test license: MIT

To cross-platform the config and root variable reference of package.json in npm-scripts.

Installation

This npm is installed on npm-scripts only a so devDependencies.

$ npm install --save--dev cross-conf-env

Usage

To the config of package.json to set the value.

{
  "name": "sample",
  "version": "1.0.0",
  "config": {
    "app": "MyApp"
  },
  "scripts": {
    "var": "cross-conf-env echo npm_package_config_app npm_package_version",
    "var:bash": "cross-conf-env echo $npm_package_config_app $npm_package_version",
    "var:win": "cross-conf-env echo %npm_package_config_app% %npm_package_version%",
    "var:cross": "cross-conf-env echo npm_package_config app-npm_package_version",
    "var:cross-multiple": "cross-conf-env echo npm_package_config_app-npm_package_version"
  },
  "devDependencies": {
    "cross-conf-env": "^1.0.6"
  }
}

Value of npm_package_config_ or npm_package_ will be executed after being replaced.

$ npm run var

MyApp 1.0.0

$ npm run var:bash

MyApp 1.0.0

$ npm run var:win

MyApp 1.0.0

$ npm run var:cross

MyApp 1.0.0

$ npm run var:cross-multiple

MyApp-1.0.0

The format of the environment variable in npm-scripts are different for each platform. OS X or Linux (bash) is $variable, Windows (cmd.exe or PowerShell) is %variable%.

It supports all of the format by using this npm in npm-scripts, format that support is below.

Platform Format
OS X, Linux (bash) $npm_package_ or $npm_package_config_
Windows (cmd.exe or PowerShell) %npm_package_% or %npm_package_config_%
cross-conf-env original npm_package_ or npm_package_config_, without special charactors ($ or %)

npm-scripts environment variable that has been expanded by the execution platform is used as it is. Otherwise, to expand the cross-conf-env.

Definition of npm-scripts:

cross-conf-env command param1 param2 ...etc

Limitations

cross-conf-env converts the value specified in process.env. It will not work if run from pipe in npm-scripts.

{
  "config": {
    "app": "MyApp",
    "test": "Test"
  },
  "scripts": {
    "pipe": "cross-conf-env echo npm_package_config_var | cross-conf-env echo keep npm_package_config_test"
  }
}

results:

$ npm run pipe

Test
echo: write: Broken pipe

If concatenating npm-scripts we recommend npm-run-all rather than pipe. If it is npm-run-all can concatenate npm-scripts to cross platforms, and cross-conf-env will work as well.

ChangeLog

changelog (log de mudanças)

ChangeLog

v1.3.0

Breaking Changes

  • Support Node.js v14 or later #36

v1.2.1

Fixes

  • Using ':' between two variables not working on Windows 10 #25

v1.2.0

Breaking Changes

  • Support Node.js v12 or later #27

Changes

  • Modernize project #28

v1.1.2

Changes

  • Node v4 support #23

v1.1.1

Fixes

  • Package.json's file properties specification is incorrect #21

v1.1.0

Changes

  • Drop transpile by Babel #20

v1.0.7

Features

  • Using a Config in a Redirect on Mac & Windows #17

Changes

  • Node v7 support #16

v1.0.6

Features

  • Support npm config params #14

Fixes

  • It is an error to npm run the examples #12

v1.0.5

Fixes

  • Can't correctly identify the prefix #10

v1.0.4

Features

  • Supporting replacement of parameters including multiple variables #9

v1.0.3

Fixes

  • "config" in the description of package.json is in the "conf" #6
  • Change the cross-conf-env of samples from the dependencies in devDependencies #7
  • Files remain from a xlsx-extractor to examples #8

v1.0.2

Fixes

  • "config" is "conf" in package.json sample of README #5

1.0.1

Fixes

  • npm_package_config_ is in npm_package_conf in the replacement process #4

v1.0.0

  • First release