7
7
isNuxt2 ,
8
8
addImports ,
9
9
createResolver ,
10
- resolveModule ,
10
+ resolvePath ,
11
11
addImportsDir ,
12
12
} from '@nuxt/kit'
13
13
import type { NuxtModule } from '@nuxt/schema'
@@ -43,7 +43,7 @@ const module: NuxtModule<ModuleOptions> = defineNuxtModule<ModuleOptions>({
43
43
defaults : {
44
44
disableVuex : true ,
45
45
} ,
46
- setup ( options , nuxt ) {
46
+ async setup ( options , nuxt ) {
47
47
const resolver = createResolver ( import . meta. url )
48
48
49
49
// Disable default Vuex store (Nuxt v2.10+ only)
@@ -61,12 +61,9 @@ const module: NuxtModule<ModuleOptions> = defineNuxtModule<ModuleOptions>({
61
61
nuxt . options . build . transpile . push ( resolver . resolve ( './runtime' ) )
62
62
63
63
// Make sure we use the mjs build for pinia
64
- nuxt . options . alias . pinia =
65
- nuxt . options . alias . pinia ||
66
- // FIXME: remove this deprecated call. Ensure it works in Nuxt 2 to 3
67
- resolveModule ( 'pinia/dist/pinia.mjs' , {
68
- paths : [ nuxt . options . rootDir , import . meta. url ] ,
69
- } )
64
+ if ( ! nuxt . options . alias . pinia ) {
65
+ nuxt . options . alias . pinia = await resolvePath ( 'pinia/dist/pinia.mjs' )
66
+ }
70
67
71
68
nuxt . hook ( 'prepare:types' , ( { references } ) => {
72
69
references . push ( { types : '@pinia/nuxt' } )
@@ -97,7 +94,11 @@ const module: NuxtModule<ModuleOptions> = defineNuxtModule<ModuleOptions>({
97
94
}
98
95
99
96
if ( options . storesDirs ) {
100
- for ( const storeDir of options . storesDirs ) {
97
+ for ( const storeDir of [
98
+ ...options . storesDirs ,
99
+ /* @ts -expect-error storesDirs isn't on base NuxtOptions type */
100
+ ...( nuxt . options . pinia ?. storesDirs || [ ] ) ,
101
+ ] ) {
101
102
addImportsDir ( resolver . resolve ( nuxt . options . rootDir , storeDir ) )
102
103
}
103
104
}
0 commit comments