work in Storybook? Thank you",[1984],{"name":1985,"color":1986},"question","d876e3",77,"nuxt","icon","open","How do we make nuxt-icon work in Storybook?","2025-01-17T10:54:58Z","https://github.com/nuxt/icon/issues/77",0.7317317,{"description":1996,"labels":1997,"number":2001,"owner":1988,"repository":2002,"state":1990,"title":2003,"updated_at":2004,"url":2005,"score":2006},"### Environment\r\n\r\n- Operating System: `Darwin`\r\n- Node Version: `v20.8.1`\r\n- Nuxt Version: `3.9.0`\r\n- CLI Version: `3.10.0`\r\n- Nitro Version: `2.8.1`\r\n- Package Manager: `yarn@1.22.19`\r\n- Builder: `-`\r\n- User Config: `devtools`, `modules`\r\n- Runtime Modules: `@nuxt/test-utils/module@3.9.0`\r\n- Build Modules: `-`\r\n\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/github-gee6qy?file=app.vue\r\n\r\n### Describe the bug\r\n\r\nOnce I expose a variable called `error` within the setup, the component fails to render. \r\nSince everything works within the dev server / build, I suspect this is something within `@nuxt/test-utils`\r\n\r\nAfter renaming the `error` variable to something else, the component can be mounted within the tests again.\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Logs\r\n\r\n```shell-script\r\nVitest caught 1 unhandled error during the test run.\r\nThis might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.\r\n\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\r\nTypeError: 'set' on proxy: trap returned falsish for property 'error'\r\n ❯ clonedComponent.render node_modules/@nuxt/test-utils/dist/runtime-utils/index.mjs:128:44\r\n 126| renderContext[key] = passedProps[key];\r\n 127| }\r\n 128| return render.call(this, renderContext, ...args);\r\n | ^\r\n 129| } : void 0,\r\n 130| setup: setup ? (props2) => wrappedSetup(props2, setupContext) : void 0\r\n ❯ renderComponentRoot node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:868:16\r\n ❯ ReactiveEffect.componentUpdateFn node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5922:46\r\n ❯ ReactiveEffect.run node_modules/@vue/reactivity/dist/reactivity.cjs.js:174:19\r\n ❯ instance.update node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6053:16\r\n ❯ setupRenderEffect node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:6063:5\r\n ❯ eval node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:1613:9\r\n\r\nThis error originated in \"test/app.nuxt.test.ts\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\r\nThe latest test that might've caused the error is \"Should mount\". It might mean one of the following:\r\n- The error was thrown, while Vitest was running this test.\r\n- This was the last recorded test before the error was thrown, if error originated after test finished its execution.\r\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\r\n\r\n```\r\n```\r\n",[1998],{"name":1999,"color":2000},"bug","d73a4a",684,"test-utils","mountSuspended fails: 'set' on proxy: trap returned falsish for property 'error'","2025-03-14T15:14:45Z","https://github.com/nuxt/test-utils/issues/684",0.7370558,{"description":2008,"labels":2009,"number":2017,"owner":1988,"repository":2018,"state":2019,"title":2020,"updated_at":2021,"url":2022,"score":2023},"### Environment\n\n- Operating System: Darwin\n- Node Version: v22.14.0\n- Nuxt Version: 3.16.0\n- CLI Version: 3.22.5\n- Nitro Version: 2.11.6\n- Package Manager: npm@10.9.2\n- Builder: -\n- User Config: devtools, modules, components, css, compatibilityDate\n- Runtime Modules: @nuxt/ui@3.0.0, @pinia/nuxt@0.10.1, compodium@0.1.0-beta.5\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.0.0\n\n### Reproduction\n\n```vue\n\u003Ctemplate>\n \u003Cdiv>\n \u003CUInputMenu :items=\"idList\" v-model=\"value\" />\n \u003C/div>\n\u003C/template>\n\n\u003Cscript lang=\"ts\" setup>\nconst value = ref(0)\nconst idList = ref([168, 170, 203])\n\u003C/script>\n```\n\n### Description\n\nIf adding array of numbers to InputMenu the menu isn't closing after choosing a number.\nOnly way to close it is double-clicking on the dropdown arrow.\nThe Console shows an error in useFilter.\n\n### Additional context\n\n\n\n\n\n### Logs\n\n```shell-script\nUncaught (in promise) TypeError: string.normalize is not a function\n at contains (useFilter.js?v=87101672:23:21)\n at InputMenu.vue:114:18\n at wrappedFn (reactivity.esm-bundler.js?v=87101672:820:19)\n at Array.filter (\u003Canonymous>)\n at apply (reactivity.esm-bundler.js?v=87101672:828:27)\n at Proxy.filter (reactivity.esm-bundler.js?v=87101672:720:12)\n at InputMenu.vue:112:50\n at Array.map (\u003Canonymous>)\n at ComputedRefImpl.fn (InputMenu.vue:112:27)\n at refreshComputed (reactivity.esm-bundler.js?v=87101672:353:29)\n```",[2010,2011,2014],{"name":1999,"color":2000},{"name":2012,"color":2013},"v3","49DCB8",{"name":2015,"color":2016},"triage","ffffff",3606,"ui","closed","Numbers in InputMenu component cause error in filter","2025-03-24T20:38:15Z","https://github.com/nuxt/ui/issues/3606",0.68377334,{"description":2025,"labels":2026,"number":2030,"owner":1988,"repository":2031,"state":2019,"title":2032,"updated_at":2033,"url":2034,"score":2035},"### 🆒 Your use case\n\nThe current Google Analytics registry does not use [consent mode](https://developers.google.com/tag-platform/security/guides/consent?consentmode=advanced). This is used for communicating the user's consent status to Google.\n\n### 🆕 The solution you'd like\n\nI would like to have it as part of the options for the registry script so I can easily define default consent settings as well as the option of opting into consent mode v2.\n\n### 🔍 Alternatives you've considered\n\nCurrently I have opted to just copy the registry script and redefine it with an expanded clientInit property since the default consent needs to be set before `gtag('js', ...)` and `gtag('config', ...)` is called.\r\n\r\n```ts\r\n[...]\r\nclientInit: import.meta.server\r\n ? undefined\r\n : () => {\r\n window.dataLayer = window.dataLayer || []\r\n window.gtag = function () {\r\n // eslint-disable-next-line prefer-rest-params\r\n window.dataLayer.push(arguments)\r\n }\r\n\r\n window.gtag('consent', 'default', {\r\n ad_user_data: 'denied',\r\n ad_personalization: 'denied',\r\n ad_storage: 'denied',\r\n analytics_storage: 'denied',\r\n })\r\n window.gtag('set', { ads_data_redaction: 'true' })\r\n\r\n window.gtag('js', new Date())\r\n window.gtag('config', website.analytics4Key)\r\n },\r\n[...]\r\n```\n\n### ℹ️ Additional info\n\n_No response_",[2027],{"name":2028,"color":2029},"enhancement","a2eeef",243,"scripts","Add consent mode for Google Analytics registry script","2025-02-18T20:30:05Z","https://github.com/nuxt/scripts/issues/243",0.6849485,{"description":2037,"labels":2038,"number":2039,"owner":1988,"repository":1989,"state":2019,"title":2040,"updated_at":2041,"url":2042,"score":2043},"Hi,\r\n\r\nThe icons are not prerendered in client side rendering with `ssr:false`. Instead, I have `\u003Cspan>` with name text attribute.\r\nI'm using Capacitor, and it seems the problem only occurs with my app's WebView (Android).\r\n\r\nDoes anyone have a solution?",[],144,"Icons not rendered on client side rendering (ssr: false)","2024-03-07T16:01:16Z","https://github.com/nuxt/icon/issues/144",0.68511546,{"description":2045,"labels":2046,"number":2047,"owner":1988,"repository":1989,"state":2019,"title":2048,"updated_at":2049,"url":2050,"score":2051},"In `v0.6.5` this works:\r\n\r\n```ts\r\nnuxtIcon: {\r\n aliases: {\r\n 'aws': 'IconAWS',\r\n // ...\r\n }\r\n}\r\n```\r\n\r\nif there is a component in global named `IconAWS.vue`, but in `v0.6.6` it breaks. The reason is the uppercase naming, if I rename the component and the alias to `IconAws.vue` it works.",[],125,"v0.6.6 has problems with uppercase alias names","2023-12-24T15:42:29Z","https://github.com/nuxt/icon/issues/125",0.6929338,{"description":2053,"labels":2054,"number":2059,"owner":1988,"repository":2031,"state":2019,"title":2060,"updated_at":2061,"url":2062,"score":2063},"Upgrading to v6.0.2 I get the following errors in the Nuxt Turnstile module:\r\n\r\n```\r\n.nuxt/nuxt-scripts/tpc/google-tag-manager.ts(13,17): error TS2742: The inferred type of 'useScriptGoogleTagManager' cannot be named without a reference to '.pnpm/@unhead+vue@1.9.15_vue@3.4.31_typescript@5.5.3_/node_modules/@unhead/vue'. This is likely not portable. A type annotation is necessary.\r\n.nuxt/nuxt-scripts/tpc/google-tag-manager.ts(6,7): error TS2742: The inferred type of 'OptionSchema' cannot be named without a reference to '.pnpm/valibot@0.36.0/node_modules/valibot'. This is likely not portable. A type annotation is necessary.\r\n.nuxt/nuxt-scripts/tpc/google-tag-manager.ts(6,7): error TS2742: The inferred type of 'OptionSchema' cannot be named without a reference to '.pnpm/valibot@0.36.0/node_modules/valibot'. This is likely not portable. A type annotation is necessary.\r\n.nuxt/nuxt-scripts/tpc/google-analytics.ts(13,17): error TS2742: The inferred type of 'useScriptGoogleAnalytics' cannot be named without a reference to '.pnpm/@unhead+vue@1.9.15_vue@3.4.31_typescript@5.5.3_/node_modules/@unhead/vue'. This is likely not portable. A type annotation is necessary.\r\n.nuxt/nuxt-scripts/tpc/google-analytics.ts(6,7): error TS2742: The inferred type of 'OptionSchema' cannot be named without a reference to '.pnpm/valibot@0.36.0/node_modules/valibot'. This is likely not portable. A type annotation is necessary.\r\n.nuxt/nuxt-scripts/tpc/google-analytics.ts(6,7): error TS2742: The inferred type of 'OptionSchema' cannot be named without a reference to '.pnpm/valibot@0.36.0/node_modules/valibot'. This is likely not portable. A type annotation is necessary.\r\n```\r\n\r\nhttps://github.com/nuxt-modules/turnstile/actions/runs/9820960416/job/27116095724?pr=321#step:14:24",[2055,2056],{"name":1999,"color":2000},{"name":2057,"color":2058},"pre-announce","c2e0c6",133,"fix(tpc): a type annotation is necessary","2024-07-15T18:18:26Z","https://github.com/nuxt/scripts/issues/133",0.7220709,{"description":2065,"labels":2066,"number":2070,"owner":1988,"repository":2002,"state":2019,"title":2071,"updated_at":2072,"url":2073,"score":2074},"### Environment\n\n------------------------------\n- Operating System: Darwin\n- Node Version: v18.19.0\n- Nuxt Version: 3.12.4\n- CLI Version: 3.13.2\n- Nitro Version: 2.9.7\n- Package Manager: npm@10.2.3\n- Builder: -\n- User Config: compatibilityDate, devtools\n- Runtime Modules: -\n- Build Modules: -\n------------------------------\n\n### Reproduction\n\nhttps://stackblitz.com/~/github.com/inouetakuya/nuxt-test-utils-playground/pull/3\n\nGitHub: https://github.com/inouetakuya/nuxt-test-utils-playground/pull/3\n\n### Describe the bug\n\nHere is the page component using the Options API.\n\n```vue\n\u003Cscript lang=\"ts\"> \nexport default defineNuxtComponent({ \n name: 'OptionsApiPage', \n setup() { \n return { \n greetingInSetup: 'Hello, setup!', \n }; \n }, \n async asyncData() { \n return { \n greetingInAsyncData: 'Hello, asyncData!', \n }; \n }, \n data() { \n return { \n greetingInData: 'Hello, data!', \n }; \n }, \n computed: { \n greetingInComputed() { \n return 'Hello, computed property!'; \n }, \n }, \n}); \n\u003C/script> \n \n\u003Ctemplate> \n \u003Cp data-testid=\"greeting-in-setup\">greetingInSetup: {{ greetingInSetup }}\u003C/p> \n \u003Cp data-testid=\"greeting-in-async-data\"> \n greetingInAsyncData: {{ greetingInAsyncData }} \n \u003C/p> \n \u003Cp data-testid=\"greeting-in-data\">greetingInData: {{ greetingInData }}\u003C/p> \n \u003Cp data-testid=\"greeting-in-computed\"> \n greetingInComputed: {{ greetingInComputed }} \n \u003C/p> \n\u003C/template>\n```\n\nWhen testing this page component using the mountSuspended method, the data and computed properties of the Options API are not rendered. \n\nOn the other hand, if the same page component is tested with the mount method, both the Options API data and the computed properties are rendered.\n\n```ts\nimport { mountSuspended } from '@nuxt/test-utils/runtime'; \nimport { mount, flushPromises } from '@vue/test-utils'; \nimport OptionsApiPage from '~/pages/options-api.vue'; \n \ndescribe('OptionsApiPage', () => { \n let wrapper; \n \n describe('Using mountSuspended', () => { \n beforeEach(async () => { \n wrapper = await mountSuspended(OptionsApiPage, { \n route: '/options-api', \n }); \n }); \n \n it('should render greeting in setup', () => { \n expect(wrapper.find('[data-testid=\"greeting-in-setup\"]').text()).toBe( \n 'greetingInSetup: Hello, setup!', \n ); \n }); \n \n it('should render greeting in asyncData', () => { \n expect( \n wrapper.find('[data-testid=\"greeting-in-async-data\"]').text(), \n ).toBe('greetingInAsyncData: Hello, asyncData!'); \n }); \n \n it('should render greeting in data', () => { \n expect(wrapper.find('[data-testid=\"greeting-in-data\"]').text()).toBe( \n 'greetingInData: Hello, data!', \n ); \n }); \n \n it('should render greeting in computed', () => { \n expect(wrapper.find('[data-testid=\"greeting-in-computed\"]').text()).toBe( \n 'greetingInComputed: Hello, computed property!', \n ); \n }); \n }); \n \n describe('Using mount', () => { \n beforeEach(async () => { \n const component = defineComponent({ \n components: { OptionsApiPage }, \n template: '\u003CSuspense>\u003COptionsApiPage />\u003C/Suspense>', \n }); \n wrapper = mount(component); \n await flushPromises(); \n }); \n \n it('should render greeting in setup', () => { \n expect(wrapper.find('[data-testid=\"greeting-in-setup\"]').text()).toBe( \n 'greetingInSetup: Hello, setup!', \n ); \n }); \n \n it('should render greeting in asyncData', () => { \n expect( \n wrapper.find('[data-testid=\"greeting-in-async-data\"]').text(), \n ).toBe('greetingInAsyncData: Hello, asyncData!'); \n }); \n \n it('should render greeting in data', () => { \n expect(wrapper.find('[data-testid=\"greeting-in-data\"]').text()).toBe( \n 'greetingInData: Hello, data!', \n ); \n }); \n \n it('should render greeting in computed', () => { \n expect(wrapper.find('[data-testid=\"greeting-in-computed\"]').text()).toBe( \n 'greetingInComputed: Hello, computed property!', \n ); \n }); \n }); \n});\n```\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n$ npm test\n\n> test\n> vitest run\n\n\n RUN v2.0.5 /Users/inouetakuya/src/github.com/inouetakuya/nuxt-test-utils-playground\n\nstdout | pages/script-setup.nuxt.spec.ts\n\u003CSuspense> is an experimental feature and its API will likely change.\n\nstdout | pages/options-api.nuxt.spec.ts\n\u003CSuspense> is an experimental feature and its API will likely change.\n\n ❯ pages/options-api.nuxt.spec.ts (8)\n ❯ OptionsApiPage (8)\n ❯ Using mountSuspended (4)\n ✓ should render greeting in setup\n ✓ should render greeting in asyncData\n × should render greeting in data\n × should render greeting in computed\n ✓ Using mount (4)\n ✓ pages/script-setup.nuxt.spec.ts (1)\n ✓ utils/example-util.spec.ts (1)\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 2 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\n\n FAIL pages/options-api.nuxt.spec.ts > OptionsApiPage > Using mountSuspended > should render greeting in data\nAssertionError: expected 'greetingInData:' to be 'greetingInData: Hello, data!' // Object.is equality\n\nExpected: \"greetingInData: Hello, data!\"\nReceived: \"greetingInData:\"\n\n ❯ pages/options-api.nuxt.spec.ts:28:71\n 26|\n 27| it('should render greeting in data', () => {\n 28| expect(wrapper.find('[data-testid=\"greeting-in-data\"]').text()).toBe(\n | ^\n 29| 'greetingInData: Hello, data!',\n 30| );\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/2]⎯\n\n FAIL pages/options-api.nuxt.spec.ts > OptionsApiPage > Using mountSuspended > should render greeting in computed\nAssertionError: expected 'greetingInComputed:' to be 'greetingInComputed: Hello, computed p…' // Object.is equality\n\nExpected: \"greetingInComputed: Hello, computed property!\"\nReceived: \"greetingInComputed:\"\n\n ❯ pages/options-api.nuxt.spec.ts:34:75\n 32|\n 33| it('should render greeting in computed', () => {\n 34| expect(wrapper.find('[data-testid=\"greeting-in-computed\"]').text()).toBe(\n | ^\n 35| 'greetingInComputed: Hello, computed property!',\n 36| );\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/2]⎯\n\n Test Files 1 failed | 2 passed (3)\n Tests 2 failed | 8 passed (10)\n Start at 16:38:07\n Duration 740ms (transform 303ms, setup 513ms, collect 188ms, tests 41ms, environment 237ms, prepare 331ms)\n```\n",[2067],{"name":2068,"color":2069},"pending triage","5D08F5",961,"mountSuspended does not render Options API's data and computed properties","2024-10-08T13:30:47Z","https://github.com/nuxt/test-utils/issues/961",0.7235008,{"description":2076,"labels":2077,"number":2081,"owner":1988,"repository":2082,"state":2019,"title":2083,"updated_at":2084,"url":2085,"score":2086},"- [ ] Invisible contrast https://www.notion.so/nuxt/Invisible-contrast-172c713f4cea43dc875fab68a76825be\n- [ ] Strange hover https://www.notion.so/nuxt/Strange-hover-5bb97015d8fc468485b7209d6f03bea8\n- [x] Broken images https://www.notion.so/nuxt/Broken-images-6b8c9cb921d34d3db8f27d9f5f36190a",[2078],{"name":2079,"color":2080},"needs refinement","A2C2AE",1092,"nuxt.com","[Review] Prose","2023-10-10T14:45:05Z","https://github.com/nuxt/nuxt.com/issues/1092",0.72377944,{"description":2088,"labels":2089,"number":2081,"owner":1988,"repository":2002,"state":2019,"title":2091,"updated_at":2092,"url":2093,"score":2086},"### Environment\n\n------------------------------\n- Operating System: Linux\n- Node Version: v20.15.1\n- Nuxt Version: 3.15.2\n- CLI Version: 3.20.0\n- Nitro Version: 2.10.4\n- Package Manager: pnpm@8.7.4\n- Builder: -\n- User Config: compatibilityDate, devtools, modules\n- Runtime Modules: @nuxt/test-utils/module@3.15.4\n- Build Modules: -\n------------------------------\n\n### Reproduction\n\nhttps://stackblitz.com/~/github.com/romhml/nuxt-test-repro\n\n### Describe the bug\n\nHi! There seems to be an issue when using `mountSuspended` on a component with `defineOptions({ inheritAttrs: false })` where attributes bound using `v-bind=\"$attrs\"` are missing.\n\nFor instance with this component:\n\n``` vue\n\u003Ctemplate>\n \u003Cdiv>\n \u003Cbutton v-bind=\"$attrs\"> \u003Cslot /> \u003C/button>\n \u003C/div>\n\u003C/template>\n\n\u003Cscript setup lang=\"ts\">\ndefineOptions({ inheritAttrs: false })\n\u003C/script>\n```\n\nThe first test below using `mountSuspended` will fail because the attribute is missing, whereas the test using ` mount` from ` @vue/test-utils` works as expected.\n\n``` ts\nimport { test, expect } from 'vitest'\nimport { mount } from '@vue/test-utils'\nimport { mountSuspended } from '@nuxt/test-utils/runtime'\nimport ExampleComponent from '~/app/components/ExampleComponent.vue'\n\ntest('with mountSuspended', async () => {\n const wrapper = await mountSuspended(ExampleComponent, { attrs: { 'aria-label': 'Aria Label' } })\n expect(wrapper.find('[aria-label=\"Aria Label\"]').exists()).toBe(true)\n})\n\n\ntest('with mount', () => {\n const wrapper = mount(ExampleComponent, { attrs: { 'aria-label': 'Aria Label' } })\n expect(wrapper.find('[aria-label=\"Aria Label\"]').exists()).toBe(true)\n})\n```\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[2090],{"name":2068,"color":2069},"`mountSuspended` fails to pass attributes when `inheritAttrs` is false","2025-02-01T13:02:07Z","https://github.com/nuxt/test-utils/issues/1092",["Reactive",2095],{},["Set"],["ShallowReactive",2098],{"TRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"zzZA3Hi_45-EQ6h7S01HcMlpaMR-GGazENPgcLUEp3s":-1},"/nuxt/icon/274"]