angular / angular/angular-cli

Split `angular.json` into multiple files

Open
#22,655 6 comments 73 reactions 0 assignees View on GitHub
area: @angular-devkit/core area: @angular/cli feature feature: under consideration
Dominant language
TypeScript
Stars
27k
Forks
11.8k
Avg merge
14h 23m
Merged PRs (30d)
162

Description

# 🚀 Feature request

- [x] new
- [x] build
- [x] serve
- [x] test
- [x] e2e
- [x] generate
- [ ] add
- [ ] update
- [x] lint
- [ ] extract-i18n
- [x] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

### Description

I have a monorepository and I want to split my `angular.json` into separate files.

So that I can have something like this:

```
{
"version": 2,
"projects": {
"module-auth": "packages/auth",
"module-core": "packages/core",
"module-button": "packages/button"
}
}
```

After working with NX I noticed that with Lerna and the usual setup my `angular.json` file has 119 lines of code even though I basically have an empty repository. I believe that having a single `angular.json` file is a very bad idea, especially for bigger monorepositories or UI libraries.

### Describe the solution you'd like

Make the JSON configuration 1:1 with [what NX does](https://nx.dev/configuration/projectjson#workspace-json) or implement similar functionality.

Contributor guide

Open the contributing guide

Research direction

Start with the existing angular.json structure and the Angular CLI commands marked as relevant: new, build, serve, test, e2e, generate, lint, and run. Trace how these commands consume the workspace configuration, then define support for separate project files with behavior matching the requested NX-style layout.

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, typescript
Domain
build-system, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.