bug(Schematics): Modernize schematics
- Langage dominant
- TypeScript
- Étoiles
- 25k
- Forks
- 6.8k
- Merge moyen
- 1 j 8 h
- PR mergées (30 j)
- 91
Description
### Is this a regression?
- [ ] Yes, this behavior used to work in the previous version
### The previous version in which this bug was not present was
_No response_
### Description
I opened an Issue for modernizing the Navigation schematic: https://github.com/angular/components/issues/33381. I have since observed that all the other [schematics](https://material.angular.dev/guide/schematics) generate code with similar issues, so I am opening this Issue for improving and modernizing the code generated by the rest of the schematics, namely:
- [ ] 1. `address-form`
- [ ] 2. `dashboard`
- [ ] 3. `table`
- [ ] 4. `tree`
These are the issues I have observed:
1. The code includes M2 APIs that are no longer relevant. E.g., `address-form` generates a button with `color="primary"`, and `table` generates a table with `mat-elevation-z2`.
2. The code includes Reactive Forms (e.g., `address-form`). This should be replaced with Signal Forms, or a command line argument needs to be provided to indicate Signal Forms.
3. The `tree` schematic generates code that is based on deprecated modules: `MatTreeFlatDataSource`, `MatTreeFlattener`, and `FlatTreeControl`. Moreover, in the template, there is an empty button ``. The icon is incorrectly placed after the button rather than within it.
### Reproduction
This issue does not require a StackBlitz reproduction because these are comments on the code generated by the schematics.
### Expected Behavior
The schematics should produce quality code and set the standard for implementing Material Design components.
### Actual Behavior
The code has several issues.
### Environment
Angular CLI : 22.0.1
Angular : 22.0.1
Node.js : 26.1.0
Package Manager : npm 11.16.0
Operating System : win32 x64
Browser: Chrome
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par l’issue 33381 de Navigation schematic et le guide des schematics, puis examinez la sortie générée pour address-form, dashboard, table et tree. Comparez les API, les formulaires et les templates générés avec les recommandations actuelles d’Angular Material ; le travail est terminé lorsque les quatre schematics génèrent du code moderne et de qualité, sans les patterns obsolètes ou mal placés répertoriés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- angular, typescript
- Domaine
- tooling
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100