From 2b3aa5f4c1d83bd1955727656c8403b4e02f4b16 Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Thu, 19 Aug 2021 12:39:12 +0200 Subject: [PATCH] feat(nuxt): nuxt plugin working with Vue 2 --- packages/nuxt/src/index.ts | 8 +++++--- packages/nuxt/templates/plugin.js | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/nuxt/src/index.ts b/packages/nuxt/src/index.ts index 63ec1722..79e3dd7e 100644 --- a/packages/nuxt/src/index.ts +++ b/packages/nuxt/src/index.ts @@ -19,7 +19,6 @@ const module = defineNuxtModule({ defaults: { disableVuex: true, }, - hooks: {}, setup(options, nuxt) { // Disable default Vuex store (options.features only exists in Nuxt v2.10+) if (nuxt.options.features && options.disableVuex) { @@ -47,8 +46,11 @@ export default module declare module '@nuxt/types' { export interface Context { - // TODO: test out if correct - // pinia: Pinia + /** + * Pinia instance attached to the app. + */ + pinia: Pinia + /** * Pinia instance attached to the app. */ diff --git a/packages/nuxt/templates/plugin.js b/packages/nuxt/templates/plugin.js index ac9e0b7c..5d3e51b2 100644 --- a/packages/nuxt/templates/plugin.js +++ b/packages/nuxt/templates/plugin.js @@ -3,7 +3,7 @@ import { isVue2, Vue2 } from 'vue-demi' import { createPinia, setActivePinia, PiniaPlugin } from 'pinia' if (isVue2) { - Vue2(PiniaPlugin) + Vue2.use(PiniaPlugin) } /** @@ -13,13 +13,15 @@ const PiniaNuxtPlugin = (context, inject) => { const pinia = createPinia() // add $pinia to the context inject('pinia', pinia) - // TO // to allow accessing pinia without the $ - // context.pinia = pinia + context.pinia = pinia if (isVue2) { // simulate new Vue({ pinia }) context.app.pinia = pinia + } else { + // TODO: does this work? + context.app.use(pinia) } setActivePinia(pinia) -- 2.47.3