Skip to content

Commit

Permalink
remove aliasing, add export * tests
Browse files Browse the repository at this point in the history
  • Loading branch information
guybedford committed Oct 27, 2014
2 parents e6ec736 + 282dafe commit c0ab839
Show file tree
Hide file tree
Showing 11 changed files with 23 additions and 52 deletions.
2 changes: 1 addition & 1 deletion dist/system-csp.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/system-csp.js.map

Large diffs are not rendered by default.

16 changes: 0 additions & 16 deletions dist/system-csp.src.js
Original file line number Diff line number Diff line change
Expand Up @@ -889,9 +889,7 @@ function core(loader) {
return Promise.resolve(loaderLocate.call(this, load));
}


// Traceur conveniences
var aliasRegEx = /^\s*export\s*\*\s*from\s*(?:'([^']+)'|"([^"]+)")/;
var es6RegEx = /(?:^\s*|[}{\(\);,\n]\s*)(import\s+['"]|(import|module)\s+[^"'\(\)\n;]+\s+from\s+['"]|export\s+(\*|\{|default|function|var|const|let|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*))/;

var loaderTranslate = loader.translate;
Expand All @@ -901,13 +899,6 @@ function core(loader) {
if (load.name == '@traceur')
return loaderTranslate.call(loader, load);

// support ES6 alias modules ("export * from 'module';") without needing Traceur
var match;
if ((load.metadata.format == 'es6' || !load.metadata.format) && (match = load.source.match(aliasRegEx))) {
load.metadata.format = 'es6';
load.metadata.alias = match[1] || match[2];
}

// detect ES6
else if (load.metadata.format == 'es6' || !load.metadata.format && load.source.match(es6RegEx)) {
load.metadata.format = 'es6';
Expand Down Expand Up @@ -936,13 +927,6 @@ function core(loader) {
}
};
}
if (load.metadata.alias) {
var alias = load.metadata.alias;
load.metadata.deps = [alias];
load.metadata.execute = function(require) {
return require(alias);
}
}
return loaderInstantiate.call(loader, load);
}
}
Expand Down
2 changes: 1 addition & 1 deletion dist/system.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/system.js.map

Large diffs are not rendered by default.

16 changes: 0 additions & 16 deletions dist/system.src.js
Original file line number Diff line number Diff line change
Expand Up @@ -823,9 +823,7 @@ function core(loader) {
return Promise.resolve(loaderLocate.call(this, load));
}


// Traceur conveniences
var aliasRegEx = /^\s*export\s*\*\s*from\s*(?:'([^']+)'|"([^"]+)")/;
var es6RegEx = /(?:^\s*|[}{\(\);,\n]\s*)(import\s+['"]|(import|module)\s+[^"'\(\)\n;]+\s+from\s+['"]|export\s+(\*|\{|default|function|var|const|let|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*))/;

var loaderTranslate = loader.translate;
Expand All @@ -835,13 +833,6 @@ function core(loader) {
if (load.name == '@traceur')
return loaderTranslate.call(loader, load);

// support ES6 alias modules ("export * from 'module';") without needing Traceur
var match;
if ((load.metadata.format == 'es6' || !load.metadata.format) && (match = load.source.match(aliasRegEx))) {
load.metadata.format = 'es6';
load.metadata.alias = match[1] || match[2];
}

// detect ES6
else if (load.metadata.format == 'es6' || !load.metadata.format && load.source.match(es6RegEx)) {
load.metadata.format = 'es6';
Expand Down Expand Up @@ -870,13 +861,6 @@ function core(loader) {
}
};
}
if (load.metadata.alias) {
var alias = load.metadata.alias;
load.metadata.deps = [alias];
load.metadata.execute = function(require) {
return require(alias);
}
}
return loaderInstantiate.call(loader, load);
}
}
Expand Down
16 changes: 0 additions & 16 deletions lib/extension-core.js
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,7 @@ function core(loader) {
return Promise.resolve(loaderLocate.call(this, load));
}


// Traceur conveniences
var aliasRegEx = /^\s*export\s*\*\s*from\s*(?:'([^']+)'|"([^"]+)")/;
var es6RegEx = /(?:^\s*|[}{\(\);,\n]\s*)(import\s+['"]|(import|module)\s+[^"'\(\)\n;]+\s+from\s+['"]|export\s+(\*|\{|default|function|var|const|let|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*))/;

var loaderTranslate = loader.translate;
Expand All @@ -105,13 +103,6 @@ function core(loader) {
if (load.name == '@traceur')
return loaderTranslate.call(loader, load);

// support ES6 alias modules ("export * from 'module';") without needing Traceur
var match;
if ((load.metadata.format == 'es6' || !load.metadata.format) && (match = load.source.match(aliasRegEx))) {
load.metadata.format = 'es6';
load.metadata.alias = match[1] || match[2];
}

// detect ES6
else if (load.metadata.format == 'es6' || !load.metadata.format && load.source.match(es6RegEx)) {
load.metadata.format = 'es6';
Expand Down Expand Up @@ -140,13 +131,6 @@ function core(loader) {
}
};
}
if (load.metadata.alias) {
var alias = load.metadata.alias;
load.metadata.deps = [alias];
load.metadata.execute = function(require) {
return require(alias);
}
}
return loaderInstantiate.call(loader, load);
}
}
15 changes: 15 additions & 0 deletions test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -508,6 +508,14 @@ asyncTest('Basic exporting & importing', function() {
})['catch'](err);
});

asyncTest('Export Star', function(assert) {
System['import']('tests/export-star').then(function(m) {
ok(m.foo == 'foo');
ok(m.bar == 'bar');
start();
}, err);
});

asyncTest('Importing a mapped loaded module', function() {
System.map['default1'] = 'tests/default1';
System['import']('default1').then(function(m) {
Expand All @@ -518,6 +526,13 @@ asyncTest('Importing a mapped loaded module', function() {
}, err);
});

asyncTest('Loading empty ES6', function() {
System['import']('tests/empty-es6').then(function(m) {
ok(m && window.emptyES6);
start();
}, err);
})

asyncTest('Loading ES6 with format hint', function() {
System['import']('tests/es6-format').then(function(m) {
expect(0);
Expand Down
1 change: 1 addition & 0 deletions test/tests/empty-es6.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
window.emptyES6 = true;
2 changes: 2 additions & 0 deletions test/tests/export-star.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
export * from './star-dep';
export var bar = 'bar';
1 change: 1 addition & 0 deletions test/tests/star-dep.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export var foo = 'foo';

0 comments on commit c0ab839

Please sign in to comment.