From 02b6a7893a363aa32fbc4b0fd0275db3b8068d77 Mon Sep 17 00:00:00 2001 From: psychobunny Date: Tue, 11 Nov 2014 13:30:16 -0500 Subject: [PATCH] in dev mode, concatenate scripts instead of minifying faster reboot & restores sanity to those trying to debug browser specific issues on IE and FF. not that you have much sanity to begin with if it's an IE bug... --- minifier.js | 46 ++++++++++++++++++++++++++++++++++++---------- src/meta/js.js | 2 +- 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/minifier.js b/minifier.js index 3336709780..c8f58ea93c 100644 --- a/minifier.js +++ b/minifier.js @@ -29,6 +29,27 @@ Minifier.js.minify = function (scripts, relativePath, minify, callback) { options.prefix = 1; } + if (minify) { + minifyScripts(scripts, options, callback); + } else { + concatenateScripts(scripts, options, callback); + } +}; + +process.on('message', function(payload) { + switch(payload.action) { + case 'js': + Minifier.js.minify(payload.scripts, payload.relativePath, payload.minify, function(data) { + process.send({ + type: 'end', + data: data + }); + }); + break; + } +}); + +function minifyScripts(scripts, options, callback) { try { var minified = uglifyjs.minify(scripts, options), hasher = crypto.createHash('md5'), @@ -52,17 +73,22 @@ Minifier.js.minify = function (scripts, relativePath, minify, callback) { payload: err }); } -}; +} -process.on('message', function(payload) { - switch(payload.action) { - case 'js': - Minifier.js.minify(payload.scripts, payload.relativePath, payload.minify, function(data) { +function concatenateScripts(scripts, options, callback) { + async.map(scripts, fs.readFile, function(err, scripts) { + if (err) { process.send({ - type: 'end', - data: data + type: 'error', + payload: err }); + } + + scripts = scripts.join(require('os').EOL); + + callback({ + js: scripts, + map: '' }); - break; - } -}); \ No newline at end of file + }); +} \ No newline at end of file diff --git a/src/meta/js.js b/src/meta/js.js index c499ee8aec..85dad13ab5 100644 --- a/src/meta/js.js +++ b/src/meta/js.js @@ -181,7 +181,7 @@ module.exports = function(Meta) { minifier.send({ action: 'js', relativePath: nconf.get('url') + '/', - minify: minify, + minify: global.env !== 'development', scripts: Meta.js.scripts.all }); });