diff --git a/package.json b/package.json index 214964413a..02b6ade35e 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,8 @@ "jquery": "^2.2.0", "brace": "^0.8.0", "browserify": "^13.0.0", - "js-base64": "^2.1.9" + "js-base64": "^2.1.9", + "webworkify": "^1.2.1" }, "repository": { "type": "git", diff --git a/worker.js b/src/app/compiler-worker.js similarity index 93% rename from worker.js rename to src/app/compiler-worker.js index 4723e6ec4d..d5c2e30f9c 100644 --- a/worker.js +++ b/src/app/compiler-worker.js @@ -1,7 +1,10 @@ var version = function() { return '(loading)'; } var compileJSON = function() { return ''; } var missingInputs = []; -addEventListener('message', function(e) { + +module.exports = function (self) { + +self.addEventListener('message', function(e) { var data = e.data; switch (data.cmd) { case 'loadVersion': @@ -37,3 +40,5 @@ addEventListener('message', function(e) { break; } }, false); + +} diff --git a/src/app/compiler.js b/src/app/compiler.js index 4272c2fb48..21cb9cd9e4 100644 --- a/src/app/compiler.js +++ b/src/app/compiler.js @@ -1,3 +1,4 @@ +var webworkify = require('webworkify'); var queryParams = require('./query-params'); var utils = require('./utils'); var Renderer = require('./renderer'); @@ -139,7 +140,7 @@ function Compiler (editor, handleGithubCall, outputField, hidingRHP, updateFiles if (worker !== null) { worker.terminate(); } - worker = new Worker('worker.js'); + worker = webworkify(require('./compiler-worker.js')); worker.addEventListener('message', function (msg) { var data = msg.data; switch (data.cmd) {