Add support for processing .jsenv files to Brunch (http://brunch.io). Read environment values to compile to JS.
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
.gitignore
.npmignore
.travis.yml
LICENSE.md
README.md
contributors.md
index.js
package.json

README.md

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".