@silvestv/migration-planificator 5.0.2 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/README.fr.md +10 -11
  2. package/README.md +10 -11
  3. package/dist/client.bundle.js +98 -98
  4. package/dist/src/config/migration.config.js +69 -0
  5. package/dist/src/core/app-analyzer.js +61 -79
  6. package/dist/src/core/ast/matchers/html/html-element-matcher.js +32 -7
  7. package/dist/src/core/ast/matchers/html/index.js +36 -4
  8. package/dist/src/core/ast/matchers/ts/collection-matcher.js +18 -0
  9. package/dist/src/core/ast/matchers/ts/decorator-matcher.js +33 -4
  10. package/dist/src/core/ast/matchers/ts/expression-matcher.js +1 -1
  11. package/dist/src/core/ast/matchers/ts/node-matcher.js +4 -0
  12. package/dist/src/core/project-detector.js +78 -102
  13. package/dist/src/core/project-strategy/standalone-strategy.js +43 -14
  14. package/dist/src/core/rules-loader.js +21 -13
  15. package/dist/src/core/scan-reporter.js +3 -1
  16. package/dist/src/core/scanner-orchestrator.js +1 -1
  17. package/dist/src/core/workload/constants.js +7 -4
  18. package/dist/src/data/markdown/angular-migration-20-21.md +1010 -0
  19. package/dist/src/data/rules/to21/rules-21-obligatoire.json +423 -0
  20. package/dist/src/data/rules/to21/rules-21-optionnelle.json +253 -0
  21. package/dist/src/data/rules/to21/rules-21-recommande.json +139 -0
  22. package/dist/src/index.js +1 -1
  23. package/dist/src/templates/landing/project-overview.template.js +2 -1
  24. package/dist/src/templates/page/migration-guide.template.js +1 -0
  25. package/dist/src/templates/workload/guide-rule-card.template.js +3 -1
  26. package/dist/src/templates/workload/hierarchy-shared.js +6 -5
  27. package/dist/src/templates/workload/unified-settings-panel.template.js +27 -33
  28. package/dist/src/utils/core/args-parser.js +19 -18
  29. package/dist/styles.css +1 -1
  30. package/package.json +3 -2
package/README.fr.md CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  > **Outil professionnel d'analyse de migrations Angular pour montées de version, refactoring Nx monorepo, et évaluation de dette technique**
4
4
 
5
- Planifiez vos migrations Angular (17→18, 18→19, 19→20) avec analyse AST précise, calculez les charges de travail, et générez des dashboards HTML interactifs.
5
+ Planifiez vos migrations Angular (17→18, 18→19, 19→20, 20→21) avec analyse AST précise, calculez les charges de travail, et générez des dashboards HTML interactifs.
6
6
 
