Tengo un proyecto con varios archivos tsconfig.json en diferentes directorios. Por lo general, VS Code usa cada tsconfig.json solo para el directorio en el que se encuentra.
Cuando git commit , uso Husky para ejecutar Eslint en los archivos modificados. Eslint usa @typescript-eslint/parser . Después de que se confirma el código, recibo una tonelada de errores de mecanografiado en VS Code. Reiniciar el servidor TS lo soluciona, pero es lento durante unos minutos (¿creo que está reconstruyendo el caché de TS?).
Creo que lo que sucede es que cuando se ejecuta Eslint, usa uno (o más) de los archivos tsconfig.json, según la ubicación de los archivos modificados. Luego, VS Code de alguna manera detecta que se usó un tsconfig.json específico, luego lo usa para todo mi proyecto. Quiero que VS Code continúe usando los archivos tsconfig.json que detectó, en lugar de seleccionar el tsconfig.json que usa Eslint.
¿Cuáles son algunas cosas que puedo intentar para prevenir esto? ¿Hay alguna manera de deshabilitar temporalmente el servidor TS de VS Code mientras confirmo el código? ¿O hay una forma adecuada de evitar que VS Code use un archivo tsconfig.json incorrectamente?
Encontré el problema:
Hay archivos .d.ts que se incluyen en varios tsconfig.json s. Hay algunas definiciones de tipo en diferentes archivos .d.ts que se anulan entre sí, por lo que el orden de importación es importante. Por razones desconocidas, después de que git commit , VS Code los importa en un orden diferente.
Lo arreglé dejando de anular las definiciones.