Automatically inject
.displayNameand render logs into React components during development — helpful for debugging and better DevTools visibility.
- ✅ Adds
.displayName = "ComponentName"to React components - ✅ Supports
function,arrow function,class, andexport defaultcomponents - ✅ Injects
console.log("[Render] ComponentName")in dev mode - ✅ Works with
.jsx,.tsx - ✅ Only runs in development, tree-shakable in production
- ✅ Supports both ESM and CommonJS
npm install vite-plugin-component-fordebug-tagger --save-dev
# or
yarn add -D vite-plugin-component-fordebug-taggerimport { defineConfig } from 'vite';
import react from '@vitejs/plugin-react-swc';
import { componentTagger } from 'vite-plugin-component-fordebug-tagger';
export default defineConfig({
plugins: [
react(),
componentTagger(), // 👈 Active in development only
],
});const { defineConfig } = require('vite');
const react = require('@vitejs/plugin-react-swc');
const { componentTagger } = require('vite-plugin-component-fordebug-tagger');
module.exports = defineConfig({
plugins: [
react(),
componentTagger(),
],
});const Header = () => {
return <h1>Hello</h1>;
};
export default Header;const Header = () => {
return <h1>Hello</h1>;
};
Header.displayName = "Header";
console.log("[Render] Header");
export default Header;| Component Type | Supported | Example Syntax |
|---|---|---|
| Function Declaration | ✅ | function Home() {} |
| Arrow Function | ✅ | const Card = () => {} |
| Class Component | ✅ | class About extends React.Component {} |
| Export Default Named Function | ✅ | export default function Button() {} |
This plugin only runs in development (vite serve) via apply: 'serve', ensuring:
- 💨 No extra code in production builds
- 🧹 Clean, optimized output
- Makes React DevTools cleaner with named components
- Helps debug "which component rendered"
- Works out of the box with Vite and React
Built by Abu Bakar