diff --git a/electron-builder.yml b/electron-builder.yml index 7c9f7bae..1858b829 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -51,5 +51,3 @@ snap: publish: - provider: github releaseType: release - -electronVersion: 38.8.0 diff --git a/package-lock.json b/package-lock.json index 688f7623..11ba54b1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11957,9 +11957,9 @@ } }, "node_modules/node-abi": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.26.0.tgz", - "integrity": "sha512-8QwIZqikRvDIkXS2S93LjzhsSPJuIbfaMETWH+Bx8oOT9Sa9UsUtBFQlc3gBNd1+QINjaTloitXr1W3dQLi9Iw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.31.0.tgz", + "integrity": "sha512-Erq5w/t3syw3s4sDsUaX4QttIdBPsGKTT1DTRsCkTonGggczhlDKm/wDX3o+HPJpQ41EjXCbcmXf0tgr5YZJXw==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 20682d67..42d27f4f 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,8 @@ "react": "^18.0.0" }, "serialize-javascript": "^7.0.5", - "diff": "^9.0.0" + "diff": "^9.0.0", + "node-abi": "^4.31.0" }, "dependencies": { "@mdi/js": "^7.0.96", diff --git a/webpack.config.js b/webpack.config.js index bffb5e4f..6a31a7a5 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,15 +1,13 @@ const path = require('path') -const fs = require('fs') const { spawn } = require('child_process') const HtmlWebpackPlugin = require('html-webpack-plugin') const webpack = require('webpack') -const YAML = require('yaml') -// Pick up Electron version [X.Y] from builder configuration: +// Pick up Electron version [X.Y] from the installed electron package. +// This is the single source of truth — electron-builder auto-detects the +// same dependency, so the build target and the packaged runtime cannot drift. const { rendererTarget, mainTarget, preloadTarget } = (() => { - const file = fs.readFileSync('./electron-builder.yml', 'utf8') - const configuration = YAML.parse(file) - const version = configuration.electronVersion.match(/(\d+\.\d+)/)[0] + const version = require('electron/package.json').version.match(/(\d+\.\d+)/)[0] return { rendererTarget: 'electron' + version + '-renderer',