'Não é possível redefinir variável com escopo de bloco' em arquivos não relacionados

Há um pacote TS simples que é usado como módulos CommonJS e não possui exportações. Os arquivos TS são compilados em arquivos JS com o mesmo nome e usados 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;

A parte importante aqui é queoption-foo eoption-bar estãonunca usados juntos. Existem outros arquivos TS complementares no projeto, mas eles não afetam nada, só precisam ser transpilados para JS em umtsc corre.

Quandotsc corre, joga

Não é possível redefinir a variável com escopo de bloco 'GlobalVar'.

Implementação de função duplicada.

Não é possível redefinir a variável com escopo de bloco 'GlobalVar'.

Implementação de função duplicada.

paraGlobalVar ebaz nos dois arquivos.

Como isso pode ser tratado sem complicar o processo de compilação ou a saída desses dois arquivos TS?

questionAnswers(2)

yourAnswerToTheQuestion