Skip to content

Commit 71a003a

Browse files
Align named imports behavior in .mjs and .js files (#14366)
1 parent 8855e4c commit 71a003a

18 files changed

Lines changed: 34 additions & 31 deletions

File tree

packages/babel-plugin-transform-classes/test/fixtures/regression/2775/output.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
55
});
66
exports["default"] = void 0;
77

8-
var _react = babelHelpers.interopRequireDefault(require("react"));
8+
var _react = babelHelpers.interopRequireWildcard(require("react"));
99

1010
var RandomComponent = /*#__PURE__*/function (_Component) {
1111
babelHelpers.inherits(RandomComponent, _Component);

packages/babel-plugin-transform-modules-commonjs/src/index.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,14 @@ export default declare((api, options) => {
1919
const transformImportCall = createDynamicImportTransform(api);
2020

2121
const {
22-
// 'true' for non-mjs files to strictly have .default, instead of having
23-
// destructuring-like behavior for their properties.
22+
// 'true' for imports to strictly have .default, instead of having
23+
// destructuring-like behavior for their properties. This matches the behavior
24+
// of the initial Node.js (v12) behavior when importing a CommonJS without
25+
// the __esMoule property.
26+
// .strictNamespace is for non-mjs files, mjsStrictNamespace if for mjs files.
2427
strictNamespace = false,
28+
mjsStrictNamespace = strictNamespace,
2529

26-
// 'true' for mjs files to strictly have .default, instead of having
27-
// destructuring-like behavior for their properties.
28-
mjsStrictNamespace = true,
2930
allowTopLevelThis,
3031
strict,
3132
strictMode,

packages/babel-plugin-transform-modules-commonjs/test/fixtures/auxiliary-comment/overview/output.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ _foo2 = babelHelpers.interopRequireDefault(require("foo2"))
3131

3232
var
3333
/*before*/
34-
foo2 = babelHelpers.interopRequireDefault(require("foo3"))
34+
foo2 = babelHelpers.interopRequireWildcard(require("foo3"))
3535
/*after*/
3636
;
3737

packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-dep/import-namespace/output.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use strict";
22

33
function foo() {
4-
const data = babelHelpers.interopRequireDefault(require("foo"));
4+
const data = babelHelpers.interopRequireWildcard(require("foo"));
55

66
foo = function () {
77
return data;

packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-dep/reexport-namespace/output.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
66
exports.namespace = void 0;
77

88
function namespace() {
9-
const data = babelHelpers.interopRequireDefault(require("foo"));
9+
const data = babelHelpers.interopRequireWildcard(require("foo"));
1010

1111
namespace = function () {
1212
return data;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
"use strict";
22

3-
var foo = babelHelpers.interopRequireDefault(require("./foo"));
3+
var foo = babelHelpers.interopRequireWildcard(require("./foo"));
44
console.log(foo);

packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-local/reexport-namespace/output.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
44
value: true
55
});
66
exports.namespace = void 0;
7-
var namespace = babelHelpers.interopRequireDefault(require("./foo"));
7+
var namespace = babelHelpers.interopRequireWildcard(require("./foo"));
88
exports.namespace = namespace;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use strict";
22

33
function foo1() {
4-
const data = babelHelpers.interopRequireDefault(require("white"));
4+
const data = babelHelpers.interopRequireWildcard(require("white"));
55

66
foo1 = function () {
77
return data;
@@ -10,6 +10,6 @@ function foo1() {
1010
return data;
1111
}
1212

13-
var foo2 = babelHelpers.interopRequireDefault(require("black"));
13+
var foo2 = babelHelpers.interopRequireWildcard(require("black"));
1414
console.log(foo1());
1515
console.log(foo2);

packages/babel-plugin-transform-modules-commonjs/test/fixtures/lazy-whitelist/reexport-namespace/output.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
66
exports.namespace2 = exports.namespace1 = void 0;
77

88
function namespace1() {
9-
const data = babelHelpers.interopRequireDefault(require("white"));
9+
const data = babelHelpers.interopRequireWildcard(require("white"));
1010

1111
namespace1 = function () {
1212
return data;
@@ -21,5 +21,5 @@ Object.defineProperty(exports, "namespace1", {
2121
return namespace1();
2222
}
2323
});
24-
var namespace2 = babelHelpers.interopRequireDefault(require("black"));
24+
var namespace2 = babelHelpers.interopRequireWildcard(require("black"));
2525
exports.namespace2 = namespace2;

packages/babel-plugin-transform-modules-commonjs/test/fixtures/misc/copy-getters-setters-star/exec.mjs renamed to packages/babel-plugin-transform-modules-commonjs/test/fixtures/misc/copy-getters-setters-star/exec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
// No exception should be thrown
12
import * as foo from "./moduleWithGetter";
23

4+
expect(foo.baz).toBe(123);
35
expect(() => foo.boo).toThrow();
4-
5-
// No exception should be thrown

0 commit comments

Comments
 (0)