Repository navigation
build(deps): passer le frontend à Angular 22 (Node 22, Jest 30) - #678
Merged
Merged
Conversation
Angular 19 n'est plus maintenu : 7 des 22 failles remontées par Dependency-Track sur cicada-frontend n'y ont aucun correctif. Première marche vers Angular 22. - @angular/* 19.2.15 → 20.3.32, CLI et build-angular 20.3.37, Material et CDK 19.2.19 → 20.2.14, TypeScript 5.6 → 5.9 - migrations ng update : variables CSS Material renommées --mdc-* → --mat-* (styles globaux, overrides Material et 4 composants), valeurs par défaut des schematics dans angular.json - TypeScript 5.9 refuse une variable lue avant affectation dans un test (plan-detail.component.spec.ts) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jest-preset-angular 14 ne suit que Jest 29 et bloque ng update au-delà d'Angular 20. Jest 29 → 30, jest-environment-jsdom 30, jest-preset-angular 14 → 17 (Angular 20 à 22), @types/jest 30. jsdom 26 ne permet plus de remplacer window.location : le rechargement de page à la sortie de l'impersonation passe par HeaderComponent.reloadTo(), que les tests espionnent. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Deuxième marche vers Angular 22. - @angular/* 20.3.32 → 21.2.24, CLI et build-angular 21.2.24, Material et CDK 20.2.14 → 21.2.14 - migrations ng update : retrait des imports standalone inutilisés (CommonModule dans 99 composants, composants importés mais absents du gabarit), lib par défaut dans tsconfig.json - depuis Angular 21, une navigation du routeur ne se termine plus sous fakeAsync/tick : les tests de détection de la page d'accueil de l'en-tête passent en async/await. Ceux qui attendaient l'accueil restaient verts sans naviguer, l'URL initiale étant déjà « / » ; ils vérifient de nouveau quelque chose. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Troisième et dernière marche. Angular 22 est maintenu jusqu'à fin 2027 ;
toutes les failles remontées sur cicada-frontend sont corrigées.
- @angular/* 21.2.24 → 22.2.0, Material et CDK 21.2.14 → 22.2.0,
TypeScript 5.9 → 6.0
- Node.js 20 → 22 (Angular 22 l'exige) : CI, Dockerfile du frontend,
conteneur de développement
- migrations ng update, toutes à comportement constant :
- OnPush devient le défaut : ChangeDetectionStrategy.Eager posé sur les
133 composants existants
- provideHttpClient garde le backend XHR (withXhr) au lieu de fetch
- 6 gabarits : () conserve l'ancienne sémantique
de ?.
- deux diagnostics étendus mis en sourdine dans tsconfig.app.json
- TypeScript 6 n'inclut plus les @types par défaut : tsconfig.json déclare
jest et node pour le typecheck de la CI
- l'hôte de test de FilterDropdownComponent modifie des champs ordinaires :
Eager, lui aussi
- documentation : version d'Angular, variables CSS Material --mat-* dans
CLAUDE.md et DESIGN_SYSTEM.md
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Corrige les 22 vulnérabilités remontées par Dependency-Track sur
cicada-frontenden montant Angular 19 → 22 (maintenu jusqu'à fin 2027). Angular 19 n'est plus maintenu : 7 des failles n'y ont aucun correctif. Suite de #677 (partie Python).Commits (une marche par version majeure)
--mdc-*→--mat-*(styles globaux, overrides, 4 composants).ng update. jsdom 26 ne permet plus de remplacerwindow.location: la redirection de sortie d'impersonation passe parHeaderComponent.reloadTo().CommonModuledans 99 composants). Une navigation du routeur ne se termine plus sousfakeAsync: les tests de l'en-tête passent enasync/await(3 d'entre eux passaient sans naviguer).ChangeDetectionStrategy.Eagersur les 133 composants (OnPush devient le défaut),withXhr(),$safeNavigationMigration()dans 6 gabarits. Documentation mise à jour (CLAUDE.md, DESIGN_SYSTEM.md).Vérifications
tsc --noEmitOKprofile.component.spec.ts › getDaysUntilDeletion) échoue déjà surdevelopnpm audit --omit=devet OSV : 0 vulnérabilité sur les 25 composants de productionChangements visibles à arbitrer
Deux valeurs par défaut de Material ont changé, visibles dans le menu du compte :
mat-divider:#6f7979→#bec9c8(plus clair, partout dans l'application). Aucune des deux n'est la couleur du design system, qui prévoit$gray-light(#E4E4E4) pour les filets ; la nouvelle s'en rapproche.Après merge
node:22-alpine) :docker compose up -d --force-recreate frontendnvm install 22)🤖 Generated with Claude Code