Browse Source

add __esModule to AMD, move to top of CJS, consistent style

ghi-672
Rich-Harris 9 years ago
parent
commit
b059d075d5
  1. 5
      src/finalisers/amd.js
  2. 7
      src/finalisers/cjs.js
  3. 5
      src/finalisers/shared/esModuleExport.js
  4. 2
      src/finalisers/umd.js
  5. 2
      test/form/assignment-to-exports-class-declaration/_expected/amd.js
  6. 6
      test/form/assignment-to-exports-class-declaration/_expected/cjs.js
  7. 4
      test/form/assignment-to-exports-class-declaration/_expected/umd.js
  8. 4
      test/form/computed-properties/_expected/amd.js
  9. 6
      test/form/computed-properties/_expected/cjs.js
  10. 4
      test/form/computed-properties/_expected/umd.js
  11. 2
      test/form/dedupes-external-imports/_expected/amd.js
  12. 6
      test/form/dedupes-external-imports/_expected/cjs.js
  13. 4
      test/form/dedupes-external-imports/_expected/umd.js
  14. 2
      test/form/export-all-from-internal/_expected/amd.js
  15. 6
      test/form/export-all-from-internal/_expected/cjs.js
  16. 4
      test/form/export-all-from-internal/_expected/umd.js
  17. 4
      test/form/export-default-import/_expected/amd.js
  18. 6
      test/form/export-default-import/_expected/cjs.js
  19. 4
      test/form/export-default-import/_expected/umd.js
  20. 2
      test/form/exports-at-end-if-possible/_expected/amd.js
  21. 6
      test/form/exports-at-end-if-possible/_expected/cjs.js
  22. 4
      test/form/exports-at-end-if-possible/_expected/umd.js
  23. 2
      test/form/multiple-exports/_expected/amd.js
  24. 6
      test/form/multiple-exports/_expected/cjs.js
  25. 4
      test/form/multiple-exports/_expected/umd.js
  26. 4
      test/form/namespaced-named-exports/_expected/amd.js
  27. 6
      test/form/namespaced-named-exports/_expected/cjs.js
  28. 4
      test/form/namespaced-named-exports/_expected/umd.js
  29. 2
      test/form/no-treeshake/_expected/amd.js
  30. 6
      test/form/no-treeshake/_expected/cjs.js
  31. 4
      test/form/no-treeshake/_expected/umd.js
  32. 2
      test/form/preserves-comments-after-imports/_expected/amd.js
  33. 6
      test/form/preserves-comments-after-imports/_expected/cjs.js
  34. 4
      test/form/preserves-comments-after-imports/_expected/umd.js
  35. 4
      test/form/umd-noconflict/_expected/amd.js
  36. 6
      test/form/umd-noconflict/_expected/cjs.js
  37. 4
      test/form/umd-noconflict/_expected/umd.js

5
src/finalisers/amd.js

@ -1,6 +1,7 @@
import { getName, quoteId } from '../utils/map-helpers.js'; import { getName, quoteId } from '../utils/map-helpers.js';
import getInteropBlock from './shared/getInteropBlock.js'; import getInteropBlock from './shared/getInteropBlock.js';
import getExportBlock from './shared/getExportBlock.js'; import getExportBlock from './shared/getExportBlock.js';
import esModuleExport from './shared/esModuleExport.js';
export default function amd ( bundle, magicString, { exportMode, indentString }, options ) { export default function amd ( bundle, magicString, { exportMode, indentString }, options ) {
let deps = bundle.externalModules.map( quoteId ); let deps = bundle.externalModules.map( quoteId );
@ -25,6 +26,10 @@ export default function amd ( bundle, magicString, { exportMode, indentString },
const exportBlock = getExportBlock( bundle.entryModule, exportMode ); const exportBlock = getExportBlock( bundle.entryModule, exportMode );
if ( exportBlock ) magicString.append( '\n\n' + exportBlock ); if ( exportBlock ) magicString.append( '\n\n' + exportBlock );
if ( exportMode === 'named' ) {
magicString.append( `\n\n${esModuleExport}` );
}
return magicString return magicString
.indent( indentString ) .indent( indentString )
.append( '\n\n});' ) .append( '\n\n});' )

7
src/finalisers/cjs.js

@ -2,7 +2,8 @@ import getExportBlock from './shared/getExportBlock.js';
import esModuleExport from './shared/esModuleExport.js'; import esModuleExport from './shared/esModuleExport.js';
export default function cjs ( bundle, magicString, { exportMode }, options ) { export default function cjs ( bundle, magicString, { exportMode }, options ) {
let intro = options.useStrict === false ? `` : `'use strict';\n\n`; let intro = ( options.useStrict === false ? `` : `'use strict';\n\n` ) +
( exportMode === 'named' ? `${esModuleExport}\n\n` : '' );
const hasDefaultImport = bundle.externalModules.some( mod => mod.declarations.default); const hasDefaultImport = bundle.externalModules.some( mod => mod.declarations.default);
@ -35,9 +36,5 @@ export default function cjs ( bundle, magicString, { exportMode }, options ) {
const exportBlock = getExportBlock( bundle.entryModule, exportMode, 'module.exports =' ); const exportBlock = getExportBlock( bundle.entryModule, exportMode, 'module.exports =' );
if ( exportBlock ) magicString.append( '\n\n' + exportBlock ); if ( exportBlock ) magicString.append( '\n\n' + exportBlock );
if (exportMode === 'named') {
magicString.append(esModuleExport);
}
return magicString; return magicString;
} }

5
src/finalisers/shared/esModuleExport.js

@ -1,4 +1 @@
export default '\n\n' + export default `Object.defineProperty(exports, '__esModule', { value: true });`;
'Object.defineProperty(exports, "__esModule", {\n' +
' value: true\n' +
'});\n\n';

2
src/finalisers/umd.js

@ -71,7 +71,7 @@ export default function umd ( bundle, magicString, { exportMode, indentString },
if ( exportBlock ) magicString.append( '\n\n' + exportBlock ); if ( exportBlock ) magicString.append( '\n\n' + exportBlock );
if (exportMode === 'named') { if (exportMode === 'named') {
magicString.append(esModuleExport); magicString.append( `\n\n${esModuleExport}` );
} }
return magicString return magicString

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

@ -3,4 +3,6 @@ define(['exports'], function (exports) { 'use strict';
exports.Foo = class Foo {} exports.Foo = class Foo {}
exports.Foo = lol( exports.Foo ); exports.Foo = lol( exports.Foo );
Object.defineProperty(exports, '__esModule', { value: true });
}); });

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

@ -1,8 +1,6 @@
'use strict'; 'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
exports.Foo = class Foo {} exports.Foo = class Foo {}
exports.Foo = lol( exports.Foo ); exports.Foo = lol( exports.Foo );
Object.defineProperty(exports, "__esModule", {
value: true
});

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

@ -7,8 +7,6 @@
exports.Foo = class Foo {} exports.Foo = class Foo {}
exports.Foo = lol( exports.Foo ); exports.Foo = lol( exports.Foo );
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, '__esModule', { value: true });
value: true
});
})); }));

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

