diff --git a/node/utils/Minify.js b/node/utils/Minify.js index 03f511f4..4a22a81f 100644 --- a/node/utils/Minify.js +++ b/node/utils/Minify.js @@ -179,7 +179,7 @@ function _handle(req, res, jsFilename, jsFiles) { if(type == "JS") { - embeds[filename] = compressJS([data]); + embeds[filename] = compressJS([isolateJS(data)]); } else { @@ -297,10 +297,16 @@ function tarCode(filesInOrder, files, write) { for(var i = 0, ii = filesInOrder.length; i < filesInOrder.length; i++) { var filename = filesInOrder[i]; write("\n\n\n/*** File: static/js/" + filename + " ***/\n\n\n"); - write(files[filename]); + write(isolateJS(files[filename])); } } +// Wrap the following code in a self executing function and assign exports to +// global. This is a first step towards removing symbols from the global scope. +function isolateJS(code) { + return '(function (exports) {'+code+'\n}(function () {return this}()));\n'; +} + function compressJS(values) { var complete = values.join("\n");