Note
Edit(29, Jan, 2025): Bun introduced text-based lockfile which is readable on Neovim.
Bun is a really nice JavaScript tool! I really love it.
One of the coolest things in Bun is the aspect of package manager. bun install is extremely fast. Bun uses a unique lockfile called Bun.lockb. This is similar to package-lock.json in npm. This binary lockfile speeds up the installation process.
However, due to its binary format, you cannot view the content of Bun.lockb directly.
This is somewhat inconvenient.

bun.lockb is a binary file so you cannot see anything orzFor VSCode Users
You can simply install the official extension and it works.
For Vim/Neovim Users
There is no official plugin for Vim/Neovim. Let’s make it by ourselves!
In fact, bun has outputs Bun.lock in yarn v1 format by:
bun bun.lockb So, we can utilise this feature!
Let’s write a simple vim plugin that automatically runs bun bun.lockb when you open a Bun.lockb file.
Lua Version
If you are using Neovim, you can write in Lua:
vim.api.nvim_create_autocmd("BufReadCmd", {
pattern = "bun.lockb",
callback = function(ev)
-- get the absolute path of the current file
local path = vim.fn.expand("%:p")
-- run command 'bun ' .. path and get stdout
local output = vim.fn.systemlist("bun " .. path)
-- set output to current buffer
vim.api.nvim_buf_set_lines(0, 0, -1, true, output)
-- set filetype to yarn.lock
vim.opt_local.filetype = "conf"
-- set readonly
vim.opt_local.readonly = true
-- set nomodifiable
vim.opt_local.modifiable = false
end,
}) Vim Script Version
Also, Vim Script is great because both Vim and Neovim can use it!
augroup BunLockb
autocmd!
autocmd BufReadCmd bun.lockb
\ let path = expand("%:p") |
\ let output = systemlist("bun " . path) |
\ call setline(1, output) |
\ setlocal filetype=conf |
\ setlocal readonly |
\ setlocal nomodifiable
augroup END 
Bun.lockb in Neovim! Tada!I’ve made a plugin based on this article, so you can just install it in your way!
Enjoy!