@ -16,4 +16,6 @@ define(['exports'], function (exports) { 'use strict';
exports.x = x; exports.x = x;
exports.X = X; exports.X = X;
}); Object.defineProperty(exports, '__esModule', { value: true });
});

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

@ -1,5 +1,7 @@
'use strict'; 'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var foo = 'foo'; var foo = 'foo';
var bar = 'bar'; var bar = 'bar';
var baz = 'baz'; var baz = 'baz';
@ -15,7 +17,3 @@ class X {
exports.x = x; exports.x = x;
exports.X = X; exports.X = X;
Object.defineProperty(exports, "__esModule", {
value: true
});

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

@ -20,8 +20,6 @@
exports.x = x; exports.x = x;
exports.X = X; exports.X = X;
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, '__esModule', { value: true });
value: true
});
})); }));

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

@ -29,4 +29,6 @@ define(['exports', 'external'], function (exports, external) { 'use strict';
exports.bar = bar; exports.bar = bar;
exports.baz = baz; exports.baz = baz;
Object.defineProperty(exports, '__esModule', { value: true });
}); });

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

@ -1,5 +1,7 @@
'use strict'; 'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var external = require('external'); var external = require('external');
class Foo extends external.Component { class Foo extends external.Component {
@ -30,7 +32,3 @@ const baz = new Baz();
exports.foo = foo; exports.foo = foo;
exports.bar = bar; exports.bar = bar;
exports.baz = baz; exports.baz = baz;
Object.defineProperty(exports, "__esModule", {
value: true
});

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

@ -33,8 +33,6 @@
exports.bar = bar; exports.bar = bar;
exports.baz = baz; exports.baz = baz;
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, '__esModule', { value: true });
value: true
});
})); }));

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

@ -6,4 +6,6 @@ define(['exports'], function (exports) { 'use strict';
exports.a = a; exports.a = a;
exports.b = b; exports.b = b;
Object.defineProperty(exports, '__esModule', { value: true });
}); });

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

@ -1,11 +1,9 @@
'use strict'; 'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
const a = 1; const a = 1;
const b = 2; const b = 2;
exports.a = a; exports.a = a;
exports.b = b; exports.b = b;
Object.defineProperty(exports, "__esModule", {
value: true
});

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

@ -10,8 +10,6 @@
exports.a = a; exports.a = a;
exports.b = b; exports.b = b;
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, '__esModule', { value: true });
value: true
});
})); }));

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

@ -6,4 +6,6 @@ define(['exports', 'x'], function (exports, x) { 'use strict';
exports.x = x; exports.x = x;
}); Object.defineProperty(exports, '__esModule', { value: true });
});

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

@ -1,5 +1,7 @@
'use strict'; 'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var x = _interopDefault(require('x')); var x = _interopDefault(require('x'));
@ -7,7 +9,3 @@ var x = _interopDefault(require('x'));
exports.x = x; exports.x = x;
Object.defineProperty(exports, "__esModule", {
value: true
});

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

