From 169e39e6ac5a796e770fb3ff544a82a15e0555ea Mon Sep 17 00:00:00 2001 From: moos Date: Sun, 25 Sep 2016 22:02:31 -0700 Subject: [PATCH] Process pug synchronously for better memory management --- lib/plugins/html/renderer.js | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/lib/plugins/html/renderer.js b/lib/plugins/html/renderer.js index 8c0b38e50..a64e118f4 100644 --- a/lib/plugins/html/renderer.js +++ b/lib/plugins/html/renderer.js @@ -1,12 +1,8 @@ 'use strict'; const pug = require('pug'), - fs = require('fs'), - Promise = require('bluebird'), path = require('path'); -Promise.promisifyAll(fs); - const basePath = path.resolve(__dirname, 'templates'); const templateCache = {}; @@ -16,23 +12,19 @@ function getTemplate(templateName) { templateName = templateName + '.pug'; const template = templateCache[templateName]; - if (template) { - return Promise.resolve(template); + return template; } const filename = path.resolve(basePath, templateName); - return fs.readFileAsync(filename, 'utf-8') - .then((source) => { - const renderedTemplate = pug.compile(source, {'filename': filename}); - templateCache[templateName] = renderedTemplate; - return renderedTemplate; - }); + const renderedTemplate = pug.compileFile(filename); + + templateCache[templateName] = renderedTemplate; + return renderedTemplate; } module.exports = { renderTemplate(templateName, locals) { - return getTemplate(templateName) - .then((template) => template(locals)); + return getTemplate(templateName)(locals); } };