npm v12 стал GA: npm install теперь просит разрешение на запуск кода

Dev
Просмотры 92

npm v12 получил тег latest. allowScripts по умолчанию выключен, а --allow-git и --allow-remote установлены в none. Lifecycle scripts и неявная сборка node-gyp требуют явного разрешения.

npm v12 стал GA: npm install теперь просит разрешение на запуск кода
npm v12 по умолчанию блокирует install scripts, Git-зависимости и удалённые URL. Практический план для native modules, CI и публикации.

Что изменилось

npm v12 получил тег latest. allowScripts по умолчанию выключен, а --allow-git и --allow-remote установлены в none. Lifecycle scripts и неявная сборка node-gyp требуют явного разрешения.

Явная политика

Запустите npm approve-scripts --allow-scripts-pending, проверьте каждый пакет и разрешите только необходимые scripts. Политику allowScripts нужно хранить в package.json и ревьюить.

Влияние на CI

В первую очередь тестируйте native addons, Git dependencies, remote tarballs, workspaces и cold install без кеша. Старый binary cache может скрыть отсутствие разрешения.

Безопасная публикация

Для публикации замените долгоживущие tokens на OIDC trusted publishing. npm stage publish добавляет человеческое 2FA-подтверждение для критичных пакетов.

Чек-лист npm v12

✓Проверить pending scripts.

✓Закрепить разрешения за версиями.

✓Запустить cold install в CI.

✓Перейти на OIDC или staging.

Источники

다른 글