'No se puede volver a declarar la variable de ámbito de bloque' en archivos no relacionados
Hay un paquete TS simple que se usa como módulos CommonJS y no tiene exportaciones. Los archivos TS se compilan en archivos JS con el mismo nombre y se usan comorequire('package/option-foo')
.
tsconfig.json:
{
"compilerOptions": {
"target": "es5"
}
}
option-foo.ts:
declare const GlobalVar: any;
function baz() {}
if (GlobalVar.foo) GlobalVar.baz = baz;
option-bar.ts:
declare const GlobalVar: any;
function baz() {}
if (GlobalVar.bar) GlobalVar.baz = baz;
La parte importante aquí es queoption-foo
yoption-bar
sonnunca usado juntos. Hay otros archivos TS complementarios en el proyecto, pero no afectan nada, solo necesitan ser trasladados a JS en unotsc
correr.
Cuandotsc
corre, arroja
No se puede volver a declarar la variable de ámbito de bloque 'GlobalVar'.
Implementación de funciones duplicadas.
No se puede volver a declarar la variable de ámbito de bloque 'GlobalVar'.
Implementación de funciones duplicadas.
paraGlobalVar
ybaz
en ambos archivos
¿Cómo se puede tratar esto sin complicar el proceso de compilación o el resultado de estos dos archivos TS?