\r\n\u003C/template>\r\n\u003Cscript setup lang=\"ts\">\u003C/script>\r\n```\r\n\r\nApp.vue\r\n```\r\n\u003Ctemplate>\r\n \u003Cdiv>Message: {{ getMessage(\"Hello World\") }}\u003C/div>\r\n\u003C/template>\r\n\u003Cscript setup lang=\"ts\">\r\nimport { getMessage } from \"@/service/message-service\";\r\n```\r\n\r\nApp.test.ts\r\n```\r\nimport { it, expect, vi } from \"vitest\";\r\nimport { mountSuspended } from \"@nuxt/test-utils/runtime\";\r\nimport App from \"../../layouts/default.vue\";\r\n\r\nvi.mock(\"@/service/message-service\", () => {\r\n return {\r\n getMessage: () => \"hello from mock!!\",\r\n };\r\n});\r\n\r\n\r\nit(\"nuxt unit testing\", async () => {\r\n const component = await mountSuspended(App, { route: \"/\" });\r\n expect(component.html()).toMatchInlineSnapshot(\r\n `\"\u003Cdiv>Message: hello Hello World\u003C/div>\"`\r\n );\r\n});\r\n\r\n```\r\n\r\nmessage-service.ts\r\n```\r\nexport function getMessage(message: string): string {\r\n console.log(\"FROM ACTUAL\");\r\n return `hell ${message}`;\r\n}\r\n```\r\n\n\n### Describe the bug\n\nI was expecting vitest vi.mock should be able to mock imports to provide custom/mock implementation, however it seems that vi.mock is not working in the context of nuxt test?\r\n\r\nIf so, how are we suppose to create unit tests and/or E2E using nuxt/test-utils package and be able to provide flexible mocking mechanism?\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[2923,2924,2925],{"name":2883,"color":2884},{"name":2899,"color":2900},{"name":2913,"color":2914},935,"How to mock custom imports while using mountSuspended to test","2024-09-09T02:17:10Z","https://github.com/nuxt/test-utils/issues/935",0.78675437,{"description":2932,"labels":2933,"number":2937,"owner":2872,"repository":2873,"state":2938,"title":2939,"updated_at":2940,"url":2941,"score":2942},"### Environment\n\nReproduction: https://stackblitz.com/edit/github-gu1sj1-xq3xf8?file=tests%2Fe2e%2Fbasic.e2e.test.ts\r\n\r\nA minimal repo with just [vitest](https://github.com/vitest-dev/vitest) and [@nuxt/test-utils](https://github.com/nuxt/test-utils), an app.vue, and a `pages/index.vue` fails with error:\r\n\r\n```js\r\n❯ npm run test\r\n\r\n> test\r\n> vitest\r\n\r\nRunning with compatibility version `4`\r\n\r\n DEV v1.6.0 /home/projects/github-gu1sj1-xq3xf8/app\r\n\r\n ❯ ../tests/e2e/basic.e2e.test.ts (1)\r\n ❯ basic (1)\r\n ⠹ [ beforeAll ]\r\n · contains Welcome to Nuxt! string\r\n\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Suites 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\r\n\r\n FAIL ../tests/e2e/basic.e2e.test.ts > basic\r\nError: Cannot find any nuxt version from ./app\r\n ❯ Module.loadNuxt ../node_modules/@nuxt/kit/dist/index.mjs:2729:11\r\n ❯ loadFixture ../node_modules/@nuxt/test-utils/dist/shared/test-utils.C7cWLW4C.mjs:102:14\r\n 100| });\r\n 101| const buildDir = ctx.nuxt.options.buildDir;\r\n 102| if (!existsSync(buildDir)) {\r\n | ^\r\n 103| await promises.mkdir(buildDir, { recursive: true });\r\n 104| ctx.teardown = ctx.teardown || [];\r\n ❯ setup2 ../node_modules/@nuxt/test-utils/dist/shared/test-utils.C7cWLW4C.mjs:178:7\r\n\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯\r\n\r\n Test Files 1 failed (1)\r\n Tests (1)\r\n Start at 09:54:14\r\n Duration 4.84s (transform 445ms, setup 45ms, collect 2.14s, tests 5ms, environment 0ms, prepare 807ms)\r\n```\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-gu1sj1-xq3xf8?file=tests%2Fe2e%2Fbasic.e2e.test.ts\n\n### Describe the bug\n\nCannot successfully end-to-end test if there is a pages directory with an index.vue.\n\n### Additional context\n\n```\r\n\"dependencies\": {\r\n \"@nuxt/test-utils\": \"^3.13.1\",\r\n \"nuxt\": \"^3.12.3\",\r\n \"vitest\": \"^1.4.0\",\r\n \"vue\": \"latest\"\r\n }\r\n```\n\n### Logs\n\n```shell-script\n❯ npm run test\r\n\r\n> test\r\n> vitest\r\n\r\nRunning with compatibility version `4`\r\n\r\n DEV v1.6.0 /home/projects/github-gu1sj1-xq3xf8/app\r\n\r\n ❯ ../tests/e2e/basic.e2e.test.ts (1)\r\n ❯ basic (1)\r\n ⠹ [ beforeAll ]\r\n · contains Welcome to Nuxt! string\r\n\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Suites 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\r\n\r\n FAIL ../tests/e2e/basic.e2e.test.ts > basic\r\nError: Cannot find any nuxt version from ./app\r\n ❯ Module.loadNuxt ../node_modules/@nuxt/kit/dist/index.mjs:2729:11\r\n ❯ loadFixture ../node_modules/@nuxt/test-utils/dist/shared/test-utils.C7cWLW4C.mjs:102:14\r\n 100| });\r\n 101| const buildDir = ctx.nuxt.options.buildDir;\r\n 102| if (!existsSync(buildDir)) {\r\n | ^\r\n 103| await promises.mkdir(buildDir, { recursive: true });\r\n 104| ctx.teardown = ctx.teardown || [];\r\n ❯ setup2 ../node_modules/@nuxt/test-utils/dist/shared/test-utils.C7cWLW4C.mjs:178:7\r\n\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯\r\n\r\n Test Files 1 failed (1)\r\n Tests (1)\r\n Start at 09:54:14\r\n Duration 4.84s (transform 445ms, setup 45ms, collect 2.14s, tests 5ms, environment 0ms, prepare 807ms)\n```\n",[2934,2935,2936],{"name":2883,"color":2884},{"name":2899,"color":2900},{"name":2913,"color":2914},895,"closed","Adding `/pages/index.vue` breaks e2e testing","2024-07-18T14:13:18Z","https://github.com/nuxt/test-utils/issues/895",0.67209303,{"description":2944,"labels":2945,"number":2950,"owner":2872,"repository":2889,"state":2938,"title":2951,"updated_at":2952,"url":2953,"score":2954},"### Environment\n\n- Operating System: Darwin\n- Node Version: v20.18.0\n- Nuxt Version: 3.15.4\n- CLI Version: 3.21.1\n- Nitro Version: 2.10.4\n- Package Manager: pnpm@9.12.3\n- Builder: -\n- User Config: future, compatibilityDate, devtools, modules, css, hub, runtimeConfig, nitro\n- Runtime Modules: @nuxt/ui-pro@3.0.0-alpha.12, @nuxt/content@3.1.1, nuxt-auth-utils@0.5.15, @nuxthub/core@0.8.17, @vueuse/nuxt@11.3.0, nuxt-countdown@1.2.0, @nuxt/scripts@0.9.5\n- Build Modules: -\n\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.0.0-alpha.12\n\n### Reproduction\n\n```\n\u003Ctemplate>\n \u003CUModal>\n \u003CUButton label=\"Open\" color=\"neutral\" variant=\"subtle\" />\n\n \u003Ctemplate #body>\n \u003CPlaceholder class=\"h-48\" />\n \u003C/template>\n \u003C/UModal>\n\u003C/template>\n```\n\n\u003Cimg width=\"535\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/2e3fcc38-19b9-4090-80ae-587197d11a76\" />\n\n### Description\n\nWhen using a `UModal` without a `title`, a `divider` is still displayed at the top of the modal. This can cause a layout issue, as it appears misaligned with the close button (see screenshot). \n\n**Expected behavior**: \n- Either the `divider` should be automatically removed when there is no `title`. \n- Or it should be better positioned to avoid unnecessary spacing at the top of the modal. \n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[2946,2947],{"name":2883,"color":2884},{"name":2948,"color":2949},"v3","49DCB8",3333,"`UModal` without `title` displays a misaligned divider","2025-02-19T14:19:42Z","https://github.com/nuxt/ui/issues/3333",0.71859133,{"description":2956,"labels":2957,"number":2958,"owner":2872,"repository":2959,"state":2938,"title":2960,"updated_at":2961,"url":2962,"score":2963},"Going on this Page: https://nuxt.com/docs/getting-started/configuration and clicking on \"nuxt.config.ts\" results in a 404\r\nalso going to https://nuxt.com/docs/guide and going to nuxt.config.ts via the directory structure also returns into 404.",[],1391,"nuxt.com","nuxt config returning 404","2023-10-25T09:32:28Z","https://github.com/nuxt/nuxt.com/issues/1391",0.7478451,{"description":2965,"labels":2966,"number":2968,"owner":2872,"repository":2873,"state":2938,"title":2969,"updated_at":2970,"url":2971,"score":2972},"I can't find a valid combination to use with Vuetify. I created an issue at `@nuxt-alt/vuetify`, where the `vite-plugin-vuetify` causes error `Vuetify plugin must be loaded after the vue plugin`:\r\n* https://github.com/nuxt-alt/vuetify/issues/9\r\n\r\nThis is caused by `vite:extendConfig` Nuxt hook not having the `vite:vue` Plugin accessible, so it can't reorder it. (Using `vite:configResolved` hook instead didn't work either.)\r\n\r\nNote that this issue only occurs when `vitest.config.mjs` is used, so I assume there may be some `nuxt-vitest`-specific zero-config Vite misconfiguration. I'd appreciate any hints about the root cause (or alternatives).",[2967],{"name":2899,"color":2900},591,"Incompatible with Vuetify","2023-12-02T00:27:10Z","https://github.com/nuxt/test-utils/issues/591",0.7624707,{"description":2974,"labels":2975,"number":2977,"owner":2872,"repository":2978,"state":2938,"title":2979,"updated_at":2980,"url":2981,"score":2982},"### 📚 Is your documentation request related to a problem?\n\nHey there!\n\nI wanted to add Nuxt Scripts to Nuxt Commerce to handle GA and Cookie Consent. I looked at the documentation [example](https://scripts.nuxt.com/) on the homepage:\n\n\n\nAnd I have copied it to my project but after adding it I see below issues.\n\n\n\n\n\n\n\nIs it the bug in the implementation or maybe not updated documentation?\n\n### 🔍 Where should you find it?\n\nhttps://scripts.nuxt.com/\n\n### ℹ️ Additional context\n\n_No response_",[2976],{"name":2866,"color":2867},410,"scripts","Confusion between docs and actual usage of Google Analytics Script","2025-03-25T19:48:00Z","https://github.com/nuxt/scripts/issues/410",0.7648627,["Reactive",2984],{},["Set"],["ShallowReactive",2987],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fiurem_nTZonmY0bTVfM_UllOMDHMKvfNC1DPMrMzigU":-1},"/nuxt/nuxt.com/1094"]