given next source.ts:
namespace STD {
export function A() {
console.log('fun A')
}
}
namespace STD {
export function B() {
console.log('fun B')
A()
}
}
console.log(STD.B())
Compiled by ms ts tsc --outfile out-ts.js source.ts:
var STD;
(function (STD) {
function A() {
console.log('fun A');
}
STD.A = A;
})(STD || (STD = {}));
(function (STD) {
function B() {
console.log('fun B');
STD.A(); // <--- Look here
}
STD.B = B;
})(STD || (STD = {}));
console.log(STD.B());
Compiled by esbuild esbuild source.ts --bundle:
(() => {
// source.ts
var STD;
(function(STD2) {
function A2() {
console.log("fun A");
}
STD2.A = A2;
})(STD || (STD = {}));
(function(STD2) {
function B() {
console.log("fun B");
A(); // <--- Look here, Expected: STD.A()
}
STD2.B = B;
})(STD || (STD = {}));
console.log(STD.B());
})();
Question: Is it possible to make esbuild compile like original typescript and prevent module or namespace isolation? And make possible to call function within same namespace.
given next source.ts:
Compiled by ms ts
tsc --outfile out-ts.js source.ts:Compiled by esbuild
esbuild source.ts --bundle:Question: Is it possible to make esbuild compile like original typescript and prevent module or namespace isolation? And make possible to call function within same namespace.