-
-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can independent mode run over all libraries at once and produce single commit (not multiple)? #61
Comments
Hi @glebmachine, you're not bothersome, I like your suggestions! I think it's a complete valid scenario for a monorepo. To make it work we should rework the What do you think @yjaaidi? It Seems to cross what you had in mind. |
Hey y'all 😄 |
Hey @EladBezalel! Happy to see you here 😊 Let's discuss this here first then you can go ahead with a PR or we can plan a call or a mob programming party 🎉 CurrentThe idea is to drop the current independent configuration which looks like this: {
"name": "my-app",
"root": "apps/my-app",
"architect": {
"version": {
"builder": "@jscutlery/semver:version"
},
},
},
{
"name": "lib-core-a",
"root": "packages/core/a",
"architect": {
"version": {
"builder": "@jscutlery/semver:version"
},
},
},
{
"name": "lib-core-b",
"root": "packages/core/b",
"architect": {
"version": {
"builder": "@jscutlery/semver:version"
},
},
} Goaland to move to something like this: {
"name": "workspace",
"root": ".",
"architect": {
"version": {
"builder": "@jscutlery/semver:version",
"options": {
"projects": ["lib-core-a", "lib-core-b"],
"groupBy": ["packages/core"]
}
},
},
}
The main advantage here is that we have one configuration for the whole workspace. The challenge is to override the configuration for some projects, for example, when plugins will be available. We might want to give distinct @edbzn what do you think? |
As mentioned in #125, we'll be moving to a new configuration syntax that would look something like this: {
"name": "workspace",
"root": ".",
"architect": {
"version": {
"builder": "@jscutlery/semver:version",
"options": {
"singleCommit": true,
"configs": [
{
"name": "rx-state",
"type": "independent"
},
{
"name": "cdk",
"type": "group",
"path": "packages/cdk",
"packages": [
"packages/cdk/operators",
"packages/cdk/helpers"
]
}
]
}
}
}
} As you can see in this example, we could add a |
hi guys, I'm looking forward to have this grouping or single commit feature, do you have a plan for it? |
Hi guys, is there any plan update on this request? |
@davidren-apt This is the next thing I would like to work on BUT we need Nx to support workspace level executors before being able to introduce this change. So for now it's pending. |
@edbzn since you have closed the issue in the Nx repo, could you give an update on how to use this now in combination with |
It's not doable in the current state, we need now to refactor the whole plugin, this will be hanlded in the next major release. We started to work on an RFC so it's in the pipeline. |
Thank you very much for clarification. 🚀 |
Guys, i'm sorry for be so bothersome 🙄
Sync mode update all changelogs and package.json versions at once (with one single version) and produce single "bump" commit.
Indepdendent mode goes for each library and produce multiple "bump" commit for each library.
Is it possible to run independent mode like sync mode (over all apps and libs) and produce single commit not multiple?
Thank you!) 🍺
The text was updated successfully, but these errors were encountered: