diff --git a/CHANGELOG.md b/CHANGELOG.md index 95fdc6b3..9d90257a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## 3.0.0-rc.23 (2019-10-03) +- Fix renderTheme function so that it may work with Stencil CLI [#181](https://github.com/bigcommerce/paper/pull/181) + ## 3.0.0-rc.22 (2019-10-02) - Bump paper version [#180](https://github.com/bigcommerce/paper/pull/180) diff --git a/index.js b/index.js index 20f57786..8ba16ed4 100644 --- a/index.js +++ b/index.js @@ -249,7 +249,8 @@ class Paper { // If templatePath is an array (multiple templates using render_with option), // compile all the template required files into an object result = {}; - for (let path in templatePath) { + for (let i = 0; i < templatePath.length; i++) { + const path = templatePath[i]; renderPromises.push(this.render(path, data.context).then(html => { result[path] = html; })); diff --git a/package.json b/package.json index 0a342bc5..ca92c905 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bigcommerce/stencil-paper", - "version": "3.0.0-rc.22", + "version": "3.0.0-rc.23", "description": "A Stencil plugin to load template files and render pages using backend renderer plugins.", "main": "index.js", "author": "Bigcommerce", diff --git a/spec/index.js b/spec/index.js index bbbdb639..4bc604b2 100644 --- a/spec/index.js +++ b/spec/index.js @@ -122,3 +122,36 @@ describe('render()', function() { }); }); }); + +describe('renderTheme()', function() { + const assembler = { + getTemplates: (path, processor) => { + return Promise.resolve(processor({ + 'pages/product': '{{> pages/partial}}', + 'pages/partial': '
{{variable}}
', + 'pages/greet': '