From 1a7f570ec0e58b96c48c38dea25c21991f3ebfe4 Mon Sep 17 00:00:00 2001 From: Alex Anderson Date: Thu, 10 May 2018 15:19:18 +0000 Subject: [PATCH] Update nools templating to use __include_inline__() --- package-lock.json | 2 +- package.json | 2 +- src/fn/compile-app-settings.js | 19 +++++-------------- .../{rules.nools.template => rules.nools.js} | 2 +- 4 files changed, 8 insertions(+), 17 deletions(-) rename test/data/compile-app-settings/nools-templating/project/{rules.nools.template => rules.nools.js} (78%) diff --git a/package-lock.json b/package-lock.json index 257c84091..f998ac742 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "medic-conf", - "version": "1.14.2", + "version": "1.15.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index e87a92ff4..f863c384f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "medic-conf", - "version": "1.14.2", + "version": "1.15.0", "description": "Configure Medic Mobile deployments", "main": "index.js", "scripts": { diff --git a/src/fn/compile-app-settings.js b/src/fn/compile-app-settings.js index 14ce6cc1d..78b4e89c7 100644 --- a/src/fn/compile-app-settings.js +++ b/src/fn/compile-app-settings.js @@ -123,18 +123,9 @@ function doFilter(target, rules) { } function loadNools(projectDir) { - const simpleNoolsFile = `${projectDir}/rules.nools.js`; - const noolsTemplateFile = `${projectDir}/rules.nools.template`; - - if(fs.exists(simpleNoolsFile)) { - return readJs(simpleNoolsFile); - } else if(fs.exists(noolsTemplateFile)) { - return cleanJs(fs.read(noolsTemplateFile) - .replace(/___TEMPLATE:([^_]*)___/g, (_, filename) => - fs.read(`${projectDir}/${filename}`))); - } else { - throw new Error(`No nools definition file found. Please create at one of: - * ${simpleNoolsFile} - * ${noolsTemplateFile}`); - } + const noolsBaseFile = `${projectDir}/rules.nools.js`; + + return cleanJs(fs.read(noolsBaseFile) + .replace(/__include_inline__\('\s*([^_]*)'\s*\);/g, (_, filename) => + fs.read(`${projectDir}/${filename}`))); } diff --git a/test/data/compile-app-settings/nools-templating/project/rules.nools.template b/test/data/compile-app-settings/nools-templating/project/rules.nools.js similarity index 78% rename from test/data/compile-app-settings/nools-templating/project/rules.nools.template rename to test/data/compile-app-settings/nools-templating/project/rules.nools.js index 40ab995c2..2ca092dea 100644 --- a/test/data/compile-app-settings/nools-templating/project/rules.nools.template +++ b/test/data/compile-app-settings/nools-templating/project/rules.nools.js @@ -9,6 +9,6 @@ rule GenerateEvents { c: Contact } then { - ___TEMPLATE:rules.contact.nools.js___ + __include_inline__('rules.contact.nools.js'); } }