Skip to content

TypeScript: an exported variable of sibling namespaces can not be correctly transformed when assigned #4450

@chirsz-ever

Description

@chirsz-ever

Example input code:

namespace A {
    export var x = 0;
}

namespace A {
    console.log(x);
    x = 0;
}

TypeScript 6.0.2 (playground):

"use strict";
var A;
(function (A) {
    A.x = 0;
})(A || (A = {}));
(function (A) {
    console.log(A.x);
    A.x = 0;
})(A || (A = {}));

esbuild 0.28.0 (playground):

var A;
((A2) => {
  A2.x = 0;
})(A || (A = {}));
((A2) => {
  console.log(A2.x);
  x = 0;
})(A || (A = {}));

Related issue: #1410

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions