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からロックファイルの名前が変わりました。
具体的には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のマイナーな中身を記事にしてみました。以上。
PREV
2025-02-18
Felicaをやめて3年経った感想、とりあえず全然困ってない
NEXT
2025-02-26
WebデザインのSNSアイコンどう集めるか、自分の答えはUXWing