GitHub - electron/devtron: An Electron DevTools Extension (original) (raw)

Devtron icon Devtron

Test npm version

Note

This project is under development and subject to change.

Building and Development

This project uses Yarn 4 to manage dependencies.

To get started:

Configuring an Electron App to use Devtron

// main.js const { devtron } = require('@electron/devtron'); // or import { devtron } from '@electron/devtron'

devtron.install(); // call this function at the top of your file

const { app } = require('electron');

const isDev = !app.isPackaged;

async function installDevtron() { const { devtron } = await import('@electron/devtron'); await devtron.install(); }

if (isDev) { installDevtron().catch((error) => { console.error('Failed to install Devtron:', error); }); }

Devtron API

await devtron.install(options)

Installs Devtron into the Electron app. Refer to Configuring an Electron App to use Devtron for installation instructions.

Options

Option Type Default Description
logLevel 'debug' | 'info' 'warn' 'error' 'none' 'warn' Sets the minimum log level for the logger. Messages below this level are ignored. Levels: • debug — logs: debug, info, warn, error • info — logs: info, warn, error • warn — logs: warn, error • error — logs: error only • none — disables all logging

Examples:

// Only 'warn' and 'error' logs will appear in the terminal await devtron.install({ logLevel: 'warn' });

await devtron.getEvents()

Returns a Promise that resolves to the array of IPC events recorded by the Devtron service worker since installation.

Here's a usage example that keeps logging IPC events every 2 seconds:

// main.js import { devtron } from '@electron/devtron';

// Ensure Devtron is installed before calling getEvents() devtron.install();

setInterval(async () => { const ipcEvents = await devtron.getEvents(); console.log('IPC Events:', ipcEvents); }, 2000);

Requirements and Limitations

If Devtron is installed correctly, it should appear as a tab in the Developer Tools of your Electron app.