browser-env-vars

1.1.1 • Public • Published

browser-env-vars

Enable configuring your frontend application with environment variables. Reads from environment variables and/or an .env file and produces a file that you can import into your frontend application.

BuildStatus NPM version

Install

npm install browser-env-vars --save

Usage

This script will read the variable ENDPOINT_URL the environment:

var generateConfig = require('browser-env-vars').generate;
 
var options = {
    outFile: 'src/config.js',
    whitelist: ['ENDPOINT_URL'],
};
 
generateConfig();

and produces the following file:

/* src/config.js */
module.exports = {
  "ENDPOINT_URL": "http://some.where.com/api"
}

You can then proceed and import the file in your frontend application:

import config from './config.js';
console.log(config.ENDPOINT_URL); // 'http://some.where.com/api'

the script will also load values from a .env file int the project root if present dotenv-style (duplicate values in the environment will always have precedence):

# API
ENDPOINT_URL=http://some.where.com/api

# FACEBOOK AUTH
PUBLIC_KEY="as123asd7787tasduy#"

Options

outFile

Default: config.js

Path to the file that should be produced by the script. Produces a json file instead of a module if the path has a .json extension.

require('browser-env-vars').generate({outFile: 'src/config.js'})

readFile

Default: .env

Optional file containing key/values. See usage example. For more information regarding this file see the dotenv docs.

require('browser-env-vars').generate({readFile: 'path/to/my/file/.env'})

whitelist

An array containing the names of the variables you wish to be read from the environment.

require('browser-env-vars').generate({whitelist: ['ENV_VAR_1', 'ENV_VAR_2']})

esm

If set to true, the module produced will have ES6 syntax. E.g. export default instead of module.exports =

require('browser-env-vars').generate({esm: true})

Contribute

Any suggestions or contributions to this package are welcome at github.

Package Sidebar

Install

npm i browser-env-vars

Weekly Downloads

43

Version

1.1.1

License

ISC

Last publish

Collaborators

  • amygdaloideum