From 694fbd7c6114c78613e8a7bb1ca7dd4ca2d46e62 Mon Sep 17 00:00:00 2001 From: Jared Hirsch Date: Sun, 5 Feb 2017 23:44:37 -0800 Subject: [PATCH] Closes #37: Replace node-config with a JS config file `node-config` is hard to use with transpilers, because it uses conditional dependencies, see lorenwest/node-config#345. Move endpoint configs into a simple JS module. --- config.js | 5 +++++ config/default.json | 3 --- config/production.json | 3 --- package.json | 1 - ping-centre.js | 4 ++-- test/endpoints.js | 2 +- 6 files changed, 8 insertions(+), 10 deletions(-) create mode 100644 config.js delete mode 100644 config/default.json delete mode 100644 config/production.json diff --git a/config.js b/config.js new file mode 100644 index 0000000..d1db455 --- /dev/null +++ b/config.js @@ -0,0 +1,5 @@ +module.exports = { + endpoint: process.env.NODE_ENV === "production" ? + "https://tiles.services.mozilla.com/v3/links/ping-centre" : + "https://onyx_tiles.stage.mozaws.net/v3/links/ping-centre" +}; diff --git a/config/default.json b/config/default.json deleted file mode 100644 index f340882..0000000 --- a/config/default.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "endpoint": "https://onyx_tiles.stage.mozaws.net/v3/links/ping-centre" -} diff --git a/config/production.json b/config/production.json deleted file mode 100644 index e62babf..0000000 --- a/config/production.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "endpoint": "https://tiles.services.mozilla.com/v3/links/ping-centre" -} diff --git a/package.json b/package.json index ef8d607..ef2e977 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,6 @@ "homepage": "https://github.com/mozilla/ping-centre#readme", "dependencies": { "chai-as-promised": "^6.0.0", - "config": "^1.24.0", "isomorphic-fetch": "^2.2.1", "joi-browser": "^10.0.6", "node-fetch": "^1.6.3", diff --git a/ping-centre.js b/ping-centre.js index b18068f..2a0bd2c 100644 --- a/ping-centre.js +++ b/ping-centre.js @@ -4,7 +4,7 @@ require("isomorphic-fetch"); const commonSchema = require("./schemas/commonSchema"); const Joi = require("joi-browser"); const uuid = require("uuid"); -const config = require("config"); +const config = require("./config"); class PingCentre { constructor(topic, clientID, pingEndpoint) { @@ -13,7 +13,7 @@ class PingCentre { } this._topic = topic; this._clientID = clientID || uuid(); - this._pingEndpoint = pingEndpoint || config.get("endpoint"); + this._pingEndpoint = pingEndpoint || config.endpoint; const schema = require(`./schemas/${topic}`); this._schema = schema || commonSchema; diff --git a/test/endpoints.js b/test/endpoints.js index 621056f..aa2b104 100644 --- a/test/endpoints.js +++ b/test/endpoints.js @@ -15,7 +15,7 @@ describe("Ping Centre Endpoints", function() { // required again in order to require config again and look up the // newly set environment variables. delete require.cache[require.resolve("../ping-centre")]; - delete require.cache[require.resolve("config")]; + delete require.cache[require.resolve("../config")]; process.env["NODE_ENV"] = "production"; const PingCentre = require("../ping-centre");