Useful utilities for Electron apps and modules
You can use this package directly in both the main and renderer process.
This package is organized into three parts:
shared - APIs that work in both the main and renderer processmain - APIs that only work in the main process (requires Electron APIs)node - APIs that work in any Node.js environment, even outside Electron (pure Node.js utilities for detecting Electron environment, ASAR usage, etc.)To use features from the "main" part in the renderer process, you will need to set up IPC channels.
npm install electron-util
[!NOTE] Requires Electron 37 or later.
The “shared” API you can access directly:
import {is} from 'electron-util';
console.log(is.macos && is.main);
//=> true
For the “main” API, use the /main sub-export:
import {isDev} from 'electron-util/main';
console.log(isDev);
//=> false
For the “node” API, use the /node sub-export:
import {isElectron, fixPathForAsarUnpack} from 'electron-util/node';
console.log(isElectron);
//=> true when running in Electron, false in plain Node.js
const fixedPath = fixPathForAsarUnpack('/path/app.asar/binary');
//=> '/path/app.asar.unpacked/binary' when in ASAR, or unchanged otherwise
Documentation (The service is broken)
Look at the types for now.