Моя команда поддерживает несколько пакетов, и мы пытаемся создать общий 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+ пакетах? Может быть, что-то похожее, что делает Джест с rootDir
свойство.