Skip to content
This repository was archived by the owner on Jul 13, 2020. It is now read-only.

Commit b35fabc

Browse files
committed
baseURL sanitize fix, addToError avoid mutation, set System.constructor
1 parent a45bb09 commit b35fabc

File tree

4 files changed

+17
-10
lines changed

4 files changed

+17
-10
lines changed

index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
if (typeof Promise === 'undefined')
2-
require('when');
2+
require('when/es6-shim/Promise');
33

44
var System = require('./dist/es6-module-loader.src');
55

src/system.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,8 @@ function SystemLoader(options) {
2929
}
3030

3131
// sanitize out the hash and querystring
32-
// removes the username and password, which could be adjusted
33-
baseURL = new URL(baseURL);
34-
baseURL = baseURL.origin + baseURL.pathname.substr(0, baseURL.pathname.lastIndexOf('/') + 1);
32+
baseURL = baseURL.split('#')[0].split('?')[0];
33+
baseURL = baseURL.substr(0, baseURL.lastIndexOf('/') + 1);
3534
}
3635
else if (typeof process != 'undefined' && process.cwd) {
3736
baseURL = 'file://' + (isWindows ? '/' : '') + process.cwd() + '/';

src/wrapper-end.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88
__global.Reflect.global = __global.Reflect.global || __global;
99
__global.LoaderPolyfill = Loader;
1010

11-
if (!System)
11+
if (!System) {
1212
System = new SystemLoader();
13+
System.constructor = SystemLoader;
14+
}
1315

1416
if (typeof exports === 'object')
1517
module.exports = System;

src/wrapper-start.js

+11-5
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,17 @@
3434
})();
3535

3636
function addToError(err, msg) {
37-
if (err instanceof Error)
38-
err.message = err.message + '\n\t' + msg;
39-
else
40-
err = err + '\n\t' + msg;
41-
return err;
37+
var newErr;
38+
if (err instanceof Error) {
39+
var newErr = new err.constructor(err.message, err.fileName, err.lineNumber);
40+
newErr.message = err.message + '\n\t' + msg;
41+
newErr.stack = err.stack;
42+
}
43+
else {
44+
newErr = err + '\n\t' + msg;
45+
}
46+
47+
return newErr;
4248
}
4349

4450
function __eval(source, debugName, context) {

0 commit comments

Comments
 (0)