From d7aa604bc5397e609777b643757ca32647f99a1e Mon Sep 17 00:00:00 2001 From: Giacomo Cusinato <7659518+giacomocusinato@users.noreply.github.com> Date: Tue, 1 Apr 2025 16:42:52 +0900 Subject: [PATCH] fix: safer electron version parsing for electron-builder command --- electron-app/scripts/package.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/electron-app/scripts/package.js b/electron-app/scripts/package.js index 3baa1ea4c..9e3593e64 100644 --- a/electron-app/scripts/package.js +++ b/electron-app/scripts/package.js @@ -6,8 +6,14 @@ const { isNightly, isRelease } = require('./utils'); async function run() { /** @type {string} */ - const electronVersion = + const rawElectronVersion = require('../package.json').devDependencies['electron']; + const electronVersion = semver.clean(rawElectronVersion.replace(/^\^/, '')); + if (!electronVersion) { + throw new Error( + `Electron semver validation failed for version: '${rawElectronVersion}'.` + ); + } const platform = electronPlatform(); const version = await getVersion(); /** @type {string|unknown} */ @@ -18,7 +24,7 @@ async function run() { '--publish', 'never', '-c.electronVersion', - semver.clean(electronVersion.replace(/^\^/, '')), + electronVersion, '-c.extraMetadata.version', version, // overrides the `name` in the `package.json` to keep the `localStorage` location. (https://github.com/arduino/arduino-ide/pull/2144#pullrequestreview-1554005028)