From 199f7baf5d750aa5b28a283d907f332b5dd7fb4b Mon Sep 17 00:00:00 2001 From: Peter Vanwyck Date: Sat, 13 Aug 2016 12:28:57 +0200 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=86=95=20added=20support=20for=20recu?= =?UTF-8?q?rsively=20fetch=20external=20data?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/loadData.js | 2 +- test/fixtures/data-json/data/{ => subfolder}/breakfast.json | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename test/fixtures/data-json/data/{ => subfolder}/breakfast.json (100%) diff --git a/lib/loadData.js b/lib/loadData.js index b699bb8..9832ab5 100644 --- a/lib/loadData.js +++ b/lib/loadData.js @@ -8,7 +8,7 @@ var yaml = require('js-yaml'); * @param {string} dir - Folder to check for data files. */ module.exports = function(dir) { - var dataFiles = utils.loadFiles(dir, '*.{js,json,yml}'); + var dataFiles = utils.loadFiles(dir, '**/*.{js,json,yml}'); for (var i in dataFiles) { var file = fs.readFileSync(dataFiles[i]); diff --git a/test/fixtures/data-json/data/breakfast.json b/test/fixtures/data-json/data/subfolder/breakfast.json similarity index 100% rename from test/fixtures/data-json/data/breakfast.json rename to test/fixtures/data-json/data/subfolder/breakfast.json From 212f9c13fa647becf4dda07d21cdf20d57e5e0d8 Mon Sep 17 00:00:00 2001 From: Thomas Mattheussen Date: Tue, 23 Aug 2016 10:39:13 +0200 Subject: [PATCH 2/3] fix cached required data files --- lib/loadData.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/loadData.js b/lib/loadData.js index 9832ab5..359e62f 100644 --- a/lib/loadData.js +++ b/lib/loadData.js @@ -16,11 +16,8 @@ module.exports = function(dir) { var name = path.basename(dataFiles[i], ext); var data; - if (ext === '.json') { - data = require(dataFiles[i]) - } - else if (ext === '.js') { - data = require(dataFiles[i]) + if (ext === '.json' || ext === '.js') { + data = JSON.parse(fs.readFileSync(dataFiles[i])); } else if (ext === '.yml') { data = yaml.safeLoad(fs.readFileSync(dataFiles[i])); From ea6cca674b7e96748838393c5f9dc2b79c3cf72a Mon Sep 17 00:00:00 2001 From: Thomas Mattheussen Date: Tue, 23 Aug 2016 10:51:47 +0200 Subject: [PATCH 3/3] fix failing test, delete from cache instead of fs.readFileSync --- lib/loadData.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/loadData.js b/lib/loadData.js index 359e62f..cf47b12 100644 --- a/lib/loadData.js +++ b/lib/loadData.js @@ -17,7 +17,8 @@ module.exports = function(dir) { var data; if (ext === '.json' || ext === '.js') { - data = JSON.parse(fs.readFileSync(dataFiles[i])); + delete require.cache[require.resolve(dataFiles[i])]; + data = require(dataFiles[i]) } else if (ext === '.yml') { data = yaml.safeLoad(fs.readFileSync(dataFiles[i]));