MarshallOfSound / electron-devtools-installer

An easy way to ensure Chrome DevTools extensions into Electron
MIT License
1.11k stars 136 forks source link

Update usage in README #198

Open AgainPsychoX opened 3 years ago

AgainPsychoX commented 3 years ago

Currently usage described in README makes the app fail if building for production (no dev deps).

image

In my opinion, one of following should be applied:

  1. Mention the behaviour for clarity (even while it's close to obvious),
  2. Change the installation to install as regular dependency (no -D/--save-dev)
  3. Introduce dynamic loading example, where the extensions are only installed while in development (maybe using isDev flag from electron-is-dev, or app.isPackaged).

For inspiration, in my codebase I use something like:

app.whenReady().then(async () => {
    if (isDev) {
        const { default: installExtension, REACT_DEVELOPER_TOOLS } = await import('electron-devtools-installer');
        await installExtension(REACT_DEVELOPER_TOOLS);
    }

    createWindow();
    //...
jrohlandt commented 2 years ago

@AgainPsychoX thanks. I'm using the package based off your example above.

Just out of curiosity: Why do you recommend in step number two to not install the package as a dev dependency? Shouldn't dynamically loading the package only in dev mode prevent any issues in packaged applications? Or is there something else to take into consideration as well?