@ -10,8 +10,6 @@
exports.x = x; exports.x = x;
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, '__esModule', { value: true });
value: true
});
})); }));

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

@ -8,4 +8,6 @@ define(['exports'], function (exports) { 'use strict';
exports.FOO = FOO; exports.FOO = FOO;
Object.defineProperty(exports, '__esModule', { value: true });
}); });

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

@ -1,5 +1,7 @@
'use strict'; 'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var FOO = 'foo'; var FOO = 'foo';
console.log( FOO ); console.log( FOO );
@ -7,7 +9,3 @@ console.log( FOO );
console.log( FOO ); console.log( FOO );
exports.FOO = FOO; exports.FOO = FOO;
Object.defineProperty(exports, "__esModule", {
value: true
});

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

@ -12,8 +12,6 @@
exports.FOO = FOO; exports.FOO = FOO;
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, '__esModule', { value: true });
value: true
});
})); }));

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

@ -6,4 +6,6 @@ define(['exports'], function (exports) { 'use strict';
exports.foo = foo; exports.foo = foo;
exports.bar = bar; exports.bar = bar;
Object.defineProperty(exports, '__esModule', { value: true });
}); });

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

@ -1,11 +1,9 @@
'use strict'; 'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var foo = 1; var foo = 1;
var bar = 2; var bar = 2;
exports.foo = foo; exports.foo = foo;
exports.bar = bar; exports.bar = bar;
Object.defineProperty(exports, "__esModule", {
value: true
});

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

@ -10,8 +10,6 @@
exports.foo = foo; exports.foo = foo;
exports.bar = bar; exports.bar = bar;
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, '__esModule', { value: true });
value: true
});
})); }));

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

@ -4,4 +4,6 @@ define(['exports'], function (exports) { 'use strict';
exports.answer = answer; exports.answer = answer;
}); Object.defineProperty(exports, '__esModule', { value: true });
});

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

@ -1,9 +1,7 @@
'use strict'; 'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var answer = 42; var answer = 42;
exports.answer = answer; exports.answer = answer;
Object.defineProperty(exports, "__esModule", {
value: true
});

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

@ -8,8 +8,6 @@
exports.answer = answer; exports.answer = answer;
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, '__esModule', { value: true });
value: true
});
})); }));

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

@ -22,4 +22,6 @@ define(['exports', 'external'], function (exports, external) { 'use strict';
exports.getPrototypeOf = getPrototypeOf; exports.getPrototypeOf = getPrototypeOf;
exports.strange = quux; exports.strange = quux;
Object.defineProperty(exports, '__esModule', { value: true });
}); });

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

@ -1,5 +1,7 @@
'use strict'; 'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var external = require('external'); var external = require('external');
var foo = 'unused'; var foo = 'unused';
@ -23,7 +25,3 @@ exports.baz = baz;
exports.create = create; exports.create = create;
exports.getPrototypeOf = getPrototypeOf; exports.getPrototypeOf = getPrototypeOf;
exports.strange = quux; exports.strange = quux;
Object.defineProperty(exports, "__esModule", {
value: true
});

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

@ -26,8 +26,6 @@
exports.getPrototypeOf = getPrototypeOf; exports.getPrototypeOf = getPrototypeOf;
exports.strange = quux; exports.strange = quux;
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, '__esModule', { value: true });
value: true
});
})); }));

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

@ -8,4 +8,6 @@ define(['exports'], function (exports) { 'use strict';
exports.obj = obj; exports.obj = obj;
Object.defineProperty(exports, '__esModule', { value: true });
}); });

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

@ -1,5 +1,7 @@
'use strict'; 'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
/** A comment for a number */ /** A comment for a number */
var number = 5; var number = 5;
@ -7,7 +9,3 @@ var number = 5;
var obj = { number }; var obj = { number };
exports.obj = obj; exports.obj = obj;
Object.defineProperty(exports, "__esModule", {
value: true
});

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

@ -12,8 +12,6 @@
exports.obj = obj; exports.obj = obj;
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, '__esModule', { value: true });
value: true
});
})); }));

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

@ -12,4 +12,6 @@ define(['exports'], function (exports) { 'use strict';
exports.number = number; exports.number = number;
exports.setting = setting; exports.setting = setting;
}); Object.defineProperty(exports, '__esModule', { value: true });
});

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

@ -1,5 +1,7 @@
'use strict'; 'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
function doThings() { function doThings() {
console.log( 'doing things...' ); console.log( 'doing things...' );
} }
@ -11,7 +13,3 @@ var setting = 'no';
exports.doThings = doThings; exports.doThings = doThings;
exports.number = number; exports.number = number;
exports.setting = setting; exports.setting = setting;
Object.defineProperty(exports, "__esModule", {
value: true
});

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

@ -21,8 +21,6 @@
exports.number = number; exports.number = number;
exports.setting = setting; exports.setting = setting;
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, '__esModule', { value: true });
value: true
});
})); }));

Loading…
Cancel
Save