The skeleton already has package.json, vite.config.js and the entry points resources/css/app.css and resources/js/app.js; its .npmrc sets ignore-scripts=true, which blocks install hooks:
$ npm install && npm ls --depth=0 added 100 packages, and audited 101 packages in 13s ... ├── @laravel/multiplex@0.4.4 ├── @tailwindcss/vite@4.3.3 ├── concurrently@10.0.5 ├── laravel-vite-plugin@3.2.0 ├── tailwindcss@4.3.3 └── vite@8.3.0
All are current releases. Vite 8 25,978 (12 March 2026) replaced its two bundlers, esbuild 126 and Rollup 141,981 , with one Rust bundler, Rolldown 181,166 , and needs Node.js 20.19 2,131 + or 22.12+ (Laravel 2,157 's page still says 16). In vite.config.js, the laravel() plugin takes input (the entry points), refresh: true (Hot Reload) and fonts: [bunny('Instrument Sans', { weights: [400, 500, 600] })] (Tailwind and Assets), followed by tailwindcss(). Sources: laravel/vite-plugin 902 (https://github.com/laravel/vite-plugin 902 ) and vitejs/vite (https://github.com/vitejs/vite 83,052 ).