Моя команда поддерживает несколько пакетов, и мы пытаемся создать общий tsconfig.json
с общей конфигурацией для всех из них. Он содержит наши настройки относительно цели компиляции, JSX, выходного каталога и подключаемых файлов, например:
{
"compilerOptions": {
"module": "esnext",
"target": "es5",
"lib": ["es5", "dom"],
"jsx": "react",
"outDir": "build/dist"
},
"include": ["./src/**/*.ts", "./src/**/*.tsx"]
}
Мы публикуем этот файл как общий npm-модуль, например my-build-config
, а затем используем extends
в каждом проекте:
{
"extends": "./node_modules/my-build-config/tsconfig.json"
}
Проблема здесь в том, что все пути в общей конфигурации относятся к местоположению файла. Например. он попытается включить файлы ".ts" не из текущего проекта, а внутри my-build-config
. Например, вместо ./src/index.ts
ищет ./node_modules/my-build-config/src/index.ts
.
Есть ли способ поделиться расположением файлов, чтобы они не повторялись в 10+ пакетах? Возможно, что-то похожее на то, что Jest делает со свойством rootDir
.