UNPKG

console-vue-query-devtools-sdk

Version:

Lightweight SDK for connecting Vue Query to custom DevTools extensions.

100 lines (67 loc) β€’ 2.6 kB
# πŸ“¦ console-vue-query-devtools-sdk A lightweight dev-only SDK for visualizing Vue Query cache in **Vue 2.7** projects where official Vue Query Devtools are **not available**. > 🚫 The official `@tanstack/vue-query-devtools` only supports Vue 3.x and Vite-based projects. > βœ… This SDK enables cache inspection in Vue 2.7 environments by bridging your app with a custom Chrome DevTools panel. --- ## ✨ Features - πŸ” Automatically detects and registers the active `QueryClient` - πŸ’» No UI – the SDK exposes a `<ConsoleVueQueryDevtools />` component that runs in the background - πŸ§ͺ Dev-only – safe to include in production builds (no effect outside `NODE_ENV=development`) - πŸ”Œ Optional `client` prop – manually test a custom `QueryClient` if needed --- ## πŸ“¦ Installation ```bash npm install console-vue-query-devtools-sdk --save-dev # or pnpm add -D console-vue-query-devtools-sdk ``` --- ## πŸš€ Usage 1. Use in your root app component (e.g. App.vue): ```vue <script setup lang="ts"> import { ConsoleVueQueryDevtools } from 'console-vue-query-devtools-sdk'; </script> <template> <ConsoleVueQueryDevtools /> </template> ``` > πŸ’‘ That’s it! The component automatically registers the active QueryClient using useQueryClient(). 2. [Optional] Manually provide a QueryClient: ```vue <script setup lang="ts"> import { QueryClient } from '@tanstack/vue-query'; import { ConsoleVueQueryDevtools } from 'console-vue-query-devtools-sdk'; const customClient = new QueryClient({ /* ... */ }); </script> <template> <ConsoleVueQueryDevtools :client="customClient" /> </template> ``` > πŸ§ͺ Useful for testing multiple clients or using isolated instances. --- ## 🧠 How it works The SDK registers the provided (or detected) QueryClient to window.__VUE_QUERY_DEVTOOLS__, enabling Chrome extensions to read: - query keys - observer counts - cache state - garbage collection time A postMessage() loop in the injected script transfers the data to your DevTools extension. --- ## 🧩 Why this exists – Vue 2.7 supports Composition API, but not Vue 3 Devtools – @tanstack/vue-query-devtools is Vue 3.x only - This SDK fills the gap for legacy or incremental migration projects --- ## πŸ§ͺ Dev-only by design This SDK is automatically excluded in production environments. - process.env.NODE_ENV or import.meta.env.MODE are used for environment checks - No runtime logic will run in non-dev builds --- ## πŸ›  Requirements - @tanstack/vue-query v5+ - vue 2.7.x - Chrome DevTools Extension (must be installed separately) --- ## πŸ“„ License MIT