Split `angular.json` into multiple files
- 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
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