テック技報最新号へ →
AIコーディング

pnpm の「ビルドスクリプトを無視しました」は全部許可せず、Claude に1件ずつ仕分けさせる

pnpm は依存パッケージの install スクリプトを既定では動かさず、警告を出す。pnpm approve-builds で全部許可すると、その安全策がなくなる。Claude に各パッケージのスクリプトを読ませ、許可・無視・保留に仕分けさせ、理由をコメントにして .npmrc に残す。

@Takazudo · 投稿 2026-02-17
#ai-coding#pnpm#サプライチェーン#セキュリティ#skills

どんな時に使う?

  • Ignored build scripts: ... の警告が出るたびに、何となく全部許可している
  • サプライチェーン攻撃が気になるが、パッケージごとに調べる手間はかけたくない

手順

  1. .npmrc に strictDepBuilds=true を書き、未判断のビルドスクリプトがあれば install を失敗させる
  2. Claude に頼む: 警告に出たパッケージの package.json の scripts と、実際に何をしているかを読み、次の基準で分けて
    • ネイティブのビルドが必要 → 許可(allowBuilds)
    • お知らせのバナーを出すだけ → どちらでもよい(基本は無視)
    • ビルド済みバイナリがあり、スクリプトなしでも動く → 無視(ignoredBuilds)
    • 判断がつかない → 未分類のまま残し、警告を出し続ける
  3. 結果を .npmrc にコメント付きで書かせる:
    # ネイティブビルドが必要
    allowBuilds[]=core-js
    # ビルド済みバイナリで動く
    ignoredBuilds[]=@parcel/watcher

    (記事の例。どちらに入るかはプロジェクトと版によって変わる)

  4. 一連の流れがうまくいったら「これスキルにして」と頼み、次からはスキルで回す

注意点

出典

X の元の投稿を開く