- Untuk mengurangi beban merakit alat pengembangan web secara terpisah untuk tiap proyek, Vite+ menggabungkan runtime, package manager, serta alat build, test, dan pemeriksaan ke dalam satu entry point
vp dev, vp check, vp test, vp build, vp pack, vp run terhubung dengan Vite 8, Vitest, Rolldown, tsdown, Oxlint, Oxfmt untuk menyediakan sistem perintah yang konsisten
- Sejak alpha, melalui lebih dari 12 versi dan lebih dari 500 PR, caching, migrasi, template organisasi, dukungan jaringan perusahaan, dan stabilitas lintas platform telah ditingkatkan
- Berdasarkan repositori publik, lebih dari 1.300 bergantung pada
vite-plus, dan proyek seperti Dify, critical, BlockNote, vinext, îles, Inkline, dan npmx sudah menggunakannya
- Karena masih tahap sebelum 1.0, masih ada peningkatan yang tersisa untuk remote caching, dukungan GitLab CI/CD, kompatibilitas framework dan plugin, migrasi, kanal distribusi, serta diagnostik
Toolchain terpadu yang disediakan Vite+
- Vite+ dirilis beta sebagai toolchain terpadu untuk pengembangan web
- Dari satu entry point, Vite+ mengelola runtime dan package manager, serta menyediakan berbagai alat frontend bersama sebagai stack yang telah diuji
- Sepenuhnya open source dengan lisensi MIT, dan tidak bergantung pada framework tertentu
- Dapat digunakan di berbagai proyek web seperti CLI, library, dan aplikasi web
- Proyek baru dimulai dengan
vp create, sedangkan proyek yang sudah ada dengan vp migrate
Menjalankan development, pemeriksaan, dan build dengan perintah yang sama
- Vite+ dirancang agar pengguna memakai sistem perintah yang sama, alih-alih harus mempelajari kombinasi alat dan perintah yang berbeda di tiap repositori
- Perintah utamanya adalah sebagai berikut
vp dev: memulai server development berbasis Vite 8 dengan hot module replacement
vp check: menjalankan format Oxfmt, lint Oxlint, dan pemeriksaan tipe sekaligus
vp test: menjalankan unit test berbasis Vitest
vp build: melakukan production build berbasis Vite 8
vp pack: membundel library berbasis tsdown dan menyertakan praktik terbaik
vp run: menjalankan npm script atau task dengan task runner bawaan yang sadar monorepo dan menggunakan caching cerdas
- Semakin besar tim dan codebase, manfaat berikut makin terasa
- Versi alat terselaraskan
- Berbagi konfigurasi menjadi lebih mudah
- Tahap setup untuk kontributor baru berkurang
- CI menjalankan perintah yang sama dengan development lokal
- Ditujukan untuk developer yang tidak ingin berulang kali merakit toolchain sendiri, serta tim yang menginginkan konfigurasi konsisten di seluruh proyek
- Vite+ tidak menggantikan ekosistem Vite
- Plugin Vite tetap menjadi plugin Vite
- Proyek tetap dapat menggunakan package manager yang diinginkan secara internal
- Vite+ menyediakan lapisan integrasi agar elemen-elemen ini bekerja seperti satu toolchain
Perubahan dari alpha hingga beta
- Setelah alpha Vite+, melalui pengujian pada proyek nyata, lebih dari 12 versi dirilis dan lebih dari 500 PR digabungkan
- Peningkatan utamanya adalah sebagai berikut
- Caching yang lebih pintar:
vp run menggabungkan pelacakan data otomatis dengan metadata yang dilaporkan Vite, sehingga build cache bekerja dengan benar tanpa perlu mencantumkan input, output, dan variabel lingkungan secara manual
- Peningkatan migrasi:
vp migrate menangani berbagai konfigurasi aplikasi dan juga menyediakan prompt migrasi untuk agent
- Fitur enterprise: template organisasi menstandarkan konfigurasi antar tim, dan HTTP yang mengenali proxy serta custom CA memungkinkan
vp dijalankan di balik proxy dan firewall perusahaan
- Lintas platform:
vp diperkuat agar bekerja lebih baik di sistem operasi dan shell utama
- Pemolesan dan perbaikan: lebih dari 180 perbaikan dan peningkatan diterapkan pada
vite-plus
- Detail perubahan dapat dilihat di riwayat rilis Vite+
Alat dasar yang ikut berkembang
- Selama Vite+ dibuat, alat-alat dasarnya juga terus ditingkatkan
- Perubahan utama sejak alpha adalah sebagai berikut
Contoh adopsi nyata
- Ada lebih dari 1.300 repositori publik yang bergantung pada
vite-plus, belum termasuk proyek privat dan instalasi CLI global
- Vite+ digunakan di berbagai jenis proyek
- Dify: platform open source untuk membangun aplikasi LLM
- critical: alat CSS critical-path independen framework dari Addy Osmani
- BlockNote: editor rich text bergaya Notion berbasis blok untuk React
- vinext: framework drop-in kompatibel Next.js berbasis Vite
- zerobyte: otomatisasi backup untuk pengguna self-hosted yang dibuat dengan TanStack dan React
- îles: generator situs islands dengan partial hydration untuk Vue
- agentsview: alat pencarian dan analisis sesi local-first untuk coding agent, dibuat dengan Svelte
- Inkline: library komponen UI yang mendukung Vue, React, Svelte, Angular, Solid, Qwik, Astro
- npmx: browser registry npm open source berbasis Nuxt
- Daniel Roe dari npmx menyatakan bahwa Vite+ menjaga pengalaman development tetap cepat, sekaligus mempercepat proses CI dan review
Tugas yang tersisa sebelum 1.0
- Vite+ stabil, tetapi belum berada pada tahap final; adopsi direkomendasikan jika memenuhi kebutuhan fitur untuk toolchain terpadu
- Area fokus hingga 1.0 adalah sebagai berikut
- Mengimplementasikan remote caching untuk Vite Task, yaitu
vp run
- Menghadirkan
setup-vp untuk GitLab CI/CD
- Meningkatkan kompatibilitas di seluruh framework dan plugin Vite
- Mendukung lebih banyak target migrasi
- Menambahkan kanal distribusi seperti formula Homebrew resmi
- Membuat dokumentasi dan diagnostik lebih jelas
- Masukan komunitas diprioritaskan untuk mengurangi celah kompatibilitas yang tersisa sebelum rilis 1.0
Instalasi dan migrasi
- Perintah global
vp diinstal di macOS/Linux dengan perintah berikut
curl -fsSL https://vite.plus | bash
- Di Windows, gunakan perintah PowerShell berikut
irm https://vite.plus/ps1 | iex
- Untuk membuat proyek baru, gunakan perintah berikut
vp create
- Untuk mencoba Vite+ pada proyek Vite yang sudah ada, gunakan perintah berikut
vp migrate
vp migrate menampilkan rencana perubahan, tetapi proyek yang kompleks mungkin memerlukan tindak lanjut manual
- Sebelum mengadopsi Vite+ di proyek produksi, baca panduan migrasi
- Masukan diharapkan terutama dari developer yang memigrasikan proyek yang sudah ada, pembuat framework dan plugin, serta tim yang memelihara repositori besar
- Kanal terkait
1 komentar
Opini Hacker News
Saya sangat suka Vite, tetapi sama sekali tidak tahu alat-alat lainnya itu apa
Rasanya baru sebentar menunduk untuk bekerja, ekosistem tooling frontend tiba-tiba sudah berevolusi, dan saya bertanya-tanya apakah ada arus menuju stack yang membosankan tetapi bekerja dengan baik
oxlint menggantikan eslint, kompatibel dengan format file konfigurasinya, dan sangat cepat karena tidak ditulis dalam JavaScript. Saya juga pernah mencoba biome, tetapi oxlint punya lebih banyak aturan dan kompatibilitas eslint yang lebih baik
oxfmt menggantikan prettier dan lebih cepat karena tidak ditulis dalam JavaScript, sedangkan rolldown menggantikan rollup, kompatibel, tetapi jauh lebih cepat. Untuk proyek baru, saya sudah terutama memakai alat-alat seperti ini
Dulu kita harus memakai alat dari proyek open source yang berbeda-beda, masing-masing dengan konfigurasi dan siklus update yang berbeda, tetapi sekarang semuanya ditangani sebagai satu toolchain sederhana
Vite+ pada dasarnya adalah stack “membosankan tetapi bekerja dengan baik”, dengan performa lebih baik dan kebutuhan konfigurasi lebih sedikit
eslint → oxlint, prettier → oxfmt ditulis ulang dengan Rust agar cepat, dan webpack → Vite sudah cukup luas dipakai sehingga diterima
rolldown → tsdown menambahkan dukungan TypeScript, dan jest → vitest cocok dengan Vite
Intinya mengambil praktik yang sudah mapan selama 10 tahun terakhir lalu menggabungkan dukungan TypeScript, performa berbasis Rust, dan interoperabilitas
Saya juga memakai Deno, dan penasaran bagian mana yang berguna
Saya suka Vite, Vitest, Oxlint, dan Oxfmt, dan di sebagian besar proyek baru saya melihat ke arah ini lebih dulu
Semoga orang-orang ini mendapatkan pendanaan yang cukup agar bisa terus mengembangkannya setidaknya 10 tahun ke depan
Jauh lebih baik daripada membuka proyek lama lalu menemukan Gulp, Grunt, webpack, dan berbagai alat lain yang campur aduk. Saya juga sudah memindahkan salah satu proyek seperti itu ke stack baru
Kuncinya adalah apakah Cloudflare akan membiarkan mereka terus membuat fitur Vite dan Vite+. Karena fitur-fitur itu menguntungkan bukan hanya Cloudflare, tetapi semua platform cloud
https://blog.cloudflare.com/voidzero-joins-cloudflare/
Apalagi jika full-stack dengan server-side rendering; kalau hanya frontend dan TypeScript dikeluarkan, itu menjadi cukup mudah
Kita lihat saja apakah Vite+ membantu untuk kasus yang lebih kompleks
Menurut saya proyek ini perlu mencari nama yang lebih baik
Karena sebenarnya ini bukan Vite yang lebih baik, melainkan kumpulan alat lain, jadi cukup membingungkan
Saat itu Void Zero mungkin ingin memonetisasi merek Vite, tetapi sekarang setelah diakuisisi Cloudflare, kebutuhan itu sudah tidak ada
Saya sangat puas memakai Vite, Vitest, Rolldown, tsdown, Oxlint, dan Oxfmt
Banyak paket yang saya hard fork, dan saya tidak ingin kembali. Semuanya gewoon berfungsi dengan baik
Jika namanya membingungkan, mulai saja dari Oxlint https://oxc.rs/docs/guide/usage/linter dan Rolldown https://rolldown.rs/
Selama 6 bulan terakhir saat mengadopsinya, saya hanya mengubah tsconfig sangat sedikit
Biasanya, kecuali untuk hal seperti antd6, echart, rendering engine, atau pustaka geospasial, saya mengambil paket baru, merapikannya dengan Claude, menyesuaikannya ke sistem tipe yang ketat dan seragam, lalu mencocokkannya dengan preferensi Vite, tsconfig, dan oxlint
Hasilnya, kebutuhan untuk terus mengikuti masalah library bloat atau serangan supply chain berkurang, dan kodenya lebih mudah dibaca serta diperbaiki
Dalam 4 tahun dari 2022 hingga 2026, Vite menaikkan versi mayor lima kali: 3 → 4 → 5 → 6 → 7 → 8
Setiap kali ada breaking changes dan developer harus melakukan migrasi; itu terlalu banyak. Padahal juga tidak jauh lebih baik secara dramatis dibanding versi 3
Saya tidak ingin membawa tingkat perubahan yang tidak perlu dan kekacauan terus-menerus seperti ini ke sisa toolchain pengembangan
Jika Vite+ pada akhirnya hanya membungkus alat yang sudah ada dengan antarmuka command-line yang diabstraksikan, berarti kita harus melewati lebih banyak lapisan tidak langsung untuk membuat perilaku yang diinginkan, jadi saya belum optimistis
Saya tidak ingat ada masalah besar, dan setiap kali umumnya sepadan
Ada beberapa breaking changes, tetapi relatif terisolasi, dan kecepatan serta peningkatan di antara versi-versi ini cukup besar
Saya penasaran kerusakan apa yang Anda alami
Penambahan fitur terkait server-side rendering adalah peningkatan besar
Saya harap orang berhenti terus mengeluh soal masalah yang tidak ada. Saya bahkan ragu apakah mereka benar-benar memakai alat-alat ini
Sangat sulit mengikuti ekosistem frontend, atau JavaScript
Rindu masa-masa bekerja dengan Laravel, dan berharap pekerjaan yang memakai Laravel memberi bayaran lebih tinggi
Namun tetap harus terus mengikuti, dan hasilnya mungkin juga tidak terlalu memuaskan
Yang dipakai sebelumnya juga masih berfungsi
Benar-benar rindu masa-masa Laravel 6
Karena pendekatan ini berhasil di uv, rasanya tim yang kompeten juga bisa melakukan hal yang sama di JavaScript
Bagi saya ini perbandingan yang sangat jelas, dan terasa seperti perkembangan yang sangat menggembirakan bagi ekosistem JavaScript juga
Berkat uv, bekerja dengan Python jadi menyenangkan lagi
Penasaran apakah ini bisa dipakai juga untuk build Node seperti Vite, atau hanya untuk browser
Namun dengan
vite-plugin-node, saya memakai Vite di server NestJS tanpa masalahLihat contoh di https://github.com/leosuncin/nest-vite-example/blob/master/v...
Pada dasarnya cukup berpura-pura bahwa dirinya adalah library
Dalam kasus ini Vite tidak dipakai sebagai development server, tetapi linting, formatting, eksekusi task, dan caching tetap ada
Apa keuntungannya? Untuk obfuscation di SEA?
Penasaran apakah ini juga disertai subscription
Kalau ada “+” di namanya, saya jadi waspada dan otomatis mengira ada subscription yang ikut menempel
Setelah dilihat, sepertinya tidak begitu
Sekarang “$name+” sudah sangat melekat sebagai arti “layanan subscription milik $name”
Penasaran apakah bisa dipakai bersama Astro