Skip to content

Commit 49a7039

Browse files
committed
fix: dedupe pinia
Fix #2820
1 parent 40828b6 commit 49a7039

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

packages/nuxt/src/module.ts

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import {
77
isNuxtMajorVersion,
88
addImports,
99
createResolver,
10-
resolveModule,
1110
addImportsDir,
1211
} from '@nuxt/kit'
1312
import type { NuxtModule } from '@nuxt/schema'
@@ -63,15 +62,14 @@ const module: NuxtModule<ModuleOptions> = defineNuxtModule<ModuleOptions>({
6362
// Transpile runtime
6463
nuxt.options.build.transpile.push(resolve(runtimeDir))
6564

66-
// This alias broke in Nuxt 3 so only add it in Nuxt 2
67-
if (isNuxtMajorVersion(2, nuxt)) {
68-
// Make sure we use the mjs build for pinia
69-
nuxt.options.alias.pinia =
70-
nuxt.options.alias.pinia ||
71-
// FIXME: remove this deprecated call. Ensure it works in Nuxt 2 to 3
72-
resolveModule('pinia/dist/pinia.mjs', {
73-
paths: [nuxt.options.rootDir, import.meta.url],
74-
})
65+
// dedupe pinia only if not building for SSR
66+
// https://github.com/vitejs/vite-plugin-vue/blob/main/packages/plugin-vue/src/index.ts#L221
67+
if (!nuxt.options.vite?.build?.ssr) {
68+
nuxt.options.vite.resolve ??= {}
69+
nuxt.options.vite.resolve.dedupe ??= []
70+
if (!nuxt.options.vite.resolve.dedupe.includes('pinia')) {
71+
nuxt.options.vite.resolve.dedupe.push('pinia')
72+
}
7573
}
7674

7775
nuxt.hook('prepare:types', ({ references }) => {

0 commit comments

Comments
 (0)