Skip to content
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

add support for bun #6528

Open
1 task done
MarkLyck opened this issue Jan 27, 2023 · 31 comments
Open
1 task done

add support for bun #6528

MarkLyck opened this issue Jan 27, 2023 · 31 comments
Labels
Keep Exempt this from being marked by stalebot T: feature-request Requests for new features T: new-ecosystem Requests for new ecosystems/languages

Comments

@MarkLyck
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

Feature description

https://bun.sh/ is quickly gaining traction and is now my preferred npm package manager.

It is faster than both yarn and pnpm, but the only thing left keeping me from moving to it for production use. Is the lack of support by dependabot or renovatebot.

Please add support for bun install and the bun.lockb lockfile.

@MarkLyck MarkLyck added the T: feature-request Requests for new features label Jan 27, 2023
@jeffwidman jeffwidman added the T: new-ecosystem Requests for new ecosystems/languages label Jan 27, 2023
@xhyrom
Copy link

xhyrom commented May 31, 2023

any progress here?

@aradalvand
Copy link

Bun v1 has been released, this is very much needed now.

@Wazbat
Copy link

Wazbat commented Sep 12, 2023

Surprised to not see any support on this yet. We're looking into moving our production applications to bun, however we make significate use of dependabot

@aradalvand
Copy link

aradalvand commented Sep 13, 2023

@brrygrdn @JamieMagee @jurre @greysteil Sorry for tagging you guys, but just wanted to ask if this is going to be worked on soon?

@greysteil
Copy link
Contributor

Afraid I don't work on Dependabot anymore, or at GitHub! 🤞 you get some traction - in the past the best / easiest integrations have been when the package manager team themselves collaborated with the Dependabot team.

@aradalvand
Copy link

aradalvand commented Sep 13, 2023

Got ya! Thank you.

@Jarred-Sumner Any chance you guys (the Bun team) could perhaps take a look at this?

@czj
Copy link

czj commented Sep 20, 2023

Hey @GrantBirki @jurre or @jakecoffman ... sorry to bother you, but is bun support planned for our beloved Dependabot ?

Thanks :)

@winstxnhdw
Copy link

winstxnhdw commented Sep 20, 2023

Hey guys, if any of you are willing to migrate from Dependabot.. Renovate has already introduced Bun support within ONLY 2 days since they announced that they have begun working on it. Unfortunately, Dependabot usually take anywhere from several months to years when it comes to implementing anything on the same level.

@GrantBirki
Copy link

@czj I do not work on the dependabot team here at GitHub but I let them know about this issue, thanks!

@carogalvin
Copy link
Contributor

Hi everyone, PM for Dependabot here. We do not currently have Bun support planned for Dependabot. We will post here if that changes.

@czj
Copy link

czj commented Sep 20, 2023

Thanks @carogalvin for clarifying.
Sincerely hope you will plan it sooner than later !

@DenisIrkhin
Copy link

for packaging updating I have a repo with bun. It works for me nicely with package-ecosystem: 'npm', but I have to put a subconfig for each folder in monorepo as a workaround currently. Without it Dependabot doesn't open new PRs even I see all dependencies for whole monorepo in the dependency graph.

@ImLunaHey
Copy link

@carogalvin is there a reason why?

It's really disappointing to see this when dependabot is built into Github. We shouldn't need to switch to a thirdparty like renovate for something like this. 😞

@carogalvin
Copy link
Contributor

