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 5, 2023
1 parent ac766d6 commit 60af27f
Show file tree
Hide file tree
Showing 9 changed files with 50 additions and 34 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -147,10 +147,10 @@ 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) {
metadata.name = importsNamespace.values().next().value;
}

const resolvedInterop = resolveImportInterop(
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
});
Original file line number Diff line number Diff line change
@@ -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;
});
Original file line number Diff line number Diff line change
@@ -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();
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
"use strict";

var _stdFormat = babelHelpers.interopRequireWildcard(require("xxx/std-format"));
var e = _stdFormat;
const Ws = e => {
return {
amount: _stdFormat.default.format(1)
};
};
Original file line number Diff line number Diff line change
@@ -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)?.();
Original file line number Diff line number Diff line change
@@ -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"
}
Original file line number Diff line number Diff line change
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;
});
Original file line number Diff line number Diff line change
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 60af27f

Please sign in to comment.