diff --git a/packages/babel-plugin-transform-es2015-modules-amd/src/index.js b/packages/babel-plugin-transform-es2015-modules-amd/src/index.js index aaf1773048..a6a58ec390 100644 --- a/packages/babel-plugin-transform-es2015-modules-amd/src/index.js +++ b/packages/babel-plugin-transform-es2015-modules-amd/src/index.js @@ -128,13 +128,15 @@ export default function({ types: t }) { factory.expression.body.directives = node.directives; node.directives = []; - node.body = [ + node.body = []; + + path.pushContainer("body", [ buildDefine({ MODULE_NAME: moduleName, SOURCES: sources, FACTORY: factory, }), - ]; + ]); }, }, }, diff --git a/packages/babel-plugin-transform-es2015-modules-amd/test/fixtures/regression/4192/actual.js b/packages/babel-plugin-transform-es2015-modules-amd/test/fixtures/regression/4192/actual.js new file mode 100644 index 0000000000..ea9b101e1c --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-amd/test/fixtures/regression/4192/actual.js @@ -0,0 +1 @@ +export default function () {} diff --git a/packages/babel-plugin-transform-es2015-modules-amd/test/fixtures/regression/4192/expected.js b/packages/babel-plugin-transform-es2015-modules-amd/test/fixtures/regression/4192/expected.js new file mode 100644 index 0000000000..dd662419eb --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-amd/test/fixtures/regression/4192/expected.js @@ -0,0 +1,9 @@ +define(["exports"], function (exports) { + "use strict"; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + exports["default"] = function () {}; +}); diff --git a/packages/babel-plugin-transform-es2015-modules-amd/test/fixtures/regression/4192/options.json b/packages/babel-plugin-transform-es2015-modules-amd/test/fixtures/regression/4192/options.json new file mode 100644 index 0000000000..5fa9737651 --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-amd/test/fixtures/regression/4192/options.json @@ -0,0 +1,7 @@ +{ + "plugins": [ + "external-helpers", + "transform-es2015-modules-amd", + "transform-es3-member-expression-literals" + ] +} diff --git a/packages/babel-plugin-transform-es2015-modules-umd/test/fixtures/regression/4192/actual.js b/packages/babel-plugin-transform-es2015-modules-umd/test/fixtures/regression/4192/actual.js new file mode 100644 index 0000000000..ea9b101e1c --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-umd/test/fixtures/regression/4192/actual.js @@ -0,0 +1 @@ +export default function () {} diff --git a/packages/babel-plugin-transform-es2015-modules-umd/test/fixtures/regression/4192/expected.js b/packages/babel-plugin-transform-es2015-modules-umd/test/fixtures/regression/4192/expected.js new file mode 100644 index 0000000000..c7ae2e346b --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-umd/test/fixtures/regression/4192/expected.js @@ -0,0 +1,21 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["exports"], factory); + } else if (typeof exports !== "undefined") { + factory(exports); + } else { + var mod = { + exports: {} + }; + factory(mod.exports); + global.actual = mod.exports; + } +})(this, function (exports) { + "use strict"; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + exports["default"] = function () {}; +}); \ No newline at end of file diff --git a/packages/babel-plugin-transform-es2015-modules-umd/test/fixtures/regression/4192/options.json b/packages/babel-plugin-transform-es2015-modules-umd/test/fixtures/regression/4192/options.json new file mode 100644 index 0000000000..540e8e1b3e --- /dev/null +++ b/packages/babel-plugin-transform-es2015-modules-umd/test/fixtures/regression/4192/options.json @@ -0,0 +1,7 @@ +{ + "plugins": [ + "external-helpers", + "transform-es2015-modules-umd", + "transform-es3-member-expression-literals" + ] +}