A Chrome Extension for Developer Tools that provides a Windows Explorer-like interface for navigating JavaScript objects and DOM elements.
The extension has been refactored into a modular architecture for better maintainability:
Dev Explorer/
├── core/
│ └── JavaScriptExplorer.js # Main application class and coordinator
├── navigation/
│ ├── TreeNavigation.js # Tree view and node management
│ └── PathNavigation.js # Address bar and breadcrumb navigation
├── search/
│ ├── GlobalSearch.js # Global search functionality
│ └── AutoComplete.js # Auto-completion for navigation input
├── ui/
│ ├── ContentRenderer.js # Content display and property tables
│ └── ContextMenu.js # Right-click context menu
├── utils/
│ ├── DevToolsAPI.js # Chrome DevTools API wrapper
│ └── ErrorHandler.js # Error formatting and display
├── panel.js # Main entry point (now modular)
├── panel.html # UI layout
├── panel.css # Styles
├── devtools.html # DevTools integration
├── devtools.js # DevTools panel registration
└── manifest.json # Extension configuration
- JavaScriptExplorer.js: Main application class that coordinates all other modules, manages application state, and handles initialization.
- TreeNavigation.js: Handles the left-pane tree view, including loading root nodes, creating tree nodes, handling expansion/collapse, and managing node selection.
- PathNavigation.js: Manages the address bar display and breadcrumb navigation functionality.
- GlobalSearch.js: Implements global search functionality with support for wildcards, boolean operators (AND/OR), and different search scopes.
- AutoComplete.js: Provides auto-completion suggestions for the navigation input field.
- ContentRenderer.js: Handles rendering of object properties, function source code, and primitive values in the right pane.
- ContextMenu.js: Manages right-click context menu functionality with actions like inspect, copy, and highlight.
- DevToolsAPI.js: Wraps Chrome DevTools API interactions and provides a clean interface for expression evaluation.
- ErrorHandler.js: Handles error formatting, display, and user feedback (success/error messages).
- Tree Navigation: Browse JavaScript objects in a familiar tree structure
- Global Search: Search across objects with wildcard support and boolean operators
- Auto-completion: Smart suggestions while typing navigation paths
- Context Menu: Right-click actions for inspecting, copying, and highlighting
- Breadcrumb Navigation: Click on path segments to navigate quickly
- Framework Detection: Automatically detects popular JavaScript frameworks
- Resizable Panes: Adjustable layout for optimal viewing
- Clone or download this repository
- Open Chrome and navigate to
chrome://extensions/
- Enable "Developer mode" in the top right
- Click "Load unpacked" and select the extension directory
- Open Chrome DevTools (F12) and look for the "JS Explorer" tab
- Open Chrome DevTools on any webpage
- Navigate to the "JS Explorer" tab
- Use the tree view to browse objects or type expressions in the navigation input
- Use global search to find properties across the entire object tree
- Right-click on items for additional actions
The modular structure makes it easy to:
- Add new features by creating new modules
- Modify existing functionality without affecting other parts
- Test individual components in isolation
- Maintain clean separation of concerns
- Create your module in the appropriate directory
- Export your class or functions
- Import and integrate in
core/JavaScriptExplorer.js
- Update this README with the new module information
- Chrome 88+ (Manifest V3 support required)
- Chromium-based browsers with DevTools API support
MIT License - see LICENSE file for details