angular / angular/components

bug(Schematics): Modernize schematics

Đang mở
#33,460 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
area: ng-generate gemini-triaged P3
Ngôn ngữ chính
TypeScript
Star
25k
Fork
6.8k
Merge trung bình
1 ngày 8 giờ
Pull request đã merge (30 ngày)
91

Mô tả

### 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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với issue 33381 của Navigation schematic và hướng dẫn về schematics, sau đó kiểm tra output được tạo cho address-form, dashboard, table và tree. So sánh các API, form và template được tạo với hướng dẫn hiện tại của Angular Material; hoàn tất nghĩa là cả bốn schematics đều tạo ra code hiện đại, chất lượng mà không có các mẫu đã lỗi thời hoặc đặt sai vị trí được liệt kê.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
angular, typescript
Lĩnh vực
tooling
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.