Команда, що стоїть за розробкою Vite, Vitest, Rolldown та Oxc, офіційно випустила Vite+ 1.0 - стабільний, ліцензований за MIT уніфікований тулчейн для веброзробки. Проєкт наближається до двох мільйонів завантажень на тиждень.
Важливо розуміти, чим Vite+ не є: це не фреймворк, не пакетний менеджер і точно не заміна самого Vite. Натомість Vite+ об'єднує інструменти, якими розробники вже користуються, в один протестований стек з єдиним конфігураційним файлом та узгодженим набором команд. Проєкт є безкоштовним, відкритим під ліцензією MIT і не прив'язаний до конкретного фреймворку. Незалежно від того, чи ви розробляєте React-застосунок, бібліотеку компонентів на Vue, Node CLI чи монорепозиторій з 400 пакетів - команди залишаються однаковими. Проєкт навіть не обов'язково має використовувати Vite від самого початку.
Проблема, яку вирішує Vite+
Початок веб-проєкту завжди вимагає безлічі рішень ще до написання першого рядка коду: вибір рантайму, пакетного менеджера, дев-сервера, лінтера, форматера, тест-раннера, бандлера тощо. Кожен з цих інструментів приносить власні конфігураційні файли, цикл релізів, команди та інструкції з оновлення. І це створює проблеми щонайменше двічі: спочатку при виборі стеку (або онбордингу в нього), а потім кожного разу, коли інструменти розходяться між собою - лінтер конфліктує з форматером, CI виконує інші команди, ніж локальне середовище, один репозиторій відстає на кілька мажорних версій від іншого, а людина, яка спочатку все налаштувала, зараз у відпустці.
Команди з більш ніж кількома репозиторіями зазвичай будують внутрішні скрипти, щоб згладити ці розбіжності, а ці скрипти потребують власної підтримки. Але замість підтримки тулчейну команди хочуть просто розробляти фічі.
Що пропонує Vite+
Дев'ять команд покривають весь цикл локальної розробки:
vp create - створення застосунку, бібліотеки чи монорепозиторію на основі Vite+ та шаблонів фреймворків
vp install - встановлення залежностей за допомогою пакетного менеджера проєкту
vp dev - дев-сервер з HMR на базі Vite 8 та Rolldown
vp check - форматування, лінтинг та перевірка типів за один прохід через Oxfmt та Oxlint
vp test - юніт-, компонентні та браузерні тести через Vitest
vp build - продакшн-збірки застосунків на Vite 8 та Rolldown
vp pack - збірка бібліотек та автономних бінарників через tsdown
vp run - обізнаний про монорепозиторій таск-раннер з кешуванням (Vite Task)
vp env - керування версіями Node.js
Всі ці команди налаштовуються через єдиний файл vite.config.ts у корені проєкту. Якщо запустити vp без аргументів, з'явиться інтерактивний промпт.
Що змінюється на практиці
Ви перестаєте підтримувати тулінг. Одна залежність vite-plus замінює цілий кластер залежностей (наприклад, vite, vitest, eslint, prettier, tsup, turbo), їхні плагіни та конфіги. Оновлення перетворюється на один version bump, який тестується як єдине ціле перед релізом.
Ви почуваєтесь як удома в будь-якому репозиторії. Вбудовані команди vp означають одне й те саме всюди, а будь-що, визначене в самому проєкті, виконується через vpr <script>. Це корисно як для нових колег у команді, так і для агентів.
Швидший фідбек. Інструменти під капотом написані на Rust: Oxlint працює у 50-100 разів швидше за ESLint, Oxfmt - до 30 разів швидше за Prettier, а Vite 8 суттєво швидший завдяки Rolldown.
CI працює швидше. Команда vp run фіксує, які файли, аргументи та змінні середовища фактично використовувалися для задачі, тож кешована задача відтворюється миттєво, якщо нічого не змінилося. З setup-vp кроки налаштування Node, пакетного менеджера та кешу залежностей у вашому workflow згортаються в одну дію.
Немає прив'язки до постачальника. Можна продовжувати користуватися улюбленими плагінами Vite та пакетним менеджером, а також використовувати кешування vp run для довільних скриптів, не лише вбудованих команд.
Що змінилося з часів бета-версії
З моменту виходу бета-версії у липні сталося чимало:
- З'явилася підтримка
setup-vp для GitLab CI/CD поряд з уже наявним GitHub Action
- Розширилися можливості міграції:
vp migrate тепер обробляє міграції з tsup та більше крайових випадків
- Стали доступні Homebrew та Docker-образ
- Команда
vp toolchain показує точну версію кожного інструменту, наданого Vite+, а vp env doctor пояснює, як вирішуються рантайм і пакетний менеджер, коли щось йде не так
- Команда
vp hooks налаштовує, вмикає та вимикає Git-хуки, а vp staged запускає перевірки лише для staged-файлів
- Проведена робота над сумісністю з екосистемою плагінів та фреймворків Vite
Інструменти, на яких базується Vite+, теж отримали оновлення: Vitest 5 став стабільним, Vite 8.1 отримав експериментальний Bundled Dev Mode, а Oxc отримав нативну підтримку React Compiler, що робить компілятор у 10 разів швидшим за плагін Babel, який він замінює.
Хто вже використовує Vite+
Vite+ наближається до двох мільйонів завантажень щотижня, і вже понад 2600 публічних репозиторіїв залежать від vite-plus, не рахуючи приватних проєктів та глобальних встановлень. Tiptap замінив окремі налаштування Vite, Vitest, tsup та Oxc на Vite+, а серед проєктів, що адаптували інструмент, - різні типи застосунків:
- Dify - відкрита платформа для створення LLM-застосунків
- vinext - сумісний з Next.js фреймворк на базі Vite
- BlockNote - редактор тексту у стилі Notion для React
- Inkline - бібліотека компонентів для Vue, React, Svelte, Angular, Solid, Qwik та Astro
- npmx - відкритий браузер npm-реєстру на Nuxt
- hono - невеликий, простий та швидкий веб-фреймворк
Як почати
Встановити vp можна командою для macOS/Linux:
curl -fsSL https://vite.plus | bash
Або для Windows у PowerShell:
irm https://vite.plus/ps1 | iex
Після цього достатньо відкрити нову оболонку та створити проєкт командою vp create, або адаптувати Vite+ до вже наявного проєкту за допомогою vp migrate.
Варто зауважити, що vp migrate перед внесенням змін показує свій план дій, а для великих проєктів може знадобитися додаткова доробка. Якщо проєкт вже в продакшні, спочатку варто ознайомитися з посібником з міграції. Для тих, хто працює з AI-агентами кодування, доступний спеціальний промпт для міграції.
Що далі
Хоча Vite+ досяг версії 1.0, проєкт далекий від функціональної завершеності. У майбутніх версіях заплановані такі можливості, як віддалене кешування (remote caching), глибша діагностика монорепозиторіїв, команди vp release та vp docs.
Подяки
Vite+ розробляється відкрито зростаючою міжнародною основною командою разом зі спільнотою. Половина основної команди виросла із самої спільноти, і проєкт був би меншим і повільнішим без ревʼю, виправлень багів та фіч від контриб'юторів, серед яких kazupon, ubugeeei, nekomoyi, Stefan Haas, naokihaba, JongKyung Lee, Liang та Yii.
Автори також висловили подяку всім, хто тестував альфа- та бета-версії на реальних проєктах, повідомляв про баги та надсилав пул-реквести. Vite+ існує тому, що існують Vite, Vitest, Rolldown, Oxc та tsdown, і тому, що люди, які їх підтримують, продовжують робити їх кращими.
Документацію проєкту можна знайти на viteplus.dev, а спільноту - у Discord та на GitHub.