Add additional support for loose mode in helper-module-transforms (#6742)
This commit is contained in:
parent
e8a33165ff
commit
d81cca3b5f
@ -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,
|
||||
|
||||
@ -68,7 +68,9 @@ export default function({ types: t }, options) {
|
||||
}
|
||||
}
|
||||
|
||||
headers.push(...buildNamespaceInitStatements(meta, metadata));
|
||||
headers.push(
|
||||
...buildNamespaceInitStatements(meta, metadata, loose),
|
||||
);
|
||||
}
|
||||
|
||||
ensureStatementsHoisted(headers);
|
||||
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-10/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-10/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export default (function(){return "foo"})();
|
||||
12
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-10/expected.js
vendored
Normal file
12
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-10/expected.js
vendored
Normal file
@ -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;
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-2/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-2/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export default {};
|
||||
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-2/expected.js
vendored
Normal file
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-2/expected.js
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
define(["exports"], function (_exports) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.default = void 0;
|
||||
var _default = {};
|
||||
_exports.default = _default;
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-3/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-3/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export default [];
|
||||
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-3/expected.js
vendored
Normal file
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-3/expected.js
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
define(["exports"], function (_exports) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.default = void 0;
|
||||
var _default = [];
|
||||
_exports.default = _default;
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-4/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-4/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export default foo;
|
||||
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-4/expected.js
vendored
Normal file
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-4/expected.js
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
define(["exports"], function (_exports) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.default = void 0;
|
||||
var _default = foo;
|
||||
_exports.default = _default;
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-5/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-5/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export default function () {}
|
||||
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-5/expected.js
vendored
Normal file
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-5/expected.js
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
define(["exports"], function (_exports) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.default = _default;
|
||||
|
||||
function _default() {}
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-6/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-6/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export default class {}
|
||||
10
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-6/expected.js
vendored
Normal file
10
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-6/expected.js
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
define(["exports"], function (_exports) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.default = void 0;
|
||||
|
||||
class _default {}
|
||||
|
||||
_exports.default = _default;
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-7/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-7/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export default function foo () {}
|
||||
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-7/expected.js
vendored
Normal file
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-7/expected.js
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
define(["exports"], function (_exports) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.default = foo;
|
||||
|
||||
function foo() {}
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-8/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-8/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export default class Foo {}
|
||||
10
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-8/expected.js
vendored
Normal file
10
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-8/expected.js
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
define(["exports"], function (_exports) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.default = void 0;
|
||||
|
||||
class Foo {}
|
||||
|
||||
_exports.default = Foo;
|
||||
});
|
||||
2
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-9/actual.js
vendored
Normal file
2
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-9/actual.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
var foo;
|
||||
export { foo as default };
|
||||
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-9/expected.js
vendored
Normal file
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default-9/expected.js
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
define(["exports"], function (_exports) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.default = void 0;
|
||||
var foo;
|
||||
_exports.default = foo;
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export default 42;
|
||||
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default/expected.js
vendored
Normal file
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-default/expected.js
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
define(["exports"], function (_exports) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.default = void 0;
|
||||
var _default = 42;
|
||||
_exports.default = _default;
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-2/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-2/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export {foo} from "foo";
|
||||
6
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-2/expected.js
vendored
Normal file
6
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-2/expected.js
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
define(["exports", "foo"], function (_exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.foo = _foo.foo;
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-3/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-3/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export {foo, bar} from "foo";
|
||||
7
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-3/expected.js
vendored
Normal file
7
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-3/expected.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
define(["exports", "foo"], function (_exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.foo = _foo.foo;
|
||||
_exports.bar = _foo.bar;
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-4/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-4/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export {foo as bar} from "foo";
|
||||
6
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-4/expected.js
vendored
Normal file
6
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-4/expected.js
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
define(["exports", "foo"], function (_exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.bar = _foo.foo;
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-5/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-5/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export {foo as default} from "foo";
|
||||
6
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-5/expected.js
vendored
Normal file
6
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-5/expected.js
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
define(["exports", "foo"], function (_exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.default = _foo.foo;
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-6/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-6/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export {foo as default, bar} from "foo";
|
||||
7
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-6/expected.js
vendored
Normal file
7
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from-6/expected.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
define(["exports", "foo"], function (_exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.default = _foo.foo;
|
||||
_exports.bar = _foo.bar;
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
export * from "foo";
|
||||
9
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from/expected.js
vendored
Normal file
9
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-from/expected.js
vendored
Normal file
@ -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];
|
||||
});
|
||||
});
|
||||
2
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-2/actual.js
vendored
Normal file
2
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-2/actual.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
var foo, bar;
|
||||
export {foo, bar};
|
||||
9
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-2/expected.js
vendored
Normal file
9
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-2/expected.js
vendored
Normal file
@ -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;
|
||||
});
|
||||
2
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-3/actual.js
vendored
Normal file
2
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-3/actual.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
var foo;
|
||||
export {foo as bar};
|
||||
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-3/expected.js
vendored
Normal file
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-3/expected.js
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
define(["exports"], function (_exports) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.bar = void 0;
|
||||
var foo;
|
||||
_exports.bar = foo;
|
||||
});
|
||||
2
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-4/actual.js
vendored
Normal file
2
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-4/actual.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
var foo;
|
||||
export {foo as default};
|
||||
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-4/expected.js
vendored
Normal file
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-4/expected.js
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
define(["exports"], function (_exports) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.default = void 0;
|
||||
var foo;
|
||||
_exports.default = foo;
|
||||
});
|
||||
2
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-5/actual.js
vendored
Normal file
2
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-5/actual.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
var foo, bar;
|
||||
export {foo as default, bar};
|
||||
9
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-5/expected.js
vendored
Normal file
9
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named-5/expected.js
vendored
Normal file
@ -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;
|
||||
});
|
||||
2
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named/actual.js
vendored
Normal file
2
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named/actual.js
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
var foo;
|
||||
export {foo};
|
||||
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named/expected.js
vendored
Normal file
8
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/export-named/expected.js
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
define(["exports"], function (_exports) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.foo = void 0;
|
||||
var foo;
|
||||
_exports.foo = foo;
|
||||
});
|
||||
@ -0,0 +1,2 @@
|
||||
var a = 1;
|
||||
export { a as default };
|
||||
@ -0,0 +1,8 @@
|
||||
define(["exports"], function (_exports) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.default = void 0;
|
||||
var a = 1;
|
||||
_exports.default = a;
|
||||
});
|
||||
9
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/exports-variable/actual.js
vendored
Normal file
9
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/exports-variable/actual.js
vendored
Normal file
@ -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 {}
|
||||
31
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/exports-variable/expected.js
vendored
Normal file
31
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/exports-variable/expected.js
vendored
Normal file
@ -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;
|
||||
});
|
||||
@ -0,0 +1,3 @@
|
||||
define("my custom module name", [], function () {
|
||||
"use strict";
|
||||
});
|
||||
@ -0,0 +1,8 @@
|
||||
{
|
||||
"moduleIds": true,
|
||||
"moduleId": "my custom module name",
|
||||
"plugins": [
|
||||
"external-helpers",
|
||||
["transform-modules-amd", { "loose": true }]
|
||||
]
|
||||
}
|
||||
11
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/hoist-function-exports/actual.js
vendored
Normal file
11
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/hoist-function-exports/actual.js
vendored
Normal file
@ -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);
|
||||
@ -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;
|
||||
});
|
||||
4
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/import-order/actual.js
vendored
Normal file
4
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/import-order/actual.js
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import './foo';
|
||||
import bar from './bar';
|
||||
import './derp';
|
||||
import { qux } from './qux';
|
||||
5
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/import-order/expected.js
vendored
Normal file
5
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/import-order/expected.js
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
define(["./foo", "./bar", "./derp", "./qux"], function (_foo, _bar, _derp, _qux) {
|
||||
"use strict";
|
||||
|
||||
_bar = babelHelpers.interopRequireDefault(_bar);
|
||||
});
|
||||
5
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-default/actual.js
vendored
Normal file
5
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-default/actual.js
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
import foo from "foo";
|
||||
import {default as foo2} from "foo";
|
||||
|
||||
foo;
|
||||
foo2;
|
||||
7
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-default/expected.js
vendored
Normal file
7
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-default/expected.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
define(["foo"], function (_foo) {
|
||||
"use strict";
|
||||
|
||||
_foo = babelHelpers.interopRequireDefault(_foo);
|
||||
_foo.default;
|
||||
_foo.default;
|
||||
});
|
||||
3
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-glob/actual.js
vendored
Normal file
3
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-glob/actual.js
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import * as foo from "foo";
|
||||
|
||||
foo;
|
||||
6
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-glob/expected.js
vendored
Normal file
6
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-glob/expected.js
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
define(["foo"], function (foo) {
|
||||
"use strict";
|
||||
|
||||
foo = babelHelpers.interopRequireWildcard(foo);
|
||||
foo;
|
||||
});
|
||||
4
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-mixing/actual.js
vendored
Normal file
4
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-mixing/actual.js
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
import foo, {baz as xyz} from "foo";
|
||||
|
||||
foo;
|
||||
xyz;
|
||||
7
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-mixing/expected.js
vendored
Normal file
7
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-mixing/expected.js
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
define(["foo"], function (_foo) {
|
||||
"use strict";
|
||||
|
||||
_foo = babelHelpers.interopRequireWildcard(_foo);
|
||||
_foo.default;
|
||||
_foo.baz;
|
||||
});
|
||||
11
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-named/actual.js
vendored
Normal file
11
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-named/actual.js
vendored
Normal file
@ -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;
|
||||
10
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-named/expected.js
vendored
Normal file
10
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports-named/expected.js
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
define(["foo"], function (_foo) {
|
||||
"use strict";
|
||||
|
||||
_foo.bar;
|
||||
_foo.bar2;
|
||||
_foo.baz;
|
||||
_foo.bar;
|
||||
_foo.bar;
|
||||
_foo.xyz;
|
||||
});
|
||||
3
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports/actual.js
vendored
Normal file
3
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports/actual.js
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
import "foo";
|
||||
import "foo-bar";
|
||||
import "./directory/foo-bar";
|
||||
3
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports/expected.js
vendored
Normal file
3
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/imports/expected.js
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
define(["foo", "foo-bar", "./directory/foo-bar"], function (_foo, _fooBar, _fooBar2) {
|
||||
"use strict";
|
||||
});
|
||||
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/actual.js
vendored
Normal file
1
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/actual.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
foobar();
|
||||
5
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/expected.js
vendored
Normal file
5
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/expected.js
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
define("loose/module-name/expected", [], function () {
|
||||
"use strict";
|
||||
|
||||
foobar();
|
||||
});
|
||||
7
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/options.json
vendored
Normal file
7
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/module-name/options.json
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"moduleIds": true,
|
||||
"plugins": [
|
||||
"external-helpers",
|
||||
["transform-modules-amd", { "loose": true }]
|
||||
]
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
export { default } from 'foo';
|
||||
@ -0,0 +1,6 @@
|
||||
define(["exports", "foo"], function (_exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
_exports.__esModule = true;
|
||||
_exports.default = _foo.default;
|
||||
});
|
||||
@ -0,0 +1,9 @@
|
||||
{
|
||||
"plugins": [
|
||||
"external-helpers",
|
||||
["transform-modules-amd", {
|
||||
"loose": true,
|
||||
"noInterop": true
|
||||
}]
|
||||
]
|
||||
}
|
||||
@ -0,0 +1,3 @@
|
||||
import foo from "foo";
|
||||
|
||||
foo;
|
||||
@ -0,0 +1,5 @@
|
||||
define(["foo"], function (_foo) {
|
||||
"use strict";
|
||||
|
||||
_foo.default;
|
||||
});
|
||||
@ -0,0 +1,9 @@
|
||||
{
|
||||
"plugins": [
|
||||
"external-helpers",
|
||||
["transform-modules-amd", {
|
||||
"loose": true,
|
||||
"noInterop": true
|
||||
}]
|
||||
]
|
||||
}
|
||||
6
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/options.json
vendored
Normal file
6
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/options.json
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"plugins": [
|
||||
"external-helpers",
|
||||
["transform-modules-amd", { "loose": true }]
|
||||
]
|
||||
}
|
||||
18
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/overview/actual.js
vendored
Normal file
18
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/overview/actual.js
vendored
Normal file
@ -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;
|
||||
17
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/overview/expected.js
vendored
Normal file
17
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/overview/expected.js
vendored
Normal file
@ -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;
|
||||
});
|
||||
21
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/remap/actual.js
vendored
Normal file
21
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/remap/actual.js
vendored
Normal file
@ -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;
|
||||
26
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/remap/expected.js
vendored
Normal file
26
packages/babel-plugin-transform-modules-amd/test/fixtures/loose/remap/expected.js
vendored
Normal file
@ -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;
|
||||
});
|
||||
@ -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);
|
||||
|
||||
@ -0,0 +1 @@
|
||||
export default (function(){return "foo"})();
|
||||
@ -0,0 +1,10 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
|
||||
var _default = function () {
|
||||
return "foo";
|
||||
}();
|
||||
|
||||
exports.default = _default;
|
||||
@ -0,0 +1,3 @@
|
||||
export default new Cachier()
|
||||
|
||||
export function Cachier(databaseName) {}
|
||||
@ -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) {}
|
||||
@ -0,0 +1 @@
|
||||
export default {};
|
||||
@ -0,0 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
var _default = {};
|
||||
exports.default = _default;
|
||||
@ -0,0 +1 @@
|
||||
export default [];
|
||||
@ -0,0 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
var _default = [];
|
||||
exports.default = _default;
|
||||
@ -0,0 +1 @@
|
||||
export default foo;
|
||||
@ -0,0 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
var _default = foo;
|
||||
exports.default = _default;
|
||||
@ -0,0 +1 @@
|
||||
export default function () {}
|
||||
@ -0,0 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = _default;
|
||||
|
||||
function _default() {}
|
||||
@ -0,0 +1 @@
|
||||
export default class {}
|
||||
@ -0,0 +1,8 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
|
||||
class _default {}
|
||||
|
||||
exports.default = _default;
|
||||
@ -0,0 +1 @@
|
||||
export default function foo () {}
|
||||
@ -0,0 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = foo;
|
||||
|
||||
function foo() {}
|
||||
@ -0,0 +1 @@
|
||||
export default class Foo {}
|
||||
@ -0,0 +1,8 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
|
||||
class Foo {}
|
||||
|
||||
exports.default = Foo;
|
||||
@ -0,0 +1,3 @@
|
||||
var foo;
|
||||
export { foo as default };
|
||||
|
||||
@ -0,0 +1,6 @@
|
||||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
var foo;
|
||||
exports.default = foo;
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user