tomjs / electron-devtools-installer

Install Chrome extension for Electron, Support cjs/esm
MIT License
9 stars 1 forks source link
chrome crx devtool electron extension installer plugin unzip

@tomjs/electron-devtools-installer

npm node-current (scoped) NPM jsDocs.io

English | 中文

Install Chrome extension for Electron, support cjs/esm.

This library is based on Samuel Attard's electron-devtools-installer and JonLuca De Caro's electron-extension-installer, with some modifications and added small features. It provides support for esm and cjs to support for Electron v28+.

For Chrome DevTools installation, please visit the Official Documentation.

Features

Install

# pnpm
pnpm add @tomjs/electron-devtools-installer

# yarn
yarn add @tomjs/electron-devtools-installer

# npm
npm add @tomjs/electron-devtools-installer

Usage

import { app } from 'electron';
import { installExtension, VUEJS_DEVTOOLS } from '@tomjs/electron-devtools-installer';

// Install Vue.js DevTools
app.whenReady().then(() => {
  installExtension(VUEJS_DEVTOOLS) // equals to installExtension("nhdogjmejiglipccpnnnanhbledajbpd")
    .then(ext => console.log(`Added Extension:  ${ext.name}`))
    .catch(err => console.log('An error occurred: ', err));
});
const { app } = require('electron');
const { installExtension, VUEJS_DEVTOOLS } = require('@tomjs/electron-devtools-installer');

// Install Vue.js DevTools
app.whenReady().then(() => {
  installExtension(VUEJS_DEVTOOLS)
    .then(ext => console.log(`Added Extension:  ${ext.name}`))
    .catch(err => console.log('An error occurred: ', err));
});

Documentation

API

Preset Chrome Extensions ID

The following is a list of preset Chrome extensions ID:

ID Name
ANGULAR_DEVTOOLS Angular DevTools
APOLLO_CLIENT_TOOLS Apollo Client Devtools
BACKBONE_DEBUGGER Backbone Debugger
EMBER_INSPECTOR Ember Inspector
JQUERY_DEBUGGER jQuery Debugger
MOBX_DEVTOOLS MobX DevTools
REACT_DEVELOPER_TOOLS React Developer Tools
REDUX_DEVTOOLS Redux DevTools
VUEJS_DEVTOOLS Vue.js DevTools
VUEJS_DEVTOOLS_BETA Vue.js devtools (beta)

installExtension(extensionIds[, options])

install chrome extension for electron

Returns Promise<Electron.Extension | Electron.Extension[]> - extension name/version, etc.

downloadExtension(extensionId[, options])

download chrome extension for electron

Returns Promise<{ filePath: string; unzipPath?: string }>

Test/Debug

pnpm jest --verbose false