diff --git a/packages/babel-helper-module-transforms/src/index.js b/packages/babel-helper-module-transforms/src/index.js index f6345b6fe1..186f1ad3be 100644 --- a/packages/babel-helper-module-transforms/src/index.js +++ b/packages/babel-helper-module-transforms/src/index.js @@ -61,7 +61,7 @@ export function rewriteModuleStatementsAndPrepareHeader( } // Create all of the statically known named exports. - headers.push(...buildExportInitializationStatements(path, meta)); + headers.push(...buildExportInitializationStatements(path, meta, loose)); return { meta, headers }; } @@ -111,6 +111,7 @@ export function wrapInterop( export function buildNamespaceInitStatements( metadata: ModuleMetadata, sourceMetadata: SourceModuleMetadata, + loose: boolean = false, ) { const statements = []; @@ -136,7 +137,11 @@ export function buildNamespaceInitStatements( ); } if (sourceMetadata.reexportAll) { - const statement = buildNamespaceReexport(metadata, sourceMetadata.name); + const statement = buildNamespaceReexport( + metadata, + sourceMetadata.name, + loose, + ); statement.loc = sourceMetadata.reexportAll.loc; // Iterate props creating getter for each prop. @@ -166,26 +171,35 @@ function buildESModuleHeader( /** * Create a re-export initialization loop for a specific imported namespace. */ -function buildNamespaceReexport(metadata, namespace) { - return template.statement` - Object.keys(NAMESPACE).forEach(function(key) { - if (key === "default" || key === "__esModule") return; - VERIFY_NAME_LIST; +function buildNamespaceReexport(metadata, namespace, loose) { + return (loose + ? template.statement` + Object.keys(NAMESPACE).forEach(function(key) { + if (key === "default" || key === "__esModule") return; + VERIFY_NAME_LIST; - Object.defineProperty(EXPORTS, key, { - enumerable: true, - get: function() { - return NAMESPACE[key]; - }, - }); - }); - `({ + EXPORTS[key] = NAMESPACE[key]; + }); + ` + : template.statement` + Object.keys(NAMESPACE).forEach(function(key) { + if (key === "default" || key === "__esModule") return; + VERIFY_NAME_LIST; + + Object.defineProperty(EXPORTS, key, { + enumerable: true, + get: function() { + return NAMESPACE[key]; + }, + }); + }); + `)({ NAMESPACE: namespace, EXPORTS: metadata.exportName, VERIFY_NAME_LIST: metadata.exportNameListName ? template` - if (Object.prototype.hasOwnProperty.call(EXPORTS_LIST, key)) return; - `({ EXPORTS_LIST: metadata.exportNameListName }) + if (Object.prototype.hasOwnProperty.call(EXPORTS_LIST, key)) return; + `({ EXPORTS_LIST: metadata.exportNameListName }) : null, }); } @@ -239,6 +253,7 @@ function buildExportNameListDeclaration( function buildExportInitializationStatements( programPath: NodePath, metadata: ModuleMetadata, + loose: boolean = false, ) { const initStatements = []; @@ -257,14 +272,16 @@ function buildExportInitializationStatements( for (const data of metadata.source.values()) { for (const [exportName, importName] of data.reexports) { initStatements.push( - template` - Object.defineProperty(EXPORTS, "EXPORT_NAME", { - enumerable: true, - get: function() { - return NAMESPACE.IMPORT_NAME; - }, - }); - `({ + (loose + ? template.statement`EXPORTS.EXPORT_NAME = NAMESPACE.IMPORT_NAME;` + : template` + Object.defineProperty(EXPORTS, "EXPORT_NAME", { + enumerable: true, + get: function() { + return NAMESPACE.IMPORT_NAME; + }, + }); + `)({ EXPORTS: metadata.exportName, EXPORT_NAME: exportName, NAMESPACE: data.name, diff --git a/packages/babel-plugin-transform-modules-amd/src/index.js b/packages/babel-plugin-transform-modules-amd/src/index.js index 8e202a9f47..6739394202 100644 --- a/packages/babel-plugin-transform-modules-amd/src/index.js +++ b/packages/babel-plugin-transform-modules-amd/src/index.js @@ -68,7 +68,9 @@ export default function({ types: t }, options) { } } - headers.push(...buildNamespaceInitStatements(meta, metadata)); + headers.push( + ...buildNamespaceInitStatements(meta, metadata, loose), + ); } ensureStatementsHoisted(headers); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-10/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-10/actual.js new file mode 100644 index 0000000000..f0fe347f9e --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-10/actual.js @@ -0,0 +1 @@ +export default (function(){return "foo"})(); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-10/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-10/expected.js new file mode 100644 index 0000000000..5f8433004f --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-10/expected.js @@ -0,0 +1,12 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + + var _default = function () { + return "foo"; + }(); + + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-2/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-2/actual.js new file mode 100644 index 0000000000..ff8b4c5632 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-2/actual.js @@ -0,0 +1 @@ +export default {}; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-2/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-2/expected.js new file mode 100644 index 0000000000..b0ddbf03cf --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-2/expected.js @@ -0,0 +1,8 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + var _default = {}; + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-3/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-3/actual.js new file mode 100644 index 0000000000..d6d1738de6 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-3/actual.js @@ -0,0 +1 @@ +export default []; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-3/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-3/expected.js new file mode 100644 index 0000000000..55ea7b7e9b --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-3/expected.js @@ -0,0 +1,8 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + var _default = []; + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-4/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-4/actual.js new file mode 100644 index 0000000000..f7b318b3f6 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-4/actual.js @@ -0,0 +1 @@ +export default foo; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-4/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-4/expected.js new file mode 100644 index 0000000000..1f408ed17a --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-4/expected.js @@ -0,0 +1,8 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + var _default = foo; + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-5/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-5/actual.js new file mode 100644 index 0000000000..ea9b101e1c --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-5/actual.js @@ -0,0 +1 @@ +export default function () {} diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-5/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-5/expected.js new file mode 100644 index 0000000000..4b6bad049a --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-5/expected.js @@ -0,0 +1,8 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = _default; + + function _default() {} +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-6/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-6/actual.js new file mode 100644 index 0000000000..a6e68e9838 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-6/actual.js @@ -0,0 +1 @@ +export default class {} diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-6/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-6/expected.js new file mode 100644 index 0000000000..50177c9b92 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-6/expected.js @@ -0,0 +1,10 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + + class _default {} + + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-7/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-7/actual.js new file mode 100644 index 0000000000..4389e1a496 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-7/actual.js @@ -0,0 +1 @@ +export default function foo () {} diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-7/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-7/expected.js new file mode 100644 index 0000000000..12a1250264 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-7/expected.js @@ -0,0 +1,8 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = foo; + + function foo() {} +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-8/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-8/actual.js new file mode 100644 index 0000000000..7804111002 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-8/actual.js @@ -0,0 +1 @@ +export default class Foo {} diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-8/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-8/expected.js new file mode 100644 index 0000000000..874e57503c --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-8/expected.js @@ -0,0 +1,10 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + + class Foo {} + + _exports.default = Foo; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-9/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-9/actual.js new file mode 100644 index 0000000000..f52d2a9030 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-9/actual.js @@ -0,0 +1,2 @@ +var foo; +export { foo as default }; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-9/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-9/expected.js new file mode 100644 index 0000000000..1d7e8f7d6f --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-9/expected.js @@ -0,0 +1,8 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + var foo; + _exports.default = foo; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default/actual.js new file mode 100644 index 0000000000..7a4e8a723a --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default/actual.js @@ -0,0 +1 @@ +export default 42; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default/expected.js new file mode 100644 index 0000000000..d4b85ce198 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default/expected.js @@ -0,0 +1,8 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + var _default = 42; + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-2/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-2/actual.js new file mode 100644 index 0000000000..83b7b67c51 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-2/actual.js @@ -0,0 +1 @@ +export {foo} from "foo"; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-2/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-2/expected.js new file mode 100644 index 0000000000..36a7d9081e --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-2/expected.js @@ -0,0 +1,6 @@ +define(["exports", "foo"], function (_exports, _foo) { + "use strict"; + + _exports.__esModule = true; + _exports.foo = _foo.foo; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-3/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-3/actual.js new file mode 100644 index 0000000000..35c2762a29 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-3/actual.js @@ -0,0 +1 @@ +export {foo, bar} from "foo"; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-3/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-3/expected.js new file mode 100644 index 0000000000..8e2a65f922 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-3/expected.js @@ -0,0 +1,7 @@ +define(["exports", "foo"], function (_exports, _foo) { + "use strict"; + + _exports.__esModule = true; + _exports.foo = _foo.foo; + _exports.bar = _foo.bar; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-4/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-4/actual.js new file mode 100644 index 0000000000..9fff903bd9 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-4/actual.js @@ -0,0 +1 @@ +export {foo as bar} from "foo"; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-4/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-4/expected.js new file mode 100644 index 0000000000..67d4ff8925 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-4/expected.js @@ -0,0 +1,6 @@ +define(["exports", "foo"], function (_exports, _foo) { + "use strict"; + + _exports.__esModule = true; + _exports.bar = _foo.foo; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-5/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-5/actual.js new file mode 100644 index 0000000000..5be9a685aa --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-5/actual.js @@ -0,0 +1 @@ +export {foo as default} from "foo"; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-5/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-5/expected.js new file mode 100644 index 0000000000..8dd82c261c --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-5/expected.js @@ -0,0 +1,6 @@ +define(["exports", "foo"], function (_exports, _foo) { + "use strict"; + + _exports.__esModule = true; + _exports.default = _foo.foo; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-6/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-6/actual.js new file mode 100644 index 0000000000..4461d79e3b --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-6/actual.js @@ -0,0 +1 @@ +export {foo as default, bar} from "foo"; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-6/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-6/expected.js new file mode 100644 index 0000000000..b17d2a42ae --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-6/expected.js @@ -0,0 +1,7 @@ +define(["exports", "foo"], function (_exports, _foo) { + "use strict"; + + _exports.__esModule = true; + _exports.default = _foo.foo; + _exports.bar = _foo.bar; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from/actual.js new file mode 100644 index 0000000000..9ec8f63ab2 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from/actual.js @@ -0,0 +1 @@ +export * from "foo"; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from/expected.js new file mode 100644 index 0000000000..9933165d6e --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from/expected.js @@ -0,0 +1,9 @@ +define(["exports", "foo"], function (_exports, _foo) { + "use strict"; + + _exports.__esModule = true; + Object.keys(_foo).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + _exports[key] = _foo[key]; + }); +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-2/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-2/actual.js new file mode 100644 index 0000000000..b2bb6f25f1 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-2/actual.js @@ -0,0 +1,2 @@ +var foo, bar; +export {foo, bar}; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-2/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-2/expected.js new file mode 100644 index 0000000000..dc05c416fa --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-2/expected.js @@ -0,0 +1,9 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.bar = _exports.foo = void 0; + var foo, bar; + _exports.bar = bar; + _exports.foo = foo; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-3/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-3/actual.js new file mode 100644 index 0000000000..0e20b2a7c2 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-3/actual.js @@ -0,0 +1,2 @@ +var foo; +export {foo as bar}; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-3/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-3/expected.js new file mode 100644 index 0000000000..828d19475c --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-3/expected.js @@ -0,0 +1,8 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.bar = void 0; + var foo; + _exports.bar = foo; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-4/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-4/actual.js new file mode 100644 index 0000000000..6cf31d7c35 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-4/actual.js @@ -0,0 +1,2 @@ +var foo; +export {foo as default}; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-4/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-4/expected.js new file mode 100644 index 0000000000..1d7e8f7d6f --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-4/expected.js @@ -0,0 +1,8 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + var foo; + _exports.default = foo; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-5/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-5/actual.js new file mode 100644 index 0000000000..d8d18266bb --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-5/actual.js @@ -0,0 +1,2 @@ +var foo, bar; +export {foo as default, bar}; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-5/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-5/expected.js new file mode 100644 index 0000000000..04a5a62181 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-5/expected.js @@ -0,0 +1,9 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.bar = _exports.default = void 0; + var foo, bar; + _exports.bar = bar; + _exports.default = foo; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named/actual.js new file mode 100644 index 0000000000..8da11199f4 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named/actual.js @@ -0,0 +1,2 @@ +var foo; +export {foo}; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named/expected.js new file mode 100644 index 0000000000..6f76473c20 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named/expected.js @@ -0,0 +1,8 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.foo = void 0; + var foo; + _exports.foo = foo; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-specifier-default/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-specifier-default/actual.js new file mode 100644 index 0000000000..38f48e5187 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-specifier-default/actual.js @@ -0,0 +1,2 @@ +var a = 1; +export { a as default }; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-specifier-default/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-specifier-default/expected.js new file mode 100644 index 0000000000..2db2ae3eda --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-specifier-default/expected.js @@ -0,0 +1,8 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + var a = 1; + _exports.default = a; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/exports-variable/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/exports-variable/actual.js new file mode 100644 index 0000000000..1df70a9447 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/exports-variable/actual.js @@ -0,0 +1,9 @@ +export var foo = 1; +export var foo2 = 1, bar = 2; +export var foo3 = function () {}; +export var foo4; +export let foo5 = 2; +export let foo6; +export const foo7 = 3; +export function foo8 () {} +export class foo9 {} diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/exports-variable/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/exports-variable/expected.js new file mode 100644 index 0000000000..9fb1e1092b --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/exports-variable/expected.js @@ -0,0 +1,31 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.foo8 = foo8; + _exports.foo9 = _exports.foo7 = _exports.foo6 = _exports.foo5 = _exports.foo4 = _exports.foo3 = _exports.bar = _exports.foo2 = _exports.foo = void 0; + var foo = 1; + _exports.foo = foo; + var foo2 = 1, + bar = 2; + _exports.bar = bar; + _exports.foo2 = foo2; + + var foo3 = function () {}; + + _exports.foo3 = foo3; + var foo4; + _exports.foo4 = foo4; + let foo5 = 2; + _exports.foo5 = foo5; + let foo6; + _exports.foo6 = foo6; + const foo7 = 3; + _exports.foo7 = foo7; + + function foo8() {} + + class foo9 {} + + _exports.foo9 = foo9; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/get-module-name-option/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/get-module-name-option/actual.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/get-module-name-option/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/get-module-name-option/expected.js new file mode 100644 index 0000000000..f1f858900a --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/get-module-name-option/expected.js @@ -0,0 +1,3 @@ +define("my custom module name", [], function () { + "use strict"; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/get-module-name-option/options.json b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/get-module-name-option/options.json new file mode 100644 index 0000000000..0b446c5334 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/get-module-name-option/options.json @@ -0,0 +1,8 @@ +{ + "moduleIds": true, + "moduleId": "my custom module name", + "plugins": [ + "external-helpers", + ["transform-modules-amd", { "loose": true }] + ] +} diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/hoist-function-exports/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/hoist-function-exports/actual.js new file mode 100644 index 0000000000..3c40b7d1c1 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/hoist-function-exports/actual.js @@ -0,0 +1,11 @@ +import { isEven } from "./evens"; + +export function nextOdd(n) { + return isEven(n) ? n + 1 : n + 2; +} + +export var isOdd = (function (isEven) { + return function (n) { + return !isEven(n); + }; +})(isEven); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/hoist-function-exports/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/hoist-function-exports/expected.js new file mode 100644 index 0000000000..5c29d86eac --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/hoist-function-exports/expected.js @@ -0,0 +1,19 @@ +define(["exports", "./evens"], function (_exports, _evens) { + "use strict"; + + _exports.__esModule = true; + _exports.nextOdd = nextOdd; + _exports.isOdd = void 0; + + function nextOdd(n) { + return (0, _evens.isEven)(n) ? n + 1 : n + 2; + } + + var isOdd = function (isEven) { + return function (n) { + return !isEven(n); + }; + }(_evens.isEven); + + _exports.isOdd = isOdd; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/import-order/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/import-order/actual.js new file mode 100644 index 0000000000..d2570acf4e --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/import-order/actual.js @@ -0,0 +1,4 @@ +import './foo'; +import bar from './bar'; +import './derp'; +import { qux } from './qux'; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/import-order/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/import-order/expected.js new file mode 100644 index 0000000000..ad4067dee3 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/import-order/expected.js @@ -0,0 +1,5 @@ +define(["./foo", "./bar", "./derp", "./qux"], function (_foo, _bar, _derp, _qux) { + "use strict"; + + _bar = babelHelpers.interopRequireDefault(_bar); +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-default/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-default/actual.js new file mode 100644 index 0000000000..9180467e20 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-default/actual.js @@ -0,0 +1,5 @@ +import foo from "foo"; +import {default as foo2} from "foo"; + +foo; +foo2; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-default/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-default/expected.js new file mode 100644 index 0000000000..67aa7bc21c --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-default/expected.js @@ -0,0 +1,7 @@ +define(["foo"], function (_foo) { + "use strict"; + + _foo = babelHelpers.interopRequireDefault(_foo); + _foo.default; + _foo.default; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-glob/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-glob/actual.js new file mode 100644 index 0000000000..6415edcb6e --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-glob/actual.js @@ -0,0 +1,3 @@ +import * as foo from "foo"; + +foo; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-glob/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-glob/expected.js new file mode 100644 index 0000000000..c3a94a67fc --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-glob/expected.js @@ -0,0 +1,6 @@ +define(["foo"], function (foo) { + "use strict"; + + foo = babelHelpers.interopRequireWildcard(foo); + foo; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-mixing/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-mixing/actual.js new file mode 100644 index 0000000000..0336d174c0 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-mixing/actual.js @@ -0,0 +1,4 @@ +import foo, {baz as xyz} from "foo"; + +foo; +xyz; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-mixing/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-mixing/expected.js new file mode 100644 index 0000000000..df85e22f86 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-mixing/expected.js @@ -0,0 +1,7 @@ +define(["foo"], function (_foo) { + "use strict"; + + _foo = babelHelpers.interopRequireWildcard(_foo); + _foo.default; + _foo.baz; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-named/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-named/actual.js new file mode 100644 index 0000000000..987dbe3a05 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-named/actual.js @@ -0,0 +1,11 @@ +import {bar} from "foo"; +import {bar2, baz} from "foo"; +import {bar as baz2} from "foo"; +import {bar as baz3, xyz} from "foo"; + +bar; +bar2; +baz; +baz2; +baz3; +xyz; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-named/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-named/expected.js new file mode 100644 index 0000000000..af98a48888 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-named/expected.js @@ -0,0 +1,10 @@ +define(["foo"], function (_foo) { + "use strict"; + + _foo.bar; + _foo.bar2; + _foo.baz; + _foo.bar; + _foo.bar; + _foo.xyz; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports/actual.js new file mode 100644 index 0000000000..222b6885ac --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports/actual.js @@ -0,0 +1,3 @@ +import "foo"; +import "foo-bar"; +import "./directory/foo-bar"; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports/expected.js new file mode 100644 index 0000000000..b65f0d58b6 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports/expected.js @@ -0,0 +1,3 @@ +define(["foo", "foo-bar", "./directory/foo-bar"], function (_foo, _fooBar, _fooBar2) { + "use strict"; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/actual.js new file mode 100644 index 0000000000..f3b473756e --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/actual.js @@ -0,0 +1 @@ +foobar(); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/expected.js new file mode 100644 index 0000000000..9d857a538b --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/expected.js @@ -0,0 +1,5 @@ +define("loose/module-name/expected", [], function () { + "use strict"; + + foobar(); +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/options.json b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/options.json new file mode 100644 index 0000000000..7f54a2b7f9 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/options.json @@ -0,0 +1,7 @@ +{ + "moduleIds": true, + "plugins": [ + "external-helpers", + ["transform-modules-amd", { "loose": true }] + ] +} diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-export-from/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-export-from/actual.js new file mode 100644 index 0000000000..7d2c9b022e --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-export-from/actual.js @@ -0,0 +1 @@ +export { default } from 'foo'; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-export-from/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-export-from/expected.js new file mode 100644 index 0000000000..6670c43181 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-export-from/expected.js @@ -0,0 +1,6 @@ +define(["exports", "foo"], function (_exports, _foo) { + "use strict"; + + _exports.__esModule = true; + _exports.default = _foo.default; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-export-from/options.json b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-export-from/options.json new file mode 100644 index 0000000000..97d5cf98f8 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-export-from/options.json @@ -0,0 +1,9 @@ +{ + "plugins": [ + "external-helpers", + ["transform-modules-amd", { + "loose": true, + "noInterop": true + }] + ] +} diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-import-default-only/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-import-default-only/actual.js new file mode 100644 index 0000000000..44567cb185 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-import-default-only/actual.js @@ -0,0 +1,3 @@ +import foo from "foo"; + +foo; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-import-default-only/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-import-default-only/expected.js new file mode 100644 index 0000000000..acdfb3b580 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-import-default-only/expected.js @@ -0,0 +1,5 @@ +define(["foo"], function (_foo) { + "use strict"; + + _foo.default; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-import-default-only/options.json b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-import-default-only/options.json new file mode 100644 index 0000000000..97d5cf98f8 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/noInterop-import-default-only/options.json @@ -0,0 +1,9 @@ +{ + "plugins": [ + "external-helpers", + ["transform-modules-amd", { + "loose": true, + "noInterop": true + }] + ] +} diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/options.json b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/options.json new file mode 100644 index 0000000000..9597d1c3f2 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/options.json @@ -0,0 +1,6 @@ +{ + "plugins": [ + "external-helpers", + ["transform-modules-amd", { "loose": true }] + ] +} diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/overview/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/overview/actual.js new file mode 100644 index 0000000000..04aa23e120 --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/overview/actual.js @@ -0,0 +1,18 @@ +import "foo"; +import "foo-bar"; +import "./directory/foo-bar"; +import foo from "foo"; +import * as foo2 from "foo"; +import {bar} from "foo"; +import {foo as bar2} from "foo"; + +var test; +export {test}; +export var test2 = 5; + +export default test; + +foo; +foo2; +bar; +bar2; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/overview/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/overview/expected.js new file mode 100644 index 0000000000..f3942d53ae --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/overview/expected.js @@ -0,0 +1,17 @@ +define(["exports", "foo", "foo-bar", "./directory/foo-bar"], function (_exports, foo2, _fooBar, _fooBar2) { + "use strict"; + + _exports.__esModule = true; + _exports.default = _exports.test2 = _exports.test = void 0; + foo2 = babelHelpers.interopRequireWildcard(foo2); + var test; + _exports.test = test; + var test2 = 5; + _exports.test2 = test2; + var _default = test; + _exports.default = _default; + foo2.default; + foo2; + foo2.bar; + foo2.foo; +}); diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/remap/actual.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/remap/actual.js new file mode 100644 index 0000000000..f5cf475bec --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/remap/actual.js @@ -0,0 +1,21 @@ +export var test = 2; +test = 5; +test++; + +(function () { + var test = 2; + test = 3; + test++; +})(); + +var a = 2; +export { a }; +a = 3; + +var b = 2; +export { b as c }; +b = 3; + +var d = 3; +export { d as e, d as f }; +d = 4; diff --git a/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/remap/expected.js b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/remap/expected.js new file mode 100644 index 0000000000..eaea92181c --- /dev/null +++ b/packages/babel-plugin-transform-modules-amd/test/fixtures/loose/remap/expected.js @@ -0,0 +1,26 @@ +define(["exports"], function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.f = _exports.e = _exports.c = _exports.a = _exports.test = void 0; + var test = 2; + _exports.test = test; + _exports.test = test = 5; + _exports.test = test = test + 1; + + (function () { + var test = 2; + test = 3; + test++; + })(); + + var a = 2; + _exports.a = a; + _exports.a = a = 3; + var b = 2; + _exports.c = b; + _exports.c = b = 3; + var d = 3; + _exports.f = _exports.e = d; + _exports.f = _exports.e = d = 4; +}); diff --git a/packages/babel-plugin-transform-modules-commonjs/src/index.js b/packages/babel-plugin-transform-modules-commonjs/src/index.js index 67c6f49773..fc2aaa5c6e 100644 --- a/packages/babel-plugin-transform-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-modules-commonjs/src/index.js @@ -144,7 +144,9 @@ export default function({ types: t, template }, options) { header.loc = metadata.loc; headers.push(header); - headers.push(...buildNamespaceInitStatements(meta, metadata)); + headers.push( + ...buildNamespaceInitStatements(meta, metadata, loose), + ); } ensureStatementsHoisted(headers); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-10/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-10/actual.js new file mode 100644 index 0000000000..f0fe347f9e --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-10/actual.js @@ -0,0 +1 @@ +export default (function(){return "foo"})(); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-10/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-10/expected.js new file mode 100644 index 0000000000..0164eb07e3 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-10/expected.js @@ -0,0 +1,10 @@ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +var _default = function () { + return "foo"; +}(); + +exports.default = _default; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-11/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-11/actual.js new file mode 100644 index 0000000000..44bb8e1880 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-11/actual.js @@ -0,0 +1,3 @@ +export default new Cachier() + +export function Cachier(databaseName) {} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-11/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-11/expected.js new file mode 100644 index 0000000000..d169356906 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-11/expected.js @@ -0,0 +1,11 @@ +"use strict"; + +exports.__esModule = true; +exports.Cachier = Cachier; +exports.default = void 0; + +var _default = new Cachier(); + +exports.default = _default; + +function Cachier(databaseName) {} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-2/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-2/actual.js new file mode 100644 index 0000000000..ff8b4c5632 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-2/actual.js @@ -0,0 +1 @@ +export default {}; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-2/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-2/expected.js new file mode 100644 index 0000000000..08a10702e1 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-2/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; +var _default = {}; +exports.default = _default; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-3/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-3/actual.js new file mode 100644 index 0000000000..d6d1738de6 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-3/actual.js @@ -0,0 +1 @@ +export default []; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-3/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-3/expected.js new file mode 100644 index 0000000000..b889c0345c --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-3/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; +var _default = []; +exports.default = _default; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-4/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-4/actual.js new file mode 100644 index 0000000000..f7b318b3f6 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-4/actual.js @@ -0,0 +1 @@ +export default foo; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-4/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-4/expected.js new file mode 100644 index 0000000000..9032941d09 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-4/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; +var _default = foo; +exports.default = _default; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-5/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-5/actual.js new file mode 100644 index 0000000000..ea9b101e1c --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-5/actual.js @@ -0,0 +1 @@ +export default function () {} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-5/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-5/expected.js new file mode 100644 index 0000000000..87049b0d69 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-5/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.default = _default; + +function _default() {} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-6/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-6/actual.js new file mode 100644 index 0000000000..a6e68e9838 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-6/actual.js @@ -0,0 +1 @@ +export default class {} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-6/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-6/expected.js new file mode 100644 index 0000000000..7c0701da72 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-6/expected.js @@ -0,0 +1,8 @@ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +class _default {} + +exports.default = _default; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-7/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-7/actual.js new file mode 100644 index 0000000000..4389e1a496 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-7/actual.js @@ -0,0 +1 @@ +export default function foo () {} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-7/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-7/expected.js new file mode 100644 index 0000000000..1d70f43af7 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-7/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.default = foo; + +function foo() {} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-8/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-8/actual.js new file mode 100644 index 0000000000..7804111002 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-8/actual.js @@ -0,0 +1 @@ +export default class Foo {} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-8/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-8/expected.js new file mode 100644 index 0000000000..aceaeb6fb5 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-8/expected.js @@ -0,0 +1,8 @@ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; + +class Foo {} + +exports.default = Foo; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-9/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-9/actual.js new file mode 100644 index 0000000000..9d6ebe46ed --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-9/actual.js @@ -0,0 +1,3 @@ +var foo; +export { foo as default }; + diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-9/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-9/expected.js new file mode 100644 index 0000000000..a228663b3c --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default-9/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; +var foo; +exports.default = foo; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default/actual.js new file mode 100644 index 0000000000..7a4e8a723a --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default/actual.js @@ -0,0 +1 @@ +export default 42; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default/expected.js new file mode 100644 index 0000000000..b302e79cc1 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-default/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; +var _default = 42; +exports.default = _default; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-destructured/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-destructured/actual.js new file mode 100644 index 0000000000..44169dbd66 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-destructured/actual.js @@ -0,0 +1,18 @@ +export let x = 0; +export let y = 0; + +export function f1 () { + ({x} = { x: 1 }); +} + +export function f2 () { + ({x, y} = { x: 2, y: 3 }); +} + +export function f3 () { + [x, y, z] = [3, 4, 5] +} + +export function f4 () { + [x, , y] = [3, 4, 5] +} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-destructured/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-destructured/expected.js new file mode 100644 index 0000000000..910e1d4584 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-destructured/expected.js @@ -0,0 +1,42 @@ +"use strict"; + +exports.__esModule = true; +exports.f1 = f1; +exports.f2 = f2; +exports.f3 = f3; +exports.f4 = f4; +exports.y = exports.x = void 0; +let x = 0; +exports.x = x; +let y = 0; +exports.y = y; + +function f1() { + ({ + x + } = { + x: 1 + }); + exports.x = x; +} + +function f2() { + ({ + x, + y + } = { + x: 2, + y: 3 + }); + exports.x = x, exports.y = y; +} + +function f3() { + [x, y, z] = [3, 4, 5]; + exports.x = x, exports.y = y; +} + +function f4() { + [x,, y] = [3, 4, 5]; + exports.x = x, exports.y = y; +} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-2/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-2/actual.js new file mode 100644 index 0000000000..83b7b67c51 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-2/actual.js @@ -0,0 +1 @@ +export {foo} from "foo"; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-2/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-2/expected.js new file mode 100644 index 0000000000..433c1c3ebc --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-2/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.foo = _foo.foo; + +var _foo = require("foo"); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-3/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-3/actual.js new file mode 100644 index 0000000000..35c2762a29 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-3/actual.js @@ -0,0 +1 @@ +export {foo, bar} from "foo"; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-3/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-3/expected.js new file mode 100644 index 0000000000..2529d6d951 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-3/expected.js @@ -0,0 +1,7 @@ +"use strict"; + +exports.__esModule = true; +exports.foo = _foo.foo; +exports.bar = _foo.bar; + +var _foo = require("foo"); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-4/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-4/actual.js new file mode 100644 index 0000000000..9fff903bd9 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-4/actual.js @@ -0,0 +1 @@ +export {foo as bar} from "foo"; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-4/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-4/expected.js new file mode 100644 index 0000000000..46ca416dd8 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-4/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.bar = _foo.foo; + +var _foo = require("foo"); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-5/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-5/actual.js new file mode 100644 index 0000000000..5be9a685aa --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-5/actual.js @@ -0,0 +1 @@ +export {foo as default} from "foo"; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-5/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-5/expected.js new file mode 100644 index 0000000000..da307ddc71 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-5/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.default = _foo.foo; + +var _foo = require("foo"); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-6/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-6/actual.js new file mode 100644 index 0000000000..4461d79e3b --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-6/actual.js @@ -0,0 +1 @@ +export {foo as default, bar} from "foo"; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-6/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-6/expected.js new file mode 100644 index 0000000000..236757e90d --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-6/expected.js @@ -0,0 +1,7 @@ +"use strict"; + +exports.__esModule = true; +exports.default = _foo.foo; +exports.bar = _foo.bar; + +var _foo = require("foo"); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-7/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-7/actual.js new file mode 100644 index 0000000000..afc3e98e19 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-7/actual.js @@ -0,0 +1 @@ +export {default as foo} from "foo"; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-7/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-7/expected.js new file mode 100644 index 0000000000..49116efe2c --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-7/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.foo = _foo.default; + +var _foo = babelHelpers.interopRequireDefault(require("foo")); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-8/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-8/actual.js new file mode 100644 index 0000000000..b42963fe70 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-8/actual.js @@ -0,0 +1,2 @@ +import { foo, foo1, foo2, foo3, foo4, foo5, foo6, foo7, foo8, foo9, foo10, foo11, foo12, foo13, foo14, foo15, foo16, foo17, foo18, foo19, foo20, foo21, foo22, foo23, foo24, foo25, foo26, foo27, foo28, foo29, foo30, foo31, foo32, foo33, foo34, foo35, foo36, foo37, foo38, foo39, foo40, foo41, foo42, foo43, foo44, foo45, foo46, foo47, foo48, foo49, foo50, foo51, foo52, foo53, foo54, foo55, foo56, foo57, foo58, foo59, foo60, foo61, foo62, foo63, foo64, foo65, foo66, foo67, foo68, foo69, foo70, foo71, foo72, foo73, foo74, foo75, foo76, foo77, foo78, foo79, foo80, foo81, foo82, foo83, foo84, foo85, foo86, foo87, foo88, foo89, foo90, foo91, foo92, foo93, foo94, foo95, foo96, foo97, foo98, foo99, foo100 } from "foo"; +export { foo, foo1, foo2, foo3, foo4, foo5, foo6, foo7, foo8, foo9, foo10, foo11, foo12, foo13, foo14, foo15, foo16, foo17, foo18, foo19, foo20, foo21, foo22, foo23, foo24, foo25, foo26, foo27, foo28, foo29, foo30, foo31, foo32, foo33, foo34, foo35, foo36, foo37, foo38, foo39, foo40, foo41, foo42, foo43, foo44, foo45, foo46, foo47, foo48, foo49, foo50, foo51, foo52, foo53, foo54, foo55, foo56, foo57, foo58, foo59, foo60, foo61, foo62, foo63, foo64, foo65, foo66, foo67, foo68, foo69, foo70, foo71, foo72, foo73, foo74, foo75, foo76, foo77, foo78, foo79, foo80, foo81, foo82, foo83, foo84, foo85, foo86, foo87, foo88, foo89, foo90, foo91, foo92, foo93, foo94, foo95, foo96, foo97, foo98, foo99, foo100 } \ No newline at end of file diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-8/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-8/expected.js new file mode 100644 index 0000000000..6da56f2b81 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from-8/expected.js @@ -0,0 +1,106 @@ +"use strict"; + +exports.__esModule = true; +exports.foo = _foo.foo; +exports.foo1 = _foo.foo1; +exports.foo2 = _foo.foo2; +exports.foo3 = _foo.foo3; +exports.foo4 = _foo.foo4; +exports.foo5 = _foo.foo5; +exports.foo6 = _foo.foo6; +exports.foo7 = _foo.foo7; +exports.foo8 = _foo.foo8; +exports.foo9 = _foo.foo9; +exports.foo10 = _foo.foo10; +exports.foo11 = _foo.foo11; +exports.foo12 = _foo.foo12; +exports.foo13 = _foo.foo13; +exports.foo14 = _foo.foo14; +exports.foo15 = _foo.foo15; +exports.foo16 = _foo.foo16; +exports.foo17 = _foo.foo17; +exports.foo18 = _foo.foo18; +exports.foo19 = _foo.foo19; +exports.foo20 = _foo.foo20; +exports.foo21 = _foo.foo21; +exports.foo22 = _foo.foo22; +exports.foo23 = _foo.foo23; +exports.foo24 = _foo.foo24; +exports.foo25 = _foo.foo25; +exports.foo26 = _foo.foo26; +exports.foo27 = _foo.foo27; +exports.foo28 = _foo.foo28; +exports.foo29 = _foo.foo29; +exports.foo30 = _foo.foo30; +exports.foo31 = _foo.foo31; +exports.foo32 = _foo.foo32; +exports.foo33 = _foo.foo33; +exports.foo34 = _foo.foo34; +exports.foo35 = _foo.foo35; +exports.foo36 = _foo.foo36; +exports.foo37 = _foo.foo37; +exports.foo38 = _foo.foo38; +exports.foo39 = _foo.foo39; +exports.foo40 = _foo.foo40; +exports.foo41 = _foo.foo41; +exports.foo42 = _foo.foo42; +exports.foo43 = _foo.foo43; +exports.foo44 = _foo.foo44; +exports.foo45 = _foo.foo45; +exports.foo46 = _foo.foo46; +exports.foo47 = _foo.foo47; +exports.foo48 = _foo.foo48; +exports.foo49 = _foo.foo49; +exports.foo50 = _foo.foo50; +exports.foo51 = _foo.foo51; +exports.foo52 = _foo.foo52; +exports.foo53 = _foo.foo53; +exports.foo54 = _foo.foo54; +exports.foo55 = _foo.foo55; +exports.foo56 = _foo.foo56; +exports.foo57 = _foo.foo57; +exports.foo58 = _foo.foo58; +exports.foo59 = _foo.foo59; +exports.foo60 = _foo.foo60; +exports.foo61 = _foo.foo61; +exports.foo62 = _foo.foo62; +exports.foo63 = _foo.foo63; +exports.foo64 = _foo.foo64; +exports.foo65 = _foo.foo65; +exports.foo66 = _foo.foo66; +exports.foo67 = _foo.foo67; +exports.foo68 = _foo.foo68; +exports.foo69 = _foo.foo69; +exports.foo70 = _foo.foo70; +exports.foo71 = _foo.foo71; +exports.foo72 = _foo.foo72; +exports.foo73 = _foo.foo73; +exports.foo74 = _foo.foo74; +exports.foo75 = _foo.foo75; +exports.foo76 = _foo.foo76; +exports.foo77 = _foo.foo77; +exports.foo78 = _foo.foo78; +exports.foo79 = _foo.foo79; +exports.foo80 = _foo.foo80; +exports.foo81 = _foo.foo81; +exports.foo82 = _foo.foo82; +exports.foo83 = _foo.foo83; +exports.foo84 = _foo.foo84; +exports.foo85 = _foo.foo85; +exports.foo86 = _foo.foo86; +exports.foo87 = _foo.foo87; +exports.foo88 = _foo.foo88; +exports.foo89 = _foo.foo89; +exports.foo90 = _foo.foo90; +exports.foo91 = _foo.foo91; +exports.foo92 = _foo.foo92; +exports.foo93 = _foo.foo93; +exports.foo94 = _foo.foo94; +exports.foo95 = _foo.foo95; +exports.foo96 = _foo.foo96; +exports.foo97 = _foo.foo97; +exports.foo98 = _foo.foo98; +exports.foo99 = _foo.foo99; +exports.foo100 = _foo.foo100; + +var _foo = require("foo"); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from/actual.js new file mode 100644 index 0000000000..9ec8f63ab2 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from/actual.js @@ -0,0 +1 @@ +export * from "foo"; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from/expected.js new file mode 100644 index 0000000000..8901160e3d --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-from/expected.js @@ -0,0 +1,10 @@ +"use strict"; + +exports.__esModule = true; + +var _foo = require("foo"); + +Object.keys(_foo).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + exports[key] = _foo[key]; +}); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-2/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-2/actual.js new file mode 100644 index 0000000000..b2bb6f25f1 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-2/actual.js @@ -0,0 +1,2 @@ +var foo, bar; +export {foo, bar}; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-2/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-2/expected.js new file mode 100644 index 0000000000..6ae303eaf2 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-2/expected.js @@ -0,0 +1,7 @@ +"use strict"; + +exports.__esModule = true; +exports.bar = exports.foo = void 0; +var foo, bar; +exports.bar = bar; +exports.foo = foo; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-3/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-3/actual.js new file mode 100644 index 0000000000..0e20b2a7c2 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-3/actual.js @@ -0,0 +1,2 @@ +var foo; +export {foo as bar}; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-3/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-3/expected.js new file mode 100644 index 0000000000..faf2890f12 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-3/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.bar = void 0; +var foo; +exports.bar = foo; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-4/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-4/actual.js new file mode 100644 index 0000000000..6cf31d7c35 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-4/actual.js @@ -0,0 +1,2 @@ +var foo; +export {foo as default}; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-4/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-4/expected.js new file mode 100644 index 0000000000..a228663b3c --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-4/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; +var foo; +exports.default = foo; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-5/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-5/actual.js new file mode 100644 index 0000000000..d8d18266bb --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-5/actual.js @@ -0,0 +1,2 @@ +var foo, bar; +export {foo as default, bar}; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-5/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-5/expected.js new file mode 100644 index 0000000000..640afe55af --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named-5/expected.js @@ -0,0 +1,7 @@ +"use strict"; + +exports.__esModule = true; +exports.bar = exports.default = void 0; +var foo, bar; +exports.bar = bar; +exports.default = foo; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named/actual.js new file mode 100644 index 0000000000..8da11199f4 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named/actual.js @@ -0,0 +1,2 @@ +var foo; +export {foo}; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named/expected.js new file mode 100644 index 0000000000..7fa5ace32b --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/export-named/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.foo = void 0; +var foo; +exports.foo = foo; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/exports-variable/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/exports-variable/actual.js new file mode 100644 index 0000000000..1df70a9447 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/exports-variable/actual.js @@ -0,0 +1,9 @@ +export var foo = 1; +export var foo2 = 1, bar = 2; +export var foo3 = function () {}; +export var foo4; +export let foo5 = 2; +export let foo6; +export const foo7 = 3; +export function foo8 () {} +export class foo9 {} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/exports-variable/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/exports-variable/expected.js new file mode 100644 index 0000000000..7d388df542 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/exports-variable/expected.js @@ -0,0 +1,29 @@ +"use strict"; + +exports.__esModule = true; +exports.foo8 = foo8; +exports.foo9 = exports.foo7 = exports.foo6 = exports.foo5 = exports.foo4 = exports.foo3 = exports.bar = exports.foo2 = exports.foo = void 0; +var foo = 1; +exports.foo = foo; +var foo2 = 1, + bar = 2; +exports.bar = bar; +exports.foo2 = foo2; + +var foo3 = function () {}; + +exports.foo3 = foo3; +var foo4; +exports.foo4 = foo4; +let foo5 = 2; +exports.foo5 = foo5; +let foo6; +exports.foo6 = foo6; +const foo7 = 3; +exports.foo7 = foo7; + +function foo8() {} + +class foo9 {} + +exports.foo9 = foo9; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/hoist-function-exports/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/hoist-function-exports/actual.js new file mode 100644 index 0000000000..3c40b7d1c1 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/hoist-function-exports/actual.js @@ -0,0 +1,11 @@ +import { isEven } from "./evens"; + +export function nextOdd(n) { + return isEven(n) ? n + 1 : n + 2; +} + +export var isOdd = (function (isEven) { + return function (n) { + return !isEven(n); + }; +})(isEven); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/hoist-function-exports/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/hoist-function-exports/expected.js new file mode 100644 index 0000000000..ca8fd7c8dd --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/hoist-function-exports/expected.js @@ -0,0 +1,19 @@ +"use strict"; + +exports.__esModule = true; +exports.nextOdd = nextOdd; +exports.isOdd = void 0; + +var _evens = require("./evens"); + +function nextOdd(n) { + return (0, _evens.isEven)(n) ? n + 1 : n + 2; +} + +var isOdd = function (isEven) { + return function (n) { + return !isEven(n); + }; +}(_evens.isEven); + +exports.isOdd = isOdd; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/illegal-export-esmodule-2/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/illegal-export-esmodule-2/actual.js new file mode 100644 index 0000000000..78d11110fc --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/illegal-export-esmodule-2/actual.js @@ -0,0 +1,2 @@ +var __esModule; +export { __esModule }; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/illegal-export-esmodule-2/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/illegal-export-esmodule-2/options.json new file mode 100644 index 0000000000..00d93fb5d5 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/illegal-export-esmodule-2/options.json @@ -0,0 +1,4 @@ +{ + "throws": "Illegal export \"__esModule\"", + "plugins": [["transform-modules-commonjs", { "loose": true }]] +} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/illegal-export-esmodule/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/illegal-export-esmodule/actual.js new file mode 100644 index 0000000000..c8e52fd594 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/illegal-export-esmodule/actual.js @@ -0,0 +1 @@ +export var __esModule = false; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/illegal-export-esmodule/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/illegal-export-esmodule/options.json new file mode 100644 index 0000000000..00d93fb5d5 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/illegal-export-esmodule/options.json @@ -0,0 +1,4 @@ +{ + "throws": "Illegal export \"__esModule\"", + "plugins": [["transform-modules-commonjs", { "loose": true }]] +} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-default/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-default/actual.js new file mode 100644 index 0000000000..9180467e20 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-default/actual.js @@ -0,0 +1,5 @@ +import foo from "foo"; +import {default as foo2} from "foo"; + +foo; +foo2; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-default/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-default/expected.js new file mode 100644 index 0000000000..afd7fbee4d --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-default/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +var _foo = babelHelpers.interopRequireDefault(require("foo")); + +_foo.default; +_foo.default; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-glob/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-glob/actual.js new file mode 100644 index 0000000000..e55c077500 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-glob/actual.js @@ -0,0 +1 @@ +import * as foo from "foo"; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-glob/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-glob/expected.js new file mode 100644 index 0000000000..ee841e5215 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-glob/expected.js @@ -0,0 +1,3 @@ +"use strict"; + +var foo = babelHelpers.interopRequireWildcard(require("foo")); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-hoisting/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-hoisting/actual.js new file mode 100644 index 0000000000..ebbb389139 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-hoisting/actual.js @@ -0,0 +1 @@ +tag`foo`; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-hoisting/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-hoisting/expected.js new file mode 100644 index 0000000000..f88741ee45 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-hoisting/expected.js @@ -0,0 +1,5 @@ +var _taggedTemplateLiteral = require("@babel/runtime/helpers/taggedTemplateLiteral"); + +var _templateObject = /*#__PURE__*/ _taggedTemplateLiteral(["foo"], ["foo"]); + +tag(_templateObject); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-hoisting/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-hoisting/options.json new file mode 100644 index 0000000000..bb7528c93a --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-hoisting/options.json @@ -0,0 +1,7 @@ +{ + "plugins": [ + "transform-runtime", + "transform-template-literals", + ["transform-modules-commonjs", { "loose": true }] + ] +} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-mixing/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-mixing/actual.js new file mode 100644 index 0000000000..0336d174c0 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-mixing/actual.js @@ -0,0 +1,4 @@ +import foo, {baz as xyz} from "foo"; + +foo; +xyz; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-mixing/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-mixing/expected.js new file mode 100644 index 0000000000..4e9428f6bd --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-mixing/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +var _foo = babelHelpers.interopRequireWildcard(require("foo")); + +_foo.default; +_foo.baz; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-named/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-named/actual.js new file mode 100644 index 0000000000..987dbe3a05 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-named/actual.js @@ -0,0 +1,11 @@ +import {bar} from "foo"; +import {bar2, baz} from "foo"; +import {bar as baz2} from "foo"; +import {bar as baz3, xyz} from "foo"; + +bar; +bar2; +baz; +baz2; +baz3; +xyz; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-named/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-named/expected.js new file mode 100644 index 0000000000..4d8c433491 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-named/expected.js @@ -0,0 +1,10 @@ +"use strict"; + +var _foo = require("foo"); + +_foo.bar; +_foo.bar2; +_foo.baz; +_foo.bar; +_foo.bar; +_foo.xyz; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-ordering/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-ordering/actual.js new file mode 100644 index 0000000000..d2570acf4e --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-ordering/actual.js @@ -0,0 +1,4 @@ +import './foo'; +import bar from './bar'; +import './derp'; +import { qux } from './qux'; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-ordering/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-ordering/expected.js new file mode 100644 index 0000000000..c975f56f96 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports-ordering/expected.js @@ -0,0 +1,9 @@ +"use strict"; + +require("./foo"); + +var _bar = babelHelpers.interopRequireDefault(require("./bar")); + +require("./derp"); + +var _qux = require("./qux"); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports/actual.js new file mode 100644 index 0000000000..222b6885ac --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports/actual.js @@ -0,0 +1,3 @@ +import "foo"; +import "foo-bar"; +import "./directory/foo-bar"; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports/expected.js new file mode 100644 index 0000000000..f1a139f51a --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/imports/expected.js @@ -0,0 +1,7 @@ +"use strict"; + +require("foo"); + +require("foo-bar"); + +require("./directory/foo-bar"); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/module-shadow/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/module-shadow/actual.js new file mode 100644 index 0000000000..8ee185c87d --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/module-shadow/actual.js @@ -0,0 +1,3 @@ +export function module() { + +} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/module-shadow/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/module-shadow/expected.js new file mode 100644 index 0000000000..0f1ce58a71 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/module-shadow/expected.js @@ -0,0 +1,6 @@ +"use strict"; + +exports.__esModule = true; +exports.module = _module; + +function _module() {} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/actual.js new file mode 100644 index 0000000000..c21dca024a --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/actual.js @@ -0,0 +1,3 @@ +export {}; + +console.log(helper); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/expected.js new file mode 100644 index 0000000000..9930c38eb4 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/expected.js @@ -0,0 +1,7 @@ +"use strict"; + +var _interopRequireDefault3 = require("@babel/runtime/helpers/interopRequireDefault"); + +var _interopRequireDefault2 = _interopRequireDefault3(require("@babel/runtime/helpers/interopRequireDefault")); + +console.log(_interopRequireDefault2.default); diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/options.json new file mode 100644 index 0000000000..c10a137f38 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/options.json @@ -0,0 +1,7 @@ +{ + "plugins": [ + ["transform-modules-commonjs", { "loose": true }], + "transform-runtime", + "./plugin" + ] +} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/plugin.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/plugin.js new file mode 100644 index 0000000000..22a13dab2d --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/multi-load/plugin.js @@ -0,0 +1,11 @@ +module.exports = function() { + return { + visitor: { + Identifier: function(path) { + if (path.node.name !== "helper") return; + + path.replaceWith(this.addHelper("interopRequireDefault")); + }, + }, + }; +}; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/options.json b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/options.json new file mode 100644 index 0000000000..4a31dd9de2 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/options.json @@ -0,0 +1,6 @@ +{ + "plugins": [ + "external-helpers", + ["transform-modules-commonjs", { "loose": true }] + ] +} diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/overview/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/overview/actual.js new file mode 100644 index 0000000000..71e464640d --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/overview/actual.js @@ -0,0 +1,15 @@ +import "foo"; +import "foo-bar"; +import "./directory/foo-bar"; +import foo from "foo2"; +import * as foo2 from "foo3"; +import {bar} from "foo4"; +import {foo as bar2} from "foo5"; + +var test; +export {test}; +export var test2 = 5; + +bar; +bar2; +foo; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/overview/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/overview/expected.js new file mode 100644 index 0000000000..22718b49a4 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/overview/expected.js @@ -0,0 +1,26 @@ +"use strict"; + +exports.__esModule = true; +exports.test2 = exports.test = void 0; + +require("foo"); + +require("foo-bar"); + +require("./directory/foo-bar"); + +var _foo2 = babelHelpers.interopRequireDefault(require("foo2")); + +var foo2 = babelHelpers.interopRequireWildcard(require("foo3")); + +var _foo4 = require("foo4"); + +var _foo5 = require("foo5"); + +var test; +exports.test = test; +var test2 = 5; +exports.test2 = test2; +_foo4.bar; +_foo5.foo; +_foo2.default; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/remap/actual.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/remap/actual.js new file mode 100644 index 0000000000..f5cf475bec --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/remap/actual.js @@ -0,0 +1,21 @@ +export var test = 2; +test = 5; +test++; + +(function () { + var test = 2; + test = 3; + test++; +})(); + +var a = 2; +export { a }; +a = 3; + +var b = 2; +export { b as c }; +b = 3; + +var d = 3; +export { d as e, d as f }; +d = 4; diff --git a/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/remap/expected.js b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/remap/expected.js new file mode 100644 index 0000000000..c6ac0e81a6 --- /dev/null +++ b/packages/babel-plugin-transform-modules-commonjs/test/fixtures/interop-loose/remap/expected.js @@ -0,0 +1,24 @@ +"use strict"; + +exports.__esModule = true; +exports.f = exports.e = exports.c = exports.a = exports.test = void 0; +var test = 2; +exports.test = test; +exports.test = test = 5; +exports.test = test = test + 1; + +(function () { + var test = 2; + test = 3; + test++; +})(); + +var a = 2; +exports.a = a; +exports.a = a = 3; +var b = 2; +exports.c = b; +exports.c = b = 3; +var d = 3; +exports.f = exports.e = d; +exports.f = exports.e = d = 4; diff --git a/packages/babel-plugin-transform-modules-umd/src/index.js b/packages/babel-plugin-transform-modules-umd/src/index.js index 7bbd0cd4cc..de21197ffc 100644 --- a/packages/babel-plugin-transform-modules-umd/src/index.js +++ b/packages/babel-plugin-transform-modules-umd/src/index.js @@ -181,7 +181,9 @@ export default function({ types: t }, options) { } } - headers.push(...buildNamespaceInitStatements(meta, metadata)); + headers.push( + ...buildNamespaceInitStatements(meta, metadata, loose), + ); } ensureStatementsHoisted(headers); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-10/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-10/actual.js new file mode 100644 index 0000000000..f0fe347f9e --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-10/actual.js @@ -0,0 +1 @@ +export default (function(){return "foo"})(); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-10/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-10/expected.js new file mode 100644 index 0000000000..61f3e37560 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-10/expected.js @@ -0,0 +1,24 @@ +(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"; + + _exports.__esModule = true; + _exports.default = void 0; + + var _default = function () { + return "foo"; + }(); + + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-11/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-11/actual.js new file mode 100644 index 0000000000..44bb8e1880 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-11/actual.js @@ -0,0 +1,3 @@ +export default new Cachier() + +export function Cachier(databaseName) {} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-11/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-11/expected.js new file mode 100644 index 0000000000..f1a5ea19a0 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-11/expected.js @@ -0,0 +1,25 @@ +(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"; + + _exports.__esModule = true; + _exports.Cachier = Cachier; + _exports.default = void 0; + + var _default = new Cachier(); + + _exports.default = _default; + + function Cachier(databaseName) {} +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-2/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-2/actual.js new file mode 100644 index 0000000000..ff8b4c5632 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-2/actual.js @@ -0,0 +1 @@ +export default {}; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-2/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-2/expected.js new file mode 100644 index 0000000000..183d0f231b --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-2/expected.js @@ -0,0 +1,20 @@ +(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"; + + _exports.__esModule = true; + _exports.default = void 0; + var _default = {}; + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-3/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-3/actual.js new file mode 100644 index 0000000000..d6d1738de6 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-3/actual.js @@ -0,0 +1 @@ +export default []; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-3/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-3/expected.js new file mode 100644 index 0000000000..2ca915c40e --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-3/expected.js @@ -0,0 +1,20 @@ +(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"; + + _exports.__esModule = true; + _exports.default = void 0; + var _default = []; + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-4/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-4/actual.js new file mode 100644 index 0000000000..f7b318b3f6 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-4/actual.js @@ -0,0 +1 @@ +export default foo; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-4/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-4/expected.js new file mode 100644 index 0000000000..e58b020fab --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-4/expected.js @@ -0,0 +1,20 @@ +(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"; + + _exports.__esModule = true; + _exports.default = void 0; + var _default = foo; + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-5/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-5/actual.js new file mode 100644 index 0000000000..ea9b101e1c --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-5/actual.js @@ -0,0 +1 @@ +export default function () {} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-5/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-5/expected.js new file mode 100644 index 0000000000..b0ff460826 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-5/expected.js @@ -0,0 +1,20 @@ +(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"; + + _exports.__esModule = true; + _exports.default = _default; + + function _default() {} +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-6/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-6/actual.js new file mode 100644 index 0000000000..a6e68e9838 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-6/actual.js @@ -0,0 +1 @@ +export default class {} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-6/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-6/expected.js new file mode 100644 index 0000000000..7526541461 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-6/expected.js @@ -0,0 +1,22 @@ +(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"; + + _exports.__esModule = true; + _exports.default = void 0; + + class _default {} + + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-7/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-7/actual.js new file mode 100644 index 0000000000..4389e1a496 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-7/actual.js @@ -0,0 +1 @@ +export default function foo () {} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-7/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-7/expected.js new file mode 100644 index 0000000000..8d4504c2ba --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-7/expected.js @@ -0,0 +1,20 @@ +(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"; + + _exports.__esModule = true; + _exports.default = foo; + + function foo() {} +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-8/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-8/actual.js new file mode 100644 index 0000000000..7804111002 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-8/actual.js @@ -0,0 +1 @@ +export default class Foo {} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-8/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-8/expected.js new file mode 100644 index 0000000000..be17d9c167 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-8/expected.js @@ -0,0 +1,22 @@ +(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"; + + _exports.__esModule = true; + _exports.default = void 0; + + class Foo {} + + _exports.default = Foo; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-9/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-9/actual.js new file mode 100644 index 0000000000..9d6ebe46ed --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-9/actual.js @@ -0,0 +1,3 @@ +var foo; +export { foo as default }; + diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-9/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-9/expected.js new file mode 100644 index 0000000000..c5b16d5b9d --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default-9/expected.js @@ -0,0 +1,20 @@ +(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"; + + _exports.__esModule = true; + _exports.default = void 0; + var foo; + _exports.default = foo; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default/actual.js new file mode 100644 index 0000000000..7a4e8a723a --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default/actual.js @@ -0,0 +1 @@ +export default 42; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default/expected.js new file mode 100644 index 0000000000..fba4c04587 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-default/expected.js @@ -0,0 +1,20 @@ +(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"; + + _exports.__esModule = true; + _exports.default = void 0; + var _default = 42; + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-2/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-2/actual.js new file mode 100644 index 0000000000..5be9a685aa --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-2/actual.js @@ -0,0 +1 @@ +export {foo as default} from "foo"; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-2/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-2/expected.js new file mode 100644 index 0000000000..520a6b509b --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-2/expected.js @@ -0,0 +1,18 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["exports", "foo"], factory); + } else if (typeof exports !== "undefined") { + factory(exports, require("foo")); + } else { + var mod = { + exports: {} + }; + factory(mod.exports, global.foo); + global.actual = mod.exports; + } +})(this, function (_exports, _foo) { + "use strict"; + + _exports.__esModule = true; + _exports.default = _foo.foo; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-3/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-3/actual.js new file mode 100644 index 0000000000..4461d79e3b --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-3/actual.js @@ -0,0 +1 @@ +export {foo as default, bar} from "foo"; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-3/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-3/expected.js new file mode 100644 index 0000000000..5a6f824f43 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-3/expected.js @@ -0,0 +1,19 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["exports", "foo"], factory); + } else if (typeof exports !== "undefined") { + factory(exports, require("foo")); + } else { + var mod = { + exports: {} + }; + factory(mod.exports, global.foo); + global.actual = mod.exports; + } +})(this, function (_exports, _foo) { + "use strict"; + + _exports.__esModule = true; + _exports.default = _foo.foo; + _exports.bar = _foo.bar; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-4/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-4/actual.js new file mode 100644 index 0000000000..9fff903bd9 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-4/actual.js @@ -0,0 +1 @@ +export {foo as bar} from "foo"; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-4/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-4/expected.js new file mode 100644 index 0000000000..11344ddf0d --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-4/expected.js @@ -0,0 +1,18 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["exports", "foo"], factory); + } else if (typeof exports !== "undefined") { + factory(exports, require("foo")); + } else { + var mod = { + exports: {} + }; + factory(mod.exports, global.foo); + global.actual = mod.exports; + } +})(this, function (_exports, _foo) { + "use strict"; + + _exports.__esModule = true; + _exports.bar = _foo.foo; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-5/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-5/actual.js new file mode 100644 index 0000000000..35c2762a29 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-5/actual.js @@ -0,0 +1 @@ +export {foo, bar} from "foo"; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-5/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-5/expected.js new file mode 100644 index 0000000000..4ee5bc2347 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-5/expected.js @@ -0,0 +1,19 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["exports", "foo"], factory); + } else if (typeof exports !== "undefined") { + factory(exports, require("foo")); + } else { + var mod = { + exports: {} + }; + factory(mod.exports, global.foo); + global.actual = mod.exports; + } +})(this, function (_exports, _foo) { + "use strict"; + + _exports.__esModule = true; + _exports.foo = _foo.foo; + _exports.bar = _foo.bar; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-6/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-6/actual.js new file mode 100644 index 0000000000..9ec8f63ab2 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-6/actual.js @@ -0,0 +1 @@ +export * from "foo"; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-6/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-6/expected.js new file mode 100644 index 0000000000..ad0cfca08b --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from-6/expected.js @@ -0,0 +1,21 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["exports", "foo"], factory); + } else if (typeof exports !== "undefined") { + factory(exports, require("foo")); + } else { + var mod = { + exports: {} + }; + factory(mod.exports, global.foo); + global.actual = mod.exports; + } +})(this, function (_exports, _foo) { + "use strict"; + + _exports.__esModule = true; + Object.keys(_foo).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + _exports[key] = _foo[key]; + }); +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from/actual.js new file mode 100644 index 0000000000..83b7b67c51 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from/actual.js @@ -0,0 +1 @@ +export {foo} from "foo"; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from/expected.js new file mode 100644 index 0000000000..2ccde04820 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-from/expected.js @@ -0,0 +1,18 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["exports", "foo"], factory); + } else if (typeof exports !== "undefined") { + factory(exports, require("foo")); + } else { + var mod = { + exports: {} + }; + factory(mod.exports, global.foo); + global.actual = mod.exports; + } +})(this, function (_exports, _foo) { + "use strict"; + + _exports.__esModule = true; + _exports.foo = _foo.foo; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-2/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-2/actual.js new file mode 100644 index 0000000000..6cf31d7c35 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-2/actual.js @@ -0,0 +1,2 @@ +var foo; +export {foo as default}; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-2/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-2/expected.js new file mode 100644 index 0000000000..c5b16d5b9d --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-2/expected.js @@ -0,0 +1,20 @@ +(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"; + + _exports.__esModule = true; + _exports.default = void 0; + var foo; + _exports.default = foo; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-3/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-3/actual.js new file mode 100644 index 0000000000..d8d18266bb --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-3/actual.js @@ -0,0 +1,2 @@ +var foo, bar; +export {foo as default, bar}; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-3/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-3/expected.js new file mode 100644 index 0000000000..bf92e3f3b9 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-3/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"; + + _exports.__esModule = true; + _exports.bar = _exports.default = void 0; + var foo, bar; + _exports.bar = bar; + _exports.default = foo; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-4/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-4/actual.js new file mode 100644 index 0000000000..0e20b2a7c2 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-4/actual.js @@ -0,0 +1,2 @@ +var foo; +export {foo as bar}; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-4/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-4/expected.js new file mode 100644 index 0000000000..cbd8573d69 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-4/expected.js @@ -0,0 +1,20 @@ +(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"; + + _exports.__esModule = true; + _exports.bar = void 0; + var foo; + _exports.bar = foo; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-5/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-5/actual.js new file mode 100644 index 0000000000..b2bb6f25f1 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-5/actual.js @@ -0,0 +1,2 @@ +var foo, bar; +export {foo, bar}; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-5/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-5/expected.js new file mode 100644 index 0000000000..c666006513 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named-5/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"; + + _exports.__esModule = true; + _exports.bar = _exports.foo = void 0; + var foo, bar; + _exports.bar = bar; + _exports.foo = foo; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named/actual.js new file mode 100644 index 0000000000..8da11199f4 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named/actual.js @@ -0,0 +1,2 @@ +var foo; +export {foo}; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named/expected.js new file mode 100644 index 0000000000..5c44bed0cb --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/export-named/expected.js @@ -0,0 +1,20 @@ +(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"; + + _exports.__esModule = true; + _exports.foo = void 0; + var foo; + _exports.foo = foo; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/exports-variable/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/exports-variable/actual.js new file mode 100644 index 0000000000..1df70a9447 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/exports-variable/actual.js @@ -0,0 +1,9 @@ +export var foo = 1; +export var foo2 = 1, bar = 2; +export var foo3 = function () {}; +export var foo4; +export let foo5 = 2; +export let foo6; +export const foo7 = 3; +export function foo8 () {} +export class foo9 {} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/exports-variable/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/exports-variable/expected.js new file mode 100644 index 0000000000..a82cba50a4 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/exports-variable/expected.js @@ -0,0 +1,43 @@ +(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"; + + _exports.__esModule = true; + _exports.foo8 = foo8; + _exports.foo9 = _exports.foo7 = _exports.foo6 = _exports.foo5 = _exports.foo4 = _exports.foo3 = _exports.bar = _exports.foo2 = _exports.foo = void 0; + var foo = 1; + _exports.foo = foo; + var foo2 = 1, + bar = 2; + _exports.bar = bar; + _exports.foo2 = foo2; + + var foo3 = function () {}; + + _exports.foo3 = foo3; + var foo4; + _exports.foo4 = foo4; + let foo5 = 2; + _exports.foo5 = foo5; + let foo6; + _exports.foo6 = foo6; + const foo7 = 3; + _exports.foo7 = foo7; + + function foo8() {} + + class foo9 {} + + _exports.foo9 = foo9; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/get-module-name-option/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/get-module-name-option/actual.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/get-module-name-option/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/get-module-name-option/expected.js new file mode 100644 index 0000000000..d5c9406620 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/get-module-name-option/expected.js @@ -0,0 +1,15 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define("my custom module name", [], factory); + } else if (typeof exports !== "undefined") { + factory(); + } else { + var mod = { + exports: {} + }; + factory(); + global.myCustomModuleName = mod.exports; + } +})(this, function () { + "use strict"; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/get-module-name-option/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/get-module-name-option/options.json new file mode 100644 index 0000000000..fd01b12b80 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/get-module-name-option/options.json @@ -0,0 +1,8 @@ +{ + "moduleIds": true, + "moduleId": "my custom module name", + "plugins": [ + "external-helpers", + ["transform-modules-umd", { "loose": true }] + ] +} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/hoist-function-exports/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/hoist-function-exports/actual.js new file mode 100644 index 0000000000..3c40b7d1c1 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/hoist-function-exports/actual.js @@ -0,0 +1,11 @@ +import { isEven } from "./evens"; + +export function nextOdd(n) { + return isEven(n) ? n + 1 : n + 2; +} + +export var isOdd = (function (isEven) { + return function (n) { + return !isEven(n); + }; +})(isEven); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/hoist-function-exports/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/hoist-function-exports/expected.js new file mode 100644 index 0000000000..d5700f1d8f --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/hoist-function-exports/expected.js @@ -0,0 +1,31 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["exports", "./evens"], factory); + } else if (typeof exports !== "undefined") { + factory(exports, require("./evens")); + } else { + var mod = { + exports: {} + }; + factory(mod.exports, global.evens); + global.actual = mod.exports; + } +})(this, function (_exports, _evens) { + "use strict"; + + _exports.__esModule = true; + _exports.nextOdd = nextOdd; + _exports.isOdd = void 0; + + function nextOdd(n) { + return (0, _evens.isEven)(n) ? n + 1 : n + 2; + } + + var isOdd = function (isEven) { + return function (n) { + return !isEven(n); + }; + }(_evens.isEven); + + _exports.isOdd = isOdd; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-default/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-default/actual.js new file mode 100644 index 0000000000..9180467e20 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-default/actual.js @@ -0,0 +1,5 @@ +import foo from "foo"; +import {default as foo2} from "foo"; + +foo; +foo2; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-default/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-default/expected.js new file mode 100644 index 0000000000..4196edc91c --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-default/expected.js @@ -0,0 +1,19 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["foo"], factory); + } else if (typeof exports !== "undefined") { + factory(require("foo")); + } else { + var mod = { + exports: {} + }; + factory(global.foo); + global.actual = mod.exports; + } +})(this, function (_foo) { + "use strict"; + + _foo = babelHelpers.interopRequireDefault(_foo); + _foo.default; + _foo.default; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false-with-overrides/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false-with-overrides/actual.js new file mode 100644 index 0000000000..0e67018dc4 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false-with-overrides/actual.js @@ -0,0 +1,3 @@ +import fooBar1 from "foo-bar"; +import fooBar2 from "./mylib/foo-bar"; +import fizzBuzz from "fizzbuzz"; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false-with-overrides/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false-with-overrides/expected.js new file mode 100644 index 0000000000..2c40b18e52 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false-with-overrides/expected.js @@ -0,0 +1,19 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["foo-bar", "./mylib/foo-bar", "fizzbuzz"], factory); + } else if (typeof exports !== "undefined") { + factory(require("foo-bar"), require("./mylib/foo-bar"), require("fizzbuzz")); + } else { + var mod = { + exports: {} + }; + factory(global.fooBAR, global.fooBAR, global.fizzBuzz); + global.actual = mod.exports; + } +})(this, function (_fooBar, _fooBar2, _fizzbuzz) { + "use strict"; + + _fooBar = babelHelpers.interopRequireDefault(_fooBar); + _fooBar2 = babelHelpers.interopRequireDefault(_fooBar2); + _fizzbuzz = babelHelpers.interopRequireDefault(_fizzbuzz); +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false-with-overrides/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false-with-overrides/options.json new file mode 100644 index 0000000000..d1283677d8 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false-with-overrides/options.json @@ -0,0 +1,13 @@ +{ + "plugins": [ + "external-helpers", + ["transform-modules-umd", { + "globals": { + "foo-bar": "fooBAR", + "./mylib/foo-bar": "mylib.fooBar", + "fizzbuzz": "fizz.buzz" + }, + "loose": true + }] + ] +} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false/actual.js new file mode 100644 index 0000000000..0e67018dc4 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false/actual.js @@ -0,0 +1,3 @@ +import fooBar1 from "foo-bar"; +import fooBar2 from "./mylib/foo-bar"; +import fizzBuzz from "fizzbuzz"; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false/expected.js new file mode 100644 index 0000000000..1811d048b0 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-false/expected.js @@ -0,0 +1,19 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["foo-bar", "./mylib/foo-bar", "fizzbuzz"], factory); + } else if (typeof exports !== "undefined") { + factory(require("foo-bar"), require("./mylib/foo-bar"), require("fizzbuzz")); + } else { + var mod = { + exports: {} + }; + factory(global.fooBar, global.fooBar, global.fizzbuzz); + global.actual = mod.exports; + } +})(this, function (_fooBar, _fooBar2, _fizzbuzz) { + "use strict"; + + _fooBar = babelHelpers.interopRequireDefault(_fooBar); + _fooBar2 = babelHelpers.interopRequireDefault(_fooBar2); + _fizzbuzz = babelHelpers.interopRequireDefault(_fizzbuzz); +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true-with-overrides/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true-with-overrides/actual.js new file mode 100644 index 0000000000..0e67018dc4 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true-with-overrides/actual.js @@ -0,0 +1,3 @@ +import fooBar1 from "foo-bar"; +import fooBar2 from "./mylib/foo-bar"; +import fizzBuzz from "fizzbuzz"; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true-with-overrides/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true-with-overrides/expected.js new file mode 100644 index 0000000000..f586b13c0f --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true-with-overrides/expected.js @@ -0,0 +1,19 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["foo-bar", "./mylib/foo-bar", "fizzbuzz"], factory); + } else if (typeof exports !== "undefined") { + factory(require("foo-bar"), require("./mylib/foo-bar"), require("fizzbuzz")); + } else { + var mod = { + exports: {} + }; + factory(global.fooBAR, global.mylib.fooBar, global.fizz.buzz); + global.actual = mod.exports; + } +})(this, function (_fooBar, _fooBar2, _fizzbuzz) { + "use strict"; + + _fooBar = babelHelpers.interopRequireDefault(_fooBar); + _fooBar2 = babelHelpers.interopRequireDefault(_fooBar2); + _fizzbuzz = babelHelpers.interopRequireDefault(_fizzbuzz); +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true-with-overrides/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true-with-overrides/options.json new file mode 100644 index 0000000000..f035809469 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true-with-overrides/options.json @@ -0,0 +1,14 @@ +{ + "plugins": [ + "external-helpers", + ["transform-modules-umd", { + "globals": { + "foo-bar": "fooBAR", + "./mylib/foo-bar": "mylib.fooBar", + "fizzbuzz": "fizz.buzz" + }, + "exactGlobals": true, + "loose": true + }] + ] +} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true/actual.js new file mode 100644 index 0000000000..0e67018dc4 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true/actual.js @@ -0,0 +1,3 @@ +import fooBar1 from "foo-bar"; +import fooBar2 from "./mylib/foo-bar"; +import fizzBuzz from "fizzbuzz"; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true/expected.js new file mode 100644 index 0000000000..412d23865a --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true/expected.js @@ -0,0 +1,19 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["foo-bar", "./mylib/foo-bar", "fizzbuzz"], factory); + } else if (typeof exports !== "undefined") { + factory(require("foo-bar"), require("./mylib/foo-bar"), require("fizzbuzz")); + } else { + var mod = { + exports: {} + }; + factory(global.fooBar, global.mylibFooBar, global.fizzbuzz); + global.actual = mod.exports; + } +})(this, function (_fooBar, _fooBar2, _fizzbuzz) { + "use strict"; + + _fooBar = babelHelpers.interopRequireDefault(_fooBar); + _fooBar2 = babelHelpers.interopRequireDefault(_fooBar2); + _fizzbuzz = babelHelpers.interopRequireDefault(_fizzbuzz); +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true/options.json new file mode 100644 index 0000000000..b0038cc813 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-exact-globals-true/options.json @@ -0,0 +1,9 @@ +{ + "plugins": [ + "external-helpers", + ["transform-modules-umd", { + "exactGlobals": true, + "loose": true + }] + ] +} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-glob/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-glob/actual.js new file mode 100644 index 0000000000..6415edcb6e --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-glob/actual.js @@ -0,0 +1,3 @@ +import * as foo from "foo"; + +foo; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-glob/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-glob/expected.js new file mode 100644 index 0000000000..22cc82cc0a --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-glob/expected.js @@ -0,0 +1,18 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["foo"], factory); + } else if (typeof exports !== "undefined") { + factory(require("foo")); + } else { + var mod = { + exports: {} + }; + factory(global.foo); + global.actual = mod.exports; + } +})(this, function (foo) { + "use strict"; + + foo = babelHelpers.interopRequireWildcard(foo); + foo; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-mixing/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-mixing/actual.js new file mode 100644 index 0000000000..ae5fc41773 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-mixing/actual.js @@ -0,0 +1,2 @@ +import foo, {baz as xyz} from "foo"; +xyz; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-mixing/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-mixing/expected.js new file mode 100644 index 0000000000..3fc714c74f --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-mixing/expected.js @@ -0,0 +1,18 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["foo"], factory); + } else if (typeof exports !== "undefined") { + factory(require("foo")); + } else { + var mod = { + exports: {} + }; + factory(global.foo); + global.actual = mod.exports; + } +})(this, function (_foo) { + "use strict"; + + _foo = babelHelpers.interopRequireWildcard(_foo); + _foo.baz; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-named/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-named/actual.js new file mode 100644 index 0000000000..987dbe3a05 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-named/actual.js @@ -0,0 +1,11 @@ +import {bar} from "foo"; +import {bar2, baz} from "foo"; +import {bar as baz2} from "foo"; +import {bar as baz3, xyz} from "foo"; + +bar; +bar2; +baz; +baz2; +baz3; +xyz; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-named/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-named/expected.js new file mode 100644 index 0000000000..8f03bf54fc --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports-named/expected.js @@ -0,0 +1,22 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["foo"], factory); + } else if (typeof exports !== "undefined") { + factory(require("foo")); + } else { + var mod = { + exports: {} + }; + factory(global.foo); + global.actual = mod.exports; + } +})(this, function (_foo) { + "use strict"; + + _foo.bar; + _foo.bar2; + _foo.baz; + _foo.bar; + _foo.bar; + _foo.xyz; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports/actual.js new file mode 100644 index 0000000000..222b6885ac --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports/actual.js @@ -0,0 +1,3 @@ +import "foo"; +import "foo-bar"; +import "./directory/foo-bar"; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports/expected.js new file mode 100644 index 0000000000..be9bca8d65 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/imports/expected.js @@ -0,0 +1,15 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["foo", "foo-bar", "./directory/foo-bar"], factory); + } else if (typeof exports !== "undefined") { + factory(require("foo"), require("foo-bar"), require("./directory/foo-bar")); + } else { + var mod = { + exports: {} + }; + factory(global.foo, global.fooBar, global.fooBar); + global.actual = mod.exports; + } +})(this, function (_foo, _fooBar, _fooBar2) { + "use strict"; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-namespace/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-namespace/actual.js new file mode 100644 index 0000000000..7a4e8a723a --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-namespace/actual.js @@ -0,0 +1 @@ +export default 42; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-namespace/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-namespace/expected.js new file mode 100644 index 0000000000..b1b88602b1 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-namespace/expected.js @@ -0,0 +1,21 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define("my custom module name", ["exports"], factory); + } else if (typeof exports !== "undefined") { + factory(exports); + } else { + var mod = { + exports: {} + }; + factory(mod.exports); + global.foo = global.foo || {}; + global.foo.bar = mod.exports; + } +})(this, function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + var _default = 42; + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-namespace/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-namespace/options.json new file mode 100644 index 0000000000..c65dd5d94e --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-namespace/options.json @@ -0,0 +1,13 @@ +{ + "plugins": [ + "external-helpers", + ["transform-modules-umd", { + "globals": { + "my custom module name": "foo.bar" + }, + "exactGlobals": true, + "loose": true + }] + ], + "moduleId": "my custom module name" +} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-very-nested-namespace/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-very-nested-namespace/actual.js new file mode 100644 index 0000000000..7a4e8a723a --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-very-nested-namespace/actual.js @@ -0,0 +1 @@ +export default 42; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-very-nested-namespace/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-very-nested-namespace/expected.js new file mode 100644 index 0000000000..bcae91ef80 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-very-nested-namespace/expected.js @@ -0,0 +1,23 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define("my custom module name", ["exports"], factory); + } else if (typeof exports !== "undefined") { + factory(exports); + } else { + var mod = { + exports: {} + }; + factory(mod.exports); + global.foo = global.foo || {}; + global.foo.bar = global.foo.bar || {}; + global.foo.bar.baz = global.foo.bar.baz || {}; + global.foo.bar.baz.qux = mod.exports; + } +})(this, function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + var _default = 42; + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-very-nested-namespace/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-very-nested-namespace/options.json new file mode 100644 index 0000000000..cfe7588ad5 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global-in-very-nested-namespace/options.json @@ -0,0 +1,13 @@ +{ + "plugins": [ + "external-helpers", + ["transform-modules-umd", { + "globals": { + "my custom module name": "foo.bar.baz.qux" + }, + "exactGlobals": true, + "loose": true + }] + ], + "moduleId": "my custom module name" +} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global/actual.js new file mode 100644 index 0000000000..7a4e8a723a --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global/actual.js @@ -0,0 +1 @@ +export default 42; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global/expected.js new file mode 100644 index 0000000000..e643ca1729 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global/expected.js @@ -0,0 +1,20 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define("my custom module name", ["exports"], factory); + } else if (typeof exports !== "undefined") { + factory(exports); + } else { + var mod = { + exports: {} + }; + factory(mod.exports); + global.baz = mod.exports; + } +})(this, function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + var _default = 42; + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global/options.json new file mode 100644 index 0000000000..cb7f46a5ca --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id-with-overridden-global/options.json @@ -0,0 +1,13 @@ +{ + "plugins": [ + "external-helpers", + ["transform-modules-umd", { + "globals": { + "my custom module name": "baz" + }, + "exactGlobals": true, + "loose": true + }] + ], + "moduleId": "my custom module name" +} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id/actual.js new file mode 100644 index 0000000000..f3b473756e --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id/actual.js @@ -0,0 +1 @@ +foobar(); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id/expected.js new file mode 100644 index 0000000000..2e8e731219 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id/expected.js @@ -0,0 +1,17 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define("MyLib", [], factory); + } else if (typeof exports !== "undefined") { + factory(); + } else { + var mod = { + exports: {} + }; + factory(); + global.MyLib = mod.exports; + } +})(this, function () { + "use strict"; + + foobar(); +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id/options.json new file mode 100644 index 0000000000..bf41ea5a3f --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-id/options.json @@ -0,0 +1,7 @@ +{ + "moduleId": "MyLib", + "plugins": [ + "external-helpers", + ["transform-modules-umd", { "loose": true }] + ] +} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name-with-overridden-global/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name-with-overridden-global/actual.js new file mode 100644 index 0000000000..7a4e8a723a --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name-with-overridden-global/actual.js @@ -0,0 +1 @@ +export default 42; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name-with-overridden-global/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name-with-overridden-global/expected.js new file mode 100644 index 0000000000..a09e819fb0 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name-with-overridden-global/expected.js @@ -0,0 +1,20 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define("loose/module-name-with-overridden-global/expected", ["exports"], factory); + } else if (typeof exports !== "undefined") { + factory(exports); + } else { + var mod = { + exports: {} + }; + factory(mod.exports); + global.looseModuleNameWithOverriddenGlobalExpected = mod.exports; + } +})(this, function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + var _default = 42; + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name-with-overridden-global/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name-with-overridden-global/options.json new file mode 100644 index 0000000000..83141a3a9b --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name-with-overridden-global/options.json @@ -0,0 +1,13 @@ +{ + "plugins": [ + "external-helpers", + ["transform-modules-umd", { + "globals": { + "umd/module-name-with-overridden-global/expected": "baz" + }, + "exactGlobals": true, + "loose": true + }] + ], + "moduleIds": true +} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name/actual.js new file mode 100644 index 0000000000..f3b473756e --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name/actual.js @@ -0,0 +1 @@ +foobar(); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name/expected.js new file mode 100644 index 0000000000..cdbf7bc9a3 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name/expected.js @@ -0,0 +1,17 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define("loose/module-name/expected", [], factory); + } else if (typeof exports !== "undefined") { + factory(); + } else { + var mod = { + exports: {} + }; + factory(); + global.looseModuleNameExpected = mod.exports; + } +})(this, function () { + "use strict"; + + foobar(); +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name/options.json new file mode 100644 index 0000000000..050e3555fd --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/module-name/options.json @@ -0,0 +1,7 @@ +{ + "moduleIds": true, + "plugins": [ + "external-helpers", + ["transform-modules-umd", { "loose": true }] + ] +} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/non-default-imports/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/non-default-imports/actual.js new file mode 100644 index 0000000000..f6c94daa70 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/non-default-imports/actual.js @@ -0,0 +1 @@ +import { render } from "./lib/render"; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/non-default-imports/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/non-default-imports/expected.js new file mode 100644 index 0000000000..cd795edd21 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/non-default-imports/expected.js @@ -0,0 +1,15 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["./lib/render"], factory); + } else if (typeof exports !== "undefined") { + factory(require("./lib/render")); + } else { + var mod = { + exports: {} + }; + factory(global.render); + global.actual = mod.exports; + } +})(this, function (_render) { + "use strict"; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/options.json new file mode 100644 index 0000000000..5adcd9509c --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/options.json @@ -0,0 +1,6 @@ +{ + "plugins": [ + "external-helpers", + ["transform-modules-umd", { "loose": true }] + ] +} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-export-name/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-export-name/actual.js new file mode 100644 index 0000000000..7a4e8a723a --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-export-name/actual.js @@ -0,0 +1 @@ +export default 42; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-export-name/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-export-name/expected.js new file mode 100644 index 0000000000..841f330f58 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-export-name/expected.js @@ -0,0 +1,20 @@ +(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.baz = mod.exports; + } +})(this, function (_exports) { + "use strict"; + + _exports.__esModule = true; + _exports.default = void 0; + var _default = 42; + _exports.default = _default; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-export-name/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-export-name/options.json new file mode 100644 index 0000000000..4ca1bb3aaa --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-export-name/options.json @@ -0,0 +1,12 @@ +{ + "plugins": [ + "external-helpers", + ["transform-modules-umd", { + "globals": { + "actual": "baz" + }, + "exactGlobals": true, + "loose": true + }] + ] +} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-import-name/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-import-name/actual.js new file mode 100644 index 0000000000..232f138e46 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-import-name/actual.js @@ -0,0 +1 @@ +import "es6-promise"; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-import-name/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-import-name/expected.js new file mode 100644 index 0000000000..e184b8fef3 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-import-name/expected.js @@ -0,0 +1,15 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["es6-promise"], factory); + } else if (typeof exports !== "undefined") { + factory(require("es6-promise")); + } else { + var mod = { + exports: {} + }; + factory(global.Promise); + global.actual = mod.exports; + } +})(this, function (_es6Promise) { + "use strict"; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-import-name/options.json b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-import-name/options.json new file mode 100644 index 0000000000..b6bc2d2586 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/override-import-name/options.json @@ -0,0 +1,11 @@ +{ + "plugins": [ + "external-helpers", + ["transform-modules-umd", { + "globals": { + "es6-promise": "Promise" + }, + "loose": true + }] + ] +} diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/overview/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/overview/actual.js new file mode 100644 index 0000000000..af793598fa --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/overview/actual.js @@ -0,0 +1,16 @@ +import "foo"; +import "foo-bar"; +import "./directory/foo-bar"; +import foo from "foo"; +import * as foo2 from "foo"; +import {bar} from "foo"; +import {foo as bar2} from "foo"; + +var test; +export {test}; +export var test2 = 5; + +export default test; + +bar; +bar2; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/overview/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/overview/expected.js new file mode 100644 index 0000000000..a5b4274cc6 --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/overview/expected.js @@ -0,0 +1,27 @@ +(function (global, factory) { + if (typeof define === "function" && define.amd) { + define(["exports", "foo", "foo-bar", "./directory/foo-bar"], factory); + } else if (typeof exports !== "undefined") { + factory(exports, require("foo"), require("foo-bar"), require("./directory/foo-bar")); + } else { + var mod = { + exports: {} + }; + factory(mod.exports, global.foo, global.fooBar, global.fooBar); + global.actual = mod.exports; + } +})(this, function (_exports, foo2, _fooBar, _fooBar2) { + "use strict"; + + _exports.__esModule = true; + _exports.default = _exports.test2 = _exports.test = void 0; + foo2 = babelHelpers.interopRequireWildcard(foo2); + var test; + _exports.test = test; + var test2 = 5; + _exports.test2 = test2; + var _default = test; + _exports.default = _default; + foo2.bar; + foo2.foo; +}); diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/remap/actual.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/remap/actual.js new file mode 100644 index 0000000000..f5cf475bec --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/remap/actual.js @@ -0,0 +1,21 @@ +export var test = 2; +test = 5; +test++; + +(function () { + var test = 2; + test = 3; + test++; +})(); + +var a = 2; +export { a }; +a = 3; + +var b = 2; +export { b as c }; +b = 3; + +var d = 3; +export { d as e, d as f }; +d = 4; diff --git a/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/remap/expected.js b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/remap/expected.js new file mode 100644 index 0000000000..402874c60b --- /dev/null +++ b/packages/babel-plugin-transform-modules-umd/test/fixtures/loose/remap/expected.js @@ -0,0 +1,38 @@ +(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"; + + _exports.__esModule = true; + _exports.f = _exports.e = _exports.c = _exports.a = _exports.test = void 0; + var test = 2; + _exports.test = test; + _exports.test = test = 5; + _exports.test = test = test + 1; + + (function () { + var test = 2; + test = 3; + test++; + })(); + + var a = 2; + _exports.a = a; + _exports.a = a = 3; + var b = 2; + _exports.c = b; + _exports.c = b = 3; + var d = 3; + _exports.f = _exports.e = d; + _exports.f = _exports.e = d = 4; +});