{"id":232262,"date":"2023-01-13T17:17:00","date_gmt":"2023-01-13T14:17:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232262"},"modified":"2022-11-10T08:22:02","modified_gmt":"2022-11-10T05:22:02","slug":"nouveaux-changements-de-prise-en-charge-de-angular-typescript-dans-la-version-10","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fr\/nouveaux-changements-de-prise-en-charge-de-angular-typescript-dans-la-version-10\/","title":{"rendered":"Nouveaux changements de prise en charge de Angular TypeScript dans la version 10"},"content":{"rendered":"<p>Angular a r\u00e9cemment publi\u00e9 sa version 10 et ses nombreuses fonctionnalit\u00e9s. Un changement important est le fait que son nouveau support TypeScript rompt la compatibilit\u00e9 avec les versions pr\u00e9c\u00e9dentes. Voyons ce qui est nouveau et comment cela profite aux d\u00e9veloppeurs Angular.<\/p>\n<p>Les modifications apport\u00e9es \u00e0 la prise en charge de TypeScript dans Angular 10 peuvent \u00eatre r\u00e9sum\u00e9es dans trois domaines\u00a0:<\/p>\n<h2>Nouvelle prise en charge de TypeScript 3.9<\/h2>\n<p>Angular 10 est une version majeure publi\u00e9e le 24 juin et charg\u00e9e de nombreux nouveaux ajouts: des composants de l&rsquo;interface utilisateur comme un nouveau <a href=\"https:\/\/next.material.angular.io\/components\/datepicker\/overview#date-range-selection\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">s\u00e9lecteur de plage de dates<\/a> aux changements majeurs sous le capot comme sa prise en charge de la version TypeScript.<\/p>\n<p>La prise en charge de Angular <a href=\"https:\/\/startfunction.com\/tag\/typescript\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TypeScript<\/a> a \u00e9t\u00e9 mise \u00e0 jour tr\u00e8s rapidement, d\u00e9montrant un engagement total envers le sur-ensemble typ\u00e9 JavaScript\u00a0:<\/p>\n<ul>\n<li>Angular 9 publi\u00e9 le 6 f\u00e9vrier prend en charge TypeScript 3.7<\/li>\n<li>Angular 9.1 publi\u00e9 le 25 mars a introduit la prise en charge de TypeScript 3.8<\/li>\n<li>Angular 10 ne prend d\u00e9sormais en charge que TypeScript 3.9<\/li>\n<\/ul>\n<p>Notez qu&rsquo;il s&rsquo;agit d&rsquo;un changement radical\u00a0: TypeScript 3.8 et les versions ant\u00e9rieures ne sont plus prises en charge sur Angular et si vous en avez besoin pour une raison quelconque, vous ne devez pas mettre \u00e0 jour vers Angular 10 pour pr\u00e9server l&rsquo;int\u00e9grit\u00e9 de votre application.<\/p>\n<p><a href=\"https:\/\/github.com\/microsoft\/tslib\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TSlib<\/a>, la biblioth\u00e8que d&rsquo;ex\u00e9cution officielle pour TypeScript qui contient toutes les fonctions d&rsquo;assistance TypeScript, a \u00e9t\u00e9 mise \u00e0 jour vers la version 2.0.<\/p>\n<p><a href=\"https:\/\/github.com\/palantir\/tslint\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TSLint<\/a>, l&rsquo;outil d&rsquo;analyse statique qui v\u00e9rifie la lisibilit\u00e9, la maintenabilit\u00e9 et les erreurs de fonctionnalit\u00e9 du code TypeScript, a \u00e9t\u00e9 mis \u00e0 jour vers la version 6. Il s&rsquo;agit de la derni\u00e8re version majeure de TSLint avant qu&rsquo;il ne devienne obsol\u00e8te. Il est donc probable qu&rsquo;une nouvelle version angulaire introduira la prise en charge de <a href=\"https:\/\/github.com\/typescript-eslint\/typescript-eslint\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TypeScript ESLint<\/a>, l&rsquo;\u00e9volution de TSLint qui permet \u00e0 ESLint de prendre en charge TypeScript.<\/p>\n<h2>Nouvelle structure de projet<\/h2>\n<p>Un autre domaine o\u00f9 la prise en charge d&rsquo;Angular TypeScript a \u00e9galement \u00e9t\u00e9 mis \u00e0 jour est la mise en page du projet. La version 10 introduit d\u00e9sormais un nouveau <code>tsconfig.base.json<\/code>. Ce nouveau fichier fonctionne en conjonction avec le traditionnel <code>tsconfig.json<\/code>:<\/p>\n<ul>\n<li>le <code>tsconfig.json<\/code>fichier contient une liste de chemins vers d&rsquo;autres fichiers de configuration TypeScript inclus dans le projet en cours pour d\u00e9terminer \u00e0 quel fichier de configuration appartient un fichier afin qu&rsquo;il puisse appliquer les options appropri\u00e9es. Alors que les \u00e9diteurs de code et le serveur de langage de TypeScript utilisent ce fichier pour une meilleure exp\u00e9rience de d\u00e9veloppement, les compilateurs ne le font pas.<\/li>\n<li>Le <code>tsconfig.base.json<\/code>fichier sp\u00e9cifie les options de base du compilateur TypeScript et Angular dont h\u00e9ritent tous les projets de l&rsquo;espace de travail.<\/li>\n<\/ul>\n<p>La mise \u00e0 jour d&rsquo;une application avec <code>ng update<\/code>mettra automatiquement \u00e0 jour la structure pour utiliser le nouveau <code>tsconfig.base.json<\/code>.<\/p>\n<h2>Nouveaux param\u00e8tres stricts<\/h2>\n<p>Angular 10 propose d\u00e9sormais une nouvelle option pour la commande CLI <code>ng new<\/code>. Lorsque vous cr\u00e9ez un nouvel espace de travail avec<\/p>\n<p><code>ng new --strict<\/code><\/p>\n<p>le nouvel espace de travail aura de nouveaux param\u00e8tres activ\u00e9s pour activer le mode strict dans TypeScript et configurer des r\u00e8gles de lint pour emp\u00eacher les d\u00e9clarations de type <code>any<\/code>. Cela permet d&rsquo;aider \u00e0 d\u00e9tecter les bogues \u00e0 l&rsquo;avance et permet \u00e9galement \u00e0 la CLI d&rsquo;effectuer des optimisations avanc\u00e9es sur l&rsquo;application.<\/p>\n<h2>Plus de changements dans Angular 10<\/h2>\n<p>Cet article r\u00e9sume les modifications apport\u00e9es \u00e0 la prise en charge d&rsquo;Angular TypeScript. Il y a beaucoup plus de changements que vous pouvez lire dans le billet de blog de la <a href=\"https:\/\/blog.angular.io\/version-10-of-angular-now-available-78960babd41\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">version Angular 10<\/a><\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/startfunction.com\" class=\"external external_icon\">startfunction.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La prise en charge de TypeScript 3.9 et les nouvelles biblioth\u00e8ques TS sont les grands changements de cette version.<\/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":[893,717,780,748,841],"tags":[1167],"class_list":["post-232262","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code-2","category-developpeur","category-logiciels-open-source","category-open-source-projektmanagement-2","category-tutoriels","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/232262","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/comments?post=232262"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/posts\/232262\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media\/236900"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/media?parent=232262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/categories?post=232262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fr\/wp-json\/wp\/v2\/tags?post=232262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}