env-cmd-multiple
v1.0.0
Published
Executes a command using the envs in the provided env file
Downloads
46
Maintainers
Readme
env-cmd
A simple node program for executing commands using an environment from an env file.
Install
npm install env-cmd
or npm install -g env-cmd
Usage
Environment File Usage
Environment file ./test/.env
# This is a comment
ENV1=THANKS # Yay inline comments support
ENV2=FOR ALL
ENV3 THE FISH # This format is also accepted
# Surround value in double quotes when using a # symbol in the value
ENV4="ValueContains#Symbol"
# If using double quotes as part of the value, you must surround the value in double quotes
ENV5=""Value includes double quotes""
Package.json
{
"scripts": {
"test": "env-cmd ./test/.env mocha -R spec"
}
}
or
Terminal
./node_modules/.bin/env-cmd ./test/.env node index.js
.rc file usage
.rc file .env-cmdrc
{
"development": {
"ENV1": "Thanks",
"ENV2": "For All"
},
"production": {
"ENV1": "The Fish"
}
}
Terminal
./node_modules/.bin/env-cmd production node index.js
Environment File Formats
These are the currently accepted environment file formats. If any other formats are desired please create an issue.
key=value
key value
- Key/value pairs as JSON
- JavaScript file exporting an object
.env-cmdrc
file (as valid json) in execution directory
Why
Because sometimes its just too cumbersome passing lots of environment variables to scripts. Its usually just easier to have a file with all the vars in them, especially for development and testing.
Do not commit sensitive environment data to a public git repo!
Related Projects
cross-env
- Cross platform setting of environment scripts
Special Thanks
Special thanks to cross-env
for inspiration (use's the same cross-spawn
lib underneath too).
Contributors
- Eric Lanehart
- Jon Scheiding
Contributing Guide
I welcome all pull requests. Please make sure you add appropriate test cases for any features added. Before opening a PR please make sure to run the following scripts:
npm run lint
checks for code errors and formats according to js-standardnpm test
make sure all tests passnpm run test-cover
make sure the coverage has not decreased from current master