You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Recently been setting up a bun workspace with its catalog feature to centralize external package versioning and turborepo. I've hit upon an unexpected (and unwanted) behavior and I'm wondering if I'm not getting it right.
Say I have 3 apps (A, B, C) that use internal and external dependencies. 1 of these, app B, uses an external package "he". When I update the version of "he" in the root package.json, commit the change and then run turbo run deploy --affected --dry-run, I expect that only the B should be deployed. However, turbo appears to be running deploy for all apps (regardless if they use "he" or not).
I've tried to test with --filter and between the two commit SHAs and I've tried to move the external package "he" from the root package.json to the local app package.json (bun still uses the root lock file, which is kind of expected in a monorepo workspace), but the behavior is the same. I've tried to tinker with the inputs but I see that package.json and lockfiles are hardcoded.
The fact that a minor change in an external dependency for a single package triggers the whole shebang is an absolute no-go.
So is this expected behavior? Am I missing something? Is there a way out of this? Would greatly appreciate any help 🙏
EDIT Seems like bun catalogs aren't yet supported in turborepo (ref #10729), so that would be causing the global change on my end?
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
Hi,
Recently been setting up a bun workspace with its catalog feature to centralize external package versioning and turborepo. I've hit upon an unexpected (and unwanted) behavior and I'm wondering if I'm not getting it right.
Say I have 3 apps (A, B, C) that use internal and external dependencies. 1 of these, app B, uses an external package "he". When I update the version of "he" in the root package.json, commit the change and then run
turbo run deploy --affected --dry-run, I expect that only the B should be deployed. However, turbo appears to be running deploy for all apps (regardless if they use "he" or not).I've tried to test with --filter and between the two commit SHAs and I've tried to move the external package "he" from the root package.json to the local app package.json (bun still uses the root lock file, which is kind of expected in a monorepo workspace), but the behavior is the same. I've tried to tinker with the inputs but I see that package.json and lockfiles are hardcoded.
The fact that a minor change in an external dependency for a single package triggers the whole shebang is an absolute no-go.
So is this expected behavior? Am I missing something? Is there a way out of this? Would greatly appreciate any help 🙏
EDIT Seems like bun catalogs aren't yet supported in turborepo (ref #10729), so that would be causing the global change on my end?
Additional information
Example
No response
Beta Was this translation helpful? Give feedback.
All reactions