From f7efc3d35986fd64176e5e31d5f041b707a44a35 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Wed, 11 Sep 2024 10:26:10 +0100 Subject: [PATCH] fix(nuxt): set `inheritAttrs: false` for fragment components (#28939) --- packages/nuxt/src/app/components/dev-only.ts | 1 + packages/nuxt/src/app/components/island-renderer.ts | 1 + packages/nuxt/src/app/components/nuxt-island.ts | 1 + .../nuxt/src/app/components/nuxt-teleport-island-component.ts | 1 + packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts | 1 + packages/nuxt/src/app/components/test-component-wrapper.ts | 2 +- 6 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/components/dev-only.ts b/packages/nuxt/src/app/components/dev-only.ts index a1446dd3dd..94b5ae84e3 100644 --- a/packages/nuxt/src/app/components/dev-only.ts +++ b/packages/nuxt/src/app/components/dev-only.ts @@ -2,6 +2,7 @@ import { defineComponent } from 'vue' export default defineComponent({ name: 'DevOnly', + inheritAttrs: false, setup (_, props) { if (import.meta.dev) { return () => props.slots.default?.() diff --git a/packages/nuxt/src/app/components/island-renderer.ts b/packages/nuxt/src/app/components/island-renderer.ts index ebbca6fd43..189c980e50 100644 --- a/packages/nuxt/src/app/components/island-renderer.ts +++ b/packages/nuxt/src/app/components/island-renderer.ts @@ -8,6 +8,7 @@ import { createError } from '../composables/error' import { islandComponents } from '#build/components.islands.mjs' export default defineComponent({ + name: 'IslandRenderer', props: { context: { type: Object as () => { name: string, props?: Record }, diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index c9a4619c54..937f9d3136 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -45,6 +45,7 @@ async function loadComponents (source = appBaseURL, paths: NuxtIslandResponse['c export default defineComponent({ name: 'NuxtIsland', + inheritAttrs: false, props: { name: { type: String, diff --git a/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts b/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts index e459781dd2..875204ccf4 100644 --- a/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts +++ b/packages/nuxt/src/app/components/nuxt-teleport-island-component.ts @@ -18,6 +18,7 @@ export const NuxtTeleportIslandSymbol = Symbol('NuxtTeleportIslandComponent') as /* @__PURE__ */ export default defineComponent({ name: 'NuxtTeleportIslandComponent', + inheritAttrs: false, props: { to: { type: String, diff --git a/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts b/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts index 9f9fefc8b1..7db8042735 100644 --- a/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts +++ b/packages/nuxt/src/app/components/nuxt-teleport-island-slot.ts @@ -9,6 +9,7 @@ import { NuxtTeleportIslandSymbol } from './nuxt-teleport-island-component' /* @__PURE__ */ export default defineComponent({ name: 'NuxtTeleportIslandSlot', + inheritAttrs: false, props: { name: { type: String, diff --git a/packages/nuxt/src/app/components/test-component-wrapper.ts b/packages/nuxt/src/app/components/test-component-wrapper.ts index 8b0da24381..b2de69d8f5 100644 --- a/packages/nuxt/src/app/components/test-component-wrapper.ts +++ b/packages/nuxt/src/app/components/test-component-wrapper.ts @@ -7,7 +7,7 @@ import { devRootDir } from '#build/nuxt.config.mjs' export default (url: string) => defineComponent({ name: 'NuxtTestComponentWrapper', - + inheritAttrs: false, async setup (props, { attrs }) { const query = parseQuery(new URL(url, 'http://localhost').search) const urlProps = query.props ? destr>(query.props as string) : {}