Devotd Github
新着AIエージェント

tannermidd/pi-pocket — npm 11 を固定し、ロックファイル欠落時は発行を中止

pi-pocket の npm 発行ワークフローを npm 11 に固定し、npm-shrinkwrap.json がパッケージにない場合は発行前に中止するよう変更した。

リポジトリ情報tannermidd/pi-pocket ↗

pi-pocket の npm 発行ワークフローを npm 11 に固定し、npm-shrinkwrap.json がパッケージにない場合は発行前に中止するよう変更した。

GitHub の説明: A durable, multiplayer, mobile-first web app for Pi agents, built on Pi Durable

スター
★ 773
フォーク
82
言語
TypeScript
ライセンス
MIT
最新リリース
v0.27.0
原文を見る ↗GitHub で見る ↗

tannermidd/pi-pocket の npm 発行ワークフローが修正された。2026 年 10 月 30 日 22:22 UTC にマージされたコミット db1e531 は PR #229(ブランチ fix/publish-npm-11)をマージする一方で、npm クライアントを 11 に固定し、パッケージに npm-shrinkwrap.json がなければ発行前に停止するよう変更した。変更が加わったファイルは .github/workflows/publish.yml の一つだけで、変更量は 13 行の追加と 1 行の削除である。

npm-shrinkwrap.json は、インストール時に依存バージョンをそのまま固定するファイルである。ワークフローに新しく付いたコメントは、npm 12 がこのファイルをパッケージから落とすことを記している。最新の npm をそのまま使えば、ロックファイルなしでリリースが出ることになり、テスト済みの依存バージョンがインストール者に渡らない。修正は二本ある。まず npm のインストールを npm install -g npm@latest から npm install -g npm@11 に変え、コメントが述べている trusted publishing をサポートする範囲を維持した。続いて npm pack --dry-run --json --ignore-scripts の出力に npm-shrinkwrap.json が含まれているかを確認し、含まれていなければ、インストール時に検証された依存バージョンが渡らないというメッセージを残したうえで終了コード 1 で中止する。発行前に静かに誤ったリリースが出されるのを防ぐ仕組みである。

ただし確認された変更は発行パイプラインの一箇所のみである。アプリケーションコードやパッケージ内容を変更した部分はなく、検査もロックファイルが一覧にあるかを見るだけなので、その中の依存バージョンが検証済みバージョンと一致するかまでは見ていない。ワークフローは依然として package-lock.json を npm-shrinkwrap.json にコピーしたうえで検査するため、この検査は、そのコピーが npm pack を通過したかを確認するに近い。npm 12 のリリース予定日や、このコミットが実際のリリースに反映されたかは、与えられた記録には載っていない。新しい npm のロックファイルpatentの扱いを直さなければ発行を続けられる状況において、ロックファイルの損失を防ぐ手段として入れた防御的変更に近い。