7
7
  [![npm version](https://img.shields.io/npm/v/@silvestv/migration-planificator.svg)](https://www.npmjs.com/package/@silvestv/migration-planificator)
8
8
  [![npm downloads](https://img.shields.io/npm/dm/@silvestv/migration-planificator.svg)](https://www.npmjs.com/package/@silvestv/migration-planificator)
9
9
  [![Node.js](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen)](https://nodejs.org/)
10
10
  [![TypeScript](https://img.shields.io/badge/typescript-5.9-blue)](https://www.typescriptlang.org/)
11
- [![Tests](https://img.shields.io/badge/tests-451%20passing-success)](tests)
11
+ [![Tests](https://img.shields.io/badge/tests-748%20passing-success)](tests)
12
12
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)[![Status](https://img.shields.io/badge/statut-alpha-orange)](https://www.npmjs.com/package/@silvestv/migration-planificator)
13
13
 
14
14
  **[🇬🇧 English](https://github.com/silvestv/migration-planificator-documentation/blob/master/README.md) | [🇫🇷 Français](https://github.com/silvestv/migration-planificator-documentation/blob/master/README.fr.md)**
@@ -23,7 +23,7 @@ Pour toute préoccupation de sécurité ou signaler une vulnérabilité, voir [S
23
23
 
24
24
  Un **outil d'analyse de migrations Angular** complet pour :
25
25
 
26
- - 🔄 **Migrations Angular** : Planifiez migrations 17→18, 18→19, 19→20 avec estimations précises
26
+ - 🔄 **Migrations Angular** : Planifiez migrations 17→18, 18→19, 19→20, 20→21 avec estimations précises
27
27
  - 🏢 **Monorepo Nx** : Analysez workspaces multi-apps/libs avec détail par target
28
28
  - 📊 **Dette Technique** : Identifiez APIs dépréciées, anti-patterns, opportunités de modernisation
29
29
  - 💰 **Estimation Charge** : Calculez temps (jours/heures/minutes) par priorité et niveau de risque
@@ -39,7 +39,7 @@ Contrairement aux scanners regex simples ou audits manuels :
39
39
 
40
40
  - ✅ **88% Couverture AST** : Détection contextuelle élimine faux positifs (ignore commentaires, strings, code migré)
41
41
  - ✅ **Intelligence Cross-File** : Connecte TypeScript ↔ templates HTML (détecte patterns `@Component` + `<router-outlet>`)
42
- - ✅ **Production-Ready** : 451 tests réussis, TypeScript strict mode, batch processing optimisé
42
+ - ✅ **Production-Ready** : 748 tests réussis, TypeScript strict mode, batch processing optimisé
43
43
  - ✅ **Gain de Temps** : Calcul charge auto + timeline Gantt = roadmap migration instantanée
44
44
  - ✅ **Zéro Dépendances** : Analyse AST pure avec ts-morph + @angular/compiler (pas d'APIs externes)
45
45
 
@@ -50,7 +50,7 @@ Contrairement aux scanners regex simples ou audits manuels :
50
50
  - **Précision AST** : Détection contextuelle via ts-morph + @angular/compiler (88% règles)
51
51
  - **Dashboard Interactif** : Rapport HTML avec charts, timeline Gantt, édition temps réel
52
52
  - **3 Modes Scan** : AST (précis), Regex (rapide), Both (comparatif avec analyse delta)
53
- - **85+ Règles Migration** : Couvrant breaking changes, dépréciations, best practices
53
+ - **119 Règles Migration** : Couvrant breaking changes, dépréciations, best practices (to18, to19, to20, to21)
54
54
  - **Analyse Cross-File** : Détection TypeScript ↔ templates HTML
55
55
  - **Multi-Projets** : Support Nx Monorepo et Angular Standalone
56
56
 
@@ -59,7 +59,7 @@ Contrairement aux scanners regex simples ou audits manuels :
59
59
  ## 🎓 Cas d'Usage
60
60
 
61
61
  ### Migration Version Angular
62
- Upgrade Angular 17→20 avec liste complète changements et estimations :
62
+ Upgrade Angular 17→21 avec liste complète changements et estimations :
63
63
  ```bash
64
64
  npx @silvestv/migration-planificator --scanner=both --rules=all --project-path=/path/to/angular-app
65
65
  ```
@@ -199,13 +199,14 @@ npm run report -- --scanner=both # Comparative AST vs Regex
199
199
 
200
200
  ## 📋 Règles Migration
201
201
 
202
- **85 règles** sur 3 versions :
202
+ **119 règles** sur 4 versions :
203
203
 
204
204
  | Migration | Obligatoires | Recommandées | Optionnelles | Total |
205
205
  |-----------|--------------|--------------|--------------|-------|
206
206
  | **17→18** | 8 | 17 | 0 | 25 |
207
207
  | **18→19** | 15 | 13 | 9 | 37 |
208
208
  | **19→20** | 6 | 7 | 5 | 18 |
209
+ | **20→21** | 21 | 6 | 12 | 39 |
209
210
 
210
211
  ### Catégories
211
212
  `environment` (versions Node/TS) • `imports` (modules) • `api` (APIs Angular) • `routing` (Router) • `template` (directives) • `test` (tests) • `ssr` (SSR) • `reactive` (Signals)
@@ -232,7 +233,7 @@ npm run build
232
233
  ### Rapport Vide
233
234
  - Vérifier `--project-path` pointe vers racine Angular
234
235
  - Vérifier présence `angular.json` ou `nx.json`
235
- - Support Angular 17, 18, 19, 20
236
+ - Support Angular 17, 18, 19, 20, 21
236
237
 
237
238
  ---
238
239
 
@@ -258,9 +259,7 @@ Pour toute préoccupation de sécurité ou signaler une vulnérabilité, voir [S
258
259
 
259
260
  ## 🤝 Contribuer & Support
260
261
 
261
- Ce projet utilise un **modèle double-licence** :
262
- - **Licence AGPL-3.0** pour usage communautaire/open-source
263
- - **Licence Commerciale** disponible pour support et fonctionnalités entreprise
262
+ Ce projet est sous licence **Apache License 2.0** - libre pour usage commercial et open-source.
264
263
 
265
264
  ### 🐛 Signaler un Bug
266
265
 
package/README.md CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  > **Professional Angular migration analysis tool for version upgrades, Nx monorepo refactoring, and technical debt assessment**
4
4
 
5
- Plan Angular migrations (17→18, 18→19, 19→20) with precision AST analysis, calculate workload estimates, and generate interactive HTML dashboards.
5
+ Plan Angular migrations (17→18, 18→19, 19→20, 20→21) with precision AST analysis, calculate workload estimates, and generate interactive HTML dashboards.
6
6
 
7
7
  [![npm version](https://img.shields.io/npm/v/@silvestv/migration-planificator.svg)](https://www.npmjs.com/package/@silvestv/migration-planificator)
8
8
  [![npm downloads](https://img.shields.io/npm/dm/@silvestv/migration-planificator.svg)](https://www.npmjs.com/package/@silvestv/migration-planificator)
9
9
  [![Node.js](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen)](https://nodejs.org/)
10
10
  [![TypeScript](https://img.shields.io/badge/typescript-5.9-blue)](https://www.typescriptlang.org/)
11
- [![Tests](https://img.shields.io/badge/tests-451%20passing-success)](./tests)
11
+ [![Tests](https://img.shields.io/badge/tests-748%20passing-success)](./tests)
12
12
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)[![Status](https://img.shields.io/badge/status-alpha-orange)](https://www.npmjs.com/package/@silvestv/migration-planificator)
13
13
 
14
14
  **[🇬🇧 English](https://github.com/silvestv/migration-planificator-documentation/blob/master/README.md) | [🇫🇷 Français](https://github.com/silvestv/migration-planificator-documentation/blob/master/README.fr.md)**
@@ -23,7 +23,7 @@ For security concerns or to report vulnerabilities, see [SECURITY.md](https://gi
23
23
 
24
24
  A comprehensive **Angular migration analysis tool** for:
25
25
 
26
- - 🔄 **Angular Upgrades**: Plan migrations 17→18, 18→19, 19→20 with precise workload estimates
26
+ - 🔄 **Angular Upgrades**: Plan migrations 17→18, 18→19, 19→20, 20→21 with precise workload estimates
27
27
  - 🏢 **Nx Monorepo**: Analyze multi-app/multi-lib workspaces with per-target breakdown
28
28
  - 📊 **Technical Debt**: Identify deprecated APIs, anti-patterns, modernization opportunities
29
29
  - 💰 **Workload Estimation**: Calculate time (days/hours/minutes) by priority and risk level
@@ -39,7 +39,7 @@ Unlike simple regex-based scanners or manual audits:
39
39
 
40
40
  - ✅ **88% AST Coverage**: Context-aware detection eliminates false positives (ignores comments, strings, migrated code)
41
41
  - ✅ **Cross-File Intelligence**: Connects TypeScript ↔ HTML templates (detects `@Component` + `<router-outlet>` patterns)
42
- - ✅ **Production-Ready**: 451 passing tests, TypeScript strict mode, optimized batch processing
42
+ - ✅ **Production-Ready**: 748 passing tests, TypeScript strict mode, optimized batch processing
43
43
  - ✅ **Time Saver**: Automated workload calculation + Gantt timeline = instant migration roadmap
44
44
  - ✅ **Zero Dependencies**: Pure AST analysis with ts-morph + @angular/compiler (no external APIs)
45
45
 
@@ -50,7 +50,7 @@ Unlike simple regex-based scanners or manual audits:
50
50
  - **AST Precision**: Context-aware detection via ts-morph + @angular/compiler (88% rule coverage)
51
51
  - **Interactive Dashboard**: HTML report with charts, Gantt timeline, real-time workload editing
52
52
  - **3 Scan Modes**: AST (precise), Regex (fast), Both (comparative with delta analysis)
53
- - **85+ Migration Rules**: Covering breaking changes, deprecations, best practices
53
+ - **119 Migration Rules**: Covering breaking changes, deprecations, best practices (to18, to19, to20, to21)
54
54
  - **Cross-File Analysis**: TypeScript ↔ HTML template detection
55
55
  - **Multi-Project**: Nx Monorepo and Angular Standalone support
56
56
 
@@ -59,7 +59,7 @@ Unlike simple regex-based scanners or manual audits:
59
59
  ## 🎓 Use Cases
60
60
 
61
61
  ### Angular Version Migration
62
- Upgrade Angular 17→20 with comprehensive change list and time estimates:
62
+ Upgrade Angular 17→21 with comprehensive change list and time estimates:
63
63
  ```bash
64
64
  npx @silvestv/migration-planificator --scanner=both --rules=all --project-path=/path/to/angular-app
65
65
  ```
@@ -199,13 +199,14 @@ npm run report -- --scanner=both # Comparative AST vs Regex
199
199
 
200
200
  ## 📋 Migration Rules
201
201
 
202
- **85 rules** across 3 versions:
202
+ **119 rules** across 4 versions:
203
203
 
204
204
  | Migration | Mandatory | Recommended | Optional | Total |
205
205
  |-----------|-----------|-------------|----------|-------|
206
206
  | **17→18** | 8 | 17 | 0 | 25 |
207
207
  | **18→19** | 15 | 13 | 9 | 37 |
208
208
  | **19→20** | 6 | 7 | 5 | 18 |
209
+ | **20→21** | 21 | 6 | 12 | 39 |
209
210
 
210
211
  ### Categories
211
212
  `environment` (Node/TS versions) • `imports` (modules) • `api` (Angular APIs) • `routing` (Router) • `template` (directives) • `test` (testing) • `ssr` (SSR) • `reactive` (Signals)
@@ -232,7 +233,7 @@ npm run build
232
233
  ### Empty Report
233
234
  - Verify `--project-path` points to Angular root
234
235
  - Check `angular.json` or `nx.json` exists
235
- - Supports Angular 17, 18, 19, 20
236
+ - Supports Angular 17, 18, 19, 20, 21
236
237
 
237
238
  ---
238
239
 
@@ -258,9 +259,7 @@ For security concerns or to report vulnerabilities, see [SECURITY.md](https://gi
258
259
 
259
260
  ## 🤝 Contributing & Support
260
261
 
261
- This project uses a **dual-license model**:
262
- - **AGPL-3.0 License** for community/open-source use
263
- - **Commercial License** available for enterprise support and features
262
+ This project is licensed under **Apache License 2.0** - free for commercial and open-source use.
264
263
 
265
264
  ### 🐛 Report a Bug
266
265