CLI generates items in unexpected workspace directories
- Langage dominant
- TypeScript
- Étoiles
- 27k
- Forks
- 11.8k
- Merge moyen
- 14 h 23 min
- PR mergées (30 j)
- 162
Description
# 🐞 Bug report
### Command
- [x] generate
### Description
In a multi-project workspace, `ng generate` creates items (components, etc.) based on the current directory, rather than `[ProjectRoot]/src/app` or `[ProjectRoot/src/lib`.
In a single-project workspace, the CLI knows to place items inside of `src...`. However, in a multi-project workspace with a `projects/...` directory structure, the developer must navigate to `src/app` or `src/lib` prior to generating the item, or specify its location, such as:
```
cd ./projects/app1/src/app
ng generate component component1
```
or
```
cd ./projects/app1
ng generate component src/app/component1 -module src/app/app
```
The expectation would be to navigate to the root of the project, then generate items in the same manner as a single-project workspace, such as:
```
cd ./projects/app1
ng generate component component1
```
Ideally, developers would not have to worry about where they are within the project directory structure or having to specify the location of the module (particularly in default module configurations).
## 🌍 Your Environment
Angular CLI: 12.2.2
Node: 14.16.0
Package Manager: npm 7.21.0
OS: win32 x64
Angular: 12.2.2
... animations, cdk, cli, common, compiler, compiler-cli, core
... forms, material, platform-browser, platform-browser-dynamic
... router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1202.2
@angular-devkit/build-angular 12.2.2
@angular-devkit/core 12.2.2
@angular-devkit/schematics 12.2.2
@schematics/angular 12.2.2
ng-packagr 12.2.0
rxjs 6.6.7
typescript 4.3.5
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par reproduire les commandes `ng generate component component1` depuis un workspace multi-projets, en comparant la génération depuis la racine du projet avec la génération depuis `src/app` ou `src/lib`. Le travail est terminé lorsque la génération depuis la racine du projet place les éléments dans le répertoire source attendu du projet et résout le module sans nécessiter de chemin explicite.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- angular, typescript
- Domaine
- cli, tooling
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100