Yes, but the reasons aren't very satisfying I'm afraid :/

  1. We have a lot of requests for new package managers, languages, and ecosystems (if you look at open issues and sort by most voted, you'll see a solid chunk of them are for adding such support). We cannot feasibly support every package manager, language, and ecosystem used on GitHub with just one engineering team.
  2. Adding coverage for a new package manager and maintaining that support is non-trivial, and we already support 20+ package managers
  3. Our top goal right now is improving the experience of working with Dependabot for ecosystems we already support; for example, our recent release of grouped version updates (which we're looking to extend to security updates next). When we look at our data, it's probably not too surprising to hear that a vast majority of Dependabot PRs are never merged - we're prioritizing features that address that.

Nothing against bun, it seems like a great package manager getting a lot of traction, but unfortunately with lots of feature requests and limited people we have to be very particular with how we prioritize. I'm sure we'll end up adding support eventually. I would encourage everyone looking at this to keep 👍 'ing this issue, because it helps us to see how many people will be helped with this.

@Jarred-Sumner
Copy link

We'd be happy to help with adding Bun support to Dependabot

@sambostock
Copy link

sambostock commented Sep 22, 2023

FWIW, until there is support at the Dependabot level, being able to losslessly import yarn.lock files into Bun would provide a workaround path.

For example, if a project dumped both a bun.lockb and an equivalent yarn.lock, Dependabot could update the yarn.lock and a GitHub Action could follow up by dumping the equivalent bun.lockb.

@thienandangthanh
Copy link

thienandangthanh commented Sep 22, 2023

@sambostock So we must have this feature of bun implemented oven-sh/bun#1751 (comment)?

And also this feature: oven-sh/bun#6409

@mstuercke
Copy link

mstuercke commented Mar 21, 2024

I've created a workflow, that runs whenever dependabot creates a pull request. It will execute bun install and commits the bun.lockb file. The original commit of dependabot will be overwritten.

I hope this helps someone!

name: 'Dependabot: Update bun.lockb'

on: pull_request

permissions:
  contents: write

jobs:
  update-bun-lockb:
    name: "Update bun.lockb"
    if: github.actor == 'dependabot[bot]'
    runs-on: ubuntu-latest
    steps:
      - uses: oven-sh/setup-bun@v1
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
          ref: ${{ github.event.pull_request.head.ref }}
      - run: |
          bun install
          git add bun.lockb
          git config --global user.name 'dependabot[bot]'
          git config --global user.email 'dependabot[bot]@users.noreply.github.com'
          git commit --amend --no-edit 
          git push --force

Hint: This workflow, as written here, will only execute bun install in the project root folder

@czj
Copy link

czj commented Mar 22, 2024

Thanks a lot @mstuercke ! That's awesome :-)

To get rid of the skipped run status:

image

You can change the "on" to have a "paths" condition:

on:
  pull_request:
    paths:
      - "package.json"

@isaachinman
Copy link

@Jarred-Sumner Any update on this? Vulnerability updates are critical for any serious team, and Bun support for dependabot should be trivial – @mstuercke's action is pretty much all that's needed. Can we get first-class support?

@tiagonrodrigues
Copy link

Are we really not getting any news on this?

@wJoenn
Copy link

wJoenn commented May 6, 2024

Jared already said he'd be happy to help implement Bun support for dependabot but the Github team is pretty clear about not wanting to add support for any new package manager anymore.
There's not much to wait for really, the answers are already here. We just don't like them

If you really wanna use Bun as your package manager you can check Renovate which does the same thing and has Bun support

If you really wanna use Dependabot you can check Pnpm which is a very good alternative instead of Bun as a package manager.

@isaachinman
Copy link

@wJoenn Strongly disagree with your take.

@carogalvin Has literally said:

I'm sure we'll end up adding support eventually

Meaning this issue is currently in a "prove to us it's worth it" phase.

@elliotlarson
Copy link

@Jarred-Sumner You mentioned some time ago that you'd be happy to work on adding Bun support to Dependabot. I'm curious if this is still something you are pursuing or if this is something that is back burnered indefinitely.

afc163 added a commit to ant-design/x that referenced this issue Sep 14, 2024
iainlane added a commit to grafana/shared-workflows that referenced this issue Nov 27, 2024
Dependabot [doesn't support][dependabot] updating `npm` dependencies
when `bun` is used as the package manager. [Renovate does][renovate].
Switch to Renovate for `npm` therefore.

While we're here, we were intending to automerge patch and security
updates via Renovate but we never enabled the flag. Let's do that too.

[dependabot]: dependabot/dependabot-core#6528
[renovate]: https://docs.renovatebot.com/modules/manager/bun/
github-merge-queue bot pushed a commit to grafana/shared-workflows that referenced this issue Nov 27, 2024
Dependabot [doesn't support][dependabot] updating `npm` dependencies
when `bun` is used as the package manager. [Renovate does][renovate].
Switch to Renovate for `npm` therefore.

While we're here, we were intending to automerge patch and security
updates via Renovate but we never enabled the flag. Let's do that too.

[dependabot]: dependabot/dependabot-core#6528
[renovate]: https://docs.renovatebot.com/modules/manager/bun/
axelrindle added a commit to axelrindle/mjml.app that referenced this issue Dec 3, 2024
@jbergstroem
Copy link

jbergstroem commented Dec 15, 2024

In oven-sh/bun#15705 – which recently landed – bun introduces a plaintext lockfile using a json with trailing commas syntax (and long lines for sub-dependencies).

@bnussman
Copy link

bnussman commented Dec 16, 2024

Now that bun has introduced a text-based lock file, can we expect dependabot support in the near future? 🥺

@jbergstroem
Copy link

Now that bun has introduced a text-based lock file, can we expect dependabot support in the near future? 🥺

It was released a few hours ago: https://bun.sh/blog/bun-v1.1.39#bun-lock-is-bun-s-new-text-based-lockfile

@nathankleyn
Copy link

nathankleyn commented Dec 18, 2024

I'm coming by to say for future visitors that I added support for the new text-based lockfile to Renovate at renovatebot/renovate#33189 so now Renovate will support both bun.lockb and bun.lock as soon as it's released (update: it's released in https://github.com/renovatebot/renovate/releases/tag/39.74.0) — until Dependabot finally supports Bun, hopefully this will help us poor abandoned souls have at least one option.

@Electroid
Copy link

This PR adds initial support for Bun and bun.lock, hopefully can get reviewed and merged soon!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Keep Exempt this from being marked by stalebot T: feature-request Requests for new features T: new-ecosystem Requests for new ecosystems/languages
Projects
None yet
Development

No branches or pull requests