diff --git a/node_modules/architect-build/build_support/mini_require.js b/node_modules/architect-build/build_support/mini_require.js index 8d4c219c..7af78f24 100644 --- a/node_modules/architect-build/build_support/mini_require.js +++ b/node_modules/architect-build/build_support/mini_require.js @@ -282,7 +282,13 @@ config.packages = Object.create(null); config.paths = Object.create(null); config.baseUrl = ""; -require.undef = function(module, callback) { +require.undef = function(module, recursive) { + if (recursive) { + var root = (module + "/").replace("//", "/"); + $undefAll(root, define.errors); + $undefAll(root, define.loaded); + $undefAll(root, define.modules); + } module = normalizeName("", module); var path = require.toUrl(module, ".js"); delete define.errors[module]; @@ -291,6 +297,12 @@ require.undef = function(module, callback) { delete define.fetchedUrls[path]; }; +function $undefAll(module, hash) { + for (var i in hash) + if (i.lastIndexOf(module, 0) == 0) + require.undef(i); +} + require.MODULE_LOAD_URL = MODULE_LOAD_URL; require.toUrl = function(moduleName, ext, skipExt) { diff --git a/plugins/c9.ide.plugins/loader.js b/plugins/c9.ide.plugins/loader.js index 6d8791af..144c79e2 100644 --- a/plugins/c9.ide.plugins/loader.js +++ b/plugins/c9.ide.plugins/loader.js @@ -239,7 +239,7 @@ define(function(require, exports, module) { paths[config.packagePath] = config.staticPrefix; requirejs.config({ paths: paths }); - requirejs.undef([config.packagePath, "__installed__.js"].join("/")); + requirejs.undef(config.packagePath, true); require([[config.packagePath, "__installed__"].join("/")], function(installed) { callback(null, installed);