TIL that env var values in "scripts" in package.json files are respected by npm.
{
"name": "npm-scripts-envvar",
"version": "1.0.0",
"description": "Test to see if envvars work in \"npm scripts\"",
"main": "index.js",
"scripts": {
"test": "THIS_WORKS=test node index.js"
},
"author": "Charlie Robbins <charlie.robbins@gmail.com>",
"license": "MIT"
}
console.log('process.env.THIS_WORKS=%s', process.env.THIS_WORKS);
It works!
$ npm test
npm info it worked if it ends with ok
npm info using npm@2.7.5
npm info using node@v0.10.38
npm info pretest npm-scripts-envvar@1.0.0
npm info test npm-scripts-envvar@1.0.0
> npm-scripts-envvar@1.0.0 test /Users/charlie/Experimental/npm-scripts-envvar
> THIS_WORKS=test node index.js
process.env.THIS_WORKS=test
npm info posttest npm-scripts-envvar@1.0.0
npm info ok