From 774aa1b83bfee3d4766001c1db399fa035095f10 Mon Sep 17 00:00:00 2001 From: barbapapazes Date: Sun, 9 Nov 2025 10:55:18 +0100 Subject: [PATCH] fix: ssr --- package.json | 8 +++++--- patches/@nuxt__ui.patch | 13 +++++++++++++ pnpm-lock.yaml | 9 +++++++-- resources/js/ssr.ts | 5 ++++- resources/views/app.blade.php | 2 +- vite.config.ts | 2 +- 6 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 patches/@nuxt__ui.patch diff --git a/package.json b/package.json index c1be99d..6f0e4d1 100644 --- a/package.json +++ b/package.json @@ -3,8 +3,7 @@ "private": true, "type": "module", "scripts": { - "build": "vite build", - "build:ssr": "vite build && vite build --ssr", + "build": "vite build && vite build --ssr", "dev": "vite", "format": "prettier --write resources/", "format:check": "prettier --check resources/", @@ -46,7 +45,10 @@ "ignoredBuiltDependencies": [ "esbuild", "vue-demi" - ] + ], + "patchedDependencies": { + "@nuxt/ui": "patches/@nuxt__ui.patch" + } }, "packageManager": "pnpm@10.18.3" } diff --git a/patches/@nuxt__ui.patch b/patches/@nuxt__ui.patch new file mode 100644 index 0000000..2488048 --- /dev/null +++ b/patches/@nuxt__ui.patch @@ -0,0 +1,13 @@ +diff --git a/dist/runtime/inertia/stubs.js b/dist/runtime/inertia/stubs.js +index ace46882188bf6d205b6038fa07eea6608b534e3..6318f8599fb972a9f9f645c1ab07c279e1d1fd70 100644 +--- a/dist/runtime/inertia/stubs.js ++++ b/dist/runtime/inertia/stubs.js +@@ -65,7 +65,7 @@ const hooks = createHooks(); + export function useNuxtApp() { + return { + isHydrating: true, +- payload: { serverRendered: false }, ++ payload: { serverRendered: import.meta.env.SSR }, + hooks, + hook: hooks.hook + }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 120f889..f16b322 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,11 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +patchedDependencies: + '@nuxt/ui': + hash: 8eb9106bcd3537a1f31c1548915251af2612ef979f93892bb2591df40d48a755 + path: patches/@nuxt__ui.patch + importers: .: @@ -13,7 +18,7 @@ importers: version: 2.2.8(vue@3.5.22(typescript@5.9.3)) '@nuxt/ui': specifier: ^4.0.1 - version: 4.0.1(@babel/parser@7.28.4)(@inertiajs/vue3@2.2.8(vue@3.5.22(typescript@5.9.3)))(axios@1.12.2)(embla-carousel@8.6.0)(typescript@5.9.3)(vite@7.1.11(@types/node@24.8.1)(jiti@2.6.0)(lightningcss@1.30.1))(vue@3.5.22(typescript@5.9.3))(zod@4.1.11) + version: 4.0.1(patch_hash=8eb9106bcd3537a1f31c1548915251af2612ef979f93892bb2591df40d48a755)(@babel/parser@7.28.4)(@inertiajs/vue3@2.2.8(vue@3.5.22(typescript@5.9.3)))(axios@1.12.2)(embla-carousel@8.6.0)(typescript@5.9.3)(vite@7.1.11(@types/node@24.8.1)(jiti@2.6.0)(lightningcss@1.30.1))(vue@3.5.22(typescript@5.9.3))(zod@4.1.11) '@vitejs/plugin-vue': specifier: ^6.0.1 version: 6.0.1(vite@7.1.11(@types/node@24.8.1)(jiti@2.6.0)(lightningcss@1.30.1))(vue@3.5.22(typescript@5.9.3)) @@ -2909,7 +2914,7 @@ snapshots: std-env: 3.9.0 ufo: 1.6.1 - '@nuxt/ui@4.0.1(@babel/parser@7.28.4)(@inertiajs/vue3@2.2.8(vue@3.5.22(typescript@5.9.3)))(axios@1.12.2)(embla-carousel@8.6.0)(typescript@5.9.3)(vite@7.1.11(@types/node@24.8.1)(jiti@2.6.0)(lightningcss@1.30.1))(vue@3.5.22(typescript@5.9.3))(zod@4.1.11)': + '@nuxt/ui@4.0.1(patch_hash=8eb9106bcd3537a1f31c1548915251af2612ef979f93892bb2591df40d48a755)(@babel/parser@7.28.4)(@inertiajs/vue3@2.2.8(vue@3.5.22(typescript@5.9.3)))(axios@1.12.2)(embla-carousel@8.6.0)(typescript@5.9.3)(vite@7.1.11(@types/node@24.8.1)(jiti@2.6.0)(lightningcss@1.30.1))(vue@3.5.22(typescript@5.9.3))(zod@4.1.11)': dependencies: '@ai-sdk/vue': 2.0.68(vue@3.5.22(typescript@5.9.3))(zod@4.1.11) '@iconify/vue': 5.0.0(vue@3.5.22(typescript@5.9.3)) diff --git a/resources/js/ssr.ts b/resources/js/ssr.ts index 355a938..6173cf3 100644 --- a/resources/js/ssr.ts +++ b/resources/js/ssr.ts @@ -4,6 +4,7 @@ import { renderToString } from '@vue/server-renderer' import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers' import { createSSRApp, DefineComponent, h } from 'vue' import { Config, route as ziggyRoute } from 'ziggy-js' +import ui from '@nuxt/ui/vue-plugin' const appName = import.meta.env.VITE_APP_NAME || 'Laravel Starter Template' @@ -40,7 +41,9 @@ createServer((page) => global.route = route } - app.use(plugin) + app + .use(plugin) + .use(ui) return app } diff --git a/resources/views/app.blade.php b/resources/views/app.blade.php index fe272ab..21f745f 100644 --- a/resources/views/app.blade.php +++ b/resources/views/app.blade.php @@ -16,7 +16,7 @@ @routes - @vite(['resources/js/app.ts', "resources/js/pages/{$page['component']}.vue"]) + @vite(['resources/js/app.ts', 'resources/css/app.css', "resources/js/pages/{$page['component']}.vue"]) @inertiaHead diff --git a/vite.config.ts b/vite.config.ts index f3e9834..6504a9b 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -8,7 +8,7 @@ import ui from '@nuxt/ui/vite' export default defineConfig({ plugins: [ laravel({ - input: ['resources/js/app.ts'], + input: ['resources/js/app.ts', 'resources/css/app.css',], ssr: 'resources/js/ssr.ts', refresh: true, }),