defunctzombie/localenv and hughsk/envify combined as a browserify transform
npm install localenvifydefunctzombie/localenv and hughsk/envify combined for substack/node-browserify modules.
Yes, it's a browserify transform.
ā12factor config applied to frontend builds.ā
``shell`
npm install localenvify --save
Let's say you have a frontend index.js:
`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.
`sh`
API_ENDPOINT=http://omg-api.com.dev
Running browserify with the localenvify transform:
`shell`
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:
`shell`
API_ENDPOINT="http://omg-api.com.production" browserify -t localenvify index.js ...
var request = require("superagent");
var api = "http://omg-api.com.production";
...
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:
`shell`
browserify -t [ localenvify --envfile .env.test ] index.js
In your package.json:
`json``
{
"browserify": {
"transform": [
["localenvify", {"envfile": ".env.test"}]
]
}
}
.env file format is described in defunctzombie/localenv readme.
You should use .env files for developer or test environments, not for production* environments.