- Um den Aufwand zu verringern, Web-Entwicklungswerkzeuge für jedes Projekt separat zusammenzustellen, bündelt Vite+ Runtime, Paketmanager sowie Build-, Test- und Prüfwerkzeuge in einem einzigen Einstiegspunkt
vp dev, vp check, vp test, vp build, vp pack, vp run sind mit Vite 8, Vitest, Rolldown, tsdown, Oxlint, Oxfmt verbunden und bieten ein konsistentes Befehlssystem
- Seit der Alpha-Phase wurden in mehr als 12 Versionen und mehr als 500 PRs Caching, Migration, Organisations-Templates, Unterstützung für Unternehmensnetzwerke und plattformübergreifende Stabilität verbessert
- Laut öffentlichem Repository sind mehr als 1.300 Projekte von
vite-plus abhängig; Projekte wie Dify, critical, BlockNote, vinext, îles, Inkline und npmx setzen es bereits ein
- Da 1.0 noch nicht erreicht ist, stehen Remote Caching, GitLab-CI/CD-Unterstützung, Framework- und Plugin-Kompatibilität, Migration sowie Verbesserungen bei Distributionskanälen und Diagnose noch aus
Die integrierte Toolchain von Vite+
- Vite+ wurde als integrierte Toolchain für die Web-Entwicklung in die Beta entlassen
- Über einen einzigen Einstiegspunkt verwaltet es Runtime und Paketmanager und liefert mehrere Frontend-Werkzeuge als getesteten Stack gemeinsam aus
- Vollständig Open Source unter der MIT-Lizenz und nicht an ein bestimmtes Framework gebunden
- Kann in verschiedenen Web-Projekten eingesetzt werden, darunter CLI-Tools, Bibliotheken und Web-Apps
- Neue Projekte starten mit
vp create, bestehende Projekte mit vp migrate
Entwicklung, Prüfung und Build mit denselben Befehlen
- Vite+ ist so konzipiert, dass statt projektweise unterschiedliche Tool-Kombinationen und Befehle gelernt werden müssen, überall dasselbe Befehlssystem verwendet wird
- Die wichtigsten Befehle sind:
vp dev: startet einen Entwicklungsserver auf Basis von Vite 8 mit Hot Module Replacement
vp check: führt Oxfmt-Formatierung, Oxlint-Linting und Typprüfung in einem Schritt aus
vp test: führt Unit-Tests auf Basis von Vitest aus
vp build: erstellt einen Production-Build auf Basis von Vite 8
vp pack: bündelt Bibliotheken auf Basis von tsdown und enthält Best Practices
vp run: führt mit dem integrierten, monorepobewussten Task-Runner npm-Skripte oder Tasks aus und nutzt intelligentes Caching
- Je größer Team und Codebasis werden, desto stärker fallen folgende Vorteile ins Gewicht:
- Tool-Versionen sind aufeinander abgestimmt
- Konfigurationen lassen sich leichter teilen
- der Einrichtungsaufwand für neue Beitragende sinkt
- CI führt dieselben Befehle aus wie die lokale Entwicklung
- Es richtet sich an Entwickler, die ihre Toolchain nicht immer wieder selbst zusammensetzen möchten, und an Teams, die projektübergreifend konsistente Konfigurationen wollen
- Vite+ ersetzt das Vite-Ökosystem nicht
- Vite-Plugins bleiben weiterhin Vite-Plugins
- Projekte können intern weiterhin den gewünschten Paketmanager verwenden
- Vite+ bietet eine Integrationsschicht, damit diese Elemente wie eine einzige Toolchain zusammenarbeiten
Veränderungen von der Alpha bis zur Beta
- Seit der Alpha von Vite+ wurden nach Tests in realen Projekten mehr als 12 Versionen veröffentlicht und mehr als 500 PRs zusammengeführt
- Zu den wichtigsten Verbesserungen gehören:
- Intelligenteres Caching:
vp run kombiniert automatisches Data Tracking mit von Vite gemeldeten Metadaten, sodass Build-Caches korrekt funktionieren, ohne Eingaben, Ausgaben und Umgebungsvariablen manuell auflisten zu müssen
- Verbesserte Migration:
vp migrate verarbeitet verschiedene App-Konfigurationen und stellt auch Migrations-Prompts für Agenten bereit
- Enterprise-Funktionen: Mit Organisations-Templates lassen sich Konfigurationen teamübergreifend standardisieren, und dank HTTP mit Proxy- und Custom-CA-Erkennung kann
vp auch hinter Unternehmens-Proxys und Firewalls ausgeführt werden
- Plattformübergreifend:
vp wurde so verbessert, dass es auf den wichtigsten Betriebssystemen und Shells zuverlässiger funktioniert
- Feinschliff und Verbesserungen: Mehr als 180 Korrekturen und Verbesserungen sind in
vite-plus eingeflossen
- Ausführliche Änderungslisten gibt es in den Vite+-Release-Notes
Die zugrunde liegenden Werkzeuge haben sich ebenfalls weiterentwickelt
- Während Vite+ entstand, wurden auch die zugrunde liegenden Werkzeuge kontinuierlich verbessert
- Zu den wichtigsten Änderungen seit der Alpha gehören:
Beispiele aus der Praxis
- Öffentliche Repositories mit Abhängigkeit von
vite-plus zählen mehr als 1.300, private Projekte und globale CLI-Installationen sind nicht eingerechnet
- Vite+ wird in sehr unterschiedlichen Projekttypen eingesetzt
- Dify: Open-Source-Plattform zum Erstellen von LLM-Apps
- critical: frameworkunabhängiges Critical-Path-CSS-Tool von Addy Osmani
- BlockNote: blockbasierter Rich-Text-Editor im Notion-Stil für React
- vinext: Vite-basiertes, Next.js-kompatibles Drop-in-Framework
- zerobyte: Self-Hosting-Backup-Automatisierung für Endnutzer, erstellt mit TanStack und React
- îles: Site-Generator mit partieller Hydration im Islands-Stil für Vue
- agentsview: lokal priorisiertes Such- und Analysewerkzeug für Sessions von Coding-Agenten, erstellt mit Svelte
- Inkline: UI-Komponentenbibliothek mit Unterstützung für Vue, React, Svelte, Angular, Solid, Qwik, Astro
- npmx: Open-Source-Browser für npm-Registries auf Basis von Nuxt
- Daniel Roe von npmx sagt, dass Vite+ die Entwicklererfahrung schnell hält und auch CI- sowie Review-Prozesse beschleunigt
Offene Aufgaben bis 1.0
- Vite+ ist stabil, aber noch nicht vollständig abgeschlossen; wenn die integrierte Toolchain die benötigten Funktionen abdeckt, wird die Einführung empfohlen
- Bis 1.0 stehen folgende Punkte im Fokus:
- Implementierung von Remote Caching für Vite Task in
vp run
- Einführung von
setup-vp für GitLab CI/CD
- bessere Kompatibilität mit Vite-Frameworks und -Plugins insgesamt
- Unterstützung für weitere Migrationsziele
- zusätzliche Distributionskanäle wie eine offizielle Homebrew formula
- klarere Dokumentation und bessere Diagnose
- Um verbleibende Kompatibilitätslücken vor dem Release von 1.0 zu schließen, hat Community-Feedback Priorität
Installation und Migration
- Der globale Befehl
vp wird unter macOS/Linux mit folgendem Befehl installiert
curl -fsSL https://vite.plus | bash
- Unter Windows wird folgender PowerShell-Befehl verwendet
irm https://vite.plus/ps1 | iex
- Zum Erstellen eines neuen Projekts wird folgender Befehl verwendet
vp create
- Um Vite+ in einem bestehenden Vite-Projekt auszuprobieren, wird folgender Befehl verwendet
vp migrate
vp migrate zeigt einen Änderungsplan an, bei komplexen Projekten kann jedoch manuelle Nacharbeit erforderlich sein
- Vor der Einführung von Vite+ in einem Production-Projekt sollte der Migrationsleitfaden gelesen werden
- Gewünscht ist insbesondere Feedback von Entwicklern, die bestehende Projekte migrieren, von Framework- und Plugin-Autoren sowie von Teams, die große Repositories pflegen
- Relevante Kanäle
1 Kommentare
Meinungen auf Hacker News
Ich mag Vite wirklich, habe aber keine Ahnung, was die anderen Tools sein sollen.
Kaum hat man kurz den Kopf gesenkt und gearbeitet, hat sich das Frontend-Tooling plötzlich weiterentwickelt, und ich frage mich, ob es einen Trend zu einem langweiligen, aber gut funktionierenden Stack gibt.
oxlint ersetzt eslint, ist mit dessen Konfigurationsdateiformat kompatibel und sehr schnell, weil es nicht in JavaScript geschrieben ist. Ich habe auch biome ausprobiert, aber oxlint hatte mehr Regeln und eine bessere eslint-Kompatibilität.
oxfmt ersetzt prettier, ist ebenfalls schneller, weil es nicht in JavaScript geschrieben ist, und rolldown ersetzt rollup, bleibt kompatibel, ist aber deutlich schneller. In neuen Projekten nutze ich diese Tools bereits hauptsächlich.
Früher musste man Tools aus unterschiedlichen Open-Source-Projekten mit jeweils anderen Konfigurationen und Update-Zyklen verwenden; jetzt wird das als eine einfache Toolchain behandelt.
Vite+ ist im Grunde genau dieser „langweilige, aber gut funktionierende“ Stack, mit besserer Performance und weniger Konfiguration.
eslint → oxlint, prettier → oxfmt: in Rust neu geschrieben und dadurch schneller; webpack → Vite ist bereits weit genug verbreitet, dass man es akzeptiert.
rolldown → tsdown ergänzt TypeScript-Unterstützung, und jest → vitest passt gut zu Vite.
Im Grunde nimmt man die Konventionen, die sich in den letzten zehn Jahren etabliert haben, und bündelt TypeScript-Unterstützung, Rust-basierte Performance und Interoperabilität.
Ich nutze auch Deno und frage mich, was daran nützlich sein soll.
Ich mag Vite, Vitest, Oxlint und Oxfmt und schaue mir bei den meisten neuen Projekten zuerst diese Richtung an.
Ich hoffe, dass diese Leute genug Finanzierung bekommen, um mindestens die nächsten zehn Jahre weiterentwickeln zu können.
Das ist viel besser, als ein altes Projekt zu öffnen und dort ein Durcheinander aus Gulp, Grunt, webpack und diversen anderen Tools vorzufinden. Eines dieser Projekte habe ich auch auf den neuen Stack migriert.
Die Frage ist, ob Cloudflare diese Leute weiter Vite- und Vite+-Funktionen bauen lässt. Denn das sind Funktionen, die nicht nur Cloudflare, sondern allen Cloud-Plattformen nützen.
https://blog.cloudflare.com/voidzero-joins-cloudflare/
Besonders bei Full-Stack mit serverseitigem Rendering; wenn man nur aufs Frontend schaut und TypeScript weglässt, wird es ziemlich einfach.
Ob Vite+ bei komplexeren Fällen hilft, muss man abwarten.
Ich finde, dieses Projekt sollte einen besseren Namen finden.
Es ist ziemlich verwirrend, weil es eigentlich nicht wirklich ein besseres Vite ist, sondern eher ein Bündel anderer Tools.
Damals wollte Void Zero die Vite-Marke vielleicht monetarisieren, aber jetzt, da sie von Cloudflare übernommen wurden, besteht diese Notwendigkeit nicht mehr.
Ich nutze Vite, Vitest, Rolldown, tsdown, Oxlint und Oxfmt mit großer Zufriedenheit.
Ich habe auch viele Pakete hart geforkt und möchte nicht zurück. Alles funktioniert einfach.
Wenn die Namen verwirren, schaut euch zuerst Oxlint https://oxc.rs/docs/guide/usage/linter und Rolldown https://rolldown.rs/ an.
Bei der Einführung in den letzten sechs Monaten musste ich die tsconfig nur minimal ändern.
Normalerweise hole ich neue Pakete, sofern es nicht um Dinge wie antd6, echart, Rendering-Engines oder Geospatial-Bibliotheken geht, bereinige sie mit Claude, bringe sie auf ein striktes und einheitliches Typsystem und passe sie dann an meine Vorlieben bei Vite, tsconfig und oxlint an.
Dadurch muss ich mich letztlich weniger ständig mit Bibliotheks-Bloat oder Supply-Chain-Angriffen beschäftigen, und der Code wird leichter lesbar und änderbar.
Vite hat in den vier Jahren von 2022 bis 2026 fünf Major-Versionen erhöht: 3 → 4 → 5 → 6 → 7 → 8.
Jedes Mal gab es Breaking Changes, und Entwickler mussten migrieren; das ist zu viel. Zumal es im Vergleich zu Version 3 nicht dramatisch besser geworden ist.
Dieses Maß an unnötiger Veränderung und ständiger Unruhe möchte ich nicht auch noch in den Rest der Entwicklungstoolchain holen.
Wenn Vite+ am Ende nur bestehende Tools hinter einer abstrahierten Kommandozeilenschnittstelle verpackt, muss man sich für das gewünschte Verhalten durch noch mehr Indirektionsschichten kämpfen; deshalb bin ich noch nicht optimistisch.
An größere Probleme erinnere ich mich nicht, und es war jedes Mal im Großen und Ganzen den Aufwand wert.
Es gab ein paar Breaking Changes, aber sie waren relativ isoliert, und die Geschwindigkeit und Verbesserungen zwischen diesen Versionen waren ziemlich erheblich.
Ich wäre neugierig, welche Brüche ihr erlebt habt.
Die zusätzlichen Funktionen rund um serverseitiges Rendering waren eine große Verbesserung.
Ich wünschte, man würde aufhören, sich ständig über ein nicht existentes Problem zu beschweren. Ich frage mich sogar, ob diese Leute die Tools überhaupt wirklich benutzen.
Es ist wirklich schwer, beim Frontend- oder überhaupt beim JavaScript-Ökosystem mitzuhalten
Ich vermisse die Zeit, in der ich mit Laravel gearbeitet habe, und wünschte, Jobs mit Laravel würden besser bezahlt
Trotzdem muss man weiter dranbleiben, und das Ergebnis ist vielleicht auch nicht besonders zufriedenstellend
Das, was man früher verwendet hat, funktioniert immer noch
Ich vermisse die Laravel-6-Zeit wirklich
Da der Ansatz bei uv funktioniert hat, denke ich, dass ein fähiges Team dasselbe auch in JavaScript schaffen kann
Für mich ist das ein sehr naheliegender Vergleich, und es fühlt sich auch für das JavaScript-Ökosystem wie eine sehr willkommene Entwicklung an
Dank uv macht die Arbeit mit Python wieder Spaß
Ich frage mich, ob man es wie Vite auch für Node-Builds verwenden kann oder ob es nur für den Browser gedacht ist
Allerdings nutze ich Vite mit
vite-plugin-nodeproblemlos für einen NestJS-ServerEin Beispiel siehe https://github.com/leosuncin/nest-vite-example/blob/master/v...
Im Grunde muss man einfach so tun, als wäre man selbst eine Library
In diesem Fall nutze ich Vite nicht als Entwicklungsserver, aber Linting, Formatierung, Task-Ausführung und Caching bleiben erhalten
Was ist der Vorteil? Geht es darum, bei SEA zu obfuskieren?
Ich frage mich, ob hier auch ein Abo dranhängt
Wenn im Namen ein „+“ steht, werde ich vorsichtig und gehe automatisch davon aus, dass ein Abo dazugehört
Nach einem Blick darauf scheint das aber nicht der Fall zu sein
Inzwischen ist „$name+“ fest als „Abo-Dienst von $name“ verankert
Ich frage mich, ob man es zusammen mit Astro verwenden kann