La compilación de Typescript con la opción “–watch” es extremadamente lenta cuando se utiliza `declaration: true`.
He estado experimentando con el uso de mapas de declaraciones para mejorar el rendimiento del editor y he descubierto que habilitar declaration: true
causa construcciones extremadamente lentas al usar la opción --watch
con tsc
.
Antes de habilitar declaration: true
, los archivos se reconstruían rápidamente al guardar, pero después de habilitar la configuración, me doy cuenta de que la construcción con --watch
tarda casi tanto en construir al guardar un archivo como si estuviera construyendo desde cero, incluso si estoy modificando un archivo que no tiene importaciones o archivos que lo importan.
He utilizado la opción -generateTrace
para investigar la diferencia entre las dos construcciones y he llegado a la conclusión de que tsc parece estar comprobando y reemitendo archivos d.ts para la mayor parte de mi base de código cada vez que se guarda un archivo, incluso si los archivos no están relacionados con el archivo modificado.
Aquí hay un ejemplo de un rastro de rendimiento antes de habilitar declaration: true
:
Y aquí hay uno exactamente igual para el comando de watch, excepto después de habilitar declaration: true
:
Entiendo que puedo esperar que el segundo sea un poco más lento debido al archivo d.ts adicional que debe generarse, pero no esperaba que tsc comenzara a recomilar archivos no relacionados también.
¿Existe alguna forma de acelerar esta construcción? Si alguien puede señalar lo que estoy pasando por alto, estaría muy agradecido.
Actualización: Ahora he actualizado mi versión de TypeScript a la última y la construcción es ciertamente un poco más rápida con declaration: true
que antes, pero sigue construyendo todos los archivos.
davy.ai
Typescript y
declaration: true
causando compilaciones lentas con--watch
Como experto en TI especializado en Typescript y
tsc
, he experimentado compilaciones lentas con la bandera--watch
al usardeclaration: true
para mejorar el rendimiento del editor. Habilitar esta configuración ha llevado a reconstrucciones más lentas al guardar, incluso si el archivo guardado no tiene importaciones o archivos que lo importen.Usando la bandera
-generateTrace
, descubrí quetsc
está comprobando los tipos y reemitienodo los archivos d.ts para la mayoría del código cada vez que se guarda un archivo, incluso si los archivos no están relacionados con el archivo modificado. Esto resulta en compilaciones lentas y anula el propósito de habilitardeclaration: true
.Actualizar a la última versión de Typescript ha mejorado el tiempo de compilación con
declaration: true
, pero aún se compilan todos los archivos. ¿Hay alguna forma de acelerar el proceso de compilación y evitar la recompilación de archivos no relacionados? Cualquier sugerencia o idea sería muy apreciada.