From 0f664b023bf781d9e1a375ea604ea4ea04623436 Mon Sep 17 00:00:00 2001 From: Andrew Hayward Date: Wed, 18 Dec 2013 15:03:29 +0000 Subject: [PATCH] Using `config-store` for configuration --- TODO.md | 2 -- app/index.js | 5 ++++- app/lib/config.js | 8 ++++++++ app/lib/db.js | 8 ++------ package.json | 1 + 5 files changed, 15 insertions(+), 9 deletions(-) create mode 100644 app/lib/config.js diff --git a/TODO.md b/TODO.md index 3ce9831..02e2902 100644 --- a/TODO.md +++ b/TODO.md @@ -1,5 +1,3 @@ -* Set up DB config properly -* Set up server config properly * DB schema and migrations * Models * Write tests! diff --git a/app/index.js b/app/index.js index b720691..34c6b17 100644 --- a/app/index.js +++ b/app/index.js @@ -1,3 +1,4 @@ +var config = require('./lib/config'); var restify = require('restify'); var applyRoutes = require('./routes'); @@ -12,6 +13,8 @@ server.use(restify.bodyParser({mapParams: false, rejectUnknown: true})); applyRoutes(server); -server.listen(8080, function () { +var port = config('PORT', 8080); + +server.listen(port, function () { console.log('%s listening at %s', server.name, server.url); }); diff --git a/app/lib/config.js b/app/lib/config.js new file mode 100644 index 0000000..d24d7dd --- /dev/null +++ b/app/lib/config.js @@ -0,0 +1,8 @@ +var path = require('path'); +var config = require('config-store'); + +try { + exports = module.exports = config(path.join(__dirname, '../../config.json')); +} catch (e) { + exports = module.exports = config(); +} diff --git a/app/lib/db.js b/app/lib/db.js index ea6e1cc..d5ac270 100644 --- a/app/lib/db.js +++ b/app/lib/db.js @@ -1,10 +1,6 @@ +var config = require('./config'); var streamsql = require('streamsql'); -var db = streamsql.connect({ - driver: 'mysql', - user: process.env.DB_USER, - password: process.env.DB_PASSWORD, - database: process.env.DB_NAME -}); +var db = streamsql.connect(config.find('db')); exports = module.exports = db; diff --git a/package.json b/package.json index c7ce78e..c42c699 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ }, "dependencies": { + "config-store": "~0.3.0", "mysql": "~2.0.0-alpha9", "restify": "~2.6.0", "streamsql": "~0.4.3"