Veille Angular, semaine 40
Sécurité
- GHSA-ff3f-86qr-9cv3 (23 septembre, CVSS 8.2, élevée, pas de CVE assigné) : sur
@angular/routeren SSR Node.js, des paramètres matriciels numériques dans l'URL (par exemple/a;990;2522) déclenchent l'allocation dense de tableau indexé de V8 au lieu du fallback en dictionnaire épars. Un segment de 11 octets peut consommer 20 à 25 Ko de heap, une amplification d'environ 350 fois, ce qui permet d'épuiser la mémoire d'un worker SSR avec peu de requêtes. Versions vulnérables :@angular/routerde 22.0.0 à moins de 22.2.0, de 21.0.0 à moins de 21.2.24, de 20.0.0 à moins de 20.3.32, et toute version 19.2.25 ou antérieure (fin de support, non corrigée). Corrigé en 22.2.0, 21.2.24 et 20.3.32.
Releases Angular core, CLI et Material
- Angular 22.2.0 (23 septembre) : API programmatique pour
ErrorBoundaryet bloc@boundaryen developer preview (compiler et language service), optionstrictUnclaimedEventNamesdu compiler-cli pour détecter les liaisons de sortie mal orthographiées,containsTreeexposé dans l'API publique du router, possibilité de lancer unRedirectCommanddepuis un guard, un resolver ou une resource, stabilisation du nettoyage automatique des injecteurs de route, et champs cachés permanents dans les Signal Forms. Corrige aussi la faille SSR ci-dessus. - Angular CLI 22.2.0 (23 septembre) : option
--rootpour la commandemcp. Dans@angular/build: migration du linker Angular versoxc-parser/magic-string, séparation possible des stats JSON browser et server, correctifs sur le cache SQLite, des fuites mémoire et la surveillance de fichiers. Dans@angular/ssr: pré-compilation des plans CSS critiques au build. Déprécie l'optionsplittingdu builder unit-test, devenue inutile avec Vitest 5. - Angular Material et CDK 22.2.0 (23 septembre) : classes Material Symbols appliquées automatiquement sur
mat-icon, optiondisabledInteractivesurMatMenuItem, support des Signal Forms dansMatFormFieldControl. Dans le CDK : masquage temporaire degetAttachedOverlaysdans l'API overlay, adaptation du testing harness à la nouvelle APIDirectiveFixture. - Extension VS Code Angular Language Service 22.2.0 (25 septembre) : inlay hints dans les templates inline, folding ranges pour les chaînes interpolées, support du bloc
@boundary.
Nx et outillage
- Nx 23.3.0-beta.5 (23 septembre) : correctifs sur
angular-rspack(les fermetures de champs de classe sont désormais conservées par instance dans les builds minifiés) et réduction du coût d'inférence despackage.json, après les beta.2 à beta.4 publiées les 21 et 22 septembre dans le même cycle. - Nx 23.3.0-beta.6 (26 septembre) : configuration de sandbox target pour l'opt-out observed-IO, hachage des tâches à partir des snapshots I/O de Nx Cloud, et restriction des recherches glob du workspace aux préfixes de répertoire littéraux.
Testing et migration
- Vitest 5.0.2 (25 septembre) : corrige une persistance anormale du cookie d'authentification de l'UI Vitest au-delà de la session navigateur, un stack overflow lié à l'espionnage de
Set.prototype.add, et des correctifs sur les mocks et les reporters. Playwright et Jest n'ont publié aucune version stable cette semaine (dernières en date : Playwright 1.63.0 le 4 septembre, Jest 30.5.2 le 18 septembre).
Articles
- Ninja Squad revient sur Angular 22.2 (23 septembre) : bloc
@boundary, accès aux propriétés privées depuis le template, et amélioration duRedirectCommandlancé depuis un guard ou une resource. What's new in Angular 22.2?
Découvertes
- dmaster-ui (v0.11.0, 22 septembre) : bibliothèque de 46 composants Angular 20 à 22, entièrement basée sur les signals (
input(),output(),model()), zoneless-ready, thématisée par variables CSS personnalisées sans dépendance à Tailwind ou Material. L'ensemble de la bibliothèque pèse environ 102 Ko gzip. Pourquoi tester : c'est une alternative sans Tailwind ni Material pour qui veut du signals-first pur, avec un poids de bundle mesuré et documenté par composant plutôt qu'un chiffre global vague. - ngx-json-render (v0.7.2, 27 septembre) : renderer Angular pour le projet json-render, qui transforme un flux JSON généré par un LLM en composants Angular réels (signals, standalone, sans Zone.js), avec un catalogue Angular Material de 28 composants prêt à l'emploi et un mode
SpecStreampour inspecter le rendu en cours de génération. Pourquoi tester : c'est le seul renderer Angular du projet json-render, alors que les renderers React, Vue, Solid et Svelte existent déjà côté officiel, un cas concret pour une UI générative pilotée par un LLM en Angular. - we-grid-angular (v0.5.0, 23 septembre) : grille de données Angular sans dépendance externe hormis le CDK, avec redimensionnement, réordonnancement et épinglage de colonnes, filtre par en-tête façon Excel, groupement avec sous-totaux, master-detail et export CSV, Excel et PDF. Compatible Angular 18.2 à 22. Pourquoi tester : une alternative à ag-grid ou à la table PrimeNG pour qui veut une grille avec export et groupement sans dépendance CSS ou police d'icônes tierce.