jsenv-brunch
v2.0.0
Published
Add support for processing .jsenv files to Brunch. Read environment values to compile to JS.
Downloads
1,704
Readme
jsenv-brunch
Adds .jsenv / .coffeeenv support to brunch.
.jsenv / .coffeeenv files are simple files with JSON structure that will have any matching keys replaced from environment variables.
.jsenv / .coffeeenv files are either JSON formatted data or files specifying a javascript function that will take an env object as an argument and return an object.
Version >= 2.0.0 supports node >= 4 and brunch >=2. For those using versions lower than these please use jsenv-brunch 1.4.2.
Example
JSON
config.jsenv:
{
API_HOST: "https://api.apihost.com"
}
when run with
API_HOST="https://dev.apihost.com" brunch build
will compile to
exports.module = {
"API_HOST": "https://dev.apihost.com"
}
Javascript
config.jsenv:
function(env) {
if( parseInt(env.EVILNESS) > 5 ) {
return { "Evil": "very evil" };
}
else {
return { "Evil": "only slightly evil" }
}
}
EVILNESS=9001 brunch b
gives us
exports.module = {"Evil": "very evil"}
while
EVILNESS=5 brunch b
gives us
module.exports = {"Evil":"only slightly evil"}
Any of which can now be used in "require('config')"
CoffeeScript
config.coffeeenv:
(env) ->
if parseInt(env.EVILNESS) > 5
{ Evil: "very evil" }
else
{ Evil: "only slightly evil" }
Usage
Add "jsenv-brunch": "x.y.z"
to package.json
of your brunch app.
Pick a plugin version that corresponds to your minor (y) brunch version.
If you want to use git version of plugin, add
"jsenv-brunch": "git+https://github.com/rcs/jsenv-brunch.git"
.