Tipos
Los errores de tipos se dividen en dos categorías: errores con código de error fijo y errores relacionados con el escenario.
Errores con código de error fijo
Este tipo de error se puede capturar claramente en el código, y a cada error se le asigna un código de error fijo. El código de error está formado por el tipo de error y un ID, por ejemplo TYPE-001.
Lista de códigos de error
TYPE-001
Failed to generate type declaration. Execute the below cmd to reproduce and fix the error.
- Error Code:
TYPE-001
Causas
Al compilar los tipos TS de los archivos expuestos (exposes), se usa el tsconfig.json del proyecto actual. La falta de algunas opciones del compilador puede hacer que falle el build de tipos.
Soluciones
- Elimina
incrementalytsBuildInfoFilede tsconfig.json del comandocmd. - Ejecuta en la terminal el
cmddel mensaje de error y corrige el archivo o eltsconfigsegún la salida.
Si quieres ignorar los errores de comprobación de tipos de TS, establece compilerOptions.noCheck en true en tsconfig.json (requiere TS 5.5+).
Si el cmd se ejecuta sin errores pero sigues obteniendo un fallo de compilación de TS, revisa el campo exposes de ModuleFederationPlugin:
Errores relacionados con el escenario
Este tipo de error se genera en función del escenario concreto del usuario y no tiene un código de error fijo. El mensaje de error y la forma de resolverlo varían según el escenario.
Los tipos generados contienen alias
Descripción del fenómeno
Los tipos generados por el producer contienen alias y no se pueden procesar correctamente en el consumer.
Cómo resolverlo
- Instala typescript-transform-paths y ts-patch
- Aplica
typescript-transform-pathsentsconfig.json
- Establece dts.generateTypes.compilerInstance en
tspc(CLI dets-patch) - Vuelve a generar los tipos
Los tipos generados no se actualizan al trabajar detrás de un proxy local
Descripción del fenómeno
Los tipos del producer se generan correctamente y el log del consumer muestra que se procesaron con éxito, pero el directorio @mf-types no se actualiza.
El problema puede deberse a una configuración del proxy que no permite descargar el recurso.
Cómo resolverlo
- Comprueba si el directorio
@mf-typesse genera en el directoriodistdel producer. - Revisa el log de tu proxy en busca de errores relacionados con
TLSoSSL. - Ajusta la configuración de tu proxy para añadir la certificación
TLSde tu entorno local. - En algunos escenarios esto no funciona. Como alternativa, puedes definir la variable de entorno
NODE_TLS_REJECT_UNAUTHORIZED=0para ignorar los errores deTLSoSSL. Así,@mf-types.zipse podrá procesar correctamente.
Establece NODE_TLS_REJECT_UNAUTHORIZED=0 solo en tu entorno de desarrollo local. No está pensado para producción. Si optas por esta vía, asegúrate de hacer commit de los tipos generados en tu repositorio.