localenvify
v1.0.1
Published
defunctzombie/localenv and hughsk/envify combined as a browserify transform
Downloads
1,510
Maintainers
Readme
localenvify
defunctzombie/localenv and hughsk/envify combined for substack/node-browserify modules.
Yes, it's a browserify transform.
“12factor config applied to frontend builds.”
Installation
npm install localenvify --save
TL;DR; example
Let's say you have a frontend index.js
:
var request = require('superagent');
var api = process.env.API_ENDPOINT; // API http endpoint
request
.get(api)
.end(function apiCalled(res) {
console.log(res.status);
})
And a .env
file sitting in your current working dir.
API_ENDPOINT=http://omg-api.com.dev
Running browserify with the localenvify transform:
browserify -t localenvify index.js
# ...
# var request = require("superagent");
# var api = "http://omg-api.com.dev";
# ...
Now you don't want to store production environment config files in your repo:
API_ENDPOINT="http://omg-api.com.production" browserify -t localenvify index.js
# ...
# var request = require("superagent");
# var api = "http://omg-api.com.production";
# ...
Specifying a custom env file
defunctzombie/localenv only loads .env files when NODE_PRODUCTION !== 'production'
.
You can pass transform options to localenvify to load custom .env files.
On the command line:
browserify -t [ localenvify --envfile .env.test ] index.js
In your package.json:
{
"browserify": {
"transform": [
["localenvify", {"envfile": ".env.test"}]
]
}
}
.env files
.env file format is described in defunctzombie/localenv readme.
You should use .env files for developer or test environments, not for production* environments.