Cloudflare Workers 上傳 npm 依賴資料:部署前先決定要不要關閉
如果你把 wrangler deploy 當成單純把 bundle 推上去,這次更新值得多看一眼。Cloudflare 在 2026 年 7 月的 Workers 更新中加入 npm 依賴中繼資料:Wrangler 在部署或上傳版本時,會從 package.json 收集套件名稱、宣告的版本範圍與實際安裝版本,隨上傳資料送到 Cloudflare API。
這不是要立刻把所有專案關掉的功能;先確認它是否符合你們的相依性揭露與供應鏈政策,比直接套用一個「隱私設定」更重要。
這次改動會碰到哪些部署
官方文件將 dependencies_instrumentation 定義為 Wrangler 的頂層設定。未設定時預設啟用,影響 wrangler deploy 與 wrangler versions upload;資料是 npm 套件名稱與版本,而不是程式碼或環境變數。
先在 repository 根目錄找出實際的 Wrangler 設定檔與部署指令:
rg --files -g 'wrangler.{toml,json,jsonc}' -g 'package.json' -g '.github/workflows/*'rg -n 'wrangler (deploy|versions upload)' package.json .github 2>/dev/null第一個指令回答「哪個 Worker 會受影響」,第二個指令則能找出 CI 是否繞過一般部署腳本。若 monorepo 內有多個 Worker,每個 Worker 的頂層設定檔都要各自判斷。
要關閉時,設定必須放在頂層
確認需要停用後,使用與專案現有格式相同的設定。不要把它放進某個 binding 或 named environment,因為它是 Worker 整體設定。
[dependencies_instrumentation]enabled = false{ "dependencies_instrumentation": { "enabled": false }}設定後仍應在 CI 跑既有的建置與部署前檢查;這個旗標只控制依賴中繼資料收集,並不替代鎖定檔、套件掃描或 deploy 權限管理。
用三個問題做決定
- 誰能看到上傳後的資訊? 先把 Cloudflare 帳號與部署權限的管理方式納入判斷,而不是只看本機設定檔。
- 套件清單能否離開組織邊界? 私有套件名稱、內部 scope 或版本策略若屬敏感資訊,應先取得安全或採購流程的結論。
- 若保留啟用,誰負責處理後續訊號? 官方提到這會支援依賴分析與供應鏈安全功能;沒有接收與處理流程,單純收集不會降低風險。
這類檢查也適合併入既有的 Cloudflare Workers _redirects 部署檢查。兩者都不是應用程式程式碼的改動,卻會在 CI 發布時直接改變平台行為。
發布前的最小驗證
在 PR 中明確保留一項可審核的證據即可:設定檔 diff、執行部署的目錄,以及使用的 Wrangler 指令。若團隊決定維持預設啟用,也記錄「已確認資料範圍與帳號存取權」;未設定不應被誤解成沒有任何改變。
重點是把 dependencies_instrumentation 視為部署設定,而非某個人電腦上的偏好。先盤點部署入口與資料範圍,再選擇保留預設或明確關閉。
參考資料:
Cloudflare Workers Changelog:Send npm package dependency metadata with Worker uploads
回報錯字、失效連結,或告訴我你想看的延伸主題。