A browser extension dev tool for inspecting and visualizing Jails components in your web applications.
- ✨ Component Discovery - Automatically scans and finds all Jails components on the page
- 📊 Interactive Visualization - Displays components as an interactive circular graph
- 🎯 Component Details - Click on any component to view its properties and data
- 🔍 Zoom & Pan - Zoom in/out and pan around the component tree
- 📱 DevTools Integration - Available both as a popup and in browser DevTools
- Clone or download this repository
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode" (toggle in top right)
- Click "Load unpacked"
- Select the
dev-toolsfolder - The extension should now appear in your extensions menu
- Open Firefox and navigate to
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on"
- Select the
manifest.jsonfile from thedev-toolsfolder - The extension will be installed for this session
- Click the Jails Inspector icon in your browser toolbar
- Click "Scan Components" to discover all Jails components on the page
- The circular graph will display all found components
- Click on a node to see component details
- Use the controls to zoom and pan:
- +/-: Zoom in/out
- ⊙: Reset view
- Mouse Drag: Pan around
- Mouse Wheel: Zoom
- Open Developer Tools (F12 or right-click → Inspect)
- Look for the "🏝 Jails" tab
- The same visualization and controls are available
- The panel will automatically scan the current page
The extension works by:
- Content Script - Scans the DOM for custom elements (components with hyphens in their tags)
- Component Analysis - Collects component metadata like attributes, classes, and children
- Graph Visualization - Renders components as nodes in a circular layout using Canvas
- Interactive Features - Allows selection, zoom, and pan for better exploration
When you click on a component node, you'll see:
- Component: The custom element tag name
- Children: Number of child elements
- Has Template: Whether the component has a template element
- Data: Any data attributes attached to the component
- Classes: CSS classes applied to the component
Ctrl/Cmd + Scroll: Zoom in/outClick + Drag: Pan the viewClick Node: Select and view component detailsSpacebar: Reset view (coming soon)
dev-tools/
├── manifest.json # Extension manifest
├── popup.html # Popup UI
├── popup.js # Popup logic
├── content.js # Content script for DOM scanning
├── visualizer.js # Canvas visualization engine
├── styles.css # Styling
├── background.js # Service worker
├── devtools.html # DevTools page
├── devtools.js # DevTools registration
├── devtools-panel.html # DevTools panel UI
└── devtools-panel.js # DevTools panel logic
- Vanilla JavaScript - No dependencies for maximum compatibility
- Canvas API - Used for rendering the interactive graph
- Chrome Extension API - For browser integration
- Service Workers - For background processing
MIT
For issues or feature requests, please open an issue in the repository.
Made with ❤️ for the Jails framework

