Skip to content

Add support for processing .jsenv files to Brunch (http://brunch.io). Read environment values to compile to JS.

License

Notifications You must be signed in to change notification settings

rcs/jsenv-brunch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Add support for processing .jsenv files to Brunch (http://brunch.io). Read environment values to compile to JS.

Resources

License

Stars

Watchers

Forks

Packages

No packages published