Hacker News Digest

18 сентября 2025 г. в 07:12 • pnpm.io • ⭐ 188 • 💬 119

OriginalHN

#pnpm#nodejs#npm#supply-chain-security#semantic-versioning#package-management

Pnpm has a new setting to stave off supply chain attacks

pnpm 10.16

12 сентября 2025 · 3 мин чтения

Незначительные изменения

Новая настройка для отложенных обновлений зависимостей

Для снижения риска установки скомпрометированных версий пакетов вводится настройка minimumReleaseAge, которая задерживает установку недавно выпущенных зависимостей. Например, minimumReleaseAge: 1440 разрешает установку только пакетов, выпущенных не менее дня назад.

Исключения можно указать в minimumReleaseAgeExclude:

minimumReleaseAgeExclude:
  - webpack

Расширенная фильтрация зависимостей с помощью функций-поисковиков

Добавлена поддержка finders в .pnpmfile.cjs. Теперь можно искать зависимости не только по имени, но и по другим свойствам, например, по наличию определённой версии React в peerDependencies:

module.exports = {
  finders: {
    react17: (ctx) => {
      return ctx.readManifest().peerDependencies?.react === "^17.0.0";
    },
  },
};

Использование:

pnpm why --find-by=react17

Функции могут возвращать дополнительную информацию для вывода.

Исправления

  • Устранено предупреждение о устаревании при запуске в Node.js 24.
  • Добавлена проверка на точную версию semver для nodeVersion.
  • Исправлена возможность публикации .tar.gz файлов через pnpm publish.
  • Прерывание процесса Ctrl-C теперь возвращает ненулевой код выхода.