Acabo de actualizar mi aplicación angular iónica para usar angular v13 desde angular 12 ejecutando ng update . La actualización fue exitosa pero ahora no puedo ejecutar la aplicación con los siguientes errores
[ng] Error: node_modules/ionicons/dist/types/components.d.ts:66:15 - error TS2320: Interface 'HTMLIonIconElement' cannot simultaneously extend types 'IonIc on' and 'HTMLStencilElement'. [ng] Named property 'ariaHidden' of types 'IonIcon' and 'HTMLStencilElement' are not identical. [ng] [ng] 66 interface HTMLIonIconElement extends Components.IonIcon, HTMLStencilElement { [ng] ~~~~~~~~~~~~~~~~~~ [ng] [ng] [ng] Error: node_modules/ionicons/dist/types/components.d.ts:66:15 - error TS2320: Interface 'HTMLIonIconElement' cannot simultaneously extend types 'IonIc on' and 'HTMLStencilElement'. [ng] Named property 'ariaLabel' of types 'IonIcon' and 'HTMLStencilElement' are not identical. [ng] [ng] 66 interface HTMLIonIconElement extends Components.IonIcon, HTMLStencilElement { [ng] ~~~~~~~~~~~~~~~~~~ [ng] [ng] [ng] Error: node_modules/typescript/lib/lib.dom.d.ts:4632:101 - error TS2344: Type 'HTMLElementTagNameMap[K]' does not satisfy the constraint 'Element'. [ng] Type 'HTMLElement | HTMLMetaElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | ... 151 more ... | HTMLMarqueeElement' is not assigna ble to type 'Element'. [ng] Type 'HTMLIonIconElement' is not assignable to type 'Element'. [ng] Property 'ariaHidden' is optional in type 'HTMLIonIconElement' but required in type 'Element'. [ng] [ng] 4632 getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>; [ng] ~~~~~~~~~~~~~~~~~~~~~~~~ [ng] [ng] [ng] Error: node_modules/typescript/lib/lib.dom.d.ts:4953:101 - error TS2344: Type 'HTMLElementTagNameMap[K]' does not satisfy the constraint 'Element'. [ng] Type 'HTMLElement | HTMLMetaElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | ... 151 more ... | HTMLMarqueeElement' is not assigna ble to type 'Element'. [ng] [ng] 4953 getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>; [ng]El problema es que todos los archivos de los que se queja están en el directorio node_modules. ¿Cómo puedo resolver esto?
Parece que ng update actualizó la versión de mecanografiado a 4.4, pero el icono iónico de iones parece ser incompatible con esta versión de mecanografiado.
La solución actual que usé fue volver a la versión 4.3.5 de TypeScript
Cómo realizar esta degradación:
actualice su paquete.json -> reemplace: "typescript": "~4.4.4" con "typescript": "~4.3.5"
luego ejecute -> npm install
Si alguien tiene más información sobre la causa raíz de esta incompatibilidad y otra forma de resolver esto, estoy muy interesado ya que me gustaría actualizar a TypeScript 4.4.
Bueno, ¡el truco de reemplazar la versión funcionó! Para mí, el problema se desencadenó cuando quería compilar la aplicación, luego apareció el mensaje para actualizar de angular 12 a 13. Después de eso, apareció un error sobre no reconocer módulos angulares.
Ahora no tengo ningún error al iniciar las pruebas, pero recibí el error "ha sido bloqueado por la política de CORS" cuando la aplicación intenta acceder a los servicios.
Cualquier comentario adicional será apreciado.