From ae304ceb803e41e41491760dd6b8ee6a993c1128 Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Fri, 31 Jan 2025 13:05:04 +0000 Subject: [PATCH] Update electron-builder and harden fuse configuration (#2106) --- electron-builder.ts | 71 ++++++-------- package.json | 7 +- yarn.lock | 226 +++++++++++++++++++------------------------- 3 files changed, 127 insertions(+), 177 deletions(-) diff --git a/electron-builder.ts b/electron-builder.ts index ae0d0678..a34a128a 100644 --- a/electron-builder.ts +++ b/electron-builder.ts @@ -1,8 +1,6 @@ -import * as os from "os"; -import * as fs from "fs"; -import * as path from "path"; -import { Arch, Configuration as BaseConfiguration, AfterPackContext } from "electron-builder"; -import { flipFuses, FuseVersion, FuseV1Options } from "@electron/fuses"; +import * as os from "node:os"; +import * as fs from "node:fs"; +import { Configuration as BaseConfiguration } from "electron-builder"; /** * This script has different outputs depending on your os platform. @@ -10,7 +8,7 @@ import { flipFuses, FuseVersion, FuseV1Options } from "@electron/fuses"; * On Windows: * Prefixes the nightly version with `0.0.1-nightly.` as it breaks if it is not semver * Passes $ED_SIGNTOOL_THUMBPRINT and $ED_SIGNTOOL_SUBJECT_NAME to - * build.win.signingHashAlgorithms and build.win.certificateSubjectName respectively if specified. + * build.win.signtoolOptions.signingHashAlgorithms and build.win.signtoolOptions.certificateSubjectName respectively if specified. * * On Linux: * Replaces spaces in the product name with dashes as spaces in paths can cause issues @@ -48,45 +46,26 @@ interface Configuration extends BaseConfiguration { * @type {import('electron-builder').Configuration} * @see https://www.electron.build/configuration/configuration */ -const config: Writable = { +const config: Omit, "electronFuses"> & { + // Make all fuses required to ensure they are all explicitly specified + electronFuses: Required; +} = { appId: "im.riot.app", asarUnpack: "**/*.node", - afterPack: async (context: AfterPackContext) => { - if (context.electronPlatformName !== "darwin" || context.arch === Arch.universal) { - // Burn in electron fuses for proactive security hardening. - // On macOS, we only do this for the universal package, as the constituent arm64 and amd64 packages are embedded within. - const ext = (>{ - darwin: ".app", - win32: ".exe", - linux: "", - })[context.electronPlatformName]; + electronFuses: { + enableCookieEncryption: true, + onlyLoadAppFromAsar: true, + grantFileProtocolExtraPrivileges: false, - let executableName = context.packager.appInfo.productFilename; - if (context.electronPlatformName === "linux") { - // Linux uses the package name as the executable name - executableName = context.packager.appInfo.name; - } + runAsNode: false, + enableNodeOptionsEnvironmentVariable: false, + enableNodeCliInspectArguments: false, + // We need to reset the signature if we are not signing on darwin otherwise it won't launch + resetAdHocDarwinSignature: !process.env.APPLE_TEAM_ID, - const electronBinaryPath = path.join(context.appOutDir, `${executableName}${ext}`); - console.log(`Flipping fuses for: ${electronBinaryPath}`); - - await flipFuses(electronBinaryPath, { - version: FuseVersion.V1, - resetAdHocDarwinSignature: context.electronPlatformName === "darwin" && context.arch === Arch.universal, - - [FuseV1Options.EnableCookieEncryption]: true, - [FuseV1Options.OnlyLoadAppFromAsar]: true, - - [FuseV1Options.RunAsNode]: false, - [FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false, - [FuseV1Options.EnableNodeCliInspectArguments]: false, - - // Mac app crashes on arm for us when `LoadBrowserProcessSpecificV8Snapshot` is enabled - [FuseV1Options.LoadBrowserProcessSpecificV8Snapshot]: false, - // https://github.com/electron/fuses/issues/7 - [FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: false, - }); - } + loadBrowserProcessSpecificV8Snapshot: false, + // https://github.com/electron/fuses/issues/7 + enableEmbeddedAsarIntegrityValidation: false, }, files: [ "package.json", @@ -144,12 +123,16 @@ const config: Writable = { darkModeSupport: true, hardenedRuntime: true, gatekeeperAssess: true, + strictVerify: true, entitlements: "./build/entitlements.mac.plist", icon: "build/icons/icon.icns", + mergeASARs: true, }, win: { target: ["squirrel", "msi"], - signingHashAlgorithms: ["sha256"], + signtoolOptions: { + signingHashAlgorithms: ["sha256"], + }, icon: "build/icons/icon.ico", }, msi: { @@ -172,8 +155,8 @@ const config: Writable = { * @param {string} process.env.ED_SIGNTOOL_THUMBPRINT */ if (process.env.ED_SIGNTOOL_SUBJECT_NAME && process.env.ED_SIGNTOOL_THUMBPRINT) { - config.win.certificateSubjectName = process.env.ED_SIGNTOOL_SUBJECT_NAME; - config.win.certificateSha1 = process.env.ED_SIGNTOOL_THUMBPRINT; + config.win.signtoolOptions!.certificateSubjectName = process.env.ED_SIGNTOOL_SUBJECT_NAME; + config.win.signtoolOptions!.certificateSha1 = process.env.ED_SIGNTOOL_THUMBPRINT; } /** diff --git a/package.json b/package.json index 2bf9981f..8dcd0bc3 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,6 @@ "@babel/preset-env": "^7.18.10", "@babel/preset-typescript": "^7.18.6", "@electron/asar": "3.2.18", - "@electron/fuses": "^1.7.0", "@mapbox/node-pre-gyp": "^1.0.11", "@playwright/test": "1.49.1", "@stylistic/eslint-plugin": "^2.9.0", @@ -85,12 +84,12 @@ "@types/yargs": "^17.0.32", "@typescript-eslint/eslint-plugin": "^8.0.0", "@typescript-eslint/parser": "^8.0.0", - "app-builder-lib": "25.1.8", + "app-builder-lib": "^26.0.1", "chokidar": "^4.0.0", "detect-libc": "^2.0.0", "electron": "34.0.1", - "electron-builder": "25.1.8", - "electron-builder-squirrel-windows": "25.1.8", + "electron-builder": "^26.0.1", + "electron-builder-squirrel-windows": "^26.0.1", "electron-devtools-installer": "^4.0.0", "eslint": "^8.26.0", "eslint-config-google": "^0.14.0", diff --git a/yarn.lock b/yarn.lock index 9d538a62..f4720dac 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1007,7 +1007,7 @@ glob "^7.1.6" minimatch "^3.0.4" -"@electron/fuses@^1.7.0": +"@electron/fuses@^1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@electron/fuses/-/fuses-1.8.0.tgz#ad34d3cc4703b1258b83f6989917052cfc1490a0" integrity sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw== @@ -1031,6 +1031,21 @@ optionalDependencies: global-agent "^3.0.0" +"@electron/node-gyp@git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2": + version "10.2.0-electron.1" + resolved "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2" + dependencies: + env-paths "^2.2.0" + exponential-backoff "^3.1.1" + glob "^8.1.0" + graceful-fs "^4.2.6" + make-fetch-happen "^10.2.1" + nopt "^6.0.0" + proc-log "^2.0.1" + semver "^7.3.5" + tar "^6.2.1" + which "^2.0.2" + "@electron/notarize@2.5.0": version "2.5.0" resolved "https://registry.yarnpkg.com/@electron/notarize/-/notarize-2.5.0.tgz#d4d25356adfa29df4a76bd64a8bd347237cd251e" @@ -1052,11 +1067,12 @@ minimist "^1.2.6" plist "^3.0.5" -"@electron/rebuild@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@electron/rebuild/-/rebuild-3.6.1.tgz#59e8e36c3f6e6b94a699425dfb61f0394c3dd4df" - integrity sha512-f6596ZHpEq/YskUd8emYvOUne89ij8mQgjYFA5ru25QwbrRO+t1SImofdDv7kKOuWCmVOuU5tvfkbgGxIl3E/w== +"@electron/rebuild@3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@electron/rebuild/-/rebuild-3.7.0.tgz#82e20c467ddedbb295d7f641592c52e68c141e9f" + integrity sha512-VW++CNSlZwMYP7MyXEbrKjpzEwhB5kDNbzGtiPEjwYysqyTCF+YbNJ210Dj3AjWsGSV4iEEwNkmJN9yGZmVvmw== dependencies: + "@electron/node-gyp" "https://github.com/electron/node-gyp#06b29aafb7708acef8b3669835c8a7857ebc92d2" "@malept/cross-spawn-promise" "^2.0.0" chalk "^4.0.0" debug "^4.1.1" @@ -1065,7 +1081,6 @@ got "^11.7.0" node-abi "^3.45.0" node-api-version "^0.2.0" - node-gyp "^9.0.0" ora "^5.1.0" read-binary-file-arch "^1.0.6" semver "^7.3.5" @@ -2527,35 +2542,35 @@ ansi-styles@^6.0.0, ansi-styles@^6.1.0, ansi-styles@^6.2.1: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -app-builder-bin@5.0.0-alpha.10: - version "5.0.0-alpha.10" - resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-5.0.0-alpha.10.tgz#cf12e593b6b847fb9d04027fa755c6c6610d778b" - integrity sha512-Ev4jj3D7Bo+O0GPD2NMvJl+PGiBAfS7pUGawntBNpCbxtpncfUixqFj9z9Jme7V7s3LBGqsWZZP54fxBX3JKJw== +app-builder-bin@5.0.0-alpha.12: + version "5.0.0-alpha.12" + resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-5.0.0-alpha.12.tgz#2daf82f8badc698e0adcc95ba36af4ff0650dc80" + integrity sha512-j87o0j6LqPL3QRr8yid6c+Tt5gC7xNfYo6uQIQkorAC6MpeayVMZrEDzKmJJ/Hlv7EnOQpaRm53k6ktDYZyB6w== -app-builder-lib@25.1.8: - version "25.1.8" - resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-25.1.8.tgz#ae376039c5f269c7d562af494a087e5bc6310f1b" - integrity sha512-pCqe7dfsQFBABC1jeKZXQWhGcCPF3rPCXDdfqVKjIeWBcXzyC1iOWZdfFhGl+S9MyE/k//DFmC6FzuGAUudNDg== +app-builder-lib@26.0.1, app-builder-lib@^26.0.1: + version "26.0.1" + resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-26.0.1.tgz#1ce53e209b849e01cf94854fdc43d61d7a361a47" + integrity sha512-2tPZXCy7GIvJzjNuRic58tYpOk5ySH4mAZS7MXV4TJ/bi7QnJ9YPFGOMhVgaIHnf1U4NmcujJjQMwuCwz1StQg== dependencies: "@develar/schema-utils" "~2.6.5" + "@electron/asar" "3.2.18" + "@electron/fuses" "^1.8.0" "@electron/notarize" "2.5.0" "@electron/osx-sign" "1.3.1" - "@electron/rebuild" "3.6.1" + "@electron/rebuild" "3.7.0" "@electron/universal" "2.0.1" "@malept/flatpak-bundler" "^0.4.0" "@types/fs-extra" "9.0.13" async-exit-hook "^2.0.1" - bluebird-lst "^1.0.9" - builder-util "25.1.7" - builder-util-runtime "9.2.10" + builder-util "26.0.1" + builder-util-runtime "9.3.1" chromium-pickle-js "^0.2.0" config-file-ts "0.2.8-rc1" debug "^4.3.4" dotenv "^16.4.5" dotenv-expand "^11.0.6" ejs "^3.1.8" - electron-publish "25.1.7" - form-data "^4.0.0" + electron-publish "26.0.1" fs-extra "^10.1.0" hosted-git-info "^4.1.0" is-ci "^3.0.0" @@ -2565,10 +2580,10 @@ app-builder-lib@25.1.8: lazy-val "^1.0.5" minimatch "^10.0.0" resedit "^1.7.0" - sanitize-filename "^1.6.3" semver "^7.3.8" tar "^6.1.12" temp-file "^3.4.0" + tiny-async-pool "1.3.0" applescript@^1.0.0: version "1.0.0" @@ -2633,14 +2648,6 @@ are-we-there-yet@^2.0.0: delegates "^1.0.0" readable-stream "^3.6.0" -are-we-there-yet@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" - integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - argparse@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" @@ -2811,18 +2818,6 @@ bl@^4.0.3, bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" -bluebird-lst@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c" - integrity sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw== - dependencies: - bluebird "^3.5.5" - -bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - boolean@^3.0.1: version "3.2.0" resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b" @@ -2878,35 +2873,36 @@ buffer@^5.1.0, buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -builder-util-runtime@9.2.10: - version "9.2.10" - resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.2.10.tgz#a0f7d9e214158402e78b74a745c8d9f870c604bc" - integrity sha512-6p/gfG1RJSQeIbz8TK5aPNkoztgY1q5TgmGFMAXcY8itsGW6Y2ld1ALsZ5UJn8rog7hKF3zHx5iQbNQ8uLcRlw== +builder-util-runtime@9.3.1: + version "9.3.1" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-9.3.1.tgz#0daedde0f6d381f2a00a50a407b166fe7dca1a67" + integrity sha512-2/egrNDDnRaxVwK3A+cJq6UOlqOdedGA7JPqCeJjN2Zjk1/QB/6QUi3b714ScIGS7HafFXTyzJEOr5b44I3kvQ== dependencies: debug "^4.3.4" sax "^1.2.4" -builder-util@25.1.7: - version "25.1.7" - resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-25.1.7.tgz#a07b404f0cb1a635aa165902be65297d58932ff8" - integrity sha512-7jPjzBwEGRbwNcep0gGNpLXG9P94VA3CPAZQCzxkFXiV2GMQKlziMbY//rXPI7WKfhsvGgFXjTcXdBEwgXw9ww== +builder-util@26.0.1: + version "26.0.1" + resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-26.0.1.tgz#26bb88e53eccb7e63d79aa5f40b9490ce61e6a53" + integrity sha512-N0Oqylk3zu6lq8KdxZOhNLJFK6t/Ay5Za8w6zBi3Yh7NwmGPwk3JTuWcaST723VA5t9FBLdx6ImodX9irZAIPw== dependencies: "7zip-bin" "~5.2.0" "@types/debug" "^4.1.6" - app-builder-bin "5.0.0-alpha.10" - bluebird-lst "^1.0.9" - builder-util-runtime "9.2.10" + app-builder-bin "5.0.0-alpha.12" + builder-util-runtime "9.3.1" chalk "^4.1.2" - cross-spawn "^7.0.3" + cross-spawn "^7.0.6" debug "^4.3.4" fs-extra "^10.1.0" http-proxy-agent "^7.0.0" https-proxy-agent "^7.0.0" is-ci "^3.0.0" js-yaml "^4.1.0" + sanitize-filename "^1.6.3" source-map-support "^0.5.19" stat-mode "^1.0.0" temp-file "^3.4.0" + tiny-async-pool "1.3.0" builtin-modules@^3.3.0: version "3.3.0" @@ -3186,7 +3182,7 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-support@^1.1.2, color-support@^1.1.3: +color-support@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== @@ -3326,7 +3322,7 @@ crc@^3.8.0: dependencies: buffer "^5.1.0" -cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3, cross-spawn@^7.0.6: version "7.0.6" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== @@ -3477,14 +3473,14 @@ dir-compare@^4.2.0: minimatch "^3.0.5" p-limit "^3.1.0 " -dmg-builder@25.1.8: - version "25.1.8" - resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-25.1.8.tgz#41f3b725edd896156e891016a44129e1bd580430" - integrity sha512-NoXo6Liy2heSklTI5OIZbCgXC1RzrDQsZkeEwXhdOro3FT1VBOvbubvscdPnjVuQ4AMwwv61oaH96AbiYg9EnQ== +dmg-builder@26.0.1: + version "26.0.1" + resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-26.0.1.tgz#92f3d5a64844d0add5a327898c15ca6636715558" + integrity sha512-ukmH/PZrCA44FlusT50uKhRdQfztFxw7/VoTugmQKu7JpLajpV78jGkW2unp130YyN2HySMc3kmIL9mEVbKLqA== dependencies: - app-builder-lib "25.1.8" - builder-util "25.1.7" - builder-util-runtime "9.2.10" + app-builder-lib "26.0.1" + builder-util "26.0.1" + builder-util-runtime "9.3.1" fs-extra "^10.1.0" iconv-lite "^0.6.2" js-yaml "^4.1.0" @@ -3568,26 +3564,26 @@ ejs@^3.1.8: dependencies: jake "^10.8.5" -electron-builder-squirrel-windows@25.1.8: - version "25.1.8" - resolved "https://registry.yarnpkg.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-25.1.8.tgz#bc42f8da3aaa79007f9aec38d08798e1e83366fe" - integrity sha512-2ntkJ+9+0GFP6nAISiMabKt6eqBB0kX1QqHNWFWAXgi0VULKGisM46luRFpIBiU3u/TDmhZMM8tzvo2Abn3ayg== +electron-builder-squirrel-windows@^26.0.1: + version "26.0.1" + resolved "https://registry.yarnpkg.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.0.1.tgz#153e37c51bccaea94c425689b6e847084e416181" + integrity sha512-h0d55qP7+FDlcGHMJxYd7bZ+T/we6uqxr+m7pdkZi70vy/qmfRf6vFz+TV+NSj64dQdsRFWTGtK9ziiWX5kn/g== dependencies: - app-builder-lib "25.1.8" + app-builder-lib "26.0.1" archiver "^5.3.1" - builder-util "25.1.7" + builder-util "26.0.1" fs-extra "^10.1.0" -electron-builder@25.1.8: - version "25.1.8" - resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-25.1.8.tgz#b0e310f1600787610bb84c3f39bc7aadb2548486" - integrity sha512-poRgAtUHHOnlzZnc9PK4nzG53xh74wj2Jy7jkTrqZ0MWPoHGh1M2+C//hGeYdA+4K8w4yiVCNYoLXF7ySj2Wig== +electron-builder@^26.0.1: + version "26.0.1" + resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-26.0.1.tgz#2ea3a0ecb5a01e66caa2762b1d0fe256d78fe2a2" + integrity sha512-kwh111DNG3fSBVoW76Ya73pZv2G3UOJUIV4sHmC1p/DfKsSpF3Q30B3BEo+Hm7dWEA3mWuC62nl9/4ebb7r9kQ== dependencies: - app-builder-lib "25.1.8" - builder-util "25.1.7" - builder-util-runtime "9.2.10" + app-builder-lib "26.0.1" + builder-util "26.0.1" + builder-util-runtime "9.3.1" chalk "^4.1.2" - dmg-builder "25.1.8" + dmg-builder "26.0.1" fs-extra "^10.1.0" is-ci "^3.0.0" lazy-val "^1.0.5" @@ -3606,15 +3602,16 @@ electron-devtools-installer@^4.0.0: dependencies: unzip-crx-3 "^0.2.0" -electron-publish@25.1.7: - version "25.1.7" - resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-25.1.7.tgz#14e50c2a3fafdc1c454eadbbc47ead89a48bb554" - integrity sha512-+jbTkR9m39eDBMP4gfbqglDd6UvBC7RLh5Y0MhFSsc6UkGHj9Vj9TWobxevHYMMqmoujL11ZLjfPpMX+Pt6YEg== +electron-publish@26.0.1: + version "26.0.1" + resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-26.0.1.tgz#a634dfd46bf1f666b2255ed66d1d0f051f93bb52" + integrity sha512-ZQ1I7MYVUHTtyYncaCtm9PEbcZ1MCZUWB2vMhyIQHkaoGPsuFv/FFAJ4B2sotYqr4KiqvfbBHKznfQYM+JBz3Q== dependencies: "@types/fs-extra" "^9.0.11" - builder-util "25.1.7" - builder-util-runtime "9.2.10" + builder-util "26.0.1" + builder-util-runtime "9.3.1" chalk "^4.1.2" + form-data "^4.0.0" fs-extra "^10.1.0" lazy-val "^1.0.5" mime "^2.5.2" @@ -4363,20 +4360,6 @@ gauge@^3.0.0: strip-ansi "^6.0.1" wide-align "^1.1.2" -gauge@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" - integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.3" - console-control-strings "^1.1.0" - has-unicode "^2.0.1" - signal-exit "^3.0.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.5" - gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -4512,7 +4495,7 @@ glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.1: +glob@^8.0.1, glob@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== @@ -5442,7 +5425,7 @@ make-dir@^3.1.0: dependencies: semver "^6.0.0" -make-fetch-happen@^10.0.3: +make-fetch-happen@^10.2.1: version "10.2.1" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== @@ -5810,23 +5793,6 @@ node-gyp@^10.0.0: tar "^6.2.1" which "^4.0.0" -node-gyp@^9.0.0: - version "9.4.1" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.1.tgz#8a1023e0d6766ecb52764cc3a734b36ff275e185" - integrity sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ== - dependencies: - env-paths "^2.2.0" - exponential-backoff "^3.1.1" - glob "^7.1.4" - graceful-fs "^4.2.6" - make-fetch-happen "^10.0.3" - nopt "^6.0.0" - npmlog "^6.0.0" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.2" - which "^2.0.2" - node-releases@^2.0.18: version "2.0.18" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" @@ -6000,16 +5966,6 @@ npmlog@^5.0.1: gauge "^3.0.0" set-blocking "^2.0.0" -npmlog@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" - integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== - dependencies: - are-we-there-yet "^3.0.0" - console-control-strings "^1.1.0" - gauge "^4.0.3" - set-blocking "^2.0.0" - object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -6456,6 +6412,11 @@ pretty-ms@^9.0.0: dependencies: parse-ms "^4.0.0" +proc-log@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685" + integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw== + proc-log@^4.0.0, proc-log@^4.1.0, proc-log@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-4.2.0.tgz#b6f461e4026e75fdfe228b265e9f7a00779d7034" @@ -6831,7 +6792,7 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== -"semver@2 || 3 || 4 || 5": +"semver@2 || 3 || 4 || 5", semver@^5.5.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== @@ -6912,7 +6873,7 @@ side-channel@^1.0.4: get-intrinsic "^1.2.4" object-inspect "^1.13.1" -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.7: +signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -7255,7 +7216,7 @@ tar-stream@^2.2.0: inherits "^2.0.3" readable-stream "^3.1.1" -tar@^6.0.5, tar@^6.1.11, tar@^6.1.12, tar@^6.1.2, tar@^6.2.1: +tar@^6.0.5, tar@^6.1.11, tar@^6.1.12, tar@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== @@ -7292,6 +7253,13 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== +tiny-async-pool@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/tiny-async-pool/-/tiny-async-pool-1.3.0.tgz#c013e1b369095e7005db5595f95e646cca6ef8a5" + integrity sha512-01EAw5EDrcVrdgyCLgoSPvqznC0sVxDSVeiOz09FUpjh71G79VCqneOr+xvt7T1r76CF6ZZfPjHorN2+d+3mqA== + dependencies: + semver "^5.5.0" + tmp-promise@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-3.0.3.tgz#60a1a1cc98c988674fcbfd23b6e3367bdeac4ce7" @@ -7682,7 +7650,7 @@ which@^4.0.0: dependencies: isexe "^3.1.1" -wide-align@^1.1.2, wide-align@^1.1.5: +wide-align@^1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==