angular / angular/angular-cli

Ng generate always assumes an `app` folder

Open
#9,370 15 comments 10 reactions 0 assignees View on GitHub
area: @schematics/angular feature feature: insufficient votes workaround1: obvious
Dominant language
TypeScript
Stars
27k
Forks
11.8k
Avg merge
14h 23m
Merged PRs (30d)
162

Description

Our project setup doesn't have an immediate sub-folder of app, however, it appears that running ng generate always assume that you have an `app` folder under the app root folder you specified in .angular-cli.json

### Versions
```
Angular CLI: 1.6.0
Node: 7.0.0
OS: darwin x64
Angular:
...
```

### Repro steps
* Setup a simple .angular-cli.json with:
```
{
"apps": [
{
"name": "client",
"root": "projects/client"
}
]
}
```
* Run:
```
ng g c form-inputs/mike --skip-import --dry-run --app=client
```

### Observed behavior
You'll see the output path always assumes an `app` folder:

```
create projects/client/app/form-inputs/mike/mike.component.css (0 bytes)
create projects/client/app/form-inputs/mike/mike.component.html (23 bytes)
create projects/client/app/form-inputs/mike/mike.component.spec.ts (614 bytes)
create projects/client/app/form-inputs/mike/mike.component.ts (261 bytes)
```

### Desired behavior
I'd like an option to be able to configure whether your project has the `app` folder or not. Or maybe an option to configure the whole path the component gets created in.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the `ng g c form-inputs/mike --skip-import --dry-run --app=client` command with the shown `.angular-cli.json`. Trace how the configured `root` is combined with the generated component path, then verify that the chosen configuration creates files under the intended location without assuming an `app` folder.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.