{"id":231996,"date":"2023-01-13T16:50:00","date_gmt":"2023-01-13T13:50:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231996"},"modified":"2022-11-10T07:09:54","modified_gmt":"2022-11-10T04:09:54","slug":"nuevos-cambios-de-compatibilidad-con-angular-typescript-en-la-version-10","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/nuevos-cambios-de-compatibilidad-con-angular-typescript-en-la-version-10\/","title":{"rendered":"Nuevos cambios de compatibilidad con Angular TypeScript en la versi\u00f3n 10"},"content":{"rendered":"\n<p>Angular lanz\u00f3 recientemente su versi\u00f3n 10 y est\u00e1 repleta de funciones. Un cambio importante es el hecho de que su nuevo soporte para TypeScript rompe la compatibilidad con versiones anteriores. Veamos qu\u00e9 hay de nuevo y c\u00f3mo beneficia a los desarrolladores de Angular.<\/p>\n<p>Los cambios en la compatibilidad con TypeScript en Angular 10 se pueden resumir en tres \u00e1reas:<\/p>\n<h2>Nueva compatibilidad con TypeScript 3.9<\/h2>\n<p>Angular 10 es un lanzamiento principal publicado el 24 de junio y cargado con muchas adiciones nuevas: desde componentes de la interfaz de usuario como un nuevo <a href=\"https:\/\/next.material.angular.io\/components\/datepicker\/overview#date-range-selection\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">selector de rango de fechas<\/a> hasta cambios importantes bajo el cap\u00f3, como la compatibilidad con la versi\u00f3n de TypeScript.<\/p>\n<p>La compatibilidad con Angular <a href=\"https:\/\/startfunction.com\/tag\/typescript\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TypeScript<\/a> se ha mantenido actualizada muy r\u00e1pido, lo que muestra un compromiso total con el superconjunto de tipos de JavaScript:<\/p>\n<ul>\n<li>Angular 9 lanzado el 6 de febrero compatible con TypeScript 3.7<\/li>\n<li>Angular 9.1 lanzado el 25 de marzo introdujo soporte para TypeScript 3.8<\/li>\n<li>Angular 10 ahora solo es compatible con TypeScript 3.9<\/li>\n<\/ul>\n<p>Tenga en cuenta que este es un cambio importante: TypeScript 3.8 y anteriores ya no son compatibles con Angular y, si por alguna raz\u00f3n los necesita, no debe actualizar a Angular 10 para preservar la integridad de su aplicaci\u00f3n.<\/p>\n<p><a href=\"https:\/\/github.com\/microsoft\/tslib\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TSlib<\/a>, la biblioteca de tiempo de ejecuci\u00f3n oficial para TypeScript que contiene todas las funciones auxiliares de TypeScript, se ha actualizado a la versi\u00f3n 2.0.<\/p>\n<p><a href=\"https:\/\/github.com\/palantir\/tslint\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TSLint<\/a>, la herramienta de an\u00e1lisis est\u00e1tico que verifica el c\u00f3digo TypeScript para detectar errores de legibilidad, mantenimiento y funcionalidad, se actualiz\u00f3 a la versi\u00f3n 6. Esta es la \u00faltima versi\u00f3n principal de TSLint antes de que quedara obsoleta, por lo que es probable que una nueva versi\u00f3n de Angular introduzca soporte para <a href=\"https:\/\/github.com\/typescript-eslint\/typescript-eslint\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TypeScript ESLint<\/a>, la evoluci\u00f3n de TSLint que permite que ESLint admita TypeScript.<\/p>\n<h2>Nueva estructura del proyecto<\/h2>\n<p>Otra \u00e1rea en la que tambi\u00e9n se actualiz\u00f3 la compatibilidad con Angular TypeScript es en el dise\u00f1o del proyecto. La versi\u00f3n 10 ahora presenta un nuevo <code>tsconfig.base.json<\/code>. Este nuevo archivo funciona en conjunto con el tradicional <code>tsconfig.json<\/code>:<\/p>\n<ul>\n<li>el <code>tsconfig.json<\/code>archivo contiene una lista de rutas a otros archivos de configuraci\u00f3n de TypeScript incluidos en el proyecto actual para determinar a qu\u00e9 archivo de configuraci\u00f3n pertenece un archivo para que pueda aplicar las opciones apropiadas. Mientras que los editores de c\u00f3digo y el servidor de lenguaje de TypeScript usan este archivo para una mejor experiencia de desarrollo, los compiladores no lo hacen.<\/li>\n<li>El <code>tsconfig.base.json<\/code>archivo especifica las opciones b\u00e1sicas del compilador TypeScript y Angular que heredan todos los proyectos en el espacio de trabajo.<\/li>\n<\/ul>\n<p>Actualizar una aplicaci\u00f3n con <code>ng update<\/code>actualizar\u00e1 autom\u00e1ticamente la estructura para usar el nuevo <code>tsconfig.base.json<\/code>.<\/p>\n<h2>Nuevas configuraciones estrictas<\/h2>\n<p>Angular 10 ahora ofrece una nueva opci\u00f3n para el comando CLI <code>ng new<\/code>. Cuando crea un nuevo espacio de trabajo con<\/p>\n<p><code>ng new --strict<\/code><\/p>\n<p>el nuevo espacio de trabajo tendr\u00e1 nuevas configuraciones activadas para activar el modo estricto en TypeScript y configurar reglas de linting para evitar declaraciones de tipo <code>any<\/code>. Esto permite ayudar a detectar errores con anticipaci\u00f3n y tambi\u00e9n permite que la CLI realice optimizaciones avanzadas en la aplicaci\u00f3n.<\/p>\n<h2>M\u00e1s cambios en Angular 10<\/h2>\n<p>Esta publicaci\u00f3n resumi\u00f3 los cambios en la compatibilidad con Angular TypeScript. Hay muchos m\u00e1s cambios sobre los que puede leer en la publicaci\u00f3n del blog <a href=\"https:\/\/blog.angular.io\/version-10-of-angular-now-available-78960babd41\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">de lanzamiento de Angular 10<\/a><\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/startfunction.com\" class=\"external external_icon\">startfunction.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>El soporte de TypeScript 3.9 y las nuevas bibliotecas TS son los grandes cambios en esta versi\u00f3n.<\/p>\n","protected":false},"author":1,"featured_media":236900,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[892,716,747,779,840],"tags":[1172],"class_list":["post-231996","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-desarrollador","category-fuente-abierta","category-software-de-codigo-abierto","category-tutoriales","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/231996","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=231996"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/231996\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/236900"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=231996"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=231996"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=231996"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}