From: Eduardo San Martin Morote Date: Wed, 3 Nov 2021 19:00:28 +0000 (+0100) Subject: fix(types): for devtools-api X-Git-Tag: @pinia/nuxt@0.1.1~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d856d5df5d8e7402749d0dc135a349e84f5c9e9d;p=thirdparty%2Fvuejs%2Fpinia.git fix(types): for devtools-api --- diff --git a/packages/pinia/src/createPinia.ts b/packages/pinia/src/createPinia.ts index acd97612..4a1522ca 100644 --- a/packages/pinia/src/createPinia.ts +++ b/packages/pinia/src/createPinia.ts @@ -28,6 +28,7 @@ export function createPinia(): Pinia { app.config.globalProperties.$pinia = pinia /* istanbul ignore else */ if (__DEV__ && IS_CLIENT) { + // @ts-expect-error: weird type in devtools api registerPiniaDevtools(app, pinia) } toBeInstalled.forEach((plugin) => _p.push(plugin)) diff --git a/packages/pinia/src/devtools/plugin.ts b/packages/pinia/src/devtools/plugin.ts index 148db2ce..c62e660d 100644 --- a/packages/pinia/src/devtools/plugin.ts +++ b/packages/pinia/src/devtools/plugin.ts @@ -1,12 +1,9 @@ -import { setupDevtoolsPlugin, TimelineEvent } from '@vue/devtools-api' import { - App, - ComponentPublicInstance, - markRaw, - toRaw, - unref, - watch, -} from 'vue-demi' + setupDevtoolsPlugin, + TimelineEvent, + App as DevtoolsApp, +} from '@vue/devtools-api' +import { ComponentPublicInstance, markRaw, toRaw, unref, watch } from 'vue-demi' import { Pinia, PiniaPluginContext } from '../rootStore' import { _GettersTree, @@ -54,7 +51,7 @@ const getStoreType = (id: string) => '🍍 ' + id * @param app - Vue application * @param pinia - pinia instance */ -export function registerPiniaDevtools(app: App, pinia: Pinia) { +export function registerPiniaDevtools(app: DevtoolsApp, pinia: Pinia) { setupDevtoolsPlugin( { id: 'dev.esm.pinia', @@ -246,7 +243,7 @@ export function registerPiniaDevtools(app: App, pinia: Pinia) { ) } -function addStoreToDevtools(app: App, store: StoreGeneric) { +function addStoreToDevtools(app: DevtoolsApp, store: StoreGeneric) { if (!componentStateTypes.includes(getStoreType(store.$id))) { componentStateTypes.push(getStoreType(store.$id)) } @@ -509,6 +506,7 @@ export function devtoolsPlugin< } addStoreToDevtools( + // @ts-expect-error: should be of type App from vue app, // FIXME: is there a way to allow the assignment from Store to StoreGeneric? store as StoreGeneric diff --git a/packages/pinia/src/vue2-plugin.ts b/packages/pinia/src/vue2-plugin.ts index 1b3bde6b..42b9426e 100644 --- a/packages/pinia/src/vue2-plugin.ts +++ b/packages/pinia/src/vue2-plugin.ts @@ -57,6 +57,7 @@ export const PiniaVuePlugin: Plugin = function (_Vue) { // installing pinia's plugin setActivePinia(pinia) if (__DEV__) { + // @ts-expect-error: weird type in devtools api registerPiniaDevtools(pinia._a, pinia) } }