Upgrade electron-devtools-installer from 3.2.0 to 4.0.0

Fix a bug where redux-tools and react-tools would not be installed when
running `npm run develop`. Vendor `electron-devtools-installer` since it
hasn't seen a release with the patch applied yet.
This commit is contained in:
Markus Pettersson committed 2026-09-02 11:43:08 +02:00
1 parent 6cb098778c
commit dffd589723
6 files changed
+45 -58

No files matched your search

+20 -50
View File
@@ -3998,18 +3998,6 @@
"electron-winstaller": "5.4.0"
}
},
"node_modules/electron-devtools-installer": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/electron-devtools-installer/-/electron-devtools-installer-3.2.0.tgz",
"integrity": "sha512-t3UczsYugm4OAbqvdImMCImIMVdFzJAHgbwHpkl5jmfu1izVgUcP/mnrPqJIpEeCK1uZGpt+yHgWEN+9EwoYhQ==",
"dev": true,
"dependencies": {
"rimraf": "^3.0.2",
"semver": "^7.2.1",
"tslib": "^2.1.0",
"unzip-crx-3": "^0.2.0"
}
},
"node_modules/electron-publish": {
"version": "26.15.3",
"resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-26.15.3.tgz",
@@ -8049,21 +8037,6 @@
"node": ">=0.10.0"
}
},
"node_modules/rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"dependencies": {
"glob": "^7.1.3"
},
"bin": {
"rimraf": "bin.js"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/roarr": {
"version": "2.15.4",
"resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
@@ -9755,7 +9728,7 @@
"cross-env": "^7.0.3",
"electron": "42.5.1",
"electron-builder": "26.15.7",
"electron-devtools-installer": "^3.2.0",
"electron-devtools-installer": "file:../../vendor/electron-devtools-installer-0.0.0-development.tgz",
"eslint-plugin-react": "^7.36.1",
"eslint-plugin-react-compiler": "^19.1.0-rc.2",
"eslint-plugin-react-hooks": "^5.2.0",
@@ -9799,6 +9772,16 @@
}
}
},
"packages/mullvad-vpn/node_modules/electron-devtools-installer": {
"version": "0.0.0-development",
"resolved": "file:vendor/electron-devtools-installer-0.0.0-development.tgz",
"integrity": "sha512-I9pyvzANTUyaQ3V0KbLpxHvhsNtuG2OylHenKFDdjazXxPuD+gMjiSo6ouv6DWn+4naLI9NUUfoDaiGfhNLChA==",
"dev": true,
"license": "MIT",
"dependencies": {
"unzip-crx-3": "^0.2.0"
}
},
"packages/mullvad-vpn/node_modules/react": {
"version": "19.1.1",
"resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz",
@@ -12527,18 +12510,6 @@
"electron-winstaller": "5.4.0"
}
},
"electron-devtools-installer": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/electron-devtools-installer/-/electron-devtools-installer-3.2.0.tgz",
"integrity": "sha512-t3UczsYugm4OAbqvdImMCImIMVdFzJAHgbwHpkl5jmfu1izVgUcP/mnrPqJIpEeCK1uZGpt+yHgWEN+9EwoYhQ==",
"dev": true,
"requires": {
"rimraf": "^3.0.2",
"semver": "^7.2.1",
"tslib": "^2.1.0",
"unzip-crx-3": "^0.2.0"
}
},
"electron-publish": {
"version": "26.15.3",
"resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-26.15.3.tgz",
@@ -14517,7 +14488,7 @@
"cross-env": "^7.0.3",
"electron": "42.5.1",
"electron-builder": "26.15.7",
"electron-devtools-installer": "^3.2.0",
"electron-devtools-installer": "file:../../vendor/electron-devtools-installer-0.0.0-development.tgz",
"eslint-plugin-react": "^7.36.1",
"eslint-plugin-react-compiler": "^19.1.0-rc.2",
"eslint-plugin-react-hooks": "^5.2.0",
@@ -14556,6 +14527,14 @@
"@rolldown/pluginutils": "^1.0.1"
}
},
"electron-devtools-installer": {
"version": "file:../../vendor/electron-devtools-installer-0.0.0-development.tgz",
"integrity": "sha512-I9pyvzANTUyaQ3V0KbLpxHvhsNtuG2OylHenKFDdjazXxPuD+gMjiSo6ouv6DWn+4naLI9NUUfoDaiGfhNLChA==",
"dev": true,
"requires": {
"unzip-crx-3": "^0.2.0"
}
},
"react": {
"version": "19.1.1",
"resolved": "https://registry.npmjs.org/react/-/react-19.1.1.tgz",
@@ -15340,15 +15319,6 @@
"integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
"dev": true
},
"rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"requires": {
"glob": "^7.1.3"
}
},
"roarr": {
"version": "2.15.4",
"resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz",
+1 -1
View File
@@ -47,7 +47,7 @@
"cross-env": "^7.0.3",
"electron": "42.5.1",
"electron-builder": "26.15.7",
"electron-devtools-installer": "^3.2.0",
"electron-devtools-installer": "file:../../vendor/electron-devtools-installer-0.0.0-development.tgz",
"eslint-plugin-react": "^7.36.1",
"eslint-plugin-react-compiler": "^19.1.0-rc.2",
"eslint-plugin-react-hooks": "^5.2.0",
@@ -458,16 +458,14 @@ export default class UserInterface implements WindowControllerDelegate {
}
private async installDevTools() {
const {
default: installer,
REACT_DEVELOPER_TOOLS,
REDUX_DEVTOOLS,
} = await import('electron-devtools-installer');
const { installExtension, REACT_DEVELOPER_TOOLS, REDUX_DEVTOOLS } = await import(
'electron-devtools-installer'
);
const forceDownload = !!process.env.UPGRADE_EXTENSIONS;
const options = { forceDownload, loadExtensionOptions: { allowFileAccess: true } };
try {
await installer(REACT_DEVELOPER_TOOLS, options);
await installer(REDUX_DEVTOOLS, options);
await installExtension(REACT_DEVELOPER_TOOLS, options);
await installExtension(REDUX_DEVTOOLS, options);
} catch (e) {
const error = e as Error;
log.info(`Error installing extension: ${error.message}`);
@@ -102,6 +102,7 @@ const viteConfig = defineConfig({
'@grpc/grpc-js',
'google-protobuf',
'simple-plist',
'electron-devtools-installer',
],
},
},
+18
View File
@@ -0,0 +1,18 @@
# Vendor npm dependency
The following instructions are based on this (blogpost)[https://stricker.digital/posts/how-to-vendor-npm-dependencies/].
```bash
git clone git@github.com/them/example-library.git
cd example-library
npm install
npm run build
npm pack <build-dir>
```
Move the `.tgz` file to `desktop/vendor` and install it.
```bash
cp example-library-1-0-0.tgz desktop/vendor/example-library-1-0-0.tgz
cd desktop/
npm install ./vendor/example-library-1-0-0.tgz
```
Binary file not shown.