From d2a73b6d4e1ac038fb157c59b8e99915a0a49a70 Mon Sep 17 00:00:00 2001 From: Peng Xiao Date: Mon, 4 Aug 2025 21:38:12 +0800 Subject: [PATCH] fix(electron): disable runAsNode fuse (#13406) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix AF-2781 #### PR Dependency Tree * **PR #13406** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) ## Summary by CodeRabbit * **Chores** * Updated Electron app configuration to include an additional plugin for enhanced packaging options. * Added a new development dependency to support the updated configuration. --- .../frontend/apps/electron/forge.config.mjs | 10 ++++- packages/frontend/apps/electron/package.json | 1 + yarn.lock | 45 ++++++++++++++++++- 3 files changed, 54 insertions(+), 2 deletions(-) diff --git a/packages/frontend/apps/electron/forge.config.mjs b/packages/frontend/apps/electron/forge.config.mjs index 9ed88d5c96..bb2d946846 100644 --- a/packages/frontend/apps/electron/forge.config.mjs +++ b/packages/frontend/apps/electron/forge.config.mjs @@ -3,7 +3,9 @@ import { rm, symlink } from 'node:fs/promises'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; +import { FuseV1Options, FuseVersion } from '@electron/fuses'; import { utils } from '@electron-forge/core'; +import { FusesPlugin } from '@electron-forge/plugin-fuses'; import { appIdMap, @@ -202,7 +204,13 @@ export default { }, }, makers, - plugins: [{ name: '@electron-forge/plugin-auto-unpack-natives', config: {} }], + plugins: [ + { name: '@electron-forge/plugin-auto-unpack-natives', config: {} }, + new FusesPlugin({ + version: FuseVersion.V1, + [FuseV1Options.RunAsNode]: false, + }), + ], hooks: { readPackageJson: async (_, packageJson) => { // we want different package name for canary build diff --git a/packages/frontend/apps/electron/package.json b/packages/frontend/apps/electron/package.json index 2fb6221ba7..8d481af3a3 100644 --- a/packages/frontend/apps/electron/package.json +++ b/packages/frontend/apps/electron/package.json @@ -45,6 +45,7 @@ "@electron-forge/maker-squirrel": "^7.6.0", "@electron-forge/maker-zip": "^7.6.0", "@electron-forge/plugin-auto-unpack-natives": "^7.6.0", + "@electron-forge/plugin-fuses": "^7.8.2", "@electron-forge/shared-types": "^7.6.0", "@pengx17/electron-forge-maker-appimage": "^1.2.1", "@sentry/electron": "^6.1.0", diff --git a/yarn.lock b/yarn.lock index 7a304130ca..1fad8f85af 100644 --- a/yarn.lock +++ b/yarn.lock @@ -570,6 +570,7 @@ __metadata: "@electron-forge/maker-squirrel": "npm:^7.6.0" "@electron-forge/maker-zip": "npm:^7.6.0" "@electron-forge/plugin-auto-unpack-natives": "npm:^7.6.0" + "@electron-forge/plugin-fuses": "npm:^7.8.2" "@electron-forge/shared-types": "npm:^7.6.0" "@pengx17/electron-forge-maker-appimage": "npm:^1.2.1" "@sentry/electron": "npm:^6.1.0" @@ -5135,6 +5136,27 @@ __metadata: languageName: node linkType: hard +"@electron-forge/plugin-base@npm:7.8.2": + version: 7.8.2 + resolution: "@electron-forge/plugin-base@npm:7.8.2" + dependencies: + "@electron-forge/shared-types": "npm:7.8.2" + checksum: 10/a83a1d4361baca1aff00028511c1b6eeb38b6d5d9610bfef4fcf3fb74b8fcc5b6d37ad66fdb1e7d45c8daf020b8369f1c310075e17d78d6bfe714448b35f25dd + languageName: node + linkType: hard + +"@electron-forge/plugin-fuses@npm:^7.8.2": + version: 7.8.2 + resolution: "@electron-forge/plugin-fuses@npm:7.8.2" + dependencies: + "@electron-forge/plugin-base": "npm:7.8.2" + "@electron-forge/shared-types": "npm:7.8.2" + peerDependencies: + "@electron/fuses": ">=1.0.0" + checksum: 10/5b40b63b88342db7ee2b2ca036fa1f5f6638a853095d2ef3a4c28d351581f670aa0731cb6af799132e522a329cd996bef476011dcb095913cdf1b0cb932e67ff + languageName: node + linkType: hard + "@electron-forge/publisher-base@npm:7.8.1": version: 7.8.1 resolution: "@electron-forge/publisher-base@npm:7.8.1" @@ -5144,7 +5166,7 @@ __metadata: languageName: node linkType: hard -"@electron-forge/shared-types@npm:7.8.1, @electron-forge/shared-types@npm:^7.3.0, @electron-forge/shared-types@npm:^7.6.0": +"@electron-forge/shared-types@npm:7.8.1": version: 7.8.1 resolution: "@electron-forge/shared-types@npm:7.8.1" dependencies: @@ -5156,6 +5178,18 @@ __metadata: languageName: node linkType: hard +"@electron-forge/shared-types@npm:7.8.2, @electron-forge/shared-types@npm:^7.3.0, @electron-forge/shared-types@npm:^7.6.0": + version: 7.8.2 + resolution: "@electron-forge/shared-types@npm:7.8.2" + dependencies: + "@electron-forge/tracer": "npm:7.8.2" + "@electron/packager": "npm:^18.3.5" + "@electron/rebuild": "npm:^3.7.0" + listr2: "npm:^7.0.2" + checksum: 10/01eb4f9096f5aa2f4e9a613828488f71a517e3764912b9b7c9d794f77513e2732f15f4175cce27bda9b5304bc9fb7bc2d925bff8f4bb1956860efa8cc74c1c3e + languageName: node + linkType: hard + "@electron-forge/template-base@npm:7.8.1": version: 7.8.1 resolution: "@electron-forge/template-base@npm:7.8.1" @@ -5223,6 +5257,15 @@ __metadata: languageName: node linkType: hard +"@electron-forge/tracer@npm:7.8.2": + version: 7.8.2 + resolution: "@electron-forge/tracer@npm:7.8.2" + dependencies: + chrome-trace-event: "npm:^1.0.3" + checksum: 10/acae16a28d48bfc965a2c5dc9716aaaa35db3ef09e3f7806d4746dbb32360aa0f8982864a744d67c30ca13576617eeedef695336bd1d07b746a51059951cca78 + languageName: node + linkType: hard + "@electron/asar@npm:3.4.1, @electron/asar@npm:^3.2.1, @electron/asar@npm:^3.2.13, @electron/asar@npm:^3.2.5, @electron/asar@npm:^3.3.1": version: 3.4.1 resolution: "@electron/asar@npm:3.4.1"