Vinext 1.0 bringt Next.js-Apps auf Vite, mit über 99 % Testkompatibilität
Cloudflare hat Vinext 1.0 veröffentlicht, seine Neuimplementierung des Frameworks Next.js auf Basis des Build-Werkzeugs Vite. Das Projekt begann im Februar als, so Cloudflare, einwöchiges KI-gestütztes Experiment eines einzelnen Ingenieurs, wie weit ein Next.js-Nachbau auf Vite kommen kann. Sieben Monate später setzen Kunden es laut Unternehmen in Produktion für stark frequentierte, dynamische Anwendungen ein.
Vinext nimmt eine bestehende Next.js-Anwendung und macht sie auf anderen Plattformen lauffähig, darunter der kostenlose Tarif von Cloudflare Workers, Netlify und AWS Lambda. Version 1.0 deckt Anwendungen für den App Router wie für den älteren Pages Router ab. Die Unterstützung des Pages Router kam laut Cloudflare hinzu, nachdem sich zeigte, wie viele Kunden große, schwer zu migrierende Anwendungen darauf betreiben.
Die zentrale Zahl ist die Kompatibilität: Vinext besteht nach Angaben von Cloudflare inzwischen mehr als 99 % der relevanten Tests, Cache Components ausgenommen. Dazu kommen tausende eigene Tests über beide Router, Entwicklungs- und Produktionsserver sowie die Ziele Node.js und Workers. Jede Nacht läuft außerdem die End-to-End-Testsuite von Next.js gegen Vinext, damit Rückschritte sofort auffallen, wenn sich Next.js selbst ändert. Die Migration beginnt mit zwei Befehlen: npx vinext check und npx vinext init.

Was das bedeutet
Schwierig ist nach Cloudflares eigener Darstellung nicht, Funktionsnamen nachzubilden, sondern Verhalten: Ein Aufruf von revalidatePath muss die gerenderte Seite, den Cache-Eintrag und spätere Anfragen genau so beeinflussen wie in Next.js. Ein nächtlicher Lauf der Original-Testsuite ist dafür das richtige Messinstrument, und die ausdrücklich ausgenommenen Cache Components sind die Stelle, die man zuerst prüfen sollte. Für Teams, die Next.js gewählt haben, nicht aber dessen Hosting, werden Framework und Plattform damit zu zwei getrennten Entscheidungen.