Основна команда pnpm випустила альфа-збірку 12-ї версії, яка працює як нативний бінарний файл Rust, обіцяючи час встановлення, що може бути на порядок швидшим за поточну версію на базі Node.js. Ця зміна є важливою, оскільки завдання CI завершуватимуться набагато швидше.

Чому переписування має значення

pnpm вже відрізняється від npm та Yarn завдяки використанню сховища з адресацією за вмістом (content-addressable store) та суворій структурі node_modules. Проте кожна команда все ще запускає процес Node.js, що створює фіксовані витрати на запуск ще до початку будь-якої роботи з файлами. Переносячи найскладнішу частину коду на Rust, команда усуває цей етап ініціалізації та використовує здатність Rust виконувати багато файлових операцій паралельно — те, з чим не може зрівнятися один потік JavaScript.

Цифри, що стоять за цими твердженнями

Бенчмарки, надані командою pnpm, демонструють різке скорочення часу у трьох типових сценаріях:

  • Warm install (повторний запуск): з 381 мс до 12 мс.
  • No-cache install (без кешу): з 460 мс до 40 мс.
  • Clean install (повне дерево залежностей): з 6,5 с до 2,2 с.

30-кратне покращення швидкості при warm install безпосередньо означає швидше виконання завдань CI та коротший цикл зворотного зв'язку для розробників.

Що залишиться незмінним

Переписування — це порт, а не редизайн. Усі існуючі прапорці, формат lockfile та сувора структура node_modules залишаються без змін. Проєкти можуть продовжувати виконувати pnpm install точно так само, як і раніше; єдиною помітною різницею має бути швидкість. Оскільки публічний API не змінюється, процес міграції має бути безболісним.

Як спробувати це зараз

Перехід відбувається поетапно. У поточній версії v11 розробники можуть спробувати експериментальний бекенд на Rust, увімкнувши прапорець “pacquet” backend. У v12 рушій Rust стане стандартним для отримання пакетів та їхнього зв'язування (linking) у робочому просторі. Альфа-реліз опубліковано під тегом next-12; він ще не рекомендований для використання у продакшені, але кожен охочий може встановити його однією командою та розпочати тестування.

Ризики та зауваження

Навіть із чистим API, альфа-бінарний файл несе звичайні ризики: обмежене тестування та потенційні регресії у граничних випадках.

Ширша тенденція

Крок pnpm відображає зростаючу тенденцію серед інструментів фронтенд-розробки. Такі проєкти, як Biome та Oxc, також переписали свої основні компоненти мовами з компіляцією, щоб скоротити час виконання робочих процесів розробників на кілька мілісекунд.