Observe, inspect and debug Vue composables at runtime.
Vue Composable Observer reveals the hidden architecture of your Vue application by visualizing composable relationships, component ownership, runtime state and dependency chains directly inside Vue DevTools.
As Vue applications grow, composables become an invisible architectural layer.
Over time it becomes difficult to answer questions like:
- Which composable created this state?
- Which composables depend on each other?
- Why did this ref change?
- Why was this composable instantiated?
- Which component is using this composable?
- What caused this reactive update?
Vue Composable Observer makes those relationships visible.
- π Runtime composable inspection
- π³ Composable dependency graph
- π¦ Component β composable relationships
- β‘ Reactive state change tracking
- π Vue DevTools integration
- π Vite support
- π Vue 3 support
- π§Ή Zero production overhead
- π TypeScript support
pnpm add -D @runtime-labs/composable-pluginimport { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import {
VueComposableObserver,
} from '@runtime-labs/composable-plugin/unplugin'
export default defineConfig({
plugins: [
vue(),
VueComposableObserver.vite(),
],
})import { createApp } from 'vue'
import {
ComposableObserverVuePlugin,
} from '@runtime-labs/composable-plugin/vue'
import App from './App.vue'
createApp(App)
.use(ComposableObserverVuePlugin)
.mount('#app')Start your application and open Vue DevTools.
A new Composable Observer inspector will appear.
Visualizes composable hierarchy and runtime relationships.
useProducts
ββ useApi
ββ useAuth
ββ useStorageShows which components are using specific composables.
ProductPage
ββ useProducts
ββ useAuthProvides a searchable list of all tracked composables.
Given the following composable:
export function useProducts() {
const { user } = useAuth()
const { get } = useApi()
const products = ref([])
return {
products,
}
}Composable Observer automatically tracks:
- composable creation
- composable nesting
- component ownership
- runtime relationships
- state changes
No code changes are required.
| Package | Description |
|---|---|
@runtime-labs/observer-core |
Runtime tracking engine |
@runtime-labs/composable-plugin |
Build-time transform and Vue DevTools integration |
- Timeline view
- State history
- Runtime graph export
- Advanced filtering
- Dependency visualization
- State diff viewer
- Circular dependency detection
- Composable audit CLI
- Architecture insights
- Performance analysis
- Shared state detection
- Side effect detection
Issues, feature requests and pull requests are welcome.
If you discover a bug or have an idea for a new feature, please open an issue.
pnpm install
pnpm test
pnpm buildStart playground:
pnpm playMIT
