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

Abierto
#33,221 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
typescript
Área
cli

Línea de trabajo

Comienza con el comando generate y la ruta de resolución de la configuración de schematic. Compara la configuración común propuesta con la configuración actual por artefacto y, después, define cómo se aplican los valores comunes y cómo los valores directos del artefacto los sobrescriben. Se considera terminado cuando los schematics pueden heredar valores predeterminados compartidos y conservar las sobrescrituras por artefacto.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area: @angular-devkit/schematics gemini-triaged
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 :

{
  "schematics": {
    "@schematics/angular:component": { "skipSelector": true },
    "@schematics/angular:directive": { "skipSelector": true },
    "@schematics/angular:pipe": { "skipSelector": true }
  }
}

Proposed :

{
  "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

Lenguaje dominante
TypeScript
Estrellas
27k
Forks
11.8k
Merge medio
16 h 21 min
PR fusionados (30 d)
170

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de angular/angular-cli

Todos los issues de angular/angular-cli

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.