โ† Back to Home

๐Ÿ› ๏ธ DevTools - Signal Inspector & Debugger

Professional debugging tools for signals - inspect, profile, and visualize your reactive state!

๐Ÿ“š What You'll Learn

  • โœ“Enable DevTools with enableDevTools()
  • โœ“Track all active signals with the Inspector API
  • โœ“Profile performance and detect bottlenecks
  • โœ“Monitor dependency graphs and event streams
  • โœ“Integrate with React Native Flipper for mobile debugging

๐ŸŽฎ Try It: DevTools in Action

Update the counters below and see how DevTools tracks every change!

๐Ÿ› ๏ธ DevTools Are Fully Implemented!

SignalForge includes comprehensive development tools for professional debugging:

  • โœ… Signal Inspector - Track all active signals with unique IDs
  • โœ… Dependency Graph - Visualize computed signal relationships
  • โœ… Performance Profiling - Monitor update times and detect bottlenecks
  • โœ… Event Streaming - Real-time monitoring of all signal events
  • โœ… React Native Flipper - Full mobile debugging integration
๐Ÿ“– Quick Start:
import { enableDevTools } from 'signalforge/devtools';

// Enable in development only
if (process.env.NODE_ENV === 'development') {
ย ย enableDevTools();
}

Counter 1

0

Counter 2

10

Counter 3

100
๐Ÿ“Š

Signal Graph Visualization

See how signals and computed values connect. Understand data flow at a glance with interactive dependency graphs.

โฑ๏ธ

Performance Profiler

Track computation times, identify bottlenecks, and optimize your reactive code with detailed profiling data.

๐Ÿ”

Signal Inspector

Inspect any signal's current value, history, and subscribers. Debug complex state interactions easily.

โฎ๏ธ

Time Travel Debugging

Step back through signal changes, replay state transitions, and debug issues with full history playback.

import { enableDevTools } from 'signalforge/devtools';

// Enable DevTools (development only)
if (process.env.NODE_ENV === 'development') {
  enableDevTools();
}

// Your signals will now be tracked and visible in DevTools
const count = createSignal(0);
const doubled = createComputed(() => count.get() * 2);

// Open Chrome DevTools โ†’ SignalForge panel

๐Ÿ“š DevTools API Reference

enableDevTools(config?)

Enable DevTools with optional configuration for performance tracking, console logging, and Flipper integration.

listSignals()

Get a list of all active signals with their IDs, values, and dependency information.

getSignal(id)

Inspect a specific signal by ID to see its current value, subscribers, and dependencies.

getDependencyGraph()

Get the complete dependency graph showing how all signals and computed values are connected.

๐Ÿ’ก Best Practices

๐Ÿ”’
Development Only

Always wrap enableDevTools() in a development check. DevTools are automatically disabled in production.

โšก
Zero Production Overhead

When disabled, all DevTools operations become no-ops with no performance impact.

๐Ÿ“Š
Performance Monitoring

Use the performance profiler to identify slow updates and optimize your reactive code.

๐Ÿ”
Debug Complex Dependencies

Use getDependencyGraph() to visualize and understand complex signal relationships.

๐ŸŽ“ While You Wait

Explore other debugging and optimization demos: