From 61d4b083706c7d2bacc7434a787d3b3bed51fd7f Mon Sep 17 00:00:00 2001 From: Conrawl Rogers Date: Fri, 1 Mar 2024 10:25:47 -0400 Subject: [PATCH] fix: ensure plugin is typed for `$apollo` and `$apolloHelpers` --- .eslintrc | 1 + src/runtime/plugin.ts | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/.eslintrc b/.eslintrc index 9cdc74f5..edd69815 100755 --- a/.eslintrc +++ b/.eslintrc @@ -2,6 +2,7 @@ "extends": ["@nuxtjs/eslint-config-typescript"], "rules": { "no-redeclare": "off", + "import/named": "off", "@typescript-eslint/no-unused-vars": "off", "vue/multi-word-component-names": "off" } diff --git a/src/runtime/plugin.ts b/src/runtime/plugin.ts index 95aa627d..faeb0fa2 100644 --- a/src/runtime/plugin.ts +++ b/src/runtime/plugin.ts @@ -154,3 +154,24 @@ export default defineNuxtPlugin((nuxtApp) => { } } }) + +interface DollarApolloHelpers extends ReturnType {} +interface DollarApollo { + clients: Record> + defaultClient: ApolloClient +} + +declare module '#app' { + interface NuxtApp { + $apolloHelpers: DollarApolloHelpers + $apollo: DollarApollo + } +} + +declare module 'vue' { + interface ComponentCustomProperties { + $apolloHelpers: DollarApolloHelpers + // @ts-ignore + $apollo: DollarApollo + } +}