diff --git a/patches/@nuxt__test-utils.patch b/patches/@nuxt__test-utils.patch new file mode 100644 index 0000000..5ec2894 --- /dev/null +++ b/patches/@nuxt__test-utils.patch @@ -0,0 +1,13 @@ +diff --git a/dist/config.mjs b/dist/config.mjs +index 41a73e237a7ecd0c63985421737f3cf0782391ee..ddc205b22b6912a8770bb9a93dff7abc0f503d29 100644 +--- a/dist/config.mjs ++++ b/dist/config.mjs +@@ -33,7 +33,7 @@ async function startNuxtAndGetViteConfig(rootDir = process.cwd(), options = {}) + const { buildNuxt, loadNuxt } = await loadKit(rootDir); + const nuxt = await loadNuxt({ + cwd: rootDir, +- dev: false, ++ dev: options.overrides?.dev ?? false, + dotenv: defu(options.dotenv, { + cwd: rootDir, + fileName: ".env.test" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 228beb8..2d32965 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,11 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +patchedDependencies: + '@nuxt/test-utils': + hash: abfabc04cc9721302d89e9685cecb5ec99642e39ba5020af5f572e1cd2ec579c + path: patches/@nuxt__test-utils.patch + importers: .: @@ -74,7 +79,7 @@ importers: version: 4.3.1 '@nuxt/test-utils': specifier: ^4.0.0 - version: 4.0.0(@vue/test-utils@2.4.6)(happy-dom@20.7.0)(magicast@0.5.2)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.13)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.18(@types/node@24.10.13)(happy-dom@20.7.0)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2)) + version: 4.0.0(patch_hash=abfabc04cc9721302d89e9685cecb5ec99642e39ba5020af5f572e1cd2ec579c)(@vue/test-utils@2.4.6)(happy-dom@20.7.0)(magicast@0.5.2)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.13)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.18(@types/node@24.10.13)(happy-dom@20.7.0)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2)) '@shikijs/transformers': specifier: ^3.22.0 version: 3.23.0 @@ -6635,7 +6640,7 @@ snapshots: rc9: 3.0.0 std-env: 3.10.0 - '@nuxt/test-utils@4.0.0(@vue/test-utils@2.4.6)(happy-dom@20.7.0)(magicast@0.5.2)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.13)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.18(@types/node@24.10.13)(happy-dom@20.7.0)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))': + '@nuxt/test-utils@4.0.0(patch_hash=abfabc04cc9721302d89e9685cecb5ec99642e39ba5020af5f572e1cd2ec579c)(@vue/test-utils@2.4.6)(happy-dom@20.7.0)(magicast@0.5.2)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.13)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.18(@types/node@24.10.13)(happy-dom@20.7.0)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))': dependencies: '@clack/prompts': 1.0.0 '@nuxt/devtools-kit': 2.7.0(magicast@0.5.2)(vite@7.3.1(@types/node@24.10.13)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2)) @@ -11280,7 +11285,7 @@ snapshots: vitest-environment-nuxt@1.0.1(@vue/test-utils@2.4.6)(happy-dom@20.7.0)(magicast@0.5.2)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.13)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.18(@types/node@24.10.13)(happy-dom@20.7.0)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2)): dependencies: - '@nuxt/test-utils': 4.0.0(@vue/test-utils@2.4.6)(happy-dom@20.7.0)(magicast@0.5.2)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.13)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.18(@types/node@24.10.13)(happy-dom@20.7.0)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2)) + '@nuxt/test-utils': 4.0.0(patch_hash=abfabc04cc9721302d89e9685cecb5ec99642e39ba5020af5f572e1cd2ec579c)(@vue/test-utils@2.4.6)(happy-dom@20.7.0)(magicast@0.5.2)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.13)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))(vitest@4.0.18(@types/node@24.10.13)(happy-dom@20.7.0)(jiti@2.6.1)(sass-embedded@1.97.3)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2)) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 0f80470..69b5458 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,3 +2,6 @@ ignoredBuiltDependencies: - '@parcel/watcher' - esbuild - unrs-resolver + +patchedDependencies: + '@nuxt/test-utils': patches/@nuxt__test-utils.patch diff --git a/src/plugins/hydration.ts b/src/plugins/hydration.ts index 07332e7..203f31b 100644 --- a/src/plugins/hydration.ts +++ b/src/plugins/hydration.ts @@ -6,7 +6,7 @@ import { createUnplugin } from 'unplugin' import { distDir } from '../dirs' const INCLUDE_VUE_RE = /\.vue$/ -const EXCLUDE_NODE_MODULES = /node_modules/ +const EXCLUDE_NODE_MODULES = /node_modules|dist/ const DEFINE_COMPONENT_RE = /defineComponent/ const DEFINE_NUXT_COMPONENT_RE = /defineNuxtComponent/ const skipPath = normalizePath(resolve(distDir, 'runtime/hydration/component.ts')) diff --git a/test/fixtures/basic/nuxt.config.ts b/test/fixtures/basic/nuxt.config.ts index ed0c53f..1f3a65b 100644 --- a/test/fixtures/basic/nuxt.config.ts +++ b/test/fixtures/basic/nuxt.config.ts @@ -4,4 +4,7 @@ export default defineNuxtConfig({ modules: [ MyModule, ], + experimental: { + appManifest: false, + }, }) diff --git a/vitest.runtime.config.ts b/vitest.runtime.config.ts index dc66713..b82dfaa 100644 --- a/vitest.runtime.config.ts +++ b/vitest.runtime.config.ts @@ -11,6 +11,9 @@ export default defineVitestProject({ environmentOptions: { nuxt: { rootDir: fileURLToPath(new URL('./test/fixtures/basic', import.meta.url)), + overrides: { + dev: true, + }, }, }, },