oven-sh / bun

Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
https://bun.sh
Other
72.99k stars 2.66k forks source link

Add support for recursive package updates #10339

Closed ebeloded closed 3 weeks ago

ebeloded commented 4 months ago

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.

remorses commented 4 months 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

ebeloded commented 4 months ago

Here's a related issue in Renovate (Bun workspace support): https://github.com/renovatebot/renovate/issues/24459

birkskyum commented 3 weeks ago

Duplicate of

@ebeloded , is it okay for you to close this in favor of #5350 , or do you see a meaningful difference between them?

ebeloded commented 3 weeks ago

No, I think you're right

Jarred-Sumner commented 3 weeks ago

Re-closing as duplicate for tracking purposes