From 81907ae43246ea63d45c1ffab4bbad4aadc8951d Mon Sep 17 00:00:00 2001 From: Nicholas Young Date: Sat, 16 Apr 2016 09:31:10 -0500 Subject: [PATCH] enhancement: build in configuration management. --- config/index.js | 18 ++++++++++++++++++ package.json | 6 +++++- src/store.js | 3 +++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 config/index.js diff --git a/config/index.js b/config/index.js new file mode 100644 index 0000000..66bb18a --- /dev/null +++ b/config/index.js @@ -0,0 +1,18 @@ +if ( + process.env.NODE_ENV && + process.env.NODE_ENV === 'development' +) { + require('dotenv').load(); +} + +const path = require('path'); +const convict = require('convict'); + +exports = module.exports = convict({ + api: { + host: { + env: 'API_HOST', + default: 'http://localhost:4000' + } + } +}); diff --git a/package.json b/package.json index 7f11422..e52786b 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "description": "An opinionated React Boilerplate project.", "main": "dist/server.js", "dependencies": { + "convict": "^1.3.0", "errbot": "^1.0.0", "express": "^4.13.4", "http-client": "^3.1.0", @@ -29,11 +30,13 @@ "babel-preset-react": "^6.5.0", "babel-preset-stage-2": "^6.5.0", "babelify": "^7.2.0", + "brfs": "^1.4.3", "browser-sync": "^2.11.1", "browserify": "^13.0.0", "concurrently": "^2.0.0", "cpy-cli": "^1.0.0", "del-cli": "^0.2.0", + "dotenv": "^2.0.0", "enzyme": "^2.2.0", "eslint-config-xo-react": "^0.5.0", "eslint-plugin-react": "^4.2.3", @@ -96,7 +99,8 @@ }, "browserify": { "transform": [ - "babelify" + "babelify", + "brfs" ] } } diff --git a/src/store.js b/src/store.js index 9464216..b826b4f 100644 --- a/src/store.js +++ b/src/store.js @@ -4,6 +4,9 @@ import fetchMiddleware from './middleware/fetch'; import onActivateMiddleware from './middleware/onactivate'; import routes from './routes'; import reducers from './reducers'; +import config from '../config'; + +console.log(config.get('api.host')); export default function configureStore(router, state = {}) { const stack = compose(