npm v12 đã GA: npm install giờ xin phép trước khi chạy mã dependency

Dev

npm v12 đã được gắn thẻ latest. allowScripts mặc định tắt, còn --allow-git--allow-remotenone. Lifecycle script và build node-gyp ngầm đều cần phê duyệt.

npm v12 đã GA: npm install giờ xin phép trước khi chạy mã dependency
npm v12 chặn install script, dependency Git và URL từ xa theo mặc định. Hướng dẫn migration native module, CI và publishing an toàn.

Điều gì thay đổi

npm v12 đã được gắn thẻ latest. allowScripts mặc định tắt, còn --allow-git--allow-remotenone. Lifecycle script và build node-gyp ngầm đều cần phê duyệt.

Policy rõ ràng

Chạy npm approve-scripts --allow-scripts-pending, kiểm tra từng package rồi chỉ cho phép script thực sự cần thiết. Commit policy allowScripts vào package.json.

Tác động CI

Ưu tiên kiểm thử native addon, dependency Git, remote tarball, workspace và cold install không cache. Cache cũ có thể che giấu approval còn thiếu.

Publish an toàn

Khi publish, hãy thay token dài hạn bằng trusted publishing qua OIDC. Package quan trọng có thể dùng npm stage publish và phê duyệt 2FA của con người.

Checklist npm v12

Audit pending scripts.

Pin approval theo version.

Test cold install trong CI.

Chuyển sang OIDC hoặc staging.

Nguồn