Skip to content

Commit

Permalink
Do not reexport default when reexporting a namespace
Browse files Browse the repository at this point in the history
  • Loading branch information
lukastaegert committed Jun 21, 2019
1 parent 150bb98 commit 4bd7b2a
Show file tree
Hide file tree
Showing 26 changed files with 200 additions and 107 deletions.
1 change: 0 additions & 1 deletion src/ast/nodes/Import.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@ export default class Import extends NodeBase {
system: ['module']
});
if (exportMode === 'auto') {
// TODO Lukas test conflicts
this.scope.addAccessedGlobalsByFormat({
amd: [INTEROP_NAMESPACE_VARIABLE],
cjs: [INTEROP_NAMESPACE_VARIABLE]
Expand Down
6 changes: 3 additions & 3 deletions src/finalisers/shared/getExportBlock.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,11 @@ export default function getExportBlock(
if (specifier.reexported === '*') {
if (!compact && exportBlock) exportBlock += '\n';
exportBlock +=
`Object.keys(${name}).forEach(function${_}(key)${_}{${n}` +
`${t}Object.defineProperty(exports,${_}key,${_}{${n}` +
`Object.keys(${name}).forEach(function${_}(k)${_}{${n}` +
`${t}if${_}(k${_}!==${_}'default')${_}Object.defineProperty(exports,${_}k,${_}{${n}` +
`${t}${t}enumerable:${_}true,${n}` +
`${t}${t}get:${_}function${_}()${_}{${n}` +
`${t}${t}${t}return ${name}[key];${n}` +
`${t}${t}${t}return ${name}[k];${n}` +
`${t}${t}}${n}${t}});${n}});`;
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ define(['exports', 'starexternal1', 'external1', 'starexternal2', 'external2', '

var main = '1';

Object.keys(starexternal1).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(starexternal1).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return starexternal1[key];
return starexternal1[k];
}
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ define(['exports', 'starexternal2', 'external2', './generated-chunk'], function

var main = '2';

Object.keys(starexternal2).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(starexternal2).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return starexternal2[key];
return starexternal2[k];
}
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ var __chunk_1 = require('./generated-chunk.js');

var main = '1';

Object.keys(starexternal1).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(starexternal1).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return starexternal1[key];
return starexternal1[k];
}
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ var __chunk_1 = require('./generated-chunk.js');

var main = '2';

Object.keys(starexternal2).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(starexternal2).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return starexternal2[key];
return starexternal2[k];
}
});
});
Expand Down
6 changes: 3 additions & 3 deletions test/form/samples/export-all-before-named/_expected/amd.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ define(['exports', 'external'], function (exports, external) { 'use strict';
return path[0] === '.';
}

Object.keys(external).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(external).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return external[key];
return external[k];
}
});
});
Expand Down
6 changes: 3 additions & 3 deletions test/form/samples/export-all-before-named/_expected/cjs.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ function internalFn(path) {
return path[0] === '.';
}

Object.keys(external).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(external).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return external[key];
return external[k];
}
});
});
Expand Down
6 changes: 3 additions & 3 deletions test/form/samples/export-all-before-named/_expected/iife.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ var exposedInternals = (function (exports, external) {
return path[0] === '.';
}

Object.keys(external).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(external).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return external[key];
return external[k];
}
});
});
Expand Down
6 changes: 3 additions & 3 deletions test/form/samples/export-all-before-named/_expected/umd.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
return path[0] === '.';
}

Object.keys(external).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(external).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return external[key];
return external[k];
}
});
});
Expand Down
18 changes: 9 additions & 9 deletions test/form/samples/export-all-multiple/_expected/amd.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,27 @@ define(['exports', 'foo', 'bar', 'baz'], function (exports, foo, bar, baz) { 'us



Object.keys(foo).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(foo).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return foo[key];
return foo[k];
}
});
});
Object.keys(bar).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(bar).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return bar[key];
return bar[k];
}
});
});
Object.keys(baz).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(baz).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return baz[key];
return baz[k];
}
});
});
Expand Down
18 changes: 9 additions & 9 deletions test/form/samples/export-all-multiple/_expected/cjs.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,27 @@ var baz = require('baz');



Object.keys(foo).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(foo).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return foo[key];
return foo[k];
}
});
});
Object.keys(bar).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(bar).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return bar[key];
return bar[k];
}
});
});
Object.keys(baz).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(baz).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return baz[key];
return baz[k];
}
});
});
18 changes: 9 additions & 9 deletions test/form/samples/export-all-multiple/_expected/iife.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,27 @@ var myBundle = (function (exports, foo, bar, baz) {



Object.keys(foo).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(foo).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return foo[key];
return foo[k];
}
});
});
Object.keys(bar).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(bar).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return bar[key];
return bar[k];
}
});
});
Object.keys(baz).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(baz).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return baz[key];
return baz[k];
}
});
});
Expand Down
18 changes: 9 additions & 9 deletions test/form/samples/export-all-multiple/_expected/umd.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,27 @@
(global = global || self, factory(global.myBundle = {}, global.foo, global.bar, global.baz));
}(this, function (exports, foo, bar, baz) { 'use strict';

Object.keys(foo).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(foo).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return foo[key];
return foo[k];
}
});
});
Object.keys(bar).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(bar).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return bar[key];
return bar[k];
}
});
});
Object.keys(baz).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(baz).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return baz[key];
return baz[k];
}
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ define(['exports', 'external'], function (exports, external) { 'use strict';



Object.keys(external).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(external).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return external[key];
return external[k];
}
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ var external__default = _interopDefault(external);



Object.keys(external).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(external).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return external[key];
return external[k];
}
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ var reexportsDefaultExternalAsDefault = (function (exports, external) {



Object.keys(external).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(external).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return external[key];
return external[k];
}
});
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@



Object.keys(external).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(external).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return external[key];
return external[k];
}
});
});
Expand Down
6 changes: 3 additions & 3 deletions test/form/samples/reexports-from-external/_expected/amd.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ define(['exports', 'external'], function (exports, external) { 'use strict';



Object.keys(external).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(external).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return external[key];
return external[k];
}
});
});
Expand Down
6 changes: 3 additions & 3 deletions test/form/samples/reexports-from-external/_expected/cjs.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ var external = require('external');



Object.keys(external).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(external).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return external[key];
return external[k];
}
});
});
6 changes: 3 additions & 3 deletions test/form/samples/reexports-from-external/_expected/iife.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ var myBundle = (function (exports, external) {



Object.keys(external).forEach(function (key) {
Object.defineProperty(exports, key, {
Object.keys(external).forEach(function (k) {
if (k !== 'default') Object.defineProperty(exports, k, {
enumerable: true,
get: function () {
return external[key];
return external[k];
}
});
});
Expand Down

0 comments on commit 4bd7b2a

Please sign in to comment.