Mon équipe maintient de multiples paquets et nous essayons de créer une base de données partagée. tsconfig.json
avec une configuration commune pour tous. Elle contient nos préférences concernant la cible de compilation, JSX, le répertoire de sortie et les fichiers inclus, par exemple :
{
"compilerOptions": {
"module": "esnext",
"target": "es5",
"lib": ["es5", "dom"],
"jsx": "react",
"outDir": "build/dist"
},
"include": ["./src/**/*.ts", "./src/**/*.tsx"]
}
Nous publions ce fichier en tant que module npm partagé, comme suit my-build-config
et ensuite utiliser extends
dans chaque projet :
{
"extends": "./node_modules/my-build-config/tsconfig.json"
}
Le problème ici est que tous les chemins dans la configuration partagée sont relatifs à l'emplacement du fichier. Par exemple, il essaiera d'inclure les fichiers ".ts" non pas dans le projet actuel, mais à l'intérieur du projet. my-build-config
. Par exemple, au lieu de ./src/index.ts
il cherche ./node_modules/my-build-config/src/index.ts
.
Existe-t-il un moyen de partager les emplacements des fichiers, afin qu'ils ne soient pas répétés dans plus de 10 paquets ? Peut-être quelque chose de similaire à ce que Jest fait avec rootDir
propriété.