@lucidlayer/babel-plugin-traceform v0.2.22
Why Traceform Babel Plugin?
This Babel plugin is the engine that powers Traceform's core capability: instantly mapping React components from your code to their rendered instances in the browser. It seamlessly integrates into your development build process.
- Enables Core Functionality: Automatically injects necessary identifiers (
data-traceform-id) into your components' JSX. - Universal Compatibility: Works with modern React setups including Vite, Next.js, Create React App, and custom Babel configurations.
- Development Only: Designed exclusively for development builds, adding zero overhead to your production bundles.
- Effortless Integration: Part of the simple Traceform setup process.
How It Works
- The plugin hooks into your project's Babel compilation step during development builds.
- It traverses the Abstract Syntax Tree (AST) to identify React component definitions.
- For each component, it injects a unique
data-traceform-idattribute onto the root JSX element returned by the component. - These IDs are then used by the Traceform VS Code and Browser extensions to create the live link between your editor and the running application.
Quickstart
- Install the Plugin:
npm install --save-dev @lucidlayer/babel-plugin-traceform # or yarn add --dev @lucidlayer/babel-plugin-traceform Configure Babel: Add the plugin to your Babel configuration (e.g.,
babel.config.js,.babelrc, or Vite config) for development environments only.Example (
babel.config.js):module.exports = { plugins: [ // ... other plugins process.env.NODE_ENV === 'development' && '@lucidlayer/babel-plugin-traceform', ].filter(Boolean), // ... presets };For specific framework setup (Vite, Next.js), refer to the main Traceform documentation or the onboarding CLI.
Install Companions: Ensure you have the Traceform VS Code Extension and the Traceform Browser Extension installed.
- Run Your App: Start your React development server.
- Trace: Use "Traceform: Find in UI" from VS Code to see components highlighted in the browser.
Note: Using the Traceform onboarding tool (npx @lucidlayer/traceform-onboard check) is the recommended way to ensure correct setup.
License
This plugin is licensed under the MIT License. See the LICENSE file in this directory for details.
This plugin is part of the Traceform developer toolset. For more information, visit github.com/lucidlayer/traceform
npm install --save-dev @types/node
For dev builds:
// vite.config.ts import { defineConfig } from 'vite' import react from '@vitejs/plugin-react'
export default defineConfig(({ mode }) => { const isDev = mode === 'development';
return { plugins: [ react({ babel: { plugins: [ ...(isDev ? [ '@lucidlayer/babel-plugin-traceform', { instrumentAllElements: true } ] : []) ] } }) ], build: { sourcemap: true } }; });
for production builds: