angular / angular-cli

CLI tool for Angular
https://cli.angular.io
MIT License
26.73k stars 11.98k forks source link

Split `angular.json` into multiple files #22655

Open developer239 opened 2 years ago

developer239 commented 2 years ago

πŸš€ Feature request

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 or implement similar functionality.

alan-agius4 commented 2 years ago

Splitting angular.json into multiple projects level configuration is something that we definitly want to explore in the future.

However, it is very unlikely that it will 1:1 with the NX solution.

angular-robot[bot] commented 2 years ago

This feature request is now candidate for our backlog! In the next phase, the community has 60 days to upvote. If the request receives more than 20 upvotes, we'll move it to our consideration list.

You can find more details about the feature request process in our documentation.

Den-dp commented 2 years ago

I think that such functionality will lead to a win-win situation for both Angular and Nx.

cc: @vsavkin

developer239 commented 2 years ago

@Den-dp I will share this issue with more people maybe it will get at least into the consideration list. I have no idea why would anyone dislike this and I would like to hear counterarguments. πŸ˜…

Personally, if I had to work on a monorepo with Angular and without nx I would write a custom script that would build the angular.json file the way I described.

srukshan98 commented 1 month ago

It is essential to address this in Angular now, especially with the advent of native federation, which simplifies the process of working on microfrontends within Angular workspaces. Managing a large angular.json file in this context is neither ideal nor efficient and can become quite cumbersome.