From 4fdaccd3c81f53f5c2588c5f174d33ce5b90d6a6 Mon Sep 17 00:00:00 2001 From: Lennart Kats Date: Tue, 17 Nov 2015 12:00:39 +0000 Subject: [PATCH] Fix worker CORS errors with unpacked helper --- configs/client-default.js | 4 +--- node_modules/ace/lib/ace/worker/worker_client.js | 4 ++-- .../architect-build/build_support/mini_require.js | 8 ++++---- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/configs/client-default.js b/configs/client-default.js index 943872fc..dfb24ecd 100644 --- a/configs/client-default.js +++ b/configs/client-default.js @@ -303,9 +303,7 @@ module.exports = function(options) { { packagePath: "plugins/c9.ide.language/language", workspaceDir: workspaceDir, - staticPrefix: hosted && !options.packed - ? options.ideBaseUrl + "/uph" + staticPrefix - : staticPrefix, + staticPrefix: staticPrefix, workerPrefix: options.CORSWorkerPrefix // "/static/standalone/worker" }, "plugins/c9.ide.language/keyhandler", diff --git a/node_modules/ace/lib/ace/worker/worker_client.js b/node_modules/ace/lib/ace/worker/worker_client.js index ba4f20a0..baf3dc9d 100644 --- a/node_modules/ace/lib/ace/worker/worker_client.js +++ b/node_modules/ace/lib/ace/worker/worker_client.js @@ -49,11 +49,11 @@ var WorkerClient = function(topLevelNamespaces, mod, classname, workerUrl) { workerUrl = workerUrl || config.moduleUrl(mod, "worker"); } else { var normalizePath = this.$normalizePath; - workerUrl = workerUrl || normalizePath(require.toUrl("ace/worker/worker.js", null, "_")); + workerUrl = workerUrl || normalizePath(require.toUrl("ace/worker/worker.js", null, "_", true)); var tlns = {}; topLevelNamespaces.forEach(function(ns) { - tlns[ns] = normalizePath(require.toUrl(ns, null, "_").replace(/(\.js)?(\?.*)?$/, "")); + tlns[ns] = normalizePath(require.toUrl(ns, null, "_", true).replace(/(\.js)?(\?.*)?$/, "")); }); } diff --git a/node_modules/architect-build/build_support/mini_require.js b/node_modules/architect-build/build_support/mini_require.js index 45407316..e6a45e90 100644 --- a/node_modules/architect-build/build_support/mini_require.js +++ b/node_modules/architect-build/build_support/mini_require.js @@ -152,8 +152,8 @@ var activateModule = function(name) { var req = function(path, callback) { return _require(name, path, callback); }; - req.toUrl = function(namePlusExt) { - return require.toUrl(normalizeName(name, namePlusExt)); + req.toUrl = function(namePlusExt, _1, _2, skipBalancers) { + return require.toUrl(normalizeName(name, namePlusExt), null, null, skipBalancers); }; req.config = require.config; @@ -315,7 +315,7 @@ function undefAll(module, hash) { require.MODULE_LOAD_URL = MODULE_LOAD_URL; -require.toUrl = function(moduleName, ext, skipExt) { +require.toUrl = function(moduleName, ext, skipExt, skipBalancers) { var absRe = /^([\w\+\.\-]+:|\/)/; var index = moduleName.indexOf("!"); if (index !== -1 || !ext || /^\/|\.js$/.test(moduleName)) @@ -347,7 +347,7 @@ require.toUrl = function(moduleName, ext, skipExt) { if (!absRe.test(url)) { url = (config.baseUrl || require.MODULE_LOAD_URL + "/") + url; } - if (url[0] === "/" && config.baseUrlLoadBalancers) { + if (url[0] === "/" && config.baseUrlLoadBalancers && !skipBalancers) { var n = Math.abs(hashCode(url)) % config.baseUrlLoadBalancers.length; url = config.baseUrlLoadBalancers[n] + url; }