angular / angular/angular-cli

Add new "common" schematic to share configurations for all schematics at once

未关闭
#33,221 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
area: @angular-devkit/schematics gemini-triaged
主要语言
TypeScript
星标
27k
派生
11.8k
平均合并
14 小时 23 分钟
30 天内合并 PR
162

描述

### Command

generate

### Description

Implement an internal artifact to commonize the configuration of schematics so that all schematics can share a common configuration by default, and override on a per-artifact basis if needed. Currently, all configurations are duplicated, and while not that annoying to deal with for a single collection, it can quickly add up when using several collections.

### Describe the solution you'd like

Actual :
```json
{
"schematics": {
"@schematics/angular:component": { "skipSelector": true },
"@schematics/angular:directive": { "skipSelector": true },
"@schematics/angular:pipe": { "skipSelector": true }
}
}
```
Proposed :
```json
{
"schematics": {
"@schematics/angular:common": { "skipSelector": true }
}
}
```

This new `common` schematic would contain either
- only fields that are common to all artifacts
- All fields possible, even if not applicable to certain artifacts

Resolving would follow this pattern :
- Look for common artifact schematic value
- If existing, apply value
- If all fields are possible : also check if value is applicable to artifact
- Look for direct artifact schematic value
- Override value

### Describe alternatives you've considered

Doing it by hand as already done today is the only solution

贡献指南

打开贡献指南

调研方向

从 generate 命令和 schematic 配置解析路径开始。将提议的通用配置与当前的按 artifact 配置进行比较,然后定义通用值的应用方式,以及 artifact 直接指定的值如何覆盖通用值。当 schematics 可以继承共享的默认值,同时保留按 artifact 的覆盖时,即视为完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
typescript
领域
cli
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
冷清
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。