«Невозможно повторно объявить блочную переменную» в несвязанных файлах
Существует простой пакет TS, который используется в качестве модулей CommonJS и не имеет экспорта. Файлы TS компилируются в файлы JS с тем же именем и используются какrequire('package/option-foo')
.
tsconfig.json:
{
"compilerOptions": {
"target": "es5"
}
}
Опция-foo.ts:
declare const GlobalVar: any;
function baz() {}
if (GlobalVar.foo) GlobalVar.baz = baz;
Опция-bar.ts:
declare const GlobalVar: any;
function baz() {}
if (GlobalVar.bar) GlobalVar.baz = baz;
Важной частью здесь является то, чтоoption-foo
а такжеoption-bar
являютсяникогда не использовался вместе, В проекте есть и другие бесплатные файлы TS, но они ни на что не влияют, их просто нужно перенести в JS за один раз.tsc
запустить.
когдаtsc
бежит, кидает
Невозможно повторно объявить блочную переменную «GlobalVar».
Дублирующая реализация функции.
Невозможно повторно объявить блочную переменную «GlobalVar».
Дублирующая реализация функции.
заGlobalVar
а такжеbaz
в обоих файлах.
Как это можно обработать, не усложняя процесс сборки или вывод этих двух файлов TS?