News

Laravel Starter Kits Now Ship with Vite+

Published
Laravel Starter Kits Now Ship with Vite+ image

Every Laravel starter kit now builds with Vite+, the unified toolchain released in beta on July 2, 2026. Taylor Otwell announced the switch on X:

All Laravel starter kits now ship with Vite+.

The work landed in laravel/maestro#60 from Wendell Adriel, and Maestro synced the change out to the React, Vue, Svelte, and Livewire repositories the same day. The pull request touches all starter kit variants and pins vite-plus at 0.3.0.

Vite+ is a single CLI called vp that wraps Vite, Rolldown, Vitest, tsdown, Oxlint, Oxfmt, and Vite Task, and manages your runtime and package manager alongside them. For the starter kits, the practical result is that ESLint and Prettier are no longer part of the frontend setup.

Four Commands Become Two

The Inertia kits previously carried separate lint, lint:check, format, and format:check scripts. Those collapse into vp check, which formats with Oxfmt, lints with Oxlint, and type checks in one pass:

"scripts": {
"build": "vp build",
"build:ssr": "vp build && vp build --ssr",
"dev": "vp dev",
"check": "vp check",
"check:fix": "vp check --fix",
"types:check": "tsc --noEmit"
}

composer ci:check follows the same path, running npm run check where it used to run npm run lint:check and npm run format:check back to back.

Deleting the old toolchain removed eslint.config.js, .prettierrc, and .prettierignore from each Inertia kit, along with roughly a dozen devDependencies: eslint, typescript-eslint, prettier, prettier-plugin-tailwindcss, the ESLint plugins for React, Vue, Svelte, and imports, and globals. The React kit alone dropped 129 lines of ESLint config.

Lint and Format Rules Move Into vite.config

With the standalone config files gone, the rules now live in vite.config.ts under lint and fmt keys. Warnings are treated as failures, and type-aware linting is on:

import { defineConfig, lazyPlugins } from 'vite-plus';
 
export default defineConfig({
plugins: lazyPlugins(() => [
// ...
]),
lint: {
ignorePatterns: [
'vendor/**',
'bootstrap/ssr/**',
'resources/js/actions/**',
'resources/js/components/ui/*',
'resources/js/routes/**',
'resources/js/wayfinder/**',
],
options: {
denyWarnings: true,
typeAware: true,
},
},
fmt: {
printWidth: 80,
tabWidth: 4,
singleQuote: true,
semi: true,
sortTailwindcss: {
functions: ['clsx', 'cn', 'cva'],
entryPoint: 'resources/css/app.css',
},
},
});

Per-Stack Changes

The React kit moved to @vitejs/plugin-react v6 and now runs the React Compiler through @rolldown/plugin-babel rather than the plugin's babel option:

import babel from '@rolldown/plugin-babel';
import react, { reactCompilerPreset } from '@vitejs/plugin-react';
 
// ...
react(),
babel({
presets: [reactCompilerPreset()],
}),

The Svelte kit swapped lucide-svelte for the supported @lucide/svelte package. The Livewire kit got the smallest diff of the four, since it has no TypeScript to lint: two files changed, moving dev and build to vp and wrapping its plugins in lazyPlugins().

Trying It

New applications generated from the starter kits pick this up automatically. To move an existing Vite project across, VoidZero provides a migration command:

vp migrate

The migration guide notes that complex projects may still need manual follow-up, so read it before running this against production code.

The full diff is in laravel/maestro#60, and the Vite+ documentation lives at viteplus.dev.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Filed in

Sponsored

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
Inertia DevTools Now Available for Firefox image

Inertia DevTools Now Available for Firefox

Read article
Laravel Scalpel Scans for Filesystem Intrusion Evidence image

Laravel Scalpel Scans for Filesystem Intrusion Evidence

Read article
Mercure Broadcasting in Laravel 13.32 image

Mercure Broadcasting in Laravel 13.32

Read article
Super Stack: Laravel Starter Kit With Filament and NativePHP image

Super Stack: Laravel Starter Kit With Filament and NativePHP

Read article
Laravel MCP 1.0 Is Released image

Laravel MCP 1.0 Is Released

Read article
Laravel Vet: Review Composer Code Before It Installs image

Laravel Vet: Review Composer Code Before It Installs

Read article