diff --git a/.changeset/orange-pumpkins-rescue.md b/.changeset/orange-pumpkins-rescue.md new file mode 100644 index 000000000000..bc12dc8c2db8 --- /dev/null +++ b/.changeset/orange-pumpkins-rescue.md @@ -0,0 +1,6 @@ +--- +swc_core: patch +swc_ecma_transforms_base: patch +--- + +fix(resolver): Analyze variable declarations with `declare` diff --git a/crates/swc/tests/tsc-references/callChain.1.normal.js b/crates/swc/tests/tsc-references/callChain.1.normal.js index b2af47b385b2..4de61c932303 100644 --- a/crates/swc/tests/tsc-references/callChain.1.normal.js +++ b/crates/swc/tests/tsc-references/callChain.1.normal.js @@ -1,86 +1,86 @@ //// [callChain.ts] var _o2, _o21, _o22, _o23, _o3_b, _o3_b1, _o3_b2, _o3_b3, _o3_b4, _o3_b5; -var _o1, _o11, _o12, _o13, _o24, _o25, _o26, _o27, _o28, _o29, _o210, _o211, _o3_b6, _o3, _o3_b7, _o31, _o3_b8, _o32, _o3_b9, _o33, _o3_b10, _o34, _o3_b11, _o35, _o3_b12, _o36, _o3_b13, _o37, _o3_b14, _o38, _o3_b15, _o39, _o3_b16, _o310, _o3_b17, _o311, _o4, _o5, // GH#36031 -_o212, _o213; -(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1(); -(_o11 = o1) === null || _o11 === void 0 ? void 0 : _o11(1); -(_o12 = o1) === null || _o12 === void 0 ? void 0 : _o12.apply(void 0, [ +var _o3_b6, _o3_b7, _o3_b8, _o3_b9, _o3_b10, _o3_b11, _o3_b12, _o3_b13, _o3_b14, _o3_b15, _o3_b16, _o3_b17, _o5; +o1 === null || o1 === void 0 ? void 0 : o1(); +o1 === null || o1 === void 0 ? void 0 : o1(1); +o1 === null || o1 === void 0 ? void 0 : o1.apply(void 0, [ 1, 2 ]); -(_o13 = o1) === null || _o13 === void 0 ? void 0 : _o13.apply(void 0, [ +o1 === null || o1 === void 0 ? void 0 : o1.apply(void 0, [ 1, 2, 3, 4 ]); -(_o24 = o2) === null || _o24 === void 0 ? void 0 : _o24.b(); -(_o25 = o2) === null || _o25 === void 0 ? void 0 : _o25.b(1); -(_o26 = o2) === null || _o26 === void 0 ? void 0 : (_o2 = _o26).b.apply(_o2, [ +o2 === null || o2 === void 0 ? void 0 : o2.b(); +o2 === null || o2 === void 0 ? void 0 : o2.b(1); +o2 === null || o2 === void 0 ? void 0 : (_o2 = o2).b.apply(_o2, [ 1, 2 ]); -(_o27 = o2) === null || _o27 === void 0 ? void 0 : (_o21 = _o27).b.apply(_o21, [ +o2 === null || o2 === void 0 ? void 0 : (_o21 = o2).b.apply(_o21, [ 1, 2, 3, 4 ]); -(_o28 = o2) === null || _o28 === void 0 ? void 0 : _o28["b"](); -(_o29 = o2) === null || _o29 === void 0 ? void 0 : _o29["b"](1); -(_o210 = o2) === null || _o210 === void 0 ? void 0 : (_o22 = _o210)["b"].apply(_o22, [ +o2 === null || o2 === void 0 ? void 0 : o2["b"](); +o2 === null || o2 === void 0 ? void 0 : o2["b"](1); +o2 === null || o2 === void 0 ? void 0 : (_o22 = o2)["b"].apply(_o22, [ 1, 2 ]); -(_o211 = o2) === null || _o211 === void 0 ? void 0 : (_o23 = _o211)["b"].apply(_o23, [ +o2 === null || o2 === void 0 ? void 0 : (_o23 = o2)["b"].apply(_o23, [ 1, 2, 3, 4 ]); -(_o3_b6 = (_o3 = o3).b) === null || _o3_b6 === void 0 ? void 0 : _o3_b6.call(_o3).c; -(_o3_b7 = (_o31 = o3).b) === null || _o3_b7 === void 0 ? void 0 : _o3_b7.call(_o31, 1).c; -(_o3_b8 = (_o32 = o3).b) === null || _o3_b8 === void 0 ? void 0 : (_o3_b = _o3_b8).call.apply(_o3_b, [ - _o32, +(_o3_b6 = o3.b) === null || _o3_b6 === void 0 ? void 0 : _o3_b6.call(o3).c; +(_o3_b7 = o3.b) === null || _o3_b7 === void 0 ? void 0 : _o3_b7.call(o3, 1).c; +(_o3_b8 = o3.b) === null || _o3_b8 === void 0 ? void 0 : (_o3_b = _o3_b8).call.apply(_o3_b, [ + o3, 1, 2 ]).c; -(_o3_b9 = (_o33 = o3).b) === null || _o3_b9 === void 0 ? void 0 : (_o3_b1 = _o3_b9).call.apply(_o3_b1, [ - _o33, +(_o3_b9 = o3.b) === null || _o3_b9 === void 0 ? void 0 : (_o3_b1 = _o3_b9).call.apply(_o3_b1, [ + o3, 1, 2, 3, 4 ]).c; -(_o3_b10 = (_o34 = o3).b) === null || _o3_b10 === void 0 ? void 0 : _o3_b10.call(_o34)["c"]; -(_o3_b11 = (_o35 = o3).b) === null || _o3_b11 === void 0 ? void 0 : _o3_b11.call(_o35, 1)["c"]; -(_o3_b12 = (_o36 = o3).b) === null || _o3_b12 === void 0 ? void 0 : (_o3_b2 = _o3_b12).call.apply(_o3_b2, [ - _o36, +(_o3_b10 = o3.b) === null || _o3_b10 === void 0 ? void 0 : _o3_b10.call(o3)["c"]; +(_o3_b11 = o3.b) === null || _o3_b11 === void 0 ? void 0 : _o3_b11.call(o3, 1)["c"]; +(_o3_b12 = o3.b) === null || _o3_b12 === void 0 ? void 0 : (_o3_b2 = _o3_b12).call.apply(_o3_b2, [ + o3, 1, 2 ])["c"]; -(_o3_b13 = (_o37 = o3).b) === null || _o3_b13 === void 0 ? void 0 : (_o3_b3 = _o3_b13).call.apply(_o3_b3, [ - _o37, +(_o3_b13 = o3.b) === null || _o3_b13 === void 0 ? void 0 : (_o3_b3 = _o3_b13).call.apply(_o3_b3, [ + o3, 1, 2, 3, 4 ])["c"]; -(_o3_b14 = (_o38 = o3)["b"]) === null || _o3_b14 === void 0 ? void 0 : _o3_b14.call(_o38).c; -(_o3_b15 = (_o39 = o3)["b"]) === null || _o3_b15 === void 0 ? void 0 : _o3_b15.call(_o39, 1).c; -(_o3_b16 = (_o310 = o3)["b"]) === null || _o3_b16 === void 0 ? void 0 : (_o3_b4 = _o3_b16).call.apply(_o3_b4, [ - _o310, +(_o3_b14 = o3["b"]) === null || _o3_b14 === void 0 ? void 0 : _o3_b14.call(o3).c; +(_o3_b15 = o3["b"]) === null || _o3_b15 === void 0 ? void 0 : _o3_b15.call(o3, 1).c; +(_o3_b16 = o3["b"]) === null || _o3_b16 === void 0 ? void 0 : (_o3_b4 = _o3_b16).call.apply(_o3_b4, [ + o3, 1, 2 ]).c; -(_o3_b17 = (_o311 = o3)["b"]) === null || _o3_b17 === void 0 ? void 0 : (_o3_b5 = _o3_b17).call.apply(_o3_b5, [ - _o311, +(_o3_b17 = o3["b"]) === null || _o3_b17 === void 0 ? void 0 : (_o3_b5 = _o3_b17).call.apply(_o3_b5, [ + o3, 1, 2, 3, 4 ]).c; -var v = (_o4 = o4) === null || _o4 === void 0 ? void 0 : _o4(incr); +var v = o4 === null || o4 === void 0 ? void 0 : o4(incr); (_o5 = o5()) === null || _o5 === void 0 ? void 0 : _o5(); -(_o212 = o2) === null || _o212 === void 0 ? void 0 : _o212.b().toString; -(_o213 = o2) === null || _o213 === void 0 ? void 0 : _o213.b().toString; +// GH#36031 +o2 === null || o2 === void 0 ? void 0 : o2.b().toString; +o2 === null || o2 === void 0 ? void 0 : o2.b().toString; diff --git a/crates/swc/tests/tsc-references/callChain.2.1.normal.js b/crates/swc/tests/tsc-references/callChain.2.1.normal.js index eacdd8b31006..3bbc5c0421f8 100644 --- a/crates/swc/tests/tsc-references/callChain.2.1.normal.js +++ b/crates/swc/tests/tsc-references/callChain.2.1.normal.js @@ -1,5 +1,5 @@ //// [callChain.2.ts] -var _o1, _o2, _o3_b, _o3; -(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1(); -(_o2 = o2) === null || _o2 === void 0 ? void 0 : _o2.b(); -(_o3_b = (_o3 = o3).b) === null || _o3_b === void 0 ? void 0 : _o3_b.call(_o3).c; +var _o3_b; +o1 === null || o1 === void 0 ? void 0 : o1(); +o2 === null || o2 === void 0 ? void 0 : o2.b(); +(_o3_b = o3.b) === null || _o3_b === void 0 ? void 0 : _o3_b.call(o3).c; diff --git a/crates/swc/tests/tsc-references/callChain.2.2.minified.js b/crates/swc/tests/tsc-references/callChain.2.2.minified.js index aaf2e8f210b8..f6718e2799c7 100644 --- a/crates/swc/tests/tsc-references/callChain.2.2.minified.js +++ b/crates/swc/tests/tsc-references/callChain.2.2.minified.js @@ -1,3 +1,3 @@ //// [callChain.2.ts] -var _o1, _o2, _o3_b, _o3; -null === (_o1 = o1) || void 0 === _o1 || _o1(), null === (_o2 = o2) || void 0 === _o2 || _o2.b(), null === (_o3_b = (_o3 = o3).b) || void 0 === _o3_b || _o3_b.call(_o3).c; +var _o3_b; +null == o1 || o1(), null == o2 || o2.b(), null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.call(o3).c; diff --git a/crates/swc/tests/tsc-references/callChain.2.minified.js b/crates/swc/tests/tsc-references/callChain.2.minified.js index 0ae5f8122c04..4a6df3c18af0 100644 --- a/crates/swc/tests/tsc-references/callChain.2.minified.js +++ b/crates/swc/tests/tsc-references/callChain.2.minified.js @@ -1,57 +1,57 @@ //// [callChain.ts] -var _o1, _o11, _o12, _o13, _o24, _o25, _o26, _o27, _o28, _o29, _o210, _o211, _o3_b6, _o3, _o3_b7, _o31, _o3_b8, _o32, _o3_b9, _o33, _o3_b10, _o34, _o3_b11, _o35, _o3_b12, _o36, _o3_b13, _o37, _o3_b14, _o38, _o3_b15, _o39, _o3_b16, _o310, _o3_b17, _o311, _o4, _o5, _o212, _o213; -null === (_o1 = o1) || void 0 === _o1 || _o1(), null === (_o11 = o1) || void 0 === _o11 || _o11(1), null === (_o12 = o1) || void 0 === _o12 || _o12.apply(void 0, [ +var _o2, _o21, _o22, _o23, _o3_b6, _o3_b7, _o3_b8, _o3_b9, _o3_b10, _o3_b11, _o3_b12, _o3_b13, _o3_b14, _o3_b15, _o3_b16, _o3_b17, _o5; +null == o1 || o1(), null == o1 || o1(1), null == o1 || o1.apply(void 0, [ 1, 2 -]), null === (_o13 = o1) || void 0 === _o13 || _o13.apply(void 0, [ +]), null == o1 || o1.apply(void 0, [ 1, 2, 3, 4 -]), null === (_o24 = o2) || void 0 === _o24 || _o24.b(), null === (_o25 = o2) || void 0 === _o25 || _o25.b(1), null === (_o26 = o2) || void 0 === _o26 || _o26.b.apply(_o26, [ +]), null == o2 || o2.b(), null == o2 || o2.b(1), null == o2 || (_o2 = o2).b.apply(_o2, [ 1, 2 -]), null === (_o27 = o2) || void 0 === _o27 || _o27.b.apply(_o27, [ +]), null == o2 || (_o21 = o2).b.apply(_o21, [ 1, 2, 3, 4 -]), null === (_o28 = o2) || void 0 === _o28 || _o28.b(), null === (_o29 = o2) || void 0 === _o29 || _o29.b(1), null === (_o210 = o2) || void 0 === _o210 || _o210.b.apply(_o210, [ +]), null == o2 || o2.b(), null == o2 || o2.b(1), null == o2 || (_o22 = o2).b.apply(_o22, [ 1, 2 -]), null === (_o211 = o2) || void 0 === _o211 || _o211.b.apply(_o211, [ +]), null == o2 || (_o23 = o2).b.apply(_o23, [ 1, 2, 3, 4 -]), null === (_o3_b6 = (_o3 = o3).b) || void 0 === _o3_b6 || _o3_b6.call(_o3).c, null === (_o3_b7 = (_o31 = o3).b) || void 0 === _o3_b7 || _o3_b7.call(_o31, 1).c, null === (_o3_b8 = (_o32 = o3).b) || void 0 === _o3_b8 || _o3_b8.call.apply(_o3_b8, [ - _o32, +]), null === (_o3_b6 = o3.b) || void 0 === _o3_b6 || _o3_b6.call(o3).c, null === (_o3_b7 = o3.b) || void 0 === _o3_b7 || _o3_b7.call(o3, 1).c, null === (_o3_b8 = o3.b) || void 0 === _o3_b8 || _o3_b8.call.apply(_o3_b8, [ + o3, 1, 2 -]).c, null === (_o3_b9 = (_o33 = o3).b) || void 0 === _o3_b9 || _o3_b9.call.apply(_o3_b9, [ - _o33, +]).c, null === (_o3_b9 = o3.b) || void 0 === _o3_b9 || _o3_b9.call.apply(_o3_b9, [ + o3, 1, 2, 3, 4 -]).c, null === (_o3_b10 = (_o34 = o3).b) || void 0 === _o3_b10 || _o3_b10.call(_o34).c, null === (_o3_b11 = (_o35 = o3).b) || void 0 === _o3_b11 || _o3_b11.call(_o35, 1).c, null === (_o3_b12 = (_o36 = o3).b) || void 0 === _o3_b12 || _o3_b12.call.apply(_o3_b12, [ - _o36, +]).c, null === (_o3_b10 = o3.b) || void 0 === _o3_b10 || _o3_b10.call(o3).c, null === (_o3_b11 = o3.b) || void 0 === _o3_b11 || _o3_b11.call(o3, 1).c, null === (_o3_b12 = o3.b) || void 0 === _o3_b12 || _o3_b12.call.apply(_o3_b12, [ + o3, 1, 2 -]).c, null === (_o3_b13 = (_o37 = o3).b) || void 0 === _o3_b13 || _o3_b13.call.apply(_o3_b13, [ - _o37, +]).c, null === (_o3_b13 = o3.b) || void 0 === _o3_b13 || _o3_b13.call.apply(_o3_b13, [ + o3, 1, 2, 3, 4 -]).c, null === (_o3_b14 = (_o38 = o3).b) || void 0 === _o3_b14 || _o3_b14.call(_o38).c, null === (_o3_b15 = (_o39 = o3).b) || void 0 === _o3_b15 || _o3_b15.call(_o39, 1).c, null === (_o3_b16 = (_o310 = o3).b) || void 0 === _o3_b16 || _o3_b16.call.apply(_o3_b16, [ - _o310, +]).c, null === (_o3_b14 = o3.b) || void 0 === _o3_b14 || _o3_b14.call(o3).c, null === (_o3_b15 = o3.b) || void 0 === _o3_b15 || _o3_b15.call(o3, 1).c, null === (_o3_b16 = o3.b) || void 0 === _o3_b16 || _o3_b16.call.apply(_o3_b16, [ + o3, 1, 2 -]).c, null === (_o3_b17 = (_o311 = o3).b) || void 0 === _o3_b17 || _o3_b17.call.apply(_o3_b17, [ - _o311, +]).c, null === (_o3_b17 = o3.b) || void 0 === _o3_b17 || _o3_b17.call.apply(_o3_b17, [ + o3, 1, 2, 3, 4 -]).c, null === (_o4 = o4) || void 0 === _o4 || _o4(incr), null === (_o5 = o5()) || void 0 === _o5 || _o5(), null === (_o212 = o2) || void 0 === _o212 || _o212.b().toString, null === (_o213 = o2) || void 0 === _o213 || _o213.b().toString; +]).c, null == o4 || o4(incr), null === (_o5 = o5()) || void 0 === _o5 || _o5(), null == o2 || o2.b().toString, null == o2 || o2.b().toString; diff --git a/crates/swc/tests/tsc-references/callChain.3.1.normal.js b/crates/swc/tests/tsc-references/callChain.3.1.normal.js index 5af3e27f2b16..c8e1c745cc2d 100644 --- a/crates/swc/tests/tsc-references/callChain.3.1.normal.js +++ b/crates/swc/tests/tsc-references/callChain.3.1.normal.js @@ -1,19 +1,19 @@ //// [callChain.3.ts] -var _a_m, _a, _a_m1, _a1, _a_m2, _a2, _a_m3, _a3, _a_m4, _a4; -var n1 = (_a = a) === null || _a === void 0 ? void 0 : (_a_m = _a.m) === null || _a_m === void 0 ? void 0 : _a_m.call(_a, { +var _a_m, _a_m1, _a_m2, _a_m3, _a_m4; +var n1 = a === null || a === void 0 ? void 0 : (_a_m = a.m) === null || _a_m === void 0 ? void 0 : _a_m.call(a, { x: 12 }); // should be an error (`undefined` is not assignable to `number`) -var n2 = (_a1 = a) === null || _a1 === void 0 ? void 0 : (_a_m1 = _a1.m) === null || _a_m1 === void 0 ? void 0 : _a_m1.call(_a1, { +var n2 = a === null || a === void 0 ? void 0 : (_a_m1 = a.m) === null || _a_m1 === void 0 ? void 0 : _a_m1.call(a, { x: absorb() }); // likewise -var n3 = (_a2 = a) === null || _a2 === void 0 ? void 0 : (_a_m2 = _a2.m) === null || _a_m2 === void 0 ? void 0 : _a_m2.call(_a2, { +var n3 = a === null || a === void 0 ? void 0 : (_a_m2 = a.m) === null || _a_m2 === void 0 ? void 0 : _a_m2.call(a, { x: 12 }); // should be ok -var n4 = (_a3 = a) === null || _a3 === void 0 ? void 0 : (_a_m3 = _a3.m) === null || _a_m3 === void 0 ? void 0 : _a_m3.call(_a3, { +var n4 = a === null || a === void 0 ? void 0 : (_a_m3 = a.m) === null || _a_m3 === void 0 ? void 0 : _a_m3.call(a, { x: absorb() }); // likewise // Also a test showing `!` vs `?` for good measure -var t1 = (_a4 = a) === null || _a4 === void 0 ? void 0 : (_a_m4 = _a4.m) === null || _a_m4 === void 0 ? void 0 : _a_m4.call(_a4, { +var t1 = a === null || a === void 0 ? void 0 : (_a_m4 = a.m) === null || _a_m4 === void 0 ? void 0 : _a_m4.call(a, { x: 12 }); t1 = a.m({ diff --git a/crates/swc/tests/tsc-references/callChain.3.2.minified.js b/crates/swc/tests/tsc-references/callChain.3.2.minified.js index c8b4041337b1..b2640d160227 100644 --- a/crates/swc/tests/tsc-references/callChain.3.2.minified.js +++ b/crates/swc/tests/tsc-references/callChain.3.2.minified.js @@ -1,14 +1,14 @@ //// [callChain.3.ts] -var _a_m, _a, _a_m1, _a1, _a_m2, _a2, _a_m3, _a3, _a_m4, _a4; -null === (_a = a) || void 0 === _a || null === (_a_m = _a.m) || void 0 === _a_m || _a_m.call(_a, { +var _a_m, _a_m1, _a_m2, _a_m3, _a_m4; +null == a || null === (_a_m = a.m) || void 0 === _a_m || _a_m.call(a, { x: 12 -}), null === (_a1 = a) || void 0 === _a1 || null === (_a_m1 = _a1.m) || void 0 === _a_m1 || _a_m1.call(_a1, { +}), null == a || null === (_a_m1 = a.m) || void 0 === _a_m1 || _a_m1.call(a, { x: absorb() -}), null === (_a2 = a) || void 0 === _a2 || null === (_a_m2 = _a2.m) || void 0 === _a_m2 || _a_m2.call(_a2, { +}), null == a || null === (_a_m2 = a.m) || void 0 === _a_m2 || _a_m2.call(a, { x: 12 -}), null === (_a3 = a) || void 0 === _a3 || null === (_a_m3 = _a3.m) || void 0 === _a_m3 || _a_m3.call(_a3, { +}), null == a || null === (_a_m3 = a.m) || void 0 === _a_m3 || _a_m3.call(a, { x: absorb() -}), null === (_a4 = a) || void 0 === _a4 || null === (_a_m4 = _a4.m) || void 0 === _a_m4 || _a_m4.call(_a4, { +}), null == a || null === (_a_m4 = a.m) || void 0 === _a_m4 || _a_m4.call(a, { x: 12 }), a.m({ x: 12 diff --git a/crates/swc/tests/tsc-references/callChainInference.1.normal.js b/crates/swc/tests/tsc-references/callChainInference.1.normal.js index 3c74c34c0d84..045ee5d9a33e 100644 --- a/crates/swc/tests/tsc-references/callChainInference.1.normal.js +++ b/crates/swc/tests/tsc-references/callChainInference.1.normal.js @@ -1,8 +1,6 @@ //// [callChainInference.ts] // Repro from #42404 -var _value; if (value) { - var _value1; - (_value1 = value) === null || _value1 === void 0 ? void 0 : _value1.foo("a"); + value === null || value === void 0 ? void 0 : value.foo("a"); } -(_value = value) === null || _value === void 0 ? void 0 : _value.foo("a"); +value === null || value === void 0 ? void 0 : value.foo("a"); diff --git a/crates/swc/tests/tsc-references/callChainInference.2.minified.js b/crates/swc/tests/tsc-references/callChainInference.2.minified.js index 9c315627873b..a6ce133cbe4e 100644 --- a/crates/swc/tests/tsc-references/callChainInference.2.minified.js +++ b/crates/swc/tests/tsc-references/callChainInference.2.minified.js @@ -1,3 +1,2 @@ //// [callChainInference.ts] -var _value, _value1; -value && (null === (_value1 = value) || void 0 === _value1 || _value1.foo("a")), null === (_value = value) || void 0 === _value || _value.foo("a"); +value && (null == value || value.foo("a")), null == value || value.foo("a"); diff --git a/crates/swc/tests/tsc-references/controlFlowOptionalChain.1.normal.js b/crates/swc/tests/tsc-references/controlFlowOptionalChain.1.normal.js index 74c8b554acfe..10629cbf9c0d 100644 --- a/crates/swc/tests/tsc-references/controlFlowOptionalChain.1.normal.js +++ b/crates/swc/tests/tsc-references/controlFlowOptionalChain.1.normal.js @@ -2,20 +2,20 @@ // assignments in shortcutting chain import { _ as _instanceof } from "@swc/helpers/_/_instanceof"; import { _ as _type_of } from "@swc/helpers/_/_type_of"; -var _o, _o1, _o2, _o3, _f, _o21, _o22, _o31, _o32, _o4_x, _o4_x1, _o5_x_y_z, _o5_x, _o5_x1, _o5_x2, _o5_x_y_z1, _o5_x3, _o6, _o61, _arr_i; +var _o4_x, _o4_x1, _o5_x_y_z, _o5_x, _o5_x1, _o5_x2, _o5_x_y_z1, _o5_x3, _arr_i; var a; -(_o = o) === null || _o === void 0 ? void 0 : _o[a = 1]; +o === null || o === void 0 ? void 0 : o[a = 1]; a.toString(); var b; -(_o1 = o) === null || _o1 === void 0 ? void 0 : _o1.x[b = 1]; +o === null || o === void 0 ? void 0 : o.x[b = 1]; b.toString(); var c; -(_o2 = o) === null || _o2 === void 0 ? void 0 : _o2(c = 1); +o === null || o === void 0 ? void 0 : o(c = 1); c.toString(); var d; -(_o3 = o) === null || _o3 === void 0 ? void 0 : _o3.x(d = 1); +o === null || o === void 0 ? void 0 : o.x(d = 1); d.toString(); -if ((_f = f) === null || _f === void 0 ? void 0 : _f(x)) { +if (f === null || f === void 0 ? void 0 : f(x)) { x; // number f; // (x: any) => x is number f(x); @@ -27,36 +27,32 @@ if ((_f = f) === null || _f === void 0 ? void 0 : _f(x)) { x; f; f(x); -if ((_o21 = o2) === null || _o21 === void 0 ? void 0 : _o21.f(x)) { - var _o23, _o24; +if (o2 === null || o2 === void 0 ? void 0 : o2.f(x)) { x; // number o2.f; // (x: any) => x is number - (_o23 = o2) === null || _o23 === void 0 ? void 0 : _o23.f; - (_o24 = o2) === null || _o24 === void 0 ? void 0 : _o24.f(x); + o2 === null || o2 === void 0 ? void 0 : o2.f; + o2 === null || o2 === void 0 ? void 0 : o2.f(x); } else { - var _o25; x; o2; - (_o25 = o2) === null || _o25 === void 0 ? void 0 : _o25.f; + o2 === null || o2 === void 0 ? void 0 : o2.f; o2.f; } x; o2; -(_o22 = o2) === null || _o22 === void 0 ? void 0 : _o22.f; +o2 === null || o2 === void 0 ? void 0 : o2.f; o2.f; -if (((_o31 = o3) === null || _o31 === void 0 ? void 0 : _o31.x) === 1) { - var _o33; +if ((o3 === null || o3 === void 0 ? void 0 : o3.x) === 1) { o3; o3.x; - (_o33 = o3) === null || _o33 === void 0 ? void 0 : _o33.x; + o3 === null || o3 === void 0 ? void 0 : o3.x; } else { - var _o34; o3; - (_o34 = o3) === null || _o34 === void 0 ? void 0 : _o34.x; + o3 === null || o3 === void 0 ? void 0 : o3.x; o3.x; } o3; -(_o32 = o3) === null || _o32 === void 0 ? void 0 : _o32.x; +o3 === null || o3 === void 0 ? void 0 : o3.x; o3.x; if ((_o4_x = o4.x) === null || _o4_x === void 0 ? void 0 : _o4_x.y) { var _o4_x2; @@ -96,38 +92,33 @@ o5.x; (_o5_x3 = o5.x) === null || _o5_x3 === void 0 ? void 0 : (_o5_x_y_z1 = _o5_x3.y.z) === null || _o5_x_y_z1 === void 0 ? void 0 : _o5_x_y_z1.w; o5.x.y; o5.x.y.z.w; -if ((_o6 = o6) === null || _o6 === void 0 ? void 0 : _o6.f()) { +if (o6 === null || o6 === void 0 ? void 0 : o6.f()) { o6; // Derived o6.f; } else { - var _o62; o6; - (_o62 = o6) === null || _o62 === void 0 ? void 0 : _o62.f; + o6 === null || o6 === void 0 ? void 0 : o6.f; o6.f; } o6; -(_o61 = o6) === null || _o61 === void 0 ? void 0 : _o61.f; +o6 === null || o6 === void 0 ? void 0 : o6.f; o6.f; function f01(x1) { if (!!true) { - var _isString; - (_isString = isString) === null || _isString === void 0 ? void 0 : _isString(x1); + isString === null || isString === void 0 ? void 0 : isString(x1); x1; } if (!!true) { - var _maybeIsString; - (_maybeIsString = maybeIsString) === null || _maybeIsString === void 0 ? void 0 : _maybeIsString(x1); + maybeIsString === null || maybeIsString === void 0 ? void 0 : maybeIsString(x1); x1; } if (!!true) { - var _maybeIsString1; isDefined(maybeIsString); - (_maybeIsString1 = maybeIsString) === null || _maybeIsString1 === void 0 ? void 0 : _maybeIsString1(x1); + maybeIsString === null || maybeIsString === void 0 ? void 0 : maybeIsString(x1); x1; } if (!!true) { - var _maybeNever; - (_maybeNever = maybeNever) === null || _maybeNever === void 0 ? void 0 : _maybeNever(); + maybeNever === null || maybeNever === void 0 ? void 0 : maybeNever(); x1; } } diff --git a/crates/swc/tests/tsc-references/controlFlowOptionalChain.2.minified.js b/crates/swc/tests/tsc-references/controlFlowOptionalChain.2.minified.js index 7c29525d3d7b..07586d240342 100644 --- a/crates/swc/tests/tsc-references/controlFlowOptionalChain.2.minified.js +++ b/crates/swc/tests/tsc-references/controlFlowOptionalChain.2.minified.js @@ -4,7 +4,7 @@ import "@swc/helpers/_/_type_of"; function someFunction(someOptionalObject) { (null == someOptionalObject ? void 0 : someOptionalObject.someProperty) !== lastSomeProperty && (console.log(someOptionalObject), console.log(someOptionalObject.someProperty), lastSomeProperty = null == someOptionalObject ? void 0 : someOptionalObject.someProperty); } -null === (_o = o) || void 0 === _o || _o[a = 1], a.toString(), null === (_o1 = o) || void 0 === _o1 || _o1.x[b = 1], b.toString(), null === (_o2 = o) || void 0 === _o2 || _o2(c = 1), c.toString(), null === (_o3 = o) || void 0 === _o3 || _o3.x(d = 1), d.toString(), null === (_f = f) || void 0 === _f || _f(x), x, f, f(x), x, f, f(x), (null === (_o21 = o2) || void 0 === _o21 ? void 0 : _o21.f(x)) ? (x, o2.f, null === (_o23 = o2) || void 0 === _o23 || _o23.f, null === (_o24 = o2) || void 0 === _o24 || _o24.f(x)) : (x, o2, null === (_o25 = o2) || void 0 === _o25 || _o25.f, o2.f), x, o2, null === (_o22 = o2) || void 0 === _o22 || _o22.f, o2.f, (null === (_o31 = o3) || void 0 === _o31 ? void 0 : _o31.x) === 1 ? (o3, o3.x, null === (_o33 = o3) || void 0 === _o33 || _o33.x) : (o3, null === (_o34 = o3) || void 0 === _o34 || _o34.x, o3.x), o3, null === (_o32 = o3) || void 0 === _o32 || _o32.x, o3.x, (null === (_o4_x = o4.x) || void 0 === _o4_x ? void 0 : _o4_x.y) ? (o4.x, o4.x.y, null === (_o4_x2 = o4.x) || void 0 === _o4_x2 || _o4_x2.y) : (o4.x, null === (_o4_x3 = o4.x) || void 0 === _o4_x3 || _o4_x3.y, o4.x.y), o4.x, null === (_o4_x1 = o4.x) || void 0 === _o4_x1 || _o4_x1.y, o4.x.y, (null === (_o5_x = o5.x) || void 0 === _o5_x ? void 0 : null === (_o5_x_y_z = _o5_x.y.z) || void 0 === _o5_x_y_z ? void 0 : _o5_x_y_z.w) ? (o5.x, o5.x.y, o5.x.y.z, o5.x.y.z.w, null === (_o5_x_y_z2 = o5.x.y.z) || void 0 === _o5_x_y_z2 || _o5_x_y_z2.w, null === (_o5_x4 = o5.x) || void 0 === _o5_x4 || _o5_x4.y.z.w, null === (_o5_x5 = o5.x) || void 0 === _o5_x5 || null === (_o5_x_y_z3 = _o5_x5.y.z) || void 0 === _o5_x_y_z3 || _o5_x_y_z3.w) : (o5.x, null === (_o5_x6 = o5.x) || void 0 === _o5_x6 || _o5_x6.y, null === (_o5_x7 = o5.x) || void 0 === _o5_x7 || _o5_x7.y.z, null === (_o5_x8 = o5.x) || void 0 === _o5_x8 || null === (_o5_x_y_z4 = _o5_x8.y.z) || void 0 === _o5_x_y_z4 || _o5_x_y_z4.w, o5.x.y, o5.x.y.z.w), o5.x, null === (_o5_x1 = o5.x) || void 0 === _o5_x1 || _o5_x1.y, null === (_o5_x2 = o5.x) || void 0 === _o5_x2 || _o5_x2.y.z, null === (_o5_x3 = o5.x) || void 0 === _o5_x3 || null === (_o5_x_y_z1 = _o5_x3.y.z) || void 0 === _o5_x_y_z1 || _o5_x_y_z1.w, o5.x.y, o5.x.y.z.w, (null === (_o6 = o6) || void 0 === _o6 ? void 0 : _o6.f()) ? o6 : (o6, null === (_o62 = o6) || void 0 === _o62 || _o62.f), o6.f, o6, null === (_o61 = o6) || void 0 === _o61 || _o61.f, o6.f, someFunction({ +null == o || o[a = 1], a.toString(), null == o || o.x[b = 1], b.toString(), null == o || o(c = 1), c.toString(), null == o || o.x(d = 1), d.toString(), null == f || f(x), x, f, f(x), x, f, f(x), (null == o2 ? void 0 : o2.f(x)) ? (x, o2.f, null == o2 || o2.f, null == o2 || o2.f(x)) : (x, o2, null == o2 || o2.f, o2.f), x, o2, null == o2 || o2.f, o2.f, (null == o3 ? void 0 : o3.x) === 1 ? (o3, o3.x, null == o3 || o3.x) : (o3, null == o3 || o3.x, o3.x), o3, null == o3 || o3.x, o3.x, (null === (_o4_x = o4.x) || void 0 === _o4_x ? void 0 : _o4_x.y) ? (o4.x, o4.x.y, null === (_o4_x2 = o4.x) || void 0 === _o4_x2 || _o4_x2.y) : (o4.x, null === (_o4_x3 = o4.x) || void 0 === _o4_x3 || _o4_x3.y, o4.x.y), o4.x, null === (_o4_x1 = o4.x) || void 0 === _o4_x1 || _o4_x1.y, o4.x.y, (null === (_o5_x = o5.x) || void 0 === _o5_x ? void 0 : null === (_o5_x_y_z = _o5_x.y.z) || void 0 === _o5_x_y_z ? void 0 : _o5_x_y_z.w) ? (o5.x, o5.x.y, o5.x.y.z, o5.x.y.z.w, null === (_o5_x_y_z2 = o5.x.y.z) || void 0 === _o5_x_y_z2 || _o5_x_y_z2.w, null === (_o5_x4 = o5.x) || void 0 === _o5_x4 || _o5_x4.y.z.w, null === (_o5_x5 = o5.x) || void 0 === _o5_x5 || null === (_o5_x_y_z3 = _o5_x5.y.z) || void 0 === _o5_x_y_z3 || _o5_x_y_z3.w) : (o5.x, null === (_o5_x6 = o5.x) || void 0 === _o5_x6 || _o5_x6.y, null === (_o5_x7 = o5.x) || void 0 === _o5_x7 || _o5_x7.y.z, null === (_o5_x8 = o5.x) || void 0 === _o5_x8 || null === (_o5_x_y_z4 = _o5_x8.y.z) || void 0 === _o5_x_y_z4 || _o5_x_y_z4.w, o5.x.y, o5.x.y.z.w), o5.x, null === (_o5_x1 = o5.x) || void 0 === _o5_x1 || _o5_x1.y, null === (_o5_x2 = o5.x) || void 0 === _o5_x2 || _o5_x2.y.z, null === (_o5_x3 = o5.x) || void 0 === _o5_x3 || null === (_o5_x_y_z1 = _o5_x3.y.z) || void 0 === _o5_x_y_z1 || _o5_x_y_z1.w, o5.x.y, o5.x.y.z.w, (null == o6 ? void 0 : o6.f()) ? o6 : (o6, null == o6 || o6.f), o6.f, o6, null == o6 || o6.f, o6.f, someFunction({ someProperty: 42 }), someFunction(void 0); -for(var _o, _o1, _o2, _o3, _f, _o21, _o22, _o31, _o32, _o4_x, _o4_x1, _o5_x_y_z, _o5_x, _o5_x1, _o5_x2, _o5_x_y_z1, _o5_x3, _o6, _o61, _arr_i, a, b, c, d, _o23, _o24, _o25, _o33, _o34, _o4_x2, _o4_x3, _o5_x_y_z2, _o5_x4, _o5_x_y_z3, _o5_x5, _o5_x6, _o5_x7, _o5_x_y_z4, _o5_x8, _o62, lastSomeProperty, _arr_i1, i = 0; (null === (_arr_i = arr[i]) || void 0 === _arr_i ? void 0 : _arr_i.tag) === "left";)i += 1, (null === (_arr_i1 = arr[i]) || void 0 === _arr_i1 ? void 0 : _arr_i1.tag) === "right" && console.log("I should ALSO be reachable"); +for(var _o4_x, _o4_x1, _o5_x_y_z, _o5_x, _o5_x1, _o5_x2, _o5_x_y_z1, _o5_x3, _arr_i, a, b, c, d, _o4_x2, _o4_x3, _o5_x_y_z2, _o5_x4, _o5_x_y_z3, _o5_x5, _o5_x6, _o5_x7, _o5_x_y_z4, _o5_x8, lastSomeProperty, _arr_i1, i = 0; (null === (_arr_i = arr[i]) || void 0 === _arr_i ? void 0 : _arr_i.tag) === "left";)i += 1, (null === (_arr_i1 = arr[i]) || void 0 === _arr_i1 ? void 0 : _arr_i1.tag) === "right" && console.log("I should ALSO be reachable"); diff --git a/crates/swc/tests/tsc-references/deleteChain.1.normal.js b/crates/swc/tests/tsc-references/deleteChain.1.normal.js index 2528a05b3b86..3ec55c201407 100644 --- a/crates/swc/tests/tsc-references/deleteChain.1.normal.js +++ b/crates/swc/tests/tsc-references/deleteChain.1.normal.js @@ -1,15 +1,15 @@ //// [deleteChain.ts] -var _o1, _o11, _o2, _o21, _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o4_b_c_d2, _o4_b2, _o5_b_c_d, _o5_b, _o5, _o5_b_c_d1, _o5_b1, _o51, _o6_b_c_d, _o6_b, _o6_b_c_d1, _o6_b1; -(_o1 = o1) === null || _o1 === void 0 ? true : delete _o1.b; -(_o11 = o1) === null || _o11 === void 0 ? true : delete _o11.b; -(_o2 = o2) === null || _o2 === void 0 ? true : delete _o2.b.c; -(_o21 = o2) === null || _o21 === void 0 ? true : delete _o21.b.c; +var _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o4_b_c_d2, _o4_b2, _o5_b_c_d, _o5_b, _o5_b_c_d1, _o5_b1, _o6_b_c_d, _o6_b, _o6_b_c_d1, _o6_b1; +o1 === null || o1 === void 0 ? true : delete o1.b; +o1 === null || o1 === void 0 ? true : delete o1.b; +o2 === null || o2 === void 0 ? true : delete o2.b.c; +o2 === null || o2 === void 0 ? true : delete o2.b.c; (_o3_b = o3.b) === null || _o3_b === void 0 ? true : delete _o3_b.c; (_o3_b1 = o3.b) === null || _o3_b1 === void 0 ? true : delete _o3_b1.c; (_o4_b = o4.b) === null || _o4_b === void 0 ? true : (_o4_b_c_d = _o4_b.c.d) === null || _o4_b_c_d === void 0 ? true : delete _o4_b_c_d.e; (_o4_b1 = o4.b) === null || _o4_b1 === void 0 ? true : (_o4_b_c_d1 = _o4_b1.c.d) === null || _o4_b_c_d1 === void 0 ? true : delete _o4_b_c_d1.e; (_o4_b2 = o4.b) === null || _o4_b2 === void 0 ? true : (_o4_b_c_d2 = _o4_b2.c.d) === null || _o4_b_c_d2 === void 0 ? true : delete _o4_b_c_d2.e; -(_o5_b = (_o5 = o5).b) === null || _o5_b === void 0 ? true : (_o5_b_c_d = _o5_b.call(_o5).c.d) === null || _o5_b_c_d === void 0 ? true : delete _o5_b_c_d.e; -(_o5_b1 = (_o51 = o5).b) === null || _o5_b1 === void 0 ? true : (_o5_b_c_d1 = _o5_b1.call(_o51).c.d) === null || _o5_b_c_d1 === void 0 ? true : delete _o5_b_c_d1.e; +(_o5_b = o5.b) === null || _o5_b === void 0 ? true : (_o5_b_c_d = _o5_b.call(o5).c.d) === null || _o5_b_c_d === void 0 ? true : delete _o5_b_c_d.e; +(_o5_b1 = o5.b) === null || _o5_b1 === void 0 ? true : (_o5_b_c_d1 = _o5_b1.call(o5).c.d) === null || _o5_b_c_d1 === void 0 ? true : delete _o5_b_c_d1.e; (_o6_b = o6.b) === null || _o6_b === void 0 ? true : (_o6_b_c_d = _o6_b['c'].d) === null || _o6_b_c_d === void 0 ? true : delete _o6_b_c_d['e']; (_o6_b1 = o6.b) === null || _o6_b1 === void 0 ? true : (_o6_b_c_d1 = _o6_b1['c'].d) === null || _o6_b_c_d1 === void 0 ? true : delete _o6_b_c_d1['e']; diff --git a/crates/swc/tests/tsc-references/deleteChain.2.minified.js b/crates/swc/tests/tsc-references/deleteChain.2.minified.js index aa3122bd4351..db2ef16dc2e5 100644 --- a/crates/swc/tests/tsc-references/deleteChain.2.minified.js +++ b/crates/swc/tests/tsc-references/deleteChain.2.minified.js @@ -1,3 +1,3 @@ //// [deleteChain.ts] -var _o1, _o11, _o2, _o21, _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o4_b_c_d2, _o4_b2, _o5_b_c_d, _o5_b, _o5, _o5_b_c_d1, _o5_b1, _o51, _o6_b_c_d, _o6_b, _o6_b_c_d1, _o6_b1; -null === (_o1 = o1) || void 0 === _o1 || delete _o1.b, null === (_o11 = o1) || void 0 === _o11 || delete _o11.b, null === (_o2 = o2) || void 0 === _o2 || delete _o2.b.c, null === (_o21 = o2) || void 0 === _o21 || delete _o21.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || delete _o3_b.c, null === (_o3_b1 = o3.b) || void 0 === _o3_b1 || delete _o3_b1.c, null === (_o4_b = o4.b) || void 0 === _o4_b || null === (_o4_b_c_d = _o4_b.c.d) || void 0 === _o4_b_c_d || delete _o4_b_c_d.e, null === (_o4_b1 = o4.b) || void 0 === _o4_b1 || null === (_o4_b_c_d1 = _o4_b1.c.d) || void 0 === _o4_b_c_d1 || delete _o4_b_c_d1.e, null === (_o4_b2 = o4.b) || void 0 === _o4_b2 || null === (_o4_b_c_d2 = _o4_b2.c.d) || void 0 === _o4_b_c_d2 || delete _o4_b_c_d2.e, null === (_o5_b = (_o5 = o5).b) || void 0 === _o5_b || null === (_o5_b_c_d = _o5_b.call(_o5).c.d) || void 0 === _o5_b_c_d || delete _o5_b_c_d.e, null === (_o5_b1 = (_o51 = o5).b) || void 0 === _o5_b1 || null === (_o5_b_c_d1 = _o5_b1.call(_o51).c.d) || void 0 === _o5_b_c_d1 || delete _o5_b_c_d1.e, null === (_o6_b = o6.b) || void 0 === _o6_b || null === (_o6_b_c_d = _o6_b.c.d) || void 0 === _o6_b_c_d || delete _o6_b_c_d.e, null === (_o6_b1 = o6.b) || void 0 === _o6_b1 || null === (_o6_b_c_d1 = _o6_b1.c.d) || void 0 === _o6_b_c_d1 || delete _o6_b_c_d1.e; +var _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o4_b_c_d2, _o4_b2, _o5_b_c_d, _o5_b, _o5_b_c_d1, _o5_b1, _o6_b_c_d, _o6_b, _o6_b_c_d1, _o6_b1; +null == o1 || delete o1.b, null == o1 || delete o1.b, null == o2 || delete o2.b.c, null == o2 || delete o2.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || delete _o3_b.c, null === (_o3_b1 = o3.b) || void 0 === _o3_b1 || delete _o3_b1.c, null === (_o4_b = o4.b) || void 0 === _o4_b || null === (_o4_b_c_d = _o4_b.c.d) || void 0 === _o4_b_c_d || delete _o4_b_c_d.e, null === (_o4_b1 = o4.b) || void 0 === _o4_b1 || null === (_o4_b_c_d1 = _o4_b1.c.d) || void 0 === _o4_b_c_d1 || delete _o4_b_c_d1.e, null === (_o4_b2 = o4.b) || void 0 === _o4_b2 || null === (_o4_b_c_d2 = _o4_b2.c.d) || void 0 === _o4_b_c_d2 || delete _o4_b_c_d2.e, null === (_o5_b = o5.b) || void 0 === _o5_b || null === (_o5_b_c_d = _o5_b.call(o5).c.d) || void 0 === _o5_b_c_d || delete _o5_b_c_d.e, null === (_o5_b1 = o5.b) || void 0 === _o5_b1 || null === (_o5_b_c_d1 = _o5_b1.call(o5).c.d) || void 0 === _o5_b_c_d1 || delete _o5_b_c_d1.e, null === (_o6_b = o6.b) || void 0 === _o6_b || null === (_o6_b_c_d = _o6_b.c.d) || void 0 === _o6_b_c_d || delete _o6_b_c_d.e, null === (_o6_b1 = o6.b) || void 0 === _o6_b1 || null === (_o6_b_c_d1 = _o6_b1.c.d) || void 0 === _o6_b_c_d1 || delete _o6_b_c_d1.e; diff --git a/crates/swc/tests/tsc-references/elementAccessChain.1.normal.js b/crates/swc/tests/tsc-references/elementAccessChain.1.normal.js index 94cf3acee33c..39ac17125263 100644 --- a/crates/swc/tests/tsc-references/elementAccessChain.1.normal.js +++ b/crates/swc/tests/tsc-references/elementAccessChain.1.normal.js @@ -1,19 +1,19 @@ //// [elementAccessChain.ts] -var _o1, _o2, _o21, _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o5_b_c_d, _o5_b, _o5, _o5_b_c_d1, _o5_b1, _o51, _o5_b_c_d2, _o5_b2, _o52, _o5_b_c_d3, _o5_b3, _o53, _o6, // GH#36031 -_o22, _o23, _o24, _o25; -(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1["b"]; -(_o2 = o2) === null || _o2 === void 0 ? void 0 : _o2["b"].c; -(_o21 = o2) === null || _o21 === void 0 ? void 0 : _o21.b["c"]; +var _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o5_b_c_d, _o5_b, _o5_b_c_d1, _o5_b1, _o5_b_c_d2, _o5_b2, _o5_b_c_d3, _o5_b3, _o6; +o1 === null || o1 === void 0 ? void 0 : o1["b"]; +o2 === null || o2 === void 0 ? void 0 : o2["b"].c; +o2 === null || o2 === void 0 ? void 0 : o2.b["c"]; (_o3_b = o3["b"]) === null || _o3_b === void 0 ? void 0 : _o3_b.c; (_o3_b1 = o3.b) === null || _o3_b1 === void 0 ? void 0 : _o3_b1["c"]; (_o4_b = o4.b) === null || _o4_b === void 0 ? void 0 : (_o4_b_c_d = _o4_b["c"].d) === null || _o4_b_c_d === void 0 ? void 0 : _o4_b_c_d.e; (_o4_b1 = o4.b) === null || _o4_b1 === void 0 ? void 0 : (_o4_b_c_d1 = _o4_b1["c"].d) === null || _o4_b_c_d1 === void 0 ? void 0 : _o4_b_c_d1["e"]; -(_o5_b = (_o5 = o5).b) === null || _o5_b === void 0 ? void 0 : (_o5_b_c_d = _o5_b.call(_o5)["c"].d) === null || _o5_b_c_d === void 0 ? void 0 : _o5_b_c_d.e; -(_o5_b1 = (_o51 = o5).b) === null || _o5_b1 === void 0 ? void 0 : (_o5_b_c_d1 = _o5_b1.call(_o51)["c"].d) === null || _o5_b_c_d1 === void 0 ? void 0 : _o5_b_c_d1["e"]; -(_o5_b2 = (_o52 = o5)["b"]) === null || _o5_b2 === void 0 ? void 0 : (_o5_b_c_d2 = _o5_b2.call(_o52)["c"].d) === null || _o5_b_c_d2 === void 0 ? void 0 : _o5_b_c_d2.e; -(_o5_b3 = (_o53 = o5)["b"]) === null || _o5_b3 === void 0 ? void 0 : (_o5_b_c_d3 = _o5_b3.call(_o53)["c"].d) === null || _o5_b_c_d3 === void 0 ? void 0 : _o5_b_c_d3["e"]; +(_o5_b = o5.b) === null || _o5_b === void 0 ? void 0 : (_o5_b_c_d = _o5_b.call(o5)["c"].d) === null || _o5_b_c_d === void 0 ? void 0 : _o5_b_c_d.e; +(_o5_b1 = o5.b) === null || _o5_b1 === void 0 ? void 0 : (_o5_b_c_d1 = _o5_b1.call(o5)["c"].d) === null || _o5_b_c_d1 === void 0 ? void 0 : _o5_b_c_d1["e"]; +(_o5_b2 = o5["b"]) === null || _o5_b2 === void 0 ? void 0 : (_o5_b_c_d2 = _o5_b2.call(o5)["c"].d) === null || _o5_b_c_d2 === void 0 ? void 0 : _o5_b_c_d2.e; +(_o5_b3 = o5["b"]) === null || _o5_b3 === void 0 ? void 0 : (_o5_b_c_d3 = _o5_b3.call(o5)["c"].d) === null || _o5_b_c_d3 === void 0 ? void 0 : _o5_b_c_d3["e"]; (_o6 = o6()) === null || _o6 === void 0 ? void 0 : _o6["x"]; -(_o22 = o2) === null || _o22 === void 0 ? void 0 : _o22["b"].c; -(_o23 = o2) === null || _o23 === void 0 ? void 0 : _o23["b"]["c"]; -(_o24 = o2) === null || _o24 === void 0 ? void 0 : _o24["b"].c; -(_o25 = o2) === null || _o25 === void 0 ? void 0 : _o25["b"]["c"]; +// GH#36031 +o2 === null || o2 === void 0 ? void 0 : o2["b"].c; +o2 === null || o2 === void 0 ? void 0 : o2["b"]["c"]; +o2 === null || o2 === void 0 ? void 0 : o2["b"].c; +o2 === null || o2 === void 0 ? void 0 : o2["b"]["c"]; diff --git a/crates/swc/tests/tsc-references/elementAccessChain.2.1.normal.js b/crates/swc/tests/tsc-references/elementAccessChain.2.1.normal.js index 841b1c98ecc1..3492073aa987 100644 --- a/crates/swc/tests/tsc-references/elementAccessChain.2.1.normal.js +++ b/crates/swc/tests/tsc-references/elementAccessChain.2.1.normal.js @@ -1,7 +1,7 @@ //// [elementAccessChain.2.ts] -var _o1, _o2, _o21, _o3_b, _o3_b1; -(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1["b"]; -(_o2 = o2) === null || _o2 === void 0 ? void 0 : _o2["b"].c; -(_o21 = o2) === null || _o21 === void 0 ? void 0 : _o21.b["c"]; +var _o3_b, _o3_b1; +o1 === null || o1 === void 0 ? void 0 : o1["b"]; +o2 === null || o2 === void 0 ? void 0 : o2["b"].c; +o2 === null || o2 === void 0 ? void 0 : o2.b["c"]; (_o3_b = o3["b"]) === null || _o3_b === void 0 ? void 0 : _o3_b.c; (_o3_b1 = o3.b) === null || _o3_b1 === void 0 ? void 0 : _o3_b1["c"]; diff --git a/crates/swc/tests/tsc-references/elementAccessChain.2.2.minified.js b/crates/swc/tests/tsc-references/elementAccessChain.2.2.minified.js index dc5b81cdb59a..b2e17050ccd2 100644 --- a/crates/swc/tests/tsc-references/elementAccessChain.2.2.minified.js +++ b/crates/swc/tests/tsc-references/elementAccessChain.2.2.minified.js @@ -1,3 +1,3 @@ //// [elementAccessChain.2.ts] -var _o1, _o2, _o21, _o3_b, _o3_b1; -null === (_o1 = o1) || void 0 === _o1 || _o1.b, null === (_o2 = o2) || void 0 === _o2 || _o2.b.c, null === (_o21 = o2) || void 0 === _o21 || _o21.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c, null === (_o3_b1 = o3.b) || void 0 === _o3_b1 || _o3_b1.c; +var _o3_b, _o3_b1; +null == o1 || o1.b, null == o2 || o2.b.c, null == o2 || o2.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c, null === (_o3_b1 = o3.b) || void 0 === _o3_b1 || _o3_b1.c; diff --git a/crates/swc/tests/tsc-references/elementAccessChain.2.minified.js b/crates/swc/tests/tsc-references/elementAccessChain.2.minified.js index d666f56e1219..cb2cdb63dfbf 100644 --- a/crates/swc/tests/tsc-references/elementAccessChain.2.minified.js +++ b/crates/swc/tests/tsc-references/elementAccessChain.2.minified.js @@ -1,3 +1,3 @@ //// [elementAccessChain.ts] -var _o1, _o2, _o21, _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o5_b_c_d, _o5_b, _o5, _o5_b_c_d1, _o5_b1, _o51, _o5_b_c_d2, _o5_b2, _o52, _o5_b_c_d3, _o5_b3, _o53, _o6, _o22, _o23, _o24, _o25; -null === (_o1 = o1) || void 0 === _o1 || _o1.b, null === (_o2 = o2) || void 0 === _o2 || _o2.b.c, null === (_o21 = o2) || void 0 === _o21 || _o21.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c, null === (_o3_b1 = o3.b) || void 0 === _o3_b1 || _o3_b1.c, null === (_o4_b = o4.b) || void 0 === _o4_b || null === (_o4_b_c_d = _o4_b.c.d) || void 0 === _o4_b_c_d || _o4_b_c_d.e, null === (_o4_b1 = o4.b) || void 0 === _o4_b1 || null === (_o4_b_c_d1 = _o4_b1.c.d) || void 0 === _o4_b_c_d1 || _o4_b_c_d1.e, null === (_o5_b = (_o5 = o5).b) || void 0 === _o5_b || null === (_o5_b_c_d = _o5_b.call(_o5).c.d) || void 0 === _o5_b_c_d || _o5_b_c_d.e, null === (_o5_b1 = (_o51 = o5).b) || void 0 === _o5_b1 || null === (_o5_b_c_d1 = _o5_b1.call(_o51).c.d) || void 0 === _o5_b_c_d1 || _o5_b_c_d1.e, null === (_o5_b2 = (_o52 = o5).b) || void 0 === _o5_b2 || null === (_o5_b_c_d2 = _o5_b2.call(_o52).c.d) || void 0 === _o5_b_c_d2 || _o5_b_c_d2.e, null === (_o5_b3 = (_o53 = o5).b) || void 0 === _o5_b3 || null === (_o5_b_c_d3 = _o5_b3.call(_o53).c.d) || void 0 === _o5_b_c_d3 || _o5_b_c_d3.e, null === (_o6 = o6()) || void 0 === _o6 || _o6.x, null === (_o22 = o2) || void 0 === _o22 || _o22.b.c, null === (_o23 = o2) || void 0 === _o23 || _o23.b.c, null === (_o24 = o2) || void 0 === _o24 || _o24.b.c, null === (_o25 = o2) || void 0 === _o25 || _o25.b.c; +var _o3_b, _o3_b1, _o4_b_c_d, _o4_b, _o4_b_c_d1, _o4_b1, _o5_b_c_d, _o5_b, _o5_b_c_d1, _o5_b1, _o5_b_c_d2, _o5_b2, _o5_b_c_d3, _o5_b3, _o6; +null == o1 || o1.b, null == o2 || o2.b.c, null == o2 || o2.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c, null === (_o3_b1 = o3.b) || void 0 === _o3_b1 || _o3_b1.c, null === (_o4_b = o4.b) || void 0 === _o4_b || null === (_o4_b_c_d = _o4_b.c.d) || void 0 === _o4_b_c_d || _o4_b_c_d.e, null === (_o4_b1 = o4.b) || void 0 === _o4_b1 || null === (_o4_b_c_d1 = _o4_b1.c.d) || void 0 === _o4_b_c_d1 || _o4_b_c_d1.e, null === (_o5_b = o5.b) || void 0 === _o5_b || null === (_o5_b_c_d = _o5_b.call(o5).c.d) || void 0 === _o5_b_c_d || _o5_b_c_d.e, null === (_o5_b1 = o5.b) || void 0 === _o5_b1 || null === (_o5_b_c_d1 = _o5_b1.call(o5).c.d) || void 0 === _o5_b_c_d1 || _o5_b_c_d1.e, null === (_o5_b2 = o5.b) || void 0 === _o5_b2 || null === (_o5_b_c_d2 = _o5_b2.call(o5).c.d) || void 0 === _o5_b_c_d2 || _o5_b_c_d2.e, null === (_o5_b3 = o5.b) || void 0 === _o5_b3 || null === (_o5_b_c_d3 = _o5_b3.call(o5).c.d) || void 0 === _o5_b_c_d3 || _o5_b_c_d3.e, null === (_o6 = o6()) || void 0 === _o6 || _o6.x, null == o2 || o2.b.c, null == o2 || o2.b.c, null == o2 || o2.b.c, null == o2 || o2.b.c; diff --git a/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.1.normal.js b/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.1.normal.js index 51694a3573dc..f5ced361b123 100644 --- a/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.1.normal.js +++ b/crates/swc/tests/tsc-references/exhaustiveSwitchStatements1.1.normal.js @@ -199,9 +199,8 @@ var Animal = /*#__PURE__*/ function(Animal) { return Animal; }(Animal || {}); function expression() { - var _zoo; var _zoo_animal; - switch((_zoo_animal = (_zoo = zoo) === null || _zoo === void 0 ? void 0 : _zoo.animal) !== null && _zoo_animal !== void 0 ? _zoo_animal : 0){ + switch((_zoo_animal = zoo === null || zoo === void 0 ? void 0 : zoo.animal) !== null && _zoo_animal !== void 0 ? _zoo_animal : 0){ case 0: return 0; case 1: diff --git a/crates/swc/tests/tsc-references/logicalAssignment8(target=es2015).1.normal.js b/crates/swc/tests/tsc-references/logicalAssignment8(target=es2015).1.normal.js index 69867c1210c5..1f503ac8c6d7 100644 --- a/crates/swc/tests/tsc-references/logicalAssignment8(target=es2015).1.normal.js +++ b/crates/swc/tests/tsc-references/logicalAssignment8(target=es2015).1.normal.js @@ -1,16 +1,13 @@ //// [logicalAssignment8.ts] function foo1(results) { - var _bar; var _bar_value; - (results || (results = (_bar_value = (_bar = bar) === null || _bar === void 0 ? void 0 : _bar.value) !== null && _bar_value !== void 0 ? _bar_value : [])).push(100); + (results || (results = (_bar_value = bar === null || bar === void 0 ? void 0 : bar.value) !== null && _bar_value !== void 0 ? _bar_value : [])).push(100); } function foo2(results) { - var _bar; var _bar_value; - (results !== null && results !== void 0 ? results : results = (_bar_value = (_bar = bar) === null || _bar === void 0 ? void 0 : _bar.value) !== null && _bar_value !== void 0 ? _bar_value : []).push(100); + (results !== null && results !== void 0 ? results : results = (_bar_value = bar === null || bar === void 0 ? void 0 : bar.value) !== null && _bar_value !== void 0 ? _bar_value : []).push(100); } function foo3(results) { - var _bar; var _bar_value; - (results && (results = (_bar_value = (_bar = bar) === null || _bar === void 0 ? void 0 : _bar.value) !== null && _bar_value !== void 0 ? _bar_value : [])).push(100); + (results && (results = (_bar_value = bar === null || bar === void 0 ? void 0 : bar.value) !== null && _bar_value !== void 0 ? _bar_value : [])).push(100); } diff --git a/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.1.normal.js b/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.1.normal.js index 676955b19776..81dd0760e702 100644 --- a/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.1.normal.js +++ b/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.1.normal.js @@ -1,7 +1,4 @@ //// [noPropertyAccessFromIndexSignature1.ts] -var // optional access property -_d, _d1, // optional access index signature -_d2, _d3; // access property a.foo; a["foo"]; @@ -14,7 +11,9 @@ c["foo"]; // access index signature c.bar; c["bar"]; -(_d = d) === null || _d === void 0 ? void 0 : _d.foo; -(_d1 = d) === null || _d1 === void 0 ? void 0 : _d1["foo"]; -(_d2 = d) === null || _d2 === void 0 ? void 0 : _d2.bar; -(_d3 = d) === null || _d3 === void 0 ? void 0 : _d3["bar"]; +// optional access property +d === null || d === void 0 ? void 0 : d.foo; +d === null || d === void 0 ? void 0 : d["foo"]; +// optional access index signature +d === null || d === void 0 ? void 0 : d.bar; +d === null || d === void 0 ? void 0 : d["bar"]; diff --git a/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.2.minified.js b/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.2.minified.js index 385287289965..8ef9a7c051f4 100644 --- a/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.2.minified.js +++ b/crates/swc/tests/tsc-references/noPropertyAccessFromIndexSignature1.2.minified.js @@ -1,3 +1,2 @@ //// [noPropertyAccessFromIndexSignature1.ts] -var _d, _d1, _d2, _d3; -a.foo, a.foo, b.foo, b.foo, c.foo, c.foo, c.bar, c.bar, null === (_d = d) || void 0 === _d || _d.foo, null === (_d1 = d) || void 0 === _d1 || _d1.foo, null === (_d2 = d) || void 0 === _d2 || _d2.bar, null === (_d3 = d) || void 0 === _d3 || _d3.bar; +a.foo, a.foo, b.foo, b.foo, c.foo, c.foo, c.bar, c.bar, null == d || d.foo, null == d || d.foo, null == d || d.bar, null == d || d.bar; diff --git a/crates/swc/tests/tsc-references/optionalChainingInference.1.normal.js b/crates/swc/tests/tsc-references/optionalChainingInference.1.normal.js index 37e70d9e985f..d0600a4181df 100644 --- a/crates/swc/tests/tsc-references/optionalChainingInference.1.normal.js +++ b/crates/swc/tests/tsc-references/optionalChainingInference.1.normal.js @@ -1,35 +1,34 @@ //// [optionalChainingInference.ts] // https://github.com/microsoft/TypeScript/issues/34579 -var _su, _su1, _su2, _fnu, _su3, _osu, _osu1, _ofnu; var b1 = { - value: (_su = su) === null || _su === void 0 ? void 0 : _su.length + value: su === null || su === void 0 ? void 0 : su.length }; var v1 = unbox(b1); var b2 = { - value: (_su1 = su) === null || _su1 === void 0 ? void 0 : _su1.length + value: su === null || su === void 0 ? void 0 : su.length }; var v2 = unbox(b2); var b3 = { - value: (_su2 = su) === null || _su2 === void 0 ? void 0 : _su2.length + value: su === null || su === void 0 ? void 0 : su.length }; var v3 = unbox(b3); var b4 = { - value: (_fnu = fnu) === null || _fnu === void 0 ? void 0 : _fnu() + value: fnu === null || fnu === void 0 ? void 0 : fnu() }; var v4 = unbox(b4); var b5 = { - value: (_su3 = su) === null || _su3 === void 0 ? void 0 : _su3["length"] + value: su === null || su === void 0 ? void 0 : su["length"] }; var v5 = unbox(b5); var b6 = { - value: (_osu = osu) === null || _osu === void 0 ? void 0 : _osu.prop.length + value: osu === null || osu === void 0 ? void 0 : osu.prop.length }; var v6 = unbox(b6); var b7 = { - value: (_osu1 = osu) === null || _osu1 === void 0 ? void 0 : _osu1.prop["length"] + value: osu === null || osu === void 0 ? void 0 : osu.prop["length"] }; var v7 = unbox(b7); var b8 = { - value: (_ofnu = ofnu) === null || _ofnu === void 0 ? void 0 : _ofnu.prop() + value: ofnu === null || ofnu === void 0 ? void 0 : ofnu.prop() }; var v8 = unbox(b8); diff --git a/crates/swc/tests/tsc-references/optionalChainingInference.2.minified.js b/crates/swc/tests/tsc-references/optionalChainingInference.2.minified.js index 9df6eea8ccdb..9f7cb853877c 100644 --- a/crates/swc/tests/tsc-references/optionalChainingInference.2.minified.js +++ b/crates/swc/tests/tsc-references/optionalChainingInference.2.minified.js @@ -1,19 +1,18 @@ //// [optionalChainingInference.ts] -var _su, _su1, _su2, _fnu, _su3, _osu, _osu1, _ofnu; unbox({ - value: null === (_su = su) || void 0 === _su ? void 0 : _su.length + value: null == su ? void 0 : su.length }), unbox({ - value: null === (_su1 = su) || void 0 === _su1 ? void 0 : _su1.length + value: null == su ? void 0 : su.length }), unbox({ - value: null === (_su2 = su) || void 0 === _su2 ? void 0 : _su2.length + value: null == su ? void 0 : su.length }), unbox({ - value: null === (_fnu = fnu) || void 0 === _fnu ? void 0 : _fnu() + value: null == fnu ? void 0 : fnu() }), unbox({ - value: null === (_su3 = su) || void 0 === _su3 ? void 0 : _su3.length + value: null == su ? void 0 : su.length }), unbox({ - value: null === (_osu = osu) || void 0 === _osu ? void 0 : _osu.prop.length + value: null == osu ? void 0 : osu.prop.length }), unbox({ - value: null === (_osu1 = osu) || void 0 === _osu1 ? void 0 : _osu1.prop.length + value: null == osu ? void 0 : osu.prop.length }), unbox({ - value: null === (_ofnu = ofnu) || void 0 === _ofnu ? void 0 : _ofnu.prop() + value: null == ofnu ? void 0 : ofnu.prop() }); diff --git a/crates/swc/tests/tsc-references/parentheses.1.normal.js b/crates/swc/tests/tsc-references/parentheses.1.normal.js index 579aacf9a4c3..f58ca270b55b 100644 --- a/crates/swc/tests/tsc-references/parentheses.1.normal.js +++ b/crates/swc/tests/tsc-references/parentheses.1.normal.js @@ -1,6 +1,5 @@ //// [parentheses.ts] -var _o2, _o3, _o4; o1(o1 !== null && o1 !== void 0 ? o1 : 1); -((_o2 = o2) === null || _o2 === void 0 ? void 0 : _o2.b)(o1 !== null && o1 !== void 0 ? o1 : 1); -((_o3 = o3) === null || _o3 === void 0 ? void 0 : _o3.b())(o1 !== null && o1 !== void 0 ? o1 : 1); -((_o4 = o4) === null || _o4 === void 0 ? void 0 : _o4.b().c)(o1 !== null && o1 !== void 0 ? o1 : 1); +(o2 === null || o2 === void 0 ? void 0 : o2.b)(o1 !== null && o1 !== void 0 ? o1 : 1); +(o3 === null || o3 === void 0 ? void 0 : o3.b())(o1 !== null && o1 !== void 0 ? o1 : 1); +(o4 === null || o4 === void 0 ? void 0 : o4.b().c)(o1 !== null && o1 !== void 0 ? o1 : 1); diff --git a/crates/swc/tests/tsc-references/parentheses.2.minified.js b/crates/swc/tests/tsc-references/parentheses.2.minified.js index 6870428c6658..ee0dd1315a01 100644 --- a/crates/swc/tests/tsc-references/parentheses.2.minified.js +++ b/crates/swc/tests/tsc-references/parentheses.2.minified.js @@ -1,3 +1,2 @@ //// [parentheses.ts] -var _o2, _o3, _o4; -o1(null != o1 ? o1 : 1), (null === (_o2 = o2) || void 0 === _o2 ? void 0 : _o2.b)(null != o1 ? o1 : 1), (null === (_o3 = o3) || void 0 === _o3 ? void 0 : _o3.b())(null != o1 ? o1 : 1), (null === (_o4 = o4) || void 0 === _o4 ? void 0 : _o4.b().c)(null != o1 ? o1 : 1); +o1(null != o1 ? o1 : 1), (null == o2 ? void 0 : o2.b)(null != o1 ? o1 : 1), (null == o3 ? void 0 : o3.b())(null != o1 ? o1 : 1), (null == o4 ? void 0 : o4.b().c)(null != o1 ? o1 : 1); diff --git a/crates/swc/tests/tsc-references/propertyAccessChain.1.normal.js b/crates/swc/tests/tsc-references/propertyAccessChain.1.normal.js index 5a36d88f4a1c..38bb1fa21278 100644 --- a/crates/swc/tests/tsc-references/propertyAccessChain.1.normal.js +++ b/crates/swc/tests/tsc-references/propertyAccessChain.1.normal.js @@ -1,13 +1,13 @@ //// [propertyAccessChain.ts] -var _o1, _o2, _o3_b, _o4_b_c_d, _o4_b, _o5_b_c_d, _o5_b, _o5, _o6, // GH#34109 -_o11, // GH#36031 -_o21, _o22; -(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1.b; -(_o2 = o2) === null || _o2 === void 0 ? void 0 : _o2.b.c; +var _o3_b, _o4_b_c_d, _o4_b, _o5_b_c_d, _o5_b, _o6; +o1 === null || o1 === void 0 ? void 0 : o1.b; +o2 === null || o2 === void 0 ? void 0 : o2.b.c; (_o3_b = o3.b) === null || _o3_b === void 0 ? void 0 : _o3_b.c; (_o4_b = o4.b) === null || _o4_b === void 0 ? void 0 : (_o4_b_c_d = _o4_b.c.d) === null || _o4_b_c_d === void 0 ? void 0 : _o4_b_c_d.e; -(_o5_b = (_o5 = o5).b) === null || _o5_b === void 0 ? void 0 : (_o5_b_c_d = _o5_b.call(_o5).c.d) === null || _o5_b_c_d === void 0 ? void 0 : _o5_b_c_d.e; +(_o5_b = o5.b) === null || _o5_b === void 0 ? void 0 : (_o5_b_c_d = _o5_b.call(o5).c.d) === null || _o5_b_c_d === void 0 ? void 0 : _o5_b_c_d.e; (_o6 = o6()) === null || _o6 === void 0 ? void 0 : _o6.x; -((_o11 = o1) === null || _o11 === void 0 ? void 0 : _o11.b) ? 1 : 0; -(_o21 = o2) === null || _o21 === void 0 ? void 0 : _o21.b.c; -(_o22 = o2) === null || _o22 === void 0 ? void 0 : _o22.b.c; +// GH#34109 +(o1 === null || o1 === void 0 ? void 0 : o1.b) ? 1 : 0; +// GH#36031 +o2 === null || o2 === void 0 ? void 0 : o2.b.c; +o2 === null || o2 === void 0 ? void 0 : o2.b.c; diff --git a/crates/swc/tests/tsc-references/propertyAccessChain.2.1.normal.js b/crates/swc/tests/tsc-references/propertyAccessChain.2.1.normal.js index c3ccb59e422a..73b3b4f0d6c8 100644 --- a/crates/swc/tests/tsc-references/propertyAccessChain.2.1.normal.js +++ b/crates/swc/tests/tsc-references/propertyAccessChain.2.1.normal.js @@ -1,5 +1,5 @@ //// [propertyAccessChain.2.ts] -var _o1, _o2, _o3_b; -(_o1 = o1) === null || _o1 === void 0 ? void 0 : _o1.b; -(_o2 = o2) === null || _o2 === void 0 ? void 0 : _o2.b.c; +var _o3_b; +o1 === null || o1 === void 0 ? void 0 : o1.b; +o2 === null || o2 === void 0 ? void 0 : o2.b.c; (_o3_b = o3.b) === null || _o3_b === void 0 ? void 0 : _o3_b.c; diff --git a/crates/swc/tests/tsc-references/propertyAccessChain.2.2.minified.js b/crates/swc/tests/tsc-references/propertyAccessChain.2.2.minified.js index 301f8b4f513e..6944a9005a11 100644 --- a/crates/swc/tests/tsc-references/propertyAccessChain.2.2.minified.js +++ b/crates/swc/tests/tsc-references/propertyAccessChain.2.2.minified.js @@ -1,3 +1,3 @@ //// [propertyAccessChain.2.ts] -var _o1, _o2, _o3_b; -null === (_o1 = o1) || void 0 === _o1 || _o1.b, null === (_o2 = o2) || void 0 === _o2 || _o2.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c; +var _o3_b; +null == o1 || o1.b, null == o2 || o2.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c; diff --git a/crates/swc/tests/tsc-references/propertyAccessChain.2.minified.js b/crates/swc/tests/tsc-references/propertyAccessChain.2.minified.js index cbb8b225609f..d88639ac21ad 100644 --- a/crates/swc/tests/tsc-references/propertyAccessChain.2.minified.js +++ b/crates/swc/tests/tsc-references/propertyAccessChain.2.minified.js @@ -1,3 +1,3 @@ //// [propertyAccessChain.ts] -var _o1, _o2, _o3_b, _o4_b_c_d, _o4_b, _o5_b_c_d, _o5_b, _o5, _o6, _o11, _o21, _o22; -null === (_o1 = o1) || void 0 === _o1 || _o1.b, null === (_o2 = o2) || void 0 === _o2 || _o2.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c, null === (_o4_b = o4.b) || void 0 === _o4_b || null === (_o4_b_c_d = _o4_b.c.d) || void 0 === _o4_b_c_d || _o4_b_c_d.e, null === (_o5_b = (_o5 = o5).b) || void 0 === _o5_b || null === (_o5_b_c_d = _o5_b.call(_o5).c.d) || void 0 === _o5_b_c_d || _o5_b_c_d.e, null === (_o6 = o6()) || void 0 === _o6 || _o6.x, null === (_o11 = o1) || void 0 === _o11 || _o11.b, null === (_o21 = o2) || void 0 === _o21 || _o21.b.c, null === (_o22 = o2) || void 0 === _o22 || _o22.b.c; +var _o3_b, _o4_b_c_d, _o4_b, _o5_b_c_d, _o5_b, _o6; +null == o1 || o1.b, null == o2 || o2.b.c, null === (_o3_b = o3.b) || void 0 === _o3_b || _o3_b.c, null === (_o4_b = o4.b) || void 0 === _o4_b || null === (_o4_b_c_d = _o4_b.c.d) || void 0 === _o4_b_c_d || _o4_b_c_d.e, null === (_o5_b = o5.b) || void 0 === _o5_b || null === (_o5_b_c_d = _o5_b.call(o5).c.d) || void 0 === _o5_b_c_d || _o5_b_c_d.e, null === (_o6 = o6()) || void 0 === _o6 || _o6.x, null == o1 || o1.b, null == o2 || o2.b.c, null == o2 || o2.b.c; diff --git a/crates/swc_ecma_transforms_base/src/resolver/mod.rs b/crates/swc_ecma_transforms_base/src/resolver/mod.rs index 564b5de5e3d8..b00adb2d70ed 100644 --- a/crates/swc_ecma_transforms_base/src/resolver/mod.rs +++ b/crates/swc_ecma_transforms_base/src/resolver/mod.rs @@ -643,6 +643,9 @@ impl VisitMut for Resolver<'_> { } fn visit_mut_class_decl(&mut self, n: &mut ClassDecl) { + if n.declare && !self.config.handle_types { + return; + } self.modify(&mut n.ident, DeclKind::Lexical); n.class.decorators.visit_mut_with(self); @@ -809,6 +812,10 @@ impl VisitMut for Resolver<'_> { } fn visit_mut_fn_decl(&mut self, node: &mut FnDecl) { + if node.declare && !self.config.handle_types { + return; + } + // We don't fold ident as Hoister handles this. node.function.decorators.visit_mut_with(self); @@ -1235,6 +1242,9 @@ impl VisitMut for Resolver<'_> { } fn visit_mut_ts_enum_decl(&mut self, decl: &mut TsEnumDecl) { + if decl.declare && !self.config.handle_types { + return; + } self.modify(&mut decl.id, DeclKind::Lexical); self.with_child(ScopeKind::Block, |child| { @@ -1365,6 +1375,10 @@ impl VisitMut for Resolver<'_> { } fn visit_mut_ts_module_decl(&mut self, decl: &mut TsModuleDecl) { + if decl.declare && !self.config.handle_types { + return; + } + match &mut decl.id { TsModuleName::Ident(i) => { self.modify(i, DeclKind::Lexical); @@ -1380,6 +1394,10 @@ impl VisitMut for Resolver<'_> { } fn visit_mut_ts_namespace_decl(&mut self, n: &mut TsNamespaceDecl) { + if n.declare && !self.config.handle_types { + return; + } + self.modify(&mut n.id, DeclKind::Lexical); n.body.visit_mut_with(self); @@ -1492,7 +1510,7 @@ impl VisitMut for Resolver<'_> { } fn visit_mut_var_decl(&mut self, decl: &mut VarDecl) { - if decl.declare { + if decl.declare && !self.config.handle_types { return; } @@ -1648,6 +1666,9 @@ impl VisitMut for Hoister<'_, '_> { } fn visit_mut_class_decl(&mut self, node: &mut ClassDecl) { + if node.declare && !self.resolver.config.handle_types { + return; + } if self.in_block { return; } @@ -1748,6 +1769,10 @@ impl VisitMut for Hoister<'_, '_> { fn visit_mut_expr(&mut self, _: &mut Expr) {} fn visit_mut_fn_decl(&mut self, node: &mut FnDecl) { + if node.declare && !self.resolver.config.handle_types { + return; + } + if self.catch_param_decls.contains(&node.ident.sym) { return; } @@ -1852,7 +1877,7 @@ impl VisitMut for Hoister<'_, '_> { fn visit_mut_using_decl(&mut self, _: &mut UsingDecl) {} fn visit_mut_var_decl(&mut self, node: &mut VarDecl) { - if node.declare { + if node.declare && !self.resolver.config.handle_types { return; } diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/declare/input.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/declare/input.ts new file mode 100644 index 000000000000..4f3c94887eab --- /dev/null +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/declare/input.ts @@ -0,0 +1,15 @@ +declare const MY_MAGIC_VARIABLE: string; +declare function myFunction(): string; +declare enum MyEnum { + Value = "value", +} +declare class MyClass { + prop: string; +} +declare namespace MyNamespace { + var value: string; +} + +export default function Page() { + return `Server value: ${true ? MY_MAGIC_VARIABLE : "not set" + myFunction() + MyEnum.Value + new MyClass().prop + MyNamespace.value}` +} diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/declare/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/declare/output.ts new file mode 100644 index 000000000000..de155cd1c360 --- /dev/null +++ b/crates/swc_ecma_transforms_base/tests/ts-resolver/declare/output.ts @@ -0,0 +1,14 @@ +declare const MY_MAGIC_VARIABLE__2: string; +declare function myFunction__2(): string; +declare enum MyEnum__2 { + Value__0 = "value" +} +declare class MyClass__2 { + prop: string; +} +declare namespace MyNamespace__2 { + var value__4: string; +} +export default function Page__2() { + return `Server value: ${true ? MY_MAGIC_VARIABLE__2 : "not set" + myFunction__2() + MyEnum__2.Value + new MyClass__2().prop + MyNamespace__2.value}`; +} diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-1/input.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-1/input.ts deleted file mode 100644 index bff2d2655f98..000000000000 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-1/input.ts +++ /dev/null @@ -1,5 +0,0 @@ -declare const MY_MAGIC_VARIABLE: string; - -export default function Page() { - return `Server value: ${true ? MY_MAGIC_VARIABLE : "not set"}` -} diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-1/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-1/output.ts deleted file mode 100644 index 44202eb00b59..000000000000 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-1/output.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare const MY_MAGIC_VARIABLE__0: string; -export default function Page__2() { - return `Server value: ${true ? MY_MAGIC_VARIABLE : "not set"}`; -} diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-2/input.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-2/input.ts deleted file mode 100644 index 9cae0caa270c..000000000000 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-2/input.ts +++ /dev/null @@ -1,4 +0,0 @@ - -export default function Page() { - return `Server value: ${true ? MY_MAGIC_VARIABLE : "not set"}` -} diff --git a/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-2/output.ts b/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-2/output.ts deleted file mode 100644 index c35af10ac7ba..000000000000 --- a/crates/swc_ecma_transforms_base/tests/ts-resolver/next-72576-2/output.ts +++ /dev/null @@ -1,3 +0,0 @@ -export default function Page__2() { - return `Server value: ${true ? MY_MAGIC_VARIABLE : "not set"}`; -}