]> git.ipfire.org Git - thirdparty/vuejs/pinia.git/commitdiff
refactor(nuxt): use object syntax for nuxt 3 plugin (#2588)
authorJulien Huang <julien.h.dev@gmail.com>
Fri, 23 Feb 2024 07:51:45 +0000 (08:51 +0100)
committerGitHub <noreply@github.com>
Fri, 23 Feb 2024 07:51:45 +0000 (08:51 +0100)
Co-authored-by: Julien Huang <julien.huang@leetchi.com>
packages/nuxt/src/runtime/plugin.vue3.ts

index 5290c06dc897a685b3abf044c6e491eec71465d0..fc960df56209905aae72addc16356eb2ece76d0b 100644 (file)
@@ -2,22 +2,25 @@ import { createPinia, setActivePinia } from 'pinia'
 import type { Pinia } from 'pinia'
 import { defineNuxtPlugin, Plugin } from '#app'
 
-const plugin: Plugin<{ pinia: Pinia }> = defineNuxtPlugin((nuxtApp) => {
-  const pinia = createPinia()
-  nuxtApp.vueApp.use(pinia)
-  setActivePinia(pinia)
+const plugin: Plugin<{ pinia: Pinia }> = defineNuxtPlugin({
+  name: 'pinia',
+  setup(nuxtApp) {
+    const pinia = createPinia()
+    nuxtApp.vueApp.use(pinia)
+    setActivePinia(pinia)
 
-  if (process.server) {
-    nuxtApp.payload.pinia = pinia.state.value
-  } else if (nuxtApp.payload && nuxtApp.payload.pinia) {
-    pinia.state.value = nuxtApp.payload.pinia
-  }
+    if (process.server) {
+      nuxtApp.payload.pinia = pinia.state.value
+    } else if (nuxtApp.payload && nuxtApp.payload.pinia) {
+      pinia.state.value = nuxtApp.payload.pinia
+    }
 
-  // Inject $pinia
-  return {
-    provide: {
-      pinia,
-    },
+    // Inject $pinia
+    return {
+      provide: {
+        pinia,
+      },
+    }
   }
 })