# pnpm 10 設定(不是 monorepo workspace、純粹用來放 onlyBuiltDependencies) # # 為什麼有此檔: # pnpm 10 預設不執行依賴的 install 階段 build script(postinstall / preinstall) # 作為 supply-chain 攻擊防護。需要明確 allow-list 哪些 package 可以跑 build script。 # # 本機 install 不會撞是因為 ~/.config/pnpm 或 node_modules 殘留 trust; # 但乾淨環境(如 stage docker build / CI)第一次 pnpm install 就會 ERR_PNPM_IGNORED_BUILDS。 # # 為什麼這幾個 package 需要: # - sharp@0.34.5 — next.js image optimization、native libvips binding,install 時 prebuild download # - unrs-resolver@1.11.1 — eslint-config-next 用的 rust binary resolver # - @tailwindcss/oxide — tailwindcss 4 的 rust 引擎 # - esbuild — vitest / next 內部建置工具,install 時下載對應平台 binary # # 如何加新項目: # 1. CI 撞 ERR_PNPM_IGNORED_BUILDS 時看訊息列出的 package 名 # 2. 確認該 package 來源可信(npmjs / github 看 popularity) # 3. 加到下方 onlyBuiltDependencies 並 commit onlyBuiltDependencies: - sharp - unrs-resolver - "@tailwindcss/oxide" - esbuild