From d7b5d25575ef1c61a88ca27c4ada15b5a281c384 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Thu, 6 Feb 2025 13:29:05 +0000 Subject: [PATCH] fix(nuxt,vite): do not override vite import conditions (#30887) --- .../nuxt/src/core/plugins/resolve-deep-imports.ts | 13 ++++++++++++- packages/vite/src/client.ts | 13 ------------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/packages/nuxt/src/core/plugins/resolve-deep-imports.ts b/packages/nuxt/src/core/plugins/resolve-deep-imports.ts index c597e2d4b0..90f3373aba 100644 --- a/packages/nuxt/src/core/plugins/resolve-deep-imports.ts +++ b/packages/nuxt/src/core/plugins/resolve-deep-imports.ts @@ -14,7 +14,18 @@ export function resolveDeepImportsPlugin (nuxt: Nuxt): Plugin { name: 'nuxt:resolve-bare-imports', enforce: 'post', configResolved (config) { - conditions = config.mode === 'test' ? [...config.resolve.conditions, 'import', 'require'] : config.resolve.conditions + const resolvedConditions = new Set([nuxt.options.dev ? 'development' : 'production', ...config.resolve.conditions]) + if (resolvedConditions.has('browser')) { + resolvedConditions.add('web') + resolvedConditions.add('import') + resolvedConditions.add('module') + resolvedConditions.add('default') + } + if (config.mode === 'test') { + resolvedConditions.add('import') + resolvedConditions.add('require') + } + conditions = [...resolvedConditions] }, async resolveId (id, importer) { if (!importer || isAbsolute(id) || (!isAbsolute(importer) && !importer.startsWith('virtual:') && !importer.startsWith('\0virtual:')) || exclude.some(e => id.startsWith(e))) { diff --git a/packages/vite/src/client.ts b/packages/vite/src/client.ts index 3e4fe8b8fa..9801b32c78 100644 --- a/packages/vite/src/client.ts +++ b/packages/vite/src/client.ts @@ -131,19 +131,6 @@ export async function buildClient (ctx: ViteBuildContext) { }, }, plugins: [ - { - name: 'nuxt:import-conditions', - enforce: 'post', - config (_config, env) { - if (env.mode !== 'test') { - return { - resolve: { - conditions: [ctx.nuxt.options.dev ? 'development' : 'production', 'web', 'browser', 'import', 'module', 'default'], - }, - } - } - }, - }, devStyleSSRPlugin({ srcDir: ctx.nuxt.options.srcDir, buildAssetsURL: joinURL(ctx.nuxt.options.app.baseURL, ctx.nuxt.options.app.buildAssetsDir),