From cd9a0b48a508fdde63b2fcea459fefc7957baeae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Segersv=C3=A4rd?= Date: Thu, 3 Dec 2015 13:26:52 +0100 Subject: [PATCH 1/2] Add failing test cases for #339 --- test/form/export-default-2/_config.js | 6 ++++++ test/form/export-default-2/_expected/amd.js | 7 +++++++ test/form/export-default-2/_expected/cjs.js | 5 +++++ test/form/export-default-2/_expected/es6.js | 3 +++ test/form/export-default-2/_expected/iife.js | 7 +++++++ test/form/export-default-2/_expected/umd.js | 11 +++++++++++ test/form/export-default-2/bar.js | 3 +++ test/form/export-default-2/main.js | 1 + test/form/export-default-3/_config.js | 6 ++++++ test/form/export-default-3/_expected/amd.js | 7 +++++++ test/form/export-default-3/_expected/cjs.js | 5 +++++ test/form/export-default-3/_expected/es6.js | 3 +++ test/form/export-default-3/_expected/iife.js | 7 +++++++ test/form/export-default-3/_expected/umd.js | 11 +++++++++++ test/form/export-default-3/bar.js | 3 +++ test/form/export-default-3/main.js | 3 +++ 16 files changed, 88 insertions(+) create mode 100644 test/form/export-default-2/_config.js create mode 100644 test/form/export-default-2/_expected/amd.js create mode 100644 test/form/export-default-2/_expected/cjs.js create mode 100644 test/form/export-default-2/_expected/es6.js create mode 100644 test/form/export-default-2/_expected/iife.js create mode 100644 test/form/export-default-2/_expected/umd.js create mode 100644 test/form/export-default-2/bar.js create mode 100644 test/form/export-default-2/main.js create mode 100644 test/form/export-default-3/_config.js create mode 100644 test/form/export-default-3/_expected/amd.js create mode 100644 test/form/export-default-3/_expected/cjs.js create mode 100644 test/form/export-default-3/_expected/es6.js create mode 100644 test/form/export-default-3/_expected/iife.js create mode 100644 test/form/export-default-3/_expected/umd.js create mode 100644 test/form/export-default-3/bar.js create mode 100644 test/form/export-default-3/main.js diff --git a/test/form/export-default-2/_config.js b/test/form/export-default-2/_config.js new file mode 100644 index 0000000..1b3ab50 --- /dev/null +++ b/test/form/export-default-2/_config.js @@ -0,0 +1,6 @@ +module.exports = { + description: 're-exporting a default export', + options: { + moduleName: 'myBundle' + } +}; diff --git a/test/form/export-default-2/_expected/amd.js b/test/form/export-default-2/_expected/amd.js new file mode 100644 index 0000000..7b9dcd1 --- /dev/null +++ b/test/form/export-default-2/_expected/amd.js @@ -0,0 +1,7 @@ +define(function () { 'use strict'; + + var bar = 1; + + return bar; + +}); diff --git a/test/form/export-default-2/_expected/cjs.js b/test/form/export-default-2/_expected/cjs.js new file mode 100644 index 0000000..e126ed3 --- /dev/null +++ b/test/form/export-default-2/_expected/cjs.js @@ -0,0 +1,5 @@ +'use strict'; + +var bar = 1; + +module.exports = bar; diff --git a/test/form/export-default-2/_expected/es6.js b/test/form/export-default-2/_expected/es6.js new file mode 100644 index 0000000..095bf80 --- /dev/null +++ b/test/form/export-default-2/_expected/es6.js @@ -0,0 +1,3 @@ +var bar = 1; + +export default bar; diff --git a/test/form/export-default-2/_expected/iife.js b/test/form/export-default-2/_expected/iife.js new file mode 100644 index 0000000..c580759 --- /dev/null +++ b/test/form/export-default-2/_expected/iife.js @@ -0,0 +1,7 @@ +var myBundle = (function () { 'use strict'; + + var bar = 1; + + return bar; + +})(); diff --git a/test/form/export-default-2/_expected/umd.js b/test/form/export-default-2/_expected/umd.js new file mode 100644 index 0000000..f4cd282 --- /dev/null +++ b/test/form/export-default-2/_expected/umd.js @@ -0,0 +1,11 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + global.myBundle = factory(); +}(this, function () { 'use strict'; + + var bar = 1; + + return bar; + +})); diff --git a/test/form/export-default-2/bar.js b/test/form/export-default-2/bar.js new file mode 100644 index 0000000..095bf80 --- /dev/null +++ b/test/form/export-default-2/bar.js @@ -0,0 +1,3 @@ +var bar = 1; + +export default bar; diff --git a/test/form/export-default-2/main.js b/test/form/export-default-2/main.js new file mode 100644 index 0000000..0a5b47f --- /dev/null +++ b/test/form/export-default-2/main.js @@ -0,0 +1 @@ +export { default as default } from './bar.js'; diff --git a/test/form/export-default-3/_config.js b/test/form/export-default-3/_config.js new file mode 100644 index 0000000..1b3ab50 --- /dev/null +++ b/test/form/export-default-3/_config.js @@ -0,0 +1,6 @@ +module.exports = { + description: 're-exporting a default export', + options: { + moduleName: 'myBundle' + } +}; diff --git a/test/form/export-default-3/_expected/amd.js b/test/form/export-default-3/_expected/amd.js new file mode 100644 index 0000000..7b9dcd1 --- /dev/null +++ b/test/form/export-default-3/_expected/amd.js @@ -0,0 +1,7 @@ +define(function () { 'use strict'; + + var bar = 1; + + return bar; + +}); diff --git a/test/form/export-default-3/_expected/cjs.js b/test/form/export-default-3/_expected/cjs.js new file mode 100644 index 0000000..e126ed3 --- /dev/null +++ b/test/form/export-default-3/_expected/cjs.js @@ -0,0 +1,5 @@ +'use strict'; + +var bar = 1; + +module.exports = bar; diff --git a/test/form/export-default-3/_expected/es6.js b/test/form/export-default-3/_expected/es6.js new file mode 100644 index 0000000..095bf80 --- /dev/null +++ b/test/form/export-default-3/_expected/es6.js @@ -0,0 +1,3 @@ +var bar = 1; + +export default bar; diff --git a/test/form/export-default-3/_expected/iife.js b/test/form/export-default-3/_expected/iife.js new file mode 100644 index 0000000..c580759 --- /dev/null +++ b/test/form/export-default-3/_expected/iife.js @@ -0,0 +1,7 @@ +var myBundle = (function () { 'use strict'; + + var bar = 1; + + return bar; + +})(); diff --git a/test/form/export-default-3/_expected/umd.js b/test/form/export-default-3/_expected/umd.js new file mode 100644 index 0000000..f4cd282 --- /dev/null +++ b/test/form/export-default-3/_expected/umd.js @@ -0,0 +1,11 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + global.myBundle = factory(); +}(this, function () { 'use strict'; + + var bar = 1; + + return bar; + +})); diff --git a/test/form/export-default-3/bar.js b/test/form/export-default-3/bar.js new file mode 100644 index 0000000..095bf80 --- /dev/null +++ b/test/form/export-default-3/bar.js @@ -0,0 +1,3 @@ +var bar = 1; + +export default bar; diff --git a/test/form/export-default-3/main.js b/test/form/export-default-3/main.js new file mode 100644 index 0000000..d70517a --- /dev/null +++ b/test/form/export-default-3/main.js @@ -0,0 +1,3 @@ +import foo from './bar.js'; + +export default foo; From 607ba5ce0c509f006776b770325a0d0e50de2a03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oskar=20Segersv=C3=A4rd?= Date: Thu, 3 Dec 2015 13:27:50 +0100 Subject: [PATCH 2/2] Fix default-export-2 and default-export-3 --- src/finalisers/es6.js | 2 +- src/finalisers/shared/getExportBlock.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/finalisers/es6.js b/src/finalisers/es6.js index f64f978..149166c 100644 --- a/src/finalisers/es6.js +++ b/src/finalisers/es6.js @@ -47,7 +47,7 @@ export default function es6 ( bundle, magicString ) { const defaultExport = module.exports.default || module.reexports.default; if ( defaultExport ) { - exportBlock += `export default ${module.traceExport( 'default' ).name};`; + exportBlock += `export default ${module.traceExport( 'default' ).render( true )};`; } if ( exportBlock ) { diff --git a/src/finalisers/shared/getExportBlock.js b/src/finalisers/shared/getExportBlock.js index a6de6af..972da59 100644 --- a/src/finalisers/shared/getExportBlock.js +++ b/src/finalisers/shared/getExportBlock.js @@ -1,6 +1,6 @@ export default function getExportBlock ( entryModule, exportMode, mechanism = 'return' ) { if ( exportMode === 'default' ) { - return `${mechanism} ${entryModule.declarations.default.render( false )};`; + return `${mechanism} ${entryModule.traceExport( 'default' ).render( false )};`; } return entryModule.getExports()