Veille Angular, semaine 42

Sécurité

  • GHSA-57xq-rjx2-v5xh (publiée le 1er octobre, CVSS 8.2, élevée, pas de CVE assigné) : sur @angular/router en SSR Node.js, RouterLink met en cache un UrlTree pour toute la requête. Avec queryParamsHandling à merge ou preserve, chaque lien copie les paramètres de requête, donc une chaîne de requête très longue peut épuiser le heap et faire tomber le worker SSR. Versions vulnérables : de 22.0.0 à moins de 22.2.1 et de 21.2.0 à moins de 21.2.25. Corrigé en 22.2.1 et 21.2.25. Contournements : éviter merge et preserve sur les liens rendus côté serveur, ou rejeter les chaînes de requête longues au niveau du proxy.

Releases Angular core, CLI et Material

  • Angular 22.3.0-next.1 (8 octobre, pré-release) : ajoute scrollMargin aux options de viewport de @defer, des plages de sélection intelligente dans le language service, et des correctifs sur le compiler (::ng-deep, @let dans les diagnostics de projection de contenu), les Signal Forms et le router (sérialisation des URLs relatives au protocole, état après une redirection depuis le gestionnaire d'erreur).
  • Angular 22.2.2 (8 octobre, patch) : reprend ces correctifs sur la ligne stable et ajoute strictUnclaimedEventNames au schéma des options du compiler dans le language service.
  • Angular CLI 22.3.0-next.1 (7 octobre, pré-release) : le répertoire de cache de @angular/build est désormais séparé par projet et par builder, le dev server SSR conserve l'en-tête Host d'origine quand il fait proxy, et le builder de bibliothèque accepte un outputPath situé dans la racine du projet.
  • Angular Material et CDK 22.3.0-next.1 (7 octobre, pré-release) : google-maps journalise une erreur au lieu de lever une exception, et mat-icon ne copie plus les attributs d'événement.

Nx et outillage

  • Nx 23.3.0 (7 octobre) : support de NgRx 22, de Vitest 5 et de Cypress 16, option --explain qui indique pourquoi chaque tâche est affectée, Ultracache en remplacement de la propriété de target sandbox (activable avec NX_CLOUD_USE_ULTRACACHE), et exécuteur @nx/oxlint:lint par lots. Côté angular-rspack, une application SSR peut être générée sur l'application engine de @angular/ssr.
  • Nx 24.0.0-beta.0 (9 octobre, beta) : retire l'alias déprécié nx watch --includeDependentProjects au profit de --includeDependencies, ne traite plus projects: 'self' et 'dependencies' comme valeurs spéciales dans dependsOn (nx repair réécrit ces entrées), retire @nx/gradle/plugin-v1 et les générateurs et exécuteurs Remix.

Testing et migration

  • Playwright 1.64.0 (7 octobre) : nouvelle option de projet default pour exclure un projet des exécutions sauf sélection explicite, option --shuffle pour mélanger l'ordre des tests, lock dans test.describe.configure() pour sérialiser les tests qui partagent une ressource, et locator.within() pour restreindre un locator à un autre. Chromium 156, Firefox 157 et WebKit 27.2.

Breaking change

  • Playwright 1.64.0 : la propriété screen provient maintenant des descripteurs d'appareil (il faut la fixer à undefined pour s'en passer), le JSX dans les tests suit tsconfig.json, et les éléments situés dans des iframes cachées sont désormais considérés comme cachés. Les suites de tests de bout en bout qui reposent sur l'un de ces comportements sont à relancer après la montée de version.

Découvertes

  • jig (dépôt mis à jour le 1er octobre, beta, sous le dist-tag next de @awdlab/jig) : bibliothèque de plus de 60 composants pour Angular 22 et plus, basée sur les signals, zoneless et standalone, sans ControlValueAccessor ni décorateurs @Input() et @Output(). Les composants n'embarquent aucun CSS : le style vient d'un paquet de thèmes séparé avec trois préréglages (nova, shade, material) et un moteur de tokens pour les thèmes sur mesure. Les imports se font par sous-chemins, par exemple @awdlab/jig/button. Pourquoi tester : le style étant découplé des composants, on peut changer de préréglage ou définir ses propres tokens sans toucher aux templates, ce qui convient aux projets qui ont déjà un design system maison. L'API est annoncée proche de la stabilité mais des inputs peuvent encore être renommés.

AngularKit

Suite d'outils pour développeurs Angular francophones. Apprends, modernise tes réflexes, audite ta codebase.

Produits

Contact

Légal

© 2026 AngularKit. Tous droits réservés.