Im experimenting with nx release and cannot figure out how make the command release an app when I make a change to a dependent module.
Looking at the below graph, you can see i have 3 apps, 2 are dependent on the shared-ui module.

If I make direct changes to the apps, nx release detects the changes (via conventional commits) and continues as expected. I've now made a change to the shared-ui module and committed it as fix(shared-ui): made a change. I expected that task-management-web and sales-orders-web would have their patch version incremented, but nx release does not detect any changes.

The changes to shared-ui are being done in a branch. The list of affected apps is correct;
$ nx show projects --type app --affected
sales-orders-web
company-web
but nx release does not detect the changes.
Even explicitly listing the projects to release yields the same output, ie:
$ nx release --projects sales-orders-web company-web --dry-run --skip-publish
Does anyone know how I can resolve this issue?
Thanks, Grant
I found this issue (https://github.com/nrwl/nx/issues/26041) and associated reproducer project (https://github.com/JamesHenry/nx-26041) that helped solve this same problem for me.
The key parts were to include the following snippet in the nx.json
{
"release": {
"generatorOptions": {
"updateDependents": "auto"
}
}
}
And include a reference to the library in each application project package.json
{
"name": "@repo/app1",
"dependencies": {
"@repo/lib": "x.x.x."
}
}
After including these changes the nx release command would release and publish both the changed library and the indirectly impacted application.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With