Browse Source

Added the __esModule export, with value true, when the format is cjs or umd, and the exports option is named.

ghi-672
Cameron Martin 9 years ago
parent
commit
d8844e7078
  1. 4
      src/finalisers/cjs.js
  2. 4
      src/finalisers/umd.js
  3. 2
      test/form/assignment-to-exports-class-declaration/_expected/cjs.js
  4. 2
      test/form/assignment-to-exports-class-declaration/_expected/umd.js
  5. 4
      test/form/computed-properties/_expected/cjs.js
  6. 4
      test/form/computed-properties/_expected/umd.js
  7. 2
      test/form/dedupes-external-imports/_expected/cjs.js
  8. 4
      test/form/dedupes-external-imports/_expected/umd.js
  9. 2
      test/form/export-all-from-internal/_expected/cjs.js
  10. 4
      test/form/export-all-from-internal/_expected/umd.js
  11. 4
      test/form/export-default-import/_expected/cjs.js
  12. 4
      test/form/export-default-import/_expected/umd.js
  13. 2
      test/form/exports-at-end-if-possible/_expected/cjs.js
  14. 4
      test/form/exports-at-end-if-possible/_expected/umd.js
  15. 2
      test/form/multiple-exports/_expected/cjs.js
  16. 4
      test/form/multiple-exports/_expected/umd.js
  17. 4
      test/form/namespaced-named-exports/_expected/cjs.js
  18. 4
      test/form/namespaced-named-exports/_expected/umd.js
  19. 2
      test/form/no-treeshake/_expected/cjs.js
  20. 2
      test/form/no-treeshake/_expected/umd.js
  21. 2
      test/form/preserves-comments-after-imports/_expected/cjs.js
  22. 4
      test/form/preserves-comments-after-imports/_expected/umd.js
  23. 4
      test/form/umd-noconflict/_expected/cjs.js
  24. 2
      test/form/umd-noconflict/_expected/umd.js
  25. 2
      test/function/deconflicts-exports/_config.js
  26. 2
      test/function/export-destruction/_config.js

4
src/finalisers/cjs.js

@ -34,5 +34,9 @@ export default function cjs ( bundle, magicString, { exportMode }, options ) {
const exportBlock = getExportBlock( bundle.entryModule, exportMode, 'module.exports =' );
if ( exportBlock ) magicString.append( '\n\n' + exportBlock );
if (exportMode === 'named') {
magicString.append('\n\nexports.__esModule = true;\n\n');
}
return magicString;
}

4
src/finalisers/umd.js

@ -69,6 +69,10 @@ export default function umd ( bundle, magicString, { exportMode, indentString },
const exportBlock = getExportBlock( bundle.entryModule, exportMode );
if ( exportBlock ) magicString.append( '\n\n' + exportBlock );
if (exportMode === 'named') {
magicString.append('\n\nexports.__esModule = true;\n\n');
}
return magicString
.trim()
.indent( indentString )

2
test/form/assignment-to-exports-class-declaration/_expected/cjs.js

@ -2,3 +2,5 @@
exports.Foo = class Foo {}
exports.Foo = lol( exports.Foo );
exports.__esModule = true;

2
test/form/assignment-to-exports-class-declaration/_expected/umd.js

@ -7,4 +7,6 @@
exports.Foo = class Foo {}
exports.Foo = lol( exports.Foo );
exports.__esModule = true;
}));

4
test/form/computed-properties/_expected/cjs.js

@ -14,4 +14,6 @@ class X {
}
exports.x = x;
exports.X = X;
exports.X = X;
exports.__esModule = true;

4
test/form/computed-properties/_expected/umd.js

@ -20,4 +20,6 @@
exports.x = x;
exports.X = X;
}));
exports.__esModule = true;
}));

2
test/form/dedupes-external-imports/_expected/cjs.js

@ -30,3 +30,5 @@ const baz = new Baz();
exports.foo = foo;
exports.bar = bar;
exports.baz = baz;
exports.__esModule = true;

4
test/form/dedupes-external-imports/_expected/umd.js

@ -33,4 +33,6 @@
exports.bar = bar;
exports.baz = baz;
}));
exports.__esModule = true;
}));

2
test/form/export-all-from-internal/_expected/cjs.js

@ -5,3 +5,5 @@ const b = 2;
exports.a = a;
exports.b = b;
exports.__esModule = true;

4
test/form/export-all-from-internal/_expected/umd.js

@ -10,4 +10,6 @@
exports.a = a;
exports.b = b;
}));
exports.__esModule = true;
}));

4
test/form/export-default-import/_expected/cjs.js

@ -6,4 +6,6 @@ var x = _interopDefault(require('x'));
exports.x = x;
exports.x = x;
exports.__esModule = true;

4
test/form/export-default-import/_expected/umd.js

@ -10,4 +10,6 @@
exports.x = x;
}));
exports.__esModule = true;
}));

2
test/form/exports-at-end-if-possible/_expected/cjs.js

@ -7,3 +7,5 @@ console.log( FOO );
console.log( FOO );
exports.FOO = FOO;
exports.__esModule = true;

4
test/form/exports-at-end-if-possible/_expected/umd.js

@ -12,4 +12,6 @@
exports.FOO = FOO;
}));
exports.__esModule = true;
}));

2
test/form/multiple-exports/_expected/cjs.js

@ -5,3 +5,5 @@ var bar = 2;
exports.foo = foo;
exports.bar = bar;
exports.__esModule = true;

4
test/form/multiple-exports/_expected/umd.js

@ -10,4 +10,6 @@
exports.foo = foo;
exports.bar = bar;
}));
exports.__esModule = true;
}));

4
test/form/namespaced-named-exports/_expected/cjs.js

@ -2,4 +2,6 @@
var answer = 42;
exports.answer = answer;
exports.answer = answer;
exports.__esModule = true;

4
test/form/namespaced-named-exports/_expected/umd.js

@ -8,4 +8,6 @@
exports.answer = answer;
}));
exports.__esModule = true;
}));

2
test/form/no-treeshake/_expected/cjs.js

@ -23,3 +23,5 @@ exports.baz = baz;
exports.create = create;
exports.getPrototypeOf = getPrototypeOf;
exports.strange = quux;
exports.__esModule = true;

2
test/form/no-treeshake/_expected/umd.js

@ -26,4 +26,6 @@
exports.getPrototypeOf = getPrototypeOf;
exports.strange = quux;
exports.__esModule = true;
}));

2
test/form/preserves-comments-after-imports/_expected/cjs.js

@ -7,3 +7,5 @@ var number = 5;
var obj = { number };
exports.obj = obj;
exports.__esModule = true;

4
test/form/preserves-comments-after-imports/_expected/umd.js

@ -12,4 +12,6 @@
exports.obj = obj;
}));
exports.__esModule = true;
}));

4
test/form/umd-noconflict/_expected/cjs.js

@ -10,4 +10,6 @@ var setting = 'no';
exports.doThings = doThings;
exports.number = number;
exports.setting = setting;
exports.setting = setting;
exports.__esModule = true;

2
test/form/umd-noconflict/_expected/umd.js

@ -21,4 +21,6 @@
exports.number = number;
exports.setting = setting;
exports.__esModule = true;
}));

2
test/function/deconflicts-exports/_config.js

@ -3,7 +3,7 @@ var assert = require( 'assert' );
module.exports = {
description: 'renames variables named `exports` if necessary',
exports: function ( exports ) {
assert.deepEqual( Object.keys( exports ), [ 'a', 'b' ] );
assert.deepEqual( Object.keys( exports ), [ 'a', 'b', '__esModule' ] );
assert.equal( exports.a, 'A' );
assert.equal( exports.b, 42 );
}

2
test/function/export-destruction/_config.js

@ -5,7 +5,7 @@ module.exports = {
babel: true,
exports: function ( exports ) {
assert.deepEqual( Object.keys( exports ), [ 'baz', 'quux' ] );
assert.deepEqual( Object.keys( exports ), [ 'baz', 'quux', '__esModule' ] );
assert.equal( exports.baz, 5 );
assert.equal( exports.quux, 17 );
}

Loading…
Cancel
Save