electrom

Electrom is a resource management solution for Electron applications, which is convenient for performance management and friendly debugging of multiple windows

Usage no npm install needed!

<script type="module">
  import electrom from 'https://cdn.skypack.dev/electrom';
</script>

README

electrom

NPM version build status Test coverage node version npm download

Electrom is a resource management solution for Electron applications, which is convenient for performance management and friendly debugging of multiple windows.

Installment

$ npm i electrom --save-dev

CLI Usage

$ npx electrom 100

APIs

const electrom = require('electrom');

electrom(100)
  .then(data => {
    console.log(data);
  })
  .catch(e) {
    console.log(e);
  }

preload file

'use strict';

const { contextBridge, ipcRenderer } = require('electron');

contextBridge.exposeInMainWorld(
  'electron',
  {
    ipcRenderer: {
      send: (channel, ...args) => ipcRenderer.send(channel, ...args),
      on: (channel, listener) => ipcRenderer.on(channel, listener),
      removeListener: (channel, listener) => ipcRenderer.removeListener(channel, listener),
    },
  }
)

Please set this script's path as webPreferences.preload of BrowserWindow.

Status Board

import React from 'react';
import StatusBoard from 'electrom/src/StatusBoard';
import { ipcRenderer, shell } from 'electron';

function() {
  return (
    <StatusBoard
      eventDataChannelName="electrom:monitor:data"
      eventActionChannelName="electrom:monitor:action"
      ipcRenderer={ipcRenderer}
      shell={shell}
    />
  );
}

Perf Board

import React from 'react';
import PerfBoard from 'electrom/src/PerfBoard';

function() {
  return (
    <PerfBoard />
  );
}

TODO

  • heapdump

Contributors


xudafeng


sriting


yantze

This project follows the git-contributor spec, auto updated at Tue Dec 07 2021 21:20:44 GMT+0800.

License

The MIT License (MIT)