Last active
October 7, 2023 15:11
-
-
Save NerOcrO/8601d7bf2cf6ccbc469ea6018c8fe818 to your computer and use it in GitHub Desktop.
typescript tsconfig
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Show hidden characters
// TS v5.2 | |
// Quelques bases https://github.com/tsconfig/bases#centralized-recommendations-for-tsconfig-bases | |
// tsconfig.json | |
{ | |
"compilerOptions": { | |
// Interop Constraints | |
// ??? | |
"esModuleInterop": true, | |
// ??? | |
"isolatedModules": true, | |
// Language and Environment | |
// Obligatoire uniquement s'il y a des decorators dans le code | |
"emitDecoratorMetadata": true, | |
"experimentalDecorators": true, | |
// Version de la transpilation | |
// Plus elle est récente, moins ça prend de la place #eco-conception | |
// Attention s'il y a un front... | |
"target": "es2022", | |
// Permet que le type checking est les lib dont il a besoin en plus de "target" | |
"lib": [ | |
"dom", | |
"esnext" | |
], | |
// Completeness | |
// Vérifie les types des libs que j'importe, pas tous ceux de la lib #performance | |
"skipLibCheck": true, | |
}, | |
// Transpile uniquement ce répertoire | |
// Evite de transpiler les .ts en dehors de ce répertoire qui serait inutile #eco-conception | |
"include": ["src"], | |
// Dans la cas de l'utilisation du module ts-node | |
"ts-node": { | |
// Permet d'utiliser le transpiler "SWC" qui est écrit en Rust #performance | |
"swc": true | |
} | |
} | |
// tsconfig.build.json | |
{ | |
"extends": "./tsconfig.json", | |
// Exclue de la transpilation les fichiers qui ne servent pas au build final #eco-conception | |
"exclude": ["**/test", "**/*.test.ts"] | |
} | |
// package.json | |
{ | |
"scripts": { | |
// On n'a pas besoin de créer les fichiers JavaScript pour juste effectuer le type checking #eco-conception | |
"typecheck": "tsc --noEmit" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment