Skip to content

Commit

Permalink
fix: transform import name only when no other import (#15879)
Browse files Browse the repository at this point in the history
  • Loading branch information
dhlolo committed Sep 10, 2023
1 parent 0effd92 commit 95b8db6
Show file tree
Hide file tree
Showing 13 changed files with 109 additions and 65 deletions.
Expand Up @@ -147,10 +147,11 @@ export default function normalizeModuleAndLoadMetadata(

// Reuse the imported namespace name if there is one.
for (const [source, metadata] of sources) {
if (metadata.importsNamespace.size > 0) {
// This is kind of gross. If we stop using `loose: true` we should
// just make this destructuring assignment.
metadata.name = metadata.importsNamespace.values().next().value;
const { importsNamespace, imports } = metadata;
// If there is at least one namespace import and other imports, it may collipse with local ident, can be seen in issue 15879.
if (importsNamespace.size > 0 && imports.size === 0) {
const [name] = importsNamespace.values();
metadata.name = name;
}

const resolvedInterop = resolveImportInterop(
Expand Down
@@ -1,19 +1,20 @@
define(["exports", "foo", "foo-bar", "./directory/foo-bar"], function (_exports, foo2, _fooBar, _fooBar2) {
define(["exports", "foo", "foo-bar", "./directory/foo-bar"], function (_exports, _foo, _fooBar, _fooBar2) {
"use strict";

Object.defineProperty(_exports, "__esModule", {
value: true
});
_exports.test2 = _exports.test = _exports.default = void 0;
foo2 = babelHelpers.interopRequireWildcard(foo2);
_foo = babelHelpers.interopRequireWildcard(_foo);
var foo2 = _foo;
var test;
_exports.test = test;
var test2 = 5;
_exports.test2 = test2;
var _default = test;
_exports.default = _default;
foo2.default;
_foo.default;
foo2;
foo2.bar;
foo2.foo;
_foo.bar;
_foo.foo;
});
@@ -1,17 +1,18 @@
define(["exports", "foo", "foo-bar", "./directory/foo-bar"], function (_exports, foo2, _fooBar, _fooBar2) {
define(["exports", "foo", "foo-bar", "./directory/foo-bar"], function (_exports, _foo, _fooBar, _fooBar2) {
"use strict";

_exports.__esModule = true;
_exports.test2 = _exports.test = _exports.default = void 0;
foo2 = babelHelpers.interopRequireWildcard(foo2);
_foo = babelHelpers.interopRequireWildcard(_foo);
var foo2 = _foo;
var test;
_exports.test = test;
var test2 = 5;
_exports.test2 = test2;
var _default = test;
_exports.default = _default;
foo2.default;
_foo.default;
foo2;
foo2.bar;
foo2.foo;
_foo.bar;
_foo.foo;
});
@@ -1,10 +1,11 @@
"use strict";

function foo() {
function _foo() {
const data = babelHelpers.interopRequireWildcard(require("foo"));
foo = function () {
_foo = function () {
return data;
};
return data;
}
console.log(foo(), foo().bar);
var foo = _foo;
console.log(foo(), _foo().bar);
@@ -1,11 +1,12 @@
"use strict";

function mod() {
function _mod() {
const data = babelHelpers.interopRequireWildcard(require("mod"));
mod = function () {
_mod = function () {
return data;
};
return data;
}
mod().named;
var mod = _mod;
_mod().named;
mod();
@@ -0,0 +1,3 @@
{
"plugins": ["transform-modules-commonjs"]
}
@@ -0,0 +1,8 @@
import * as e from "mod";
import t from "mod";

const foo = (e) => {
return {
amount: t.format(1),
};
};
@@ -0,0 +1,9 @@
"use strict";

var _mod = babelHelpers.interopRequireWildcard(require("mod"));
var e = _mod;
const foo = e => {
return {
amount: _mod.default.format(1)
};
};
@@ -1,9 +1,10 @@
"use strict";

var foo4 = babelHelpers.interopRequireWildcard(require("foo"));
foo4.default;
foo4.default;
foo4.foo3;
(0, foo4.foo3)();
(0, foo4.foo3)``;
(0, foo4.foo3)?.();
var _foo = babelHelpers.interopRequireWildcard(require("foo"));
var foo4 = _foo;
_foo.default;
_foo.default;
_foo.foo3;
(0, _foo.foo3)();
(0, _foo.foo3)``;
(0, _foo.foo3)?.();
@@ -1,13 +1,13 @@
(1:0-22) import foo from "foo"; <-- (3:0-4) var foo4
(1:0-22) import foo from "foo"; <-- (3:0-4) var _foo
^^^^^^^^^^^^^^^^^^^^^^ ^^^^

(1:0-22) import foo from "foo"; <-- (3:4-8) var foo4 = b
(1:0-22) import foo from "foo"; <-- (3:4-8) var _foo = b
^^^^^^^^^^^^^^^^^^^^^^ ^^^^

(1:0-22) import foo from "foo"; <-- (3:8-11) foo4 = babe
(1:0-22) import foo from "foo"; <-- (3:8-11) _foo = babe
^^^^^^^^^^^^^^^^^^^^^^ ^^^

(1:0-22) import foo from "foo"; <-- (3:11-23) 4 = babelHelpers.int
(1:0-22) import foo from "foo"; <-- (3:11-23) o = babelHelpers.int
^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^

(1:0-22) import foo from "foo"; <-- (3:23-24) pers.inte
Expand All @@ -25,65 +25,80 @@
(1:0-22) import foo from "foo"; <-- (3:54-63) uire("foo"));
^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^

(6:0-3) foo; <-- (4:0-12) foo4.default;
(1:22-22) oo"; <-- (4:0-4) var foo4
>< ^^^^

(1:22-22) oo"; <-- (4:4-8) var foo4 = _
>< ^^^^

(1:22-22) oo"; <-- (4:8-11) foo4 = _foo
>< ^^^

(1:22-22) oo"; <-- (4:11-15) 4 = _foo;
>< ^^^^

(1:22-22) oo"; <-- (4:15-16) _foo;
>< ^

(6:0-3) foo; <-- (5:0-12) _foo.default;
^^^ ^^^^^^^^^^^^

(6:3-4) foo; <-- (4:12-13) ault;
(6:3-4) foo; <-- (5:12-13) ault;
^ ^

(7:0-4) foo2; <-- (5:0-12) foo4.default;
(7:0-4) foo2; <-- (6:0-12) _foo.default;
^^^^ ^^^^^^^^^^^^

(7:4-5) foo2; <-- (5:12-13) ault;
(7:4-5) foo2; <-- (6:12-13) ault;
^ ^

(8:0-4) foo3; <-- (6:0-9) foo4.foo3;
(8:0-4) foo3; <-- (7:0-9) _foo.foo3;
^^^^ ^^^^^^^^^

(8:4-5) foo3; <-- (6:9-10) foo3;
(8:4-5) foo3; <-- (7:9-10) foo3;
^ ^

(9:0-4) foo3(); <-- (7:0-4) (0, foo4
(9:0-4) foo3(); <-- (8:0-4) (0, _foo
^^^^ ^^^^

(9:0-4) foo3(); <-- (7:4-13) (0, foo4.foo3)();
(9:0-4) foo3(); <-- (8:4-13) (0, _foo.foo3)();
^^^^ ^^^^^^^^^

(9:4-5) foo3(); <-- (7:13-15) foo3)();
(9:4-5) foo3(); <-- (8:13-15) foo3)();
^ ^^

(9:5-6) oo3(); <-- (7:15-16) o3)();
(9:5-6) oo3(); <-- (8:15-16) o3)();
^ ^

(9:6-7) o3(); <-- (7:16-17) 3)();
(9:6-7) o3(); <-- (8:16-17) 3)();
^ ^

(10:0-4) foo3``; <-- (8:0-4) (0, foo4
(10:0-4) foo3``; <-- (9:0-4) (0, _foo
^^^^ ^^^^

(10:0-4) foo3``; <-- (8:4-13) (0, foo4.foo3)``;
(10:0-4) foo3``; <-- (9:4-13) (0, _foo.foo3)``;
^^^^ ^^^^^^^^^

(10:4-5) foo3``; <-- (8:13-14) foo3)``;
(10:4-5) foo3``; <-- (9:13-14) foo3)``;
^ ^

(10:5-6) oo3``; <-- (8:14-16) oo3)``;
(10:5-6) oo3``; <-- (9:14-16) oo3)``;
^ ^^

(10:6-7) o3``; <-- (8:16-17) 3)``;
(10:6-7) o3``; <-- (9:16-17) 3)``;
^ ^

(11:0-4) foo3?.() <-- (9:0-4) (0, foo4
(11:0-4) foo3?.() <-- (10:0-4) (0, _foo
^^^^ ^^^^

(11:0-4) foo3?.() <-- (9:4-13) (0, foo4.foo3)?.(
(11:0-4) foo3?.() <-- (10:4-13) (0, _foo.foo3)?.(
^^^^ ^^^^^^^^^

(11:4-7) foo3?.(); <-- (9:13-17) foo3)?.();
^^^ ^^^^
(11:4-7) foo3?.(); <-- (10:13-17) foo3)?.();
^^^ ^^^^

(11:7-8) 3?.(); <-- (9:17-18) )?.();
^ ^
(11:7-8) 3?.(); <-- (10:17-18) )?.();
^ ^

(11:8-9) ?.(); <-- (9:18-19) ?.();
^ ^
(11:8-9) ?.(); <-- (10:18-19) ?.();
^ ^
@@ -1,10 +1,11 @@
{
"version": 3,
"names": [
"foo4",
"_foo",
"babelHelpers",
"interopRequireWildcard",
"require",
"foo4",
"foo",
"foo2",
"foo3"
Expand All @@ -15,5 +16,5 @@
"sourcesContent": [
"import foo from \"foo\";\nimport { default as foo2 } from \"foo\";\nimport { foo3 } from \"foo\";\nimport * as foo4 from \"foo\";\n\nfoo;\nfoo2;\nfoo3;\nfoo3();\nfoo3``;\nfoo3?.();"
],
"mappings": ";;AAAA,IAAAA,IAAA,GAAAC,YAAA,CAAAC,sBAAA,CAAAC,OAAA;AAKAC,YAAG;AACHC,YAAI;AACJC,SAAI;AACJ,IAAAA,SAAI,EAAC,CAAC;AACN,IAAAA,SAAI,CAAC,EAAC;AACN,IAAAA,SAAI,IAAG,CAAC"
"mappings": ";;AAAA,IAAAA,IAAA,GAAAC,YAAA,CAAAC,sBAAA,CAAAC,OAAA;AAAsB,IAAAC,IAAA,GAAAJ,IAAA;AAKtBK,YAAG;AACHC,YAAI;AACJC,SAAI;AACJ,IAAAA,SAAI,EAAC,CAAC;AACN,IAAAA,SAAI,CAAC,EAAC;AACN,IAAAA,SAAI,IAAG,CAAC"
}
Expand Up @@ -10,18 +10,19 @@
factory(mod.exports, global.foo, global.fooBar, global.fooBar);
global.input = mod.exports;
}
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, foo2, _fooBar, _fooBar2) {
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _foo, _fooBar, _fooBar2) {
"use strict";

_exports.__esModule = true;
_exports.test2 = _exports.test = _exports.default = void 0;
foo2 = babelHelpers.interopRequireWildcard(foo2);
_foo = babelHelpers.interopRequireWildcard(_foo);
var foo2 = _foo;
var test;
_exports.test = test;
var test2 = 5;
_exports.test2 = test2;
var _default = test;
_exports.default = _default;
foo2.bar;
foo2.foo;
_foo.bar;
_foo.foo;
});
Expand Up @@ -10,20 +10,21 @@
factory(mod.exports, global.foo, global.fooBar, global.fooBar);
global.input = mod.exports;
}
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, foo2, _fooBar, _fooBar2) {
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _foo, _fooBar, _fooBar2) {
"use strict";

Object.defineProperty(_exports, "__esModule", {
value: true
});
_exports.test2 = _exports.test = _exports.default = void 0;
foo2 = babelHelpers.interopRequireWildcard(foo2);
_foo = babelHelpers.interopRequireWildcard(_foo);
var foo2 = _foo;
var test;
_exports.test = test;
var test2 = 5;
_exports.test2 = test2;
var _default = test;
_exports.default = _default;
foo2.bar;
foo2.foo;
_foo.bar;
_foo.foo;
});

0 comments on commit 95b8db6

Please sign in to comment.