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

Commit 66f8bb6

Browse files
committed
0.12.0
1 parent 3ba5bd1 commit 66f8bb6

9 files changed

+155
-121
lines changed

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "es6-module-loader",
3-
"version": "0.11.1",
3+
"version": "0.12.0",
44
"description": "An ES6 Module Loader polyfill based on the latest spec.",
55
"homepage": "https://github.com/ModuleLoader/es6-module-loader",
66
"main": "dist/es6-module-loader-sans-promises.js",

dist/es6-module-loader-sans-promises.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/es6-module-loader-sans-promises.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/es6-module-loader-sans-promises.src.js

Lines changed: 71 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -935,7 +935,6 @@ function logloads(loads) {
935935
});
936936

937937
// 26.3.3.13 realm not implemented
938-
this.traceurOptions = {};
939938
}
940939

941940
function Module() {}
@@ -1094,77 +1093,93 @@ function logloads(loads) {
10941093

10951094
var _newModule = Loader.prototype.newModule;
10961095

1096+
if (typeof exports === 'object')
1097+
module.exports = Loader;
10971098

1098-
/*
1099-
* Traceur-specific Parsing Code for Loader
1100-
*/
1101-
(function() {
1102-
// parse function is used to parse a load record
1103-
// Returns an array of ModuleSpecifiers
1104-
var traceur;
1105-
1106-
function doCompile(source, compiler, filename) {
1107-
try {
1108-
return compiler.compile(source, filename);
1109-
}
1110-
catch(e) {
1111-
// traceur throws an error array
1112-
throw e[0];
1113-
}
1114-
}
1115-
Loader.prototype.parse = function(load) {
1116-
if (!traceur) {
1117-
if (typeof window == 'undefined' &&
1118-
typeof WorkerGlobalScope == 'undefined')
1119-
traceur = require('traceur');
1120-
else if (__global.traceur)
1121-
traceur = __global.traceur;
1122-
else
1123-
throw new TypeError('Include Traceur for module syntax support');
1124-
}
1099+
__global.Reflect = __global.Reflect || {};
1100+
__global.Reflect.Loader = __global.Reflect.Loader || Loader;
1101+
__global.Reflect.global = __global.Reflect.global || __global;
1102+
__global.LoaderPolyfill = Loader;
11251103

1126-
console.assert(load.source, 'Non-empty source');
1104+
})();
11271105

1128-
load.isDeclarative = true;
1106+
/*
1107+
* Traceur and 6to5 Parsing Code for Loader
1108+
*/
1109+
(function(Loader) {
1110+
// parse function is used to parse a load record
1111+
// Returns an array of ModuleSpecifiers
1112+
var parser, parserModule, parserName, parserOptionsName;
1113+
1114+
// use Traceur by default
1115+
Loader.prototype.parser = 'traceur';
1116+
1117+
Loader.prototype.parse = function(load) {
1118+
if (!parser) {
1119+
parserName = this.parser == '6to5' ? 'to5' : this.parser;
1120+
1121+
// try to pick up parser from global or require
1122+
if (typeof window == 'undefined' && typeof WorkerGlobalScope == 'undefined')
1123+
parserModule = require(this.parser);
1124+
else
1125+
parserModule = __global[parserName];
1126+
1127+
if (!parserModule)
1128+
throw new TypeError('Include Traceur or 6to5 for module syntax support');
11291129

1130-
var options = this.traceurOptions || {};
1131-
options.modules = 'instantiate';
1132-
options.script = false;
1133-
options.sourceMaps = 'inline';
1134-
options.filename = load.address;
1130+
parser = this.parser == '6to5' ? to5Parse : traceurParse;
1131+
}
11351132

1136-
var compiler = new traceur.Compiler(options);
1133+
var source = parser.call(this, load);
11371134

1138-
var source = doCompile(load.source, compiler, options.filename);
1135+
source = 'var __moduleAddress = "' + load.address + '";' + source;
11391136

1140-
if (!source)
1141-
throw new Error('Error evaluating module ' + load.address);
1137+
__eval(source, __global, load);
1138+
}
11421139

1143-
var sourceMap = compiler.getSourceMap();
1140+
function traceurParse(load) {
1141+
var options = this.traceurOptions || {};
1142+
options.modules = 'instantiate';
1143+
options.script = false;
1144+
options.sourceMaps = 'inline';
1145+
options.filename = load.address;
11441146

1145-
if (__global.btoa && sourceMap) {
1146-
// add "!eval" to end of Traceur sourceURL
1147-
// I believe this does something?
1148-
source += '!eval';
1149-
}
1147+
var compiler = new parserModule.Compiler(options);
1148+
var source = doTraceurCompile(load.source, compiler, options.filename);
11501149

1151-
source = 'var __moduleAddress = "' + load.address + '";' + source;
1150+
// add "!eval" to end of Traceur sourceURL
1151+
// I believe this does something?
1152+
source += '!eval';
11521153

1153-
__eval(source, __global, load);
1154+
return source;
1155+
}
1156+
function doTraceurCompile(source, compiler, filename) {
1157+
try {
1158+
return compiler.compile(source, filename);
11541159
}
1155-
})();
1160+
catch(e) {
1161+
// traceur throws an error array
1162+
throw e[0];
1163+
}
1164+
}
11561165

1157-
if (typeof exports === 'object')
1158-
module.exports = Loader;
1166+
function to5Parse(load) {
1167+
var options = this.to5Options || {};
1168+
options.modules = 'system';
1169+
options.sourceMap = 'inline';
1170+
options.filename = load.address;
1171+
options.code = true;
1172+
options.ast = false;
11591173

1160-
__global.Reflect = __global.Reflect || {};
1161-
__global.Reflect.Loader = __global.Reflect.Loader || Loader;
1162-
__global.Reflect.global = __global.Reflect.global || __global;
1163-
__global.LoaderPolyfill = Loader;
1174+
var source = parserModule.transform(load.source, options).code;
11641175

1165-
})();
1176+
// add "!eval" to end of 6to5 sourceURL
1177+
// I believe this does something?
1178+
return source + '\n//# sourceURL=' + load.address + '!eval';
1179+
}
11661180

