diff --git a/packages/nuxt/src/components/islandsTransform.ts b/packages/nuxt/src/components/islandsTransform.ts index 9b6dcbdbd3..cab6b981ae 100644 --- a/packages/nuxt/src/components/islandsTransform.ts +++ b/packages/nuxt/src/components/islandsTransform.ts @@ -21,6 +21,7 @@ interface ServerOnlyComponentTransformPluginOptions { const SCRIPT_RE = /]*>/g const HAS_SLOT_RE = /([\s\S]*)<\/template>/ +const NUXTCLIENT_ATTR_RE = /\snuxt-client(="[^"]*")?/g export const islandsTransform = createUnplugin((options: ServerOnlyComponentTransformPluginOptions & {nuxt: Nuxt}) => { const components = options.getComponents() @@ -95,7 +96,7 @@ export const islandsTransform = createUnplugin((options: ServerOnlyComponentTran const htmlCode = code.slice(startingIndex + node.loc[0].start, startingIndex + node.loc[1].end) const uid = hash(id + node.loc[0].start + node.loc[0].end) - s.overwrite(node.loc[0].start, node.loc[1].end, `${htmlCode}`) + s.overwrite(node.loc[0].start, node.loc[1].end, `${htmlCode.replaceAll(NUXTCLIENT_ATTR_RE, '')}`) } } })