Skip to content

Vue 3 plugin for real-time monitoring of component renders, reactive dependency tracking, and performance insights

License

Notifications You must be signed in to change notification settings

MiloradFilipovic/vue-flow-vis

Repository files navigation

vue-flow-vis

0-dependency Vue reactivity tracker. Monitor which components re-render, what triggers the updates, and track reactive dependencies using Vue's built-in debugging hooks (onRenderTriggered and onRenderTracked).

NPM Version NPM Downloads Codecov (with branch) Static Badge

Vue TypeScript Development

Log Example

image info

In this example, user typing john caused 28 render events in Login component trigger.

Installation

npm install vue-flow-vis --save-dev
# or
yarn add vue-flow-vis --dev
# or
pnpm install vue-flow-vis --dev

Quick Start

// main.ts
import { createApp } from 'vue'
import App from './App.vue'
import { FlowVisPlugin } from 'vue-flow-vis'

const app = createApp(App)

// Basic usage with default settings
app.use(FlowVisPlugin)

app.mount('#app')

The plugin will automatically start monitoring all your components.

More examples can be found in examples directory.

Configuration Options

The plugin accepts a configuration object with the following options:

type FlowVisOptions = {
  enabled?: boolean             // Enable/disable monitoring (default: true)
  logger?: 'console' | 'ui' | 'none'  // Logger type (default: 'ui')
  excludeComponents?: string[]  // Components to exclude from monitoring
  includeComponents?: string[]  // Only monitor these components (overrides exclude)
  logToTable?: boolean          // Use console.table for output (default: false)
  batchLogs?: boolean           // Group console logs by component (default: true)
  batchWindow?: number          // Delay in ms before flushing batched logs (default: 500)
  onRenderTracked?: (data: RenderEventData) => void   // Custom callback for tracked events
  onRenderTriggered?: (data: RenderEventData) => void // Custom callback for triggered events
  customLogger?: Logger         // Custom logger implementation (overrides logger option)
}

Development setup

# Initialize husky hooks and install dependencies
npm run init
# Start watch mode
npm run dev

Bug reports & feature requests

Feel free to submit github issue here and use appropriate labels (bug-report/feature-request).

Check if a similar issue already exists before submitting.

License

MIT License - see LICENSE file for details

About

Vue 3 plugin for real-time monitoring of component renders, reactive dependency tracking, and performance insights

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Languages