diff --git a/packages/script/src/plugins/intercept.ts b/packages/script/src/plugins/intercept.ts index 7e7e3e22..c81926f2 100644 --- a/packages/script/src/plugins/intercept.ts +++ b/packages/script/src/plugins/intercept.ts @@ -13,7 +13,9 @@ */ export function generateInterceptPluginContents(proxyPrefix: string, options?: { testMode?: boolean, domainAliases?: Record }): string { const testMode = options?.testMode ?? false - return `export default defineNuxtPlugin({ + return `import { defineNuxtPlugin } from 'nuxt/app' + +export default defineNuxtPlugin({ name: 'nuxt-scripts:intercept', enforce: 'pre', setup() { diff --git a/test/unit/proxy-alias-generators.test.ts b/test/unit/proxy-alias-generators.test.ts index 5833f21d..15f51b56 100644 --- a/test/unit/proxy-alias-generators.test.ts +++ b/test/unit/proxy-alias-generators.test.ts @@ -29,6 +29,11 @@ describe('proxy alias - generated runtime code (#814)', () => { }) describe('generateInterceptPluginContents', () => { + it('imports defineNuxtPlugin when Nuxt auto imports are disabled (#841)', () => { + const code = generateInterceptPluginContents('/_scripts/p') + expect(code).toContain('import { defineNuxtPlugin } from \'nuxt/app\'') + }) + it('embeds the alias map into the client intercept plugin', () => { const code = generateInterceptPluginContents('/_scripts/p', { domainAliases: ALIASES }) expect(code).toContain('const domainAliases = {"us.i.posthog.com":"ph"}')