angular / angular/components

bug(Schematics): Modernize schematics

Open
#33,460 2 comments 0 reactions 0 assignees View on GitHub
area: ng-generate gemini-triaged P3
Dominant language
TypeScript
Stars
25k
Forks
6.8k
Avg merge
1d 8h
Merged PRs (30d)
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

Contributor guide

Open the contributing guide

Research direction

Start with the Navigation schematic issue 33381 and the schematics guide, then inspect the generated output for address-form, dashboard, table, and tree. Compare the generated APIs, forms, and templates with current Angular Material guidance; done means all four schematics generate modern, quality code without the listed deprecated or misplaced patterns.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.