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

Commit 12efb9a

Browse files
committed
anonymous module tag support only
1 parent c503866 commit 12efb9a

File tree

7 files changed

+19
-70
lines changed

7 files changed

+19
-70
lines changed

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

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ function logloads(loads) {
319319

320320
System.register = function(name, deps, declare) {
321321
// store the registered declaration as load.declare
322-
load.declare = declare;
322+
load.declare = typeof name == 'string' ? declare : deps;
323323
}
324324

325325
__eval(source, __global, load.name);
@@ -843,7 +843,7 @@ function logloads(loads) {
843843
throw new TypeError('Module is already loading.');
844844
importPromises[name] = new Promise(asyncStartLoadPartwayThrough({
845845
step: options && options.address ? 'fetch' : 'translate',
846-
loader: this,
846+
loader: this._loader,
847847
moduleName: name,
848848
moduleMetadata: options && options.metadata || {},
849849
moduleSource: source,
@@ -858,7 +858,7 @@ function logloads(loads) {
858858
}
859859
if (importPromises[request])
860860
return importPromises[request];
861-
importPromises[request] = loadModule(this._loader);
861+
importPromises[request] = loadModule(this._loader, request, {});
862862
return importPromises[request].then(function() { delete importPromises[request]; })
863863
},
864864
module: function(source, options) {
@@ -870,7 +870,7 @@ function logloads(loads) {
870870
var p = linkSet.done.then(function() {
871871
return evaluateLoadedModule(loader, load);
872872
});
873-
proceedToTranslate(this, load, sourcePromise);
873+
proceedToTranslate(loader, load, sourcePromise);
874874
return p;
875875
},
876876
'import': function(name, options) {
@@ -1271,15 +1271,8 @@ function logloads(loads) {
12711271
for (var i = 0; i < scripts.length; i++) {
12721272
var script = scripts[i];
12731273
if (script.type == 'module') {
1274-
// <script type="module" name="" src=""> support
1275-
var name = script.getAttribute('name');
1276-
var address = script.getAttribute('src');
12771274
var source = script.innerHTML;
1278-
1279-
(name
1280-
? System.define(name, source, { address: address })
1281-
: System.module(source, { address: address })
1282-
).then(function() {}, function(err) { nextTick(function() { throw err; }); });
1275+
System.module(source)['catch'](function(err) { setTimeout(function() { throw err; }); });
12831276
}
12841277
}
12851278
}

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

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.js

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1003,7 +1003,7 @@ function logloads(loads) {
10031003

10041004
System.register = function(name, deps, declare) {
10051005
// store the registered declaration as load.declare
1006-
load.declare = declare;
1006+
load.declare = typeof name == 'string' ? declare : deps;
10071007
}
10081008

10091009
__eval(source, __global, load.name);
@@ -1527,7 +1527,7 @@ function logloads(loads) {
15271527
throw new TypeError('Module is already loading.');
15281528
importPromises[name] = new Promise(asyncStartLoadPartwayThrough({
15291529
step: options && options.address ? 'fetch' : 'translate',
1530-
loader: this,
1530+
loader: this._loader,
15311531
moduleName: name,
15321532
moduleMetadata: options && options.metadata || {},
15331533
moduleSource: source,
@@ -1542,7 +1542,7 @@ function logloads(loads) {
15421542
}
15431543
if (importPromises[request])
15441544
return importPromises[request];
1545-
importPromises[request] = loadModule(this._loader);
1545+
importPromises[request] = loadModule(this._loader, request, {});
15461546
return importPromises[request].then(function() { delete importPromises[request]; })
15471547
},
15481548
module: function(source, options) {
@@ -1554,7 +1554,7 @@ function logloads(loads) {
15541554
var p = linkSet.done.then(function() {
15551555
return evaluateLoadedModule(loader, load);
15561556
});
1557-
proceedToTranslate(this, load, sourcePromise);
1557+
proceedToTranslate(loader, load, sourcePromise);
15581558
return p;
15591559
},
15601560
'import': function(name, options) {
@@ -1955,15 +1955,8 @@ function logloads(loads) {
19551955
for (var i = 0; i < scripts.length; i++) {
19561956
var script = scripts[i];
19571957
if (script.type == 'module') {
1958-
// <script type="module" name="" src=""> support
1959-
var name = script.getAttribute('name');
1960-
var address = script.getAttribute('src');
19611958
var source = script.innerHTML;
1962-
1963-
(name
1964-
? System.define(name, source, { address: address })
1965-
: System.module(source, { address: address })
1966-
).then(function() {}, function(err) { nextTick(function() { throw err; }); });
1959+
System.module(source)['catch'](function(err) { setTimeout(function() { throw err; }); });
19671960
}
19681961
}
19691962
}

dist/es6-module-loader.min.js

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

lib/loader.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ function logloads(loads) {
319319

320320
System.register = function(name, deps, declare) {
321321
// store the registered declaration as load.declare
322-
load.declare = declare;
322+
load.declare = typeof name == 'string' ? declare : deps;
323323
}
324324

325325
__eval(source, __global, load.name);
@@ -843,7 +843,7 @@ function logloads(loads) {
843843
throw new TypeError('Module is already loading.');
844844
importPromises[name] = new Promise(asyncStartLoadPartwayThrough({
845845
step: options && options.address ? 'fetch' : 'translate',
846-
loader: this,
846+
loader: this._loader,
847847
moduleName: name,
848848
moduleMetadata: options && options.metadata || {},
849849
moduleSource: source,
@@ -858,7 +858,7 @@ function logloads(loads) {
858858
}
859859
if (importPromises[request])
860860
return importPromises[request];
861-
importPromises[request] = loadModule(this._loader);
861+
importPromises[request] = loadModule(this._loader, request, {});
862862
return importPromises[request].then(function() { delete importPromises[request]; })
863863
},
864864
module: function(source, options) {
@@ -870,7 +870,7 @@ function logloads(loads) {
870870
var p = linkSet.done.then(function() {
871871
return evaluateLoadedModule(loader, load);
872872
});
873-
proceedToTranslate(this, load, sourcePromise);
873+
proceedToTranslate(loader, load, sourcePromise);
874874
return p;
875875
},
876876
'import': function(name, options) {

lib/system.js

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -240,15 +240,8 @@
240240
for (var i = 0; i < scripts.length; i++) {
241241
var script = scripts[i];
242242
if (script.type == 'module') {
243-
// <script type="module" name="" src=""> support
244-
var name = script.getAttribute('name');
245-
var address = script.getAttribute('src');
246243
var source = script.innerHTML;
247-
248-
(name
249-
? System.define(name, source, { address: address })
250-
: System.module(source, { address: address })
251-
).then(function() {}, function(err) { nextTick(function() { throw err; }); });
244+
System.module(source)['catch'](function(err) { setTimeout(function() { throw err; }); });
252245
}
253246
}
254247
}

test/test.html

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -22,51 +22,21 @@
2222
runTests();
2323
</script>
2424

25-
<!-- <script type="module" name="named-module">
26-
class q {
27-
constructor() {
28-
this.p = 'hi';
29-
}
30-
}
31-
export var p = new q().p;
32-
</script>
33-
3425
<script type="module">
3526
window.anon = class {
3627
constructor() {
3728

3829
}
3930
}
4031
</script>
41-
-->
42-
<!--
43-
Not yet supported
44-
<script type="module" src="loader/anon.js"></script>
45-
-->
46-
<!--
47-
<script type="module" name="named" src="loader/named.js"></script>
32+
4833

4934
<script>
5035
setTimeout(function() {
51-
test('Named &lt;script type="module"> tag', function(assert) {
52-
System['import']('named-module').then(function(m) {
53-
assert(m.p, 'hi');
54-
}, function(e) {
55-
setTimeout(function() {
56-
throw e;
57-
}, 1);
58-
});
59-
});
6036
test('Anonymous &lt;script type="module"> tag', function(assert) {
6137
assert(typeof window.anon, 'function');
6238
});
63-
/* test('&lt;script type="module"> with src', function(assert) {
64-
assert(typeof window.anon2, 'function');
65-
}); */
66-
test('&lt;script type="module"> named with src', function(assert) {
67-
assert(System.get('named').q,'test');
68-
});
6939
}, 500);
7040
</script>
71-
-->
41+
7242

0 commit comments

Comments
 (0)