diff --git a/README.md b/README.md index bc33c93..4e59362 100644 --- a/README.md +++ b/README.md @@ -10,10 +10,27 @@ Usage ``` javascript // import debugger first System.import('systemjs-debugger').then(function(systemJSDebugger) { - System.import('app.js').then(function() { - // log imports after import - systemJSDebugger.logImports(); - }); + // log imports when import succeeds or fails + systemJSDebugger.loggedImport('app.js') +}); +``` +Manually calling logImports() +``` javascript +// import debugger first +System.import('systemjs-debugger').then(function(systemJSDebugger) { + System.import('app.js') + .then(function() { + // log imports after import + systemJSDebugger.logImports(); + window.onerror = null; + }) + .catch(function(err) { + console.error(err); + // log imports on errors + systemJSDebugger.logImports(); + }); + // log imports on errors + window.onerror = systemJSDebugger.logImports; }); ``` Example output diff --git a/index.js b/index.js index 7e1674d..1ffe6ea 100644 --- a/index.js +++ b/index.js @@ -56,3 +56,18 @@ export function logImports () { export function getImports () { return imports; } +export function loggedImport (path) { + // log imports on errors + var orgOnError = window.onerror; + window.onerror = logImports; + return System.import(path) + .then(function () { + logImports(); + window.onerror = orgOnError; + }) + .catch(function (err) { + //console.error(err); + logImports(); + throw err; + }); +}