タグ
#pnpm
pnpmに関する記事を公開しています。
pnpm 12.18 はスキルを選んで承認すれば増えたスキルを止められる
pnpm 12.18 でスキルの承認がスキル単位の一覧になったので、テスト用のパッケージのバージョンを上げて確かめました。スキルが 2本以上あるパッケージでスキルを選んで承認すれば、増えたスキルはリンクされません。承認済みのスキルの本文の書き換えを止められたのは、今もバージョン指定つきの承認だけでした。
pnpm 12.11 のスキル承認は一度許すと更新で危ない指示も素通りする
pnpm 12.11 から、依存パッケージに入っているスキルを承認した物だけ繋ぐようになりました。承認したあとにバージョンを上げて、増えたスキルを Claude Code が読むかを試しました。普通の承認だと更新はそのまま通り、バージョンつきで書くと承認待ちに戻ります。
Dependabot の PR の差分では乗っ取りを見抜けない
Dependabot の PR は CI が通れば merge してよいのか。乗っ取られた版は差分に出ないので、新しすぎる版を入れない、install で依存のコードを動かさない、Actions を SHA で固定する、の 3つで守り、major だけを読んでいます。
changesets を AI エージェントに書かせると変更履歴が読める物になる
8 サイトのモノレポの変更をほぼ AI エージェントの PR で回していると、git log では「あのサイトはいつ何が変わったか」を追えなくなりました。changesets を入れ、PR を作るその瞬間にエージェントへ変更記録を書かせ、Release PR の merge でサイトごとの CHANGELOG に集約する形にしました。誤った記録を次の記録が訂正して並ぶ実例と、別リポジトリで踏んだ罠(タグの系統が 2 つになる、changeset status は commit 済みしか数えない、Release PR の merge がデプロイになる)を書きます。
EmDash の definePlugin を外すとビルドは通るのに機能が止まる
Vite の defineConfig のような define* ヘルパーを「型のための identity 関数」と思い込んでインライン化すると、実行時の capability 正規化がスキップされ、ビルド・型チェック・デプロイが全部成功したまま通知機能だけがエラーを出さずに止まる——その機構と、静的チェックで検出できない理由、対策をまとめます。
pnpm の injected dependencies で peer の複数バージョンに対応する
pnpm monorepo で共有パッケージ(内製プラグイン等)が peer のフレームワークを単一バージョンに解決してしまい、異なるメジャーを使うアプリのビルドが壊れる問題を、dependenciesMeta の injected: true で解決する方法と落とし穴をまとめます。
Astro で Webhook の署名検証に生ボディを渡す方法
Slack や Stripe の Webhook 署名検証は「生のリクエストボディ」に対する HMAC のため、フレームワークが body を先にパースすると検証が通らなくなります。原因と、Astro / Cloudflare Workers での生ボディ取得(request.text / clone)方法をまとめます。