more robust handling of missing module errors

pull/313/head
c9bot 2016-06-06 00:19:37 +02:00 zatwierdzone przez nightwing
rodzic 581cd51fca
commit 7c55a315dd
2 zmienionych plików z 10 dodań i 3 usunięć

Wyświetl plik

@ -309,6 +309,7 @@ define.undef = require.undef = function(module, recursive) {
var path = require.toUrl(module, ".js");
delete define.errors[module];
delete define.loaded[module];
delete define.loading[module];
delete define.modules[module];
delete define.fetchedUrls[path];
};
@ -403,6 +404,7 @@ var loadScriptWithTag = function(path, id, callback) {
};
s.onerror = function(e) {
processLoadQueue({
message: "Error loading script " + id + ":" + path,
id: id,
path: path
});

Wyświetl plik

@ -263,7 +263,7 @@
}
function getReport() {
return mocha.lastReport;
return mocha.lastReport || { failures: "didn't complete" };
}
function safeDisconnect(cb) {
@ -382,7 +382,11 @@
return !/text!/.test(x);
});
function cleanupRequireModules() {
Object.keys(define.modules).forEach(function(x) {
[].concat(
Object.keys(define.modules),
Object.keys(define.errors),
Object.keys(define.loading)
).forEach(function(x) {
if (/text!/.test(x) || defaultModules.indexOf(x) != -1)
return;
if (/^ace|^treehugger|\/ctags\/ctags$/.test(x) && !/_test/.test(x))
@ -390,12 +394,13 @@
require.undef(x);
});
define.fetchedUrls = Object.create(null);
}
if (require == requirejs) {
require = function(a, b, c) {
if (!c && Array.isArray(a))
c = function(err) {
lastDone && lastDone(err.message);
lastDone && lastDone(err.message || err);
};
// workaround for sync minirequire behaviour
var bt = b && function() {