JavaScriptに関するお知らせ

SINCE2019
ホーム > bun.lockbがbun.lockになったよ&やること

bun.lockbがbun.lockになったよ&やること


こんにちは!ゼロインストールを夢見るMizutani(@sirycity)です。とはいえnode_modulesはあと100年は生き残りそう。

今日はそんなパッケージのインストールに関する話です。bunの話。

結論

ロックファイル名(bun.lockb)に依存するような処理は注意。ignoreファイルとかハッシュ値にしてるやつとか。

ロックファイル?

JavaScriptのパッケージマネージャー(npmとかyarnとかbunとか)でどのパッケージのどのバージョンをインストールしたか覚えておくファイルです。

  • package.jsonは買い物のメモ
  • ロックファイルは実際に買ったもの
  • node_modulesは買ったものの成分

みたいな感じ。ここの説明は割愛します。

ロックファイルの名前はいろいろ

このロックファイル、名前はパッケージマネージャーによってまちまちです。法則性ないです。

  • npmはpackage-lock.json
  • yarnはyarn.lock
  • pnpmはpnpm-lock.yaml
  • bunはbun.lockb

…いやばらばらすぎる。1つもあってない。

ロックファイルの名前が変わったぞ

bunは1.2からロックファイルの名前が変わりました。

Lockfile – Package manager | Bun Docs

具体的にはbun.lockbからbun.lockに変わります。

どう変わったの?

中身がバイナリからテキストベースになります。…まあそんだけなんですが。git管理とかはしやすそうですね。

ロックファイルの名前が変わる

ところでロックファイルの名前が変わるのは僕が知る限り史上初です。あったらごめん。

注意点

ってことはファイル名に依存しているような処理は注意が必要ってことです。例えばVSCodeの検索避け。

{
  "search.exclude": { "**/bun.lockb": true }
}

というかignoreファイル全般ですね。他にはCIのnode_modulesのキャッシュ。

- uses: actions/cache@v3
  id: bun-cache
  with:
    path: node_modules
    key: bun-${{ hashFiles('bun.lockb') }}
    restore-keys: bun-

ロックファイルの中身ではなく、あくまでもファイル名に依存しているような処理に注意です。

さいごに

最近生成AIが発達してきてHow To系の記事が伸びません(唐突な本音)その代わり速報性の高い記事は伸びるので今回こんなbunのマイナーな中身を記事にしてみました。以上。



Felicaをやめて3年経った感想、とりあえず全然困ってない
PREV
2025-02-18
Felicaをやめて3年経った感想、とりあえず全然困ってない

WebデザインのSNSアイコンどう集めるか、自分の答えはUXWing
NEXT
2025-02-26
WebデザインのSNSアイコンどう集めるか、自分の答えはUXWing