console-vue-query-devtools-sdk
Version:
Lightweight SDK for connecting Vue Query to custom DevTools extensions.
100 lines (67 loc) β’ 2.6 kB
Markdown
# π¦ 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