1167-
/*
1181+
1182+
})(__global.LoaderPolyfill);/*
11681183
*********************************************************************************************
11691184
11701185
System Loader Implementation

dist/es6-module-loader.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/es6-module-loader.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/es6-module-loader.src.js

Lines changed: 70 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -2160,7 +2160,6 @@ function logloads(loads) {
21602160
});
21612161

21622162
// 26.3.3.13 realm not implemented
2163-
this.traceurOptions = {};
21642163
}
21652164

21662165
function Module() {}
@@ -2319,77 +2318,93 @@ function logloads(loads) {
23192318

23202319
var _newModule = Loader.prototype.newModule;
23212320

2321+
if (typeof exports === 'object')
2322+
module.exports = Loader;
23222323

2323-
/*
2324-
* Traceur-specific Parsing Code for Loader
2325-
*/
2326-
(function() {
2327-
// parse function is used to parse a load record
2328-
// Returns an array of ModuleSpecifiers
2329-
var traceur;
2324+
__global.Reflect = __global.Reflect || {};
2325+
__global.Reflect.Loader = __global.Reflect.Loader || Loader;
2326+
__global.Reflect.global = __global.Reflect.global || __global;
2327+
__global.LoaderPolyfill = Loader;
23302328

2331-
function doCompile(source, compiler, filename) {
2332-
try {
2333-
return compiler.compile(source, filename);
2334-
}
2335-
catch(e) {
2336-
// traceur throws an error array
2337-
throw e[0];
2338-
}
2339-
}
2340-
Loader.prototype.parse = function(load) {
2341-
if (!traceur) {
2342-
if (typeof window == 'undefined' &&
2343-
typeof WorkerGlobalScope == 'undefined')
2344-
traceur = require('traceur');
2345-
else if (__global.traceur)
2346-
traceur = __global.traceur;
2347-
else
2348-
throw new TypeError('Include Traceur for module syntax support');
2349-
}
2329+
})();
2330+
2331+
/*
2332+
* Traceur and 6to5 Parsing Code for Loader
2333+
*/
2334+
(function(Loader) {
2335+
// parse function is used to parse a load record
2336+
// Returns an array of ModuleSpecifiers
2337+
var parser, parserModule, parserName, parserOptionsName;
2338+
2339+
// use Traceur by default
2340+
Loader.prototype.parser = 'traceur';
23502341

2351-
console.assert(load.source, 'Non-empty source');
2342+
Loader.prototype.parse = function(load) {
2343+
if (!parser) {
2344+
parserName = this.parser == '6to5' ? 'to5' : this.parser;
23522345

2353-
load.isDeclarative = true;
2346+
// try to pick up parser from global or require
2347+
if (typeof window == 'undefined' && typeof WorkerGlobalScope == 'undefined')
2348+
parserModule = require(this.parser);
2349+
else
2350+
parserModule = __global[parserName];
2351+
2352+
if (!parserModule)
2353+
throw new TypeError('Include Traceur or 6to5 for module syntax support');
23542354

2355-
var options = this.traceurOptions || {};
2356-
options.modules = 'instantiate';
2357-
options.script = false;
2358-
options.sourceMaps = 'inline';
2359-
options.filename = load.address;
2355+
parser = this.parser == '6to5' ? to5Parse : traceurParse;
2356+
}
23602357

2361-
var compiler = new traceur.Compiler(options);
2358+
var source = parser.call(this, load);
23622359

2363-
var source = doCompile(load.source, compiler, options.filename);
2360+
source = 'var __moduleAddress = "' + load.address + '";' + source;
23642361

2365-
if (!source)
2366-
throw new Error('Error evaluating module ' + load.address);
2362+
__eval(source, __global, load);
2363+
}
23672364

2368-
var sourceMap = compiler.getSourceMap();
2365+
function traceurParse(load) {
2366+
var options = this.traceurOptions || {};
2367+
options.modules = 'instantiate';
2368+
options.script = false;
2369+
options.sourceMaps = 'inline';
2370+
options.filename = load.address;
23692371

2370-
if (__global.btoa && sourceMap) {
2371-
// add "!eval" to end of Traceur sourceURL
2372-
// I believe this does something?
2373-
source += '!eval';
2374-
}
2372+
var compiler = new parserModule.Compiler(options);
2373+
var source = doTraceurCompile(load.source, compiler, options.filename);
23752374

2376-
source = 'var __moduleAddress = "' + load.address + '";' + source;
2375+
// add "!eval" to end of Traceur sourceURL
2376+
// I believe this does something?
2377+
source += '!eval';
23772378

2378-
__eval(source, __global, load);
2379+
return source;
2380+
}
2381+
function doTraceurCompile(source, compiler, filename) {
2382+
try {
2383+
return compiler.compile(source, filename);
2384+
}
2385+
catch(e) {
2386+
// traceur throws an error array
2387+
throw e[0];
23792388
}
2380-
})();
2389+
}
23812390

2382-
if (typeof exports === 'object')
2383-
module.exports = Loader;
2391+
function to5Parse(load) {
2392+
var options = this.to5Options || {};
2393+
options.modules = 'system';
2394+
options.sourceMap = 'inline';
2395+
options.filename = load.address;
2396+
options.code = true;
2397+
options.ast = false;
23842398

2385-
__global.Reflect = __global.Reflect || {};
2386-
__global.Reflect.Loader = __global.Reflect.Loader || Loader;
2387-
__global.Reflect.global = __global.Reflect.global || __global;
2388-
__global.LoaderPolyfill = Loader;
2399+
var source = parserModule.transform(load.source, options).code;
23892400

2390-
})();
2401+
// add "!eval" to end of 6to5 sourceURL
2402+
// I believe this does something?
2403+
return source + '\n//# sourceURL=' + load.address + '!eval';
2404+
}
23912405

2392-
/*
2406+
2407+
})(__global.LoaderPolyfill);/*
23932408
*********************************************************************************************
23942409
23952410
System Loader Implementation

karma.conf.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,15 @@ module.exports = function(config) {
9898

9999
if (options.saucelabs) {
100100

101-
var customLaunchers = geSaLaKaCuLa({
101+
var customLaunchers;
102+
103+
/*
104+
customLaunchers = geSaLaKaCuLa({
102105
'Windows 7': {
103-
'internet explorer': '10..11'
106+
'internet explorer': '9..11'
104107
}
105108
});
109+
*/
106110

107111
if (options.ie8) {
108112
customLaunchers = geSaLaKaCuLa({

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "es6-module-loader",
33
"description": "An ES6 Module Loader shim",
4-
"version": "0.11.2",
4+
"version": "0.12.0",
55
"homepage": "https://github.com/ModuleLoader/es6-module-loader",
66
"author": {
77
"name": "Guy Bedford, Luke Hoban, Addy Osmani",

0 commit comments

Comments
 (0)