Closed ebeloded closed 3 weeks ago
This feature is a blocker for me, it’s the most important command for a monorepo to keep dependencies with the same version and prevent mismatches
Here's a related issue in Renovate (Bun workspace support): https://github.com/renovatebot/renovate/issues/24459
Duplicate of
@ebeloded , is it okay for you to close this in favor of #5350 , or do you see a meaningful difference between them?
No, I think you're right
Re-closing as duplicate for tracking purposes
What is the problem this feature would solve?
Managing dependencies in large-scale projects, especially those structured as workspaces with multiple packages, can be quite laborious without the ability to update dependencies recursively across all projects. This limitation not only complicates manual updates but also impacts the integration with automated dependency management tools like Renovate. Without native support for recursive updates within Bun, integrating Renovate with Bun-managed projects may require additional configurations or workarounds, reducing the efficiency gains offered by both tools.
What is the feature you are proposing to solve the problem?
I propose incorporating a feature into Bun that enables recursive updating of dependencies across all projects within a workspace, akin to
pnpm update -r dependency@latest
. This would allow for the seamless and efficient management of dependencies across multiple packages, significantly simplifying the process of keeping a project's dependencies up to date. Moreover, this feature could streamline the integration of Bun with Renovate, as Renovate could potentially leverage this functionality to manage dependency updates more effectively within Bun projects, especially in monorepo setups.What alternatives have you considered?
One alternative is manually updating each package or employing external scripts to automate updates, though this requires additional setup and maintenance. Another option is relying on other package managers like pnpm that already possess this feature, but this means forgoing the benefits of Bun. Lastly, while not a direct substitute for recursive updates, configuring Renovate to handle dependency updates in Bun projects without native support is possible but might involve complex setup and less efficient operations.
Adding recursive update capabilities to Bun would not only enhance its usability for developers but also improve its compatibility with automated tools like Renovate, making it a more attractive option for managing modern JavaScript and TypeScript projects.