Merge branch 't3chguy/build-files-assert' of https://github.com/vector-im/element-desktop into t3chguy/update-electron-builder

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	.github/workflows/build_windows.yaml
This commit is contained in:
Michael Telatynski 2025-02-18 09:44:14 +00:00
commit f35f0e17ab
No known key found for this signature in database
GPG Key ID: A2B008A5F49F5D0D
5 changed files with 67 additions and 373 deletions

View File

@ -122,12 +122,6 @@ jobs:
# We need sudo on Linux as it is installed in /opt/
RUN_AS: ${{ runner.os == 'Linux' && 'sudo' || '' }}
- name: Workaround macOS GHA permission issues
if: runner.os == 'macOS'
run: |
sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159,NULL,NULL,'UNUSED',1687786159);"
sqlite3 $HOME/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT OR IGNORE INTO access VALUES ('kTCCServiceMicrophone','/opt/off/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159,NULL,NULL,'UNUSED',1687786159);"
- name: Run tests
uses: coactions/setup-xvfb@6b00cf1889f4e1d5a48635647013c0508128ee1a
timeout-minutes: 5

View File

@ -37,7 +37,6 @@ jobs:
environment: ${{ inputs.sign && 'packages.element.io' || '' }}
env:
SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.22000.0/x86/signtool.exe"
DEBUG: "electron-builder,electron-windows-sign"
steps:
- uses: nbucic/variable-mapper@0673f6891a0619ba7c002ecfed0f9f4f39017b6f
id: config
@ -82,26 +81,26 @@ jobs:
# ActiveTCL package on choco is from 2015,
# this one is newer but includes more than we need
# - name: Choco install tclsh
# if: steps.cache.outputs.cache-hit != 'true'
# shell: pwsh
# run: |
# choco install -y magicsplat-tcl-tk --no-progress
# echo "${HOME}/AppData/Local/Apps/Tcl86/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Choco install tclsh
if: steps.cache.outputs.cache-hit != 'true'
shell: pwsh
run: |
choco install -y magicsplat-tcl-tk --no-progress
echo "${HOME}/AppData/Local/Apps/Tcl86/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
# - name: Choco install NetWide Assembler
# if: steps.cache.outputs.cache-hit != 'true'
# shell: pwsh
# run: |
# choco install -y nasm --no-progress
# echo "C:/Program Files/NASM" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Choco install NetWide Assembler
if: steps.cache.outputs.cache-hit != 'true'
shell: pwsh
run: |
choco install -y nasm --no-progress
echo "C:/Program Files/NASM" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
# - name: Install Rust
# if: steps.cache.outputs.cache-hit != 'true'
# run: |
# rustup toolchain install stable --profile minimal --no-self-update
# rustup default stable
# rustup target add ${{ steps.config.outputs.target }}
- name: Install Rust
if: steps.cache.outputs.cache-hit != 'true'
run: |
rustup toolchain install stable --profile minimal --no-self-update
rustup default stable
rustup target add ${{ steps.config.outputs.target }}
- uses: actions/setup-node@v4
with:
@ -112,11 +111,11 @@ jobs:
- name: Install Deps
run: "yarn install --frozen-lockfile"
# - name: Build Natives
# if: steps.cache.outputs.cache-hit != 'true'
# run: |
# refreshenv
# yarn build:native --target ${{ steps.config.outputs.target }}
- name: Build Natives
if: steps.cache.outputs.cache-hit != 'true'
run: |
refreshenv
yarn build:native --target ${{ steps.config.outputs.target }}
- name: Install and configure eSigner CKA
run: |

View File

@ -53,8 +53,7 @@
"test": "playwright test",
"test:open": "yarn test --ui",
"test:screenshots:build": "docker build playwright -t element-desktop-playwright --platform linux/amd64",
"test:screenshots:run": "docker run --rm --network host -v $(pwd):/work/element-desktop -v /var/run/docker.sock:/var/run/docker.sock --platform linux/amd64 -it element-desktop-playwright",
"postinstall": "patch-package"
"test:screenshots:run": "docker run --rm --network host -v $(pwd):/work/element-desktop -v /var/run/docker.sock:/var/run/docker.sock --platform linux/amd64 -it element-desktop-playwright"
},
"dependencies": {
"@sentry/electron": "^5.0.0",
@ -83,12 +82,12 @@
"@types/pacote": "^11.1.1",
"@typescript-eslint/eslint-plugin": "^8.0.0",
"@typescript-eslint/parser": "^8.0.0",
"app-builder-lib": "26.0.6",
"app-builder-lib": "26.0.7",
"chokidar": "^4.0.0",
"detect-libc": "^2.0.0",
"electron": "34.0.2",
"electron-builder": "26.0.6",
"electron-builder-squirrel-windows": "26.0.6",
"electron-builder": "26.0.7",
"electron-builder-squirrel-windows": "26.0.7",
"electron-devtools-installer": "^4.0.0",
"eslint": "^8.26.0",
"eslint-config-google": "^0.14.0",
@ -104,9 +103,7 @@
"matrix-web-i18n": "^3.2.1",
"mkdirp": "^3.0.0",
"pacote": "^21.0.0",
"patch-package": "^8.0.0",
"plist": "^3.1.0",
"postinstall-postinstall": "^2.1.0",
"prettier": "^3.0.0",
"rimraf": "^6.0.0",
"tar": "^7.0.0",

View File

@ -1,183 +0,0 @@
diff --git a/node_modules/electron-builder-squirrel-windows/out/SquirrelWindowsTarget.js b/node_modules/electron-builder-squirrel-windows/out/SquirrelWindowsTarget.js
index 15312f4..7695162 100644
--- a/node_modules/electron-builder-squirrel-windows/out/SquirrelWindowsTarget.js
+++ b/node_modules/electron-builder-squirrel-windows/out/SquirrelWindowsTarget.js
@@ -1,11 +1,11 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const builder_util_1 = require("builder-util");
-const app_builder_lib_1 = require("app-builder-lib");
const filename_1 = require("builder-util/out/filename");
+const app_builder_lib_1 = require("app-builder-lib");
const path = require("path");
const fs = require("fs");
-const promises_1 = require("fs/promises");
+const os = require("os");
const electron_winstaller_1 = require("electron-winstaller");
class SquirrelWindowsTarget extends app_builder_lib_1.Target {
constructor(packager, outDir) {
@@ -14,8 +14,28 @@ class SquirrelWindowsTarget extends app_builder_lib_1.Target {
this.outDir = outDir;
//tslint:disable-next-line:no-object-literal-type-assertion
this.options = { ...this.packager.platformSpecificBuildOptions, ...this.packager.config.squirrelWindows };
- this.appDirectory = "";
- this.outputDirectory = "";
+ }
+ async prepareSignedVendorDirectory() {
+ // If not specified will use the Squirrel.Windows that is shipped with electron-installer(https://github.com/electron/windows-installer/tree/main/vendor)
+ // After https://github.com/electron-userland/electron-builder-binaries/pull/56 merged, will add `electron-builder-binaries` to get the latest version of squirrel.
+ let vendorDirectory = this.options.customSquirrelVendorDir || path.join(require.resolve("electron-winstaller/package.json"), "..", "vendor");
+ if ((0, builder_util_1.isEmptyOrSpaces)(vendorDirectory) || !fs.existsSync(vendorDirectory)) {
+ builder_util_1.log.warn({ vendorDirectory }, "unable to access Squirrel.Windows vendor directory, falling back to default electron-winstaller");
+ vendorDirectory = path.join(require.resolve("electron-winstaller/package.json"), "..", "vendor");
+ }
+ const tmpVendorDirectory = await this.packager.info.tempDirManager.createTempDir({ prefix: "squirrel-windows-vendor" });
+ // Copy entire vendor directory to temp directory
+ await fs.promises.cp(vendorDirectory, tmpVendorDirectory, { recursive: true });
+ builder_util_1.log.debug({ from: vendorDirectory, to: tmpVendorDirectory }, "copied vendor directory");
+ const files = await fs.promises.readdir(tmpVendorDirectory);
+ for (const file of files) {
+ if (["Squirrel.exe", "StubExecutable.exe"].includes(file)) {
+ const filePath = path.join(tmpVendorDirectory, file);
+ builder_util_1.log.debug({ file: filePath }, "signing vendor executable");
+ await this.packager.sign(filePath);
+ }
+ }
+ return tmpVendorDirectory;
}
async build(appOutDir, arch) {
const packager = this.packager;
@@ -24,28 +44,35 @@ class SquirrelWindowsTarget extends app_builder_lib_1.Target {
const setupFile = packager.expandArtifactNamePattern(this.options, "exe", arch, "${productName} Setup ${version}.${ext}");
const installerOutDir = path.join(this.outDir, `squirrel-windows${(0, app_builder_lib_1.getArchSuffix)(arch)}`);
const artifactPath = path.join(installerOutDir, setupFile);
+ const msiArtifactPath = path.join(installerOutDir, packager.expandArtifactNamePattern(this.options, "msi", arch, "${productName} Setup ${version}.${ext}"));
await packager.info.callArtifactBuildStarted({
targetPresentableName: "Squirrel.Windows",
file: artifactPath,
arch,
});
- if (arch === app_builder_lib_1.Arch.ia32) {
- builder_util_1.log.warn("For windows consider only distributing 64-bit or use nsis target, see https://github.com/electron-userland/electron-builder/issues/359#issuecomment-214851130");
- }
- this.appDirectory = appOutDir;
- this.outputDirectory = installerOutDir;
- const distOptions = await this.computeEffectiveDistOptions();
- if (distOptions.vendorDirectory) {
- this.select7zipArch(distOptions.vendorDirectory, arch);
- }
+ const distOptions = await this.computeEffectiveDistOptions(appOutDir, installerOutDir, setupFile, arch);
await (0, electron_winstaller_1.createWindowsInstaller)(distOptions);
+ await packager.signAndEditResources(artifactPath, arch, installerOutDir);
+ if (this.options.msi) {
+ await packager.sign(msiArtifactPath);
+ }
+ const safeArtifactName = (ext) => `${sanitizedName}-Setup-${version}${(0, app_builder_lib_1.getArchSuffix)(arch)}.${ext}`;
await packager.info.callArtifactBuildCompleted({
file: artifactPath,
target: this,
arch,
- safeArtifactName: `${sanitizedName}-Setup-${version}${(0, app_builder_lib_1.getArchSuffix)(arch)}.exe`,
+ safeArtifactName: safeArtifactName("exe"),
packager: this.packager,
});
+ if (this.options.msi) {
+ await packager.info.callArtifactBuildCompleted({
+ file: msiArtifactPath,
+ target: this,
+ arch,
+ safeArtifactName: safeArtifactName("msi"),
+ packager: this.packager,
+ });
+ }
const packagePrefix = `${this.appName}-${(0, electron_winstaller_1.convertVersion)(version)}-`;
packager.info.dispatchArtifactCreated({
file: path.join(installerOutDir, `${packagePrefix}full.nupkg`),
@@ -71,13 +98,28 @@ class SquirrelWindowsTarget extends app_builder_lib_1.Target {
get appName() {
return this.options.name || this.packager.appInfo.name;
}
- select7zipArch(vendorDirectory, arch) {
- // Copy the 7-Zip executable for the configured architecture.
- const resolvedArch = (0, app_builder_lib_1.getArchSuffix)(arch) === "" ? process.arch : (0, app_builder_lib_1.getArchSuffix)(arch);
+ select7zipArch(vendorDirectory) {
+ // https://github.com/electron/windows-installer/blob/main/script/select-7z-arch.js
+ // Even if we're cross-compiling for a different arch like arm64,
+ // we still need to use the 7-Zip executable for the host arch
+ const resolvedArch = os.arch;
fs.copyFileSync(path.join(vendorDirectory, `7z-${resolvedArch}.exe`), path.join(vendorDirectory, "7z.exe"));
fs.copyFileSync(path.join(vendorDirectory, `7z-${resolvedArch}.dll`), path.join(vendorDirectory, "7z.dll"));
}
- async computeEffectiveDistOptions() {
+ async createNuspecTemplateWithProjectUrl() {
+ const templatePath = path.resolve(__dirname, "..", "template.nuspectemplate");
+ const projectUrl = await this.packager.appInfo.computePackageUrl();
+ if (projectUrl != null) {
+ const nuspecTemplate = await this.packager.info.tempDirManager.getTempFile({ prefix: "template", suffix: ".nuspectemplate" });
+ let templateContent = await fs.promises.readFile(templatePath, "utf8");
+ const searchString = "<copyright><%- copyright %></copyright>";
+ templateContent = templateContent.replace(searchString, `${searchString}\n <projectUrl>${projectUrl}</projectUrl>`);
+ await fs.promises.writeFile(nuspecTemplate, templateContent);
+ return nuspecTemplate;
+ }
+ return templatePath;
+ }
+ async computeEffectiveDistOptions(appDirectory, outputDirectory, setupFile, arch) {
const packager = this.packager;
let iconUrl = this.options.iconUrl;
if (iconUrl == null) {
@@ -91,42 +133,27 @@ class SquirrelWindowsTarget extends app_builder_lib_1.Target {
}
checkConflictingOptions(this.options);
const appInfo = packager.appInfo;
- // If not specified will use the Squirrel.Windows that is shipped with electron-installer(https://github.com/electron/windows-installer/tree/main/vendor)
- // After https://github.com/electron-userland/electron-builder-binaries/pull/56 merged, will add `electron-builder-binaries` to get the latest version of squirrel.
- let vendorDirectory = this.options.customSquirrelVendorDir;
- if ((0, builder_util_1.isEmptyOrSpaces)(vendorDirectory) || !fs.existsSync(vendorDirectory)) {
- builder_util_1.log.warn({ vendorDirectory }, "unable to access Squirrel.Windows vendor directory, falling back to default electron-winstaller");
- vendorDirectory = undefined;
- }
const options = {
- appDirectory: this.appDirectory,
- outputDirectory: this.outputDirectory,
+ appDirectory: appDirectory,
+ outputDirectory: outputDirectory,
name: this.options.useAppIdAsId ? appInfo.id : this.appName,
+ title: appInfo.productName || appInfo.name,
version: appInfo.version,
description: appInfo.description,
- exe: `${this.packager.platformSpecificBuildOptions.executableName || this.options.name || appInfo.productName}.exe`,
+ exe: `${appInfo.productFilename || this.options.name || appInfo.productName}.exe`,
authors: appInfo.companyName || "",
+ nuspecTemplate: await this.createNuspecTemplateWithProjectUrl(),
iconUrl,
copyright: appInfo.copyright,
- vendorDirectory,
- nuspecTemplate: path.join(__dirname, "..", "template.nuspectemplate"),
noMsi: !this.options.msi,
+ usePackageJson: false,
};
- const projectUrl = await appInfo.computePackageUrl();
- if (projectUrl != null) {
- const nuspecTemplate = await this.packager.info.tempDirManager.getTempFile({ prefix: "template", suffix: ".nuspectemplate" });
- let templateContent = await (0, promises_1.readFile)(path.resolve(__dirname, "..", "template.nuspectemplate"), "utf8");
- const searchString = "<copyright><%- copyright %></copyright>";
- templateContent = templateContent.replace(searchString, `${searchString}\n <projectUrl>${projectUrl}</projectUrl>`);
- await (0, promises_1.writeFile)(nuspecTemplate, templateContent);
- options.nuspecTemplate = nuspecTemplate;
- }
- if (await (await packager.signingManager.value).cscInfo.value) {
- options.windowsSign = {
- hookFunction: async (file) => {
- await packager.sign(file);
- },
- };
+ options.vendorDirectory = await this.prepareSignedVendorDirectory();
+ this.select7zipArch(options.vendorDirectory);
+ options.fixUpPaths = true;
+ options.setupExe = setupFile;
+ if (this.options.msi) {
+ options.setupMsi = setupFile.replace(".exe", ".msi");
}
if ((0, builder_util_1.isEmptyOrSpaces)(options.description)) {
options.description = this.options.name || appInfo.productName;

193
yarn.lock
View File

@ -2416,11 +2416,6 @@
resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99"
integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==
"@yarnpkg/lockfile@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31"
integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==
abbrev@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
@ -2558,10 +2553,10 @@ app-builder-bin@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@26.0.6:
version "26.0.6"
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-26.0.6.tgz#371dea7e67484ba290d4aea152dd0b9c02c9eead"
integrity sha512-RUjrxIUqPNHNg6xOaOApyUTqUxSHtQAfkYwGefy1VjP62E7HJHcccjGWRzylRKP+Xncul8zm+O5Ht5fzTZx0kg==
app-builder-lib@26.0.7:
version "26.0.7"
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-26.0.7.tgz#c930a624c8184b39c1974b27505f84eaf89d17b7"
integrity sha512-Sa6qGtt2l9of+KEA2fxdRBNLcWld74xgaP+U3Zr3A0R529Z2jPfUTmLi0dDY3jwRF6uOrsQAEkN+JWWvw5WpPw==
dependencies:
"@develar/schema-utils" "~2.6.5"
"@electron/asar" "3.2.18"
@ -2573,7 +2568,7 @@ app-builder-lib@26.0.6:
"@malept/flatpak-bundler" "^0.4.0"
"@types/fs-extra" "9.0.13"
async-exit-hook "^2.0.1"
builder-util "26.0.4"
builder-util "26.0.7"
builder-util-runtime "9.3.1"
chromium-pickle-js "^0.2.0"
config-file-ts "0.2.8-rc1"
@ -2581,7 +2576,7 @@ app-builder-lib@26.0.6:
dotenv "^16.4.5"
dotenv-expand "^11.0.6"
ejs "^3.1.8"
electron-publish "26.0.4"
electron-publish "26.0.7"
fs-extra "^10.1.0"
hosted-git-info "^4.1.0"
is-ci "^3.0.0"
@ -2834,10 +2829,10 @@ builder-util-runtime@9.3.1:
debug "^4.3.4"
sax "^1.2.4"
builder-util@26.0.4:
version "26.0.4"
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-26.0.4.tgz#7be1333cdd1c5b345c9befc8d75b989628b45851"
integrity sha512-l3q/9sbCW/2+t7fLK2qCb3x+ZPdBOFlEjv4cauOkW3AinaS2KLIEiM0K8BWluHIZuaVc+xziAfTzz0o/6BPS4g==
builder-util@26.0.7:
version "26.0.7"
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-26.0.7.tgz#ca420095038d30bd60c4bb1bc3c6879334b0f6cd"
integrity sha512-rZL8wTMtpAM8CZO4l6eIM36oie95LP7de4nEp7ZhQ94JsL7kKT4orPwp6weRzxldXPzNyalUPkhCxJcFDanFIg==
dependencies:
"7zip-bin" "~5.2.0"
"@types/debug" "^4.1.6"
@ -2959,7 +2954,7 @@ call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6:
get-intrinsic "^1.2.4"
set-function-length "^1.2.1"
call-bind@^1.0.7, call-bind@^1.0.8:
call-bind@^1.0.7:
version "1.0.8"
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c"
integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==
@ -2969,14 +2964,6 @@ call-bind@^1.0.7, call-bind@^1.0.8:
get-intrinsic "^1.2.4"
set-function-length "^1.2.2"
call-bound@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.3.tgz#41cfd032b593e39176a71533ab4f384aa04fd681"
integrity sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==
dependencies:
call-bind-apply-helpers "^1.0.1"
get-intrinsic "^1.2.6"
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
@ -3036,7 +3023,7 @@ chromium-pickle-js@^0.2.0:
resolved "https://registry.yarnpkg.com/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz#04a106672c18b085ab774d983dfa3ea138f22205"
integrity sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==
ci-info@^3.2.0, ci-info@^3.7.0:
ci-info@^3.2.0:
version "3.9.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4"
integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==
@ -3392,13 +3379,13 @@ dir-compare@^4.2.0:
minimatch "^3.0.5"
p-limit "^3.1.0 "
dmg-builder@26.0.6:
version "26.0.6"
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-26.0.6.tgz#a3346ea7cb46c664c480a9c155b15dcd5b39c05e"
integrity sha512-LwUyKgzct1t6bHhfzx0VFUvmtkrZPfYN2viMAn2nPlGxrEnMDlupUwuvfkrLqs4UuIWHj4RxY7FiaaCsrSmj3w==
dmg-builder@26.0.7:
version "26.0.7"
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-26.0.7.tgz#f1a2d7dcfd7cfdc143cabdaf78e9f94df9ce98a3"
integrity sha512-fsMjG/TmwcC7HzjSNi+3mlEUgo0RrWwq44VB9XKcGtTPPfqfSi3JvhWCCsAWzElZ0OtSO/DnK/TNgSqyaG/Ajw==
dependencies:
app-builder-lib "26.0.6"
builder-util "26.0.4"
app-builder-lib "26.0.7"
builder-util "26.0.7"
builder-util-runtime "9.3.1"
fs-extra "^10.1.0"
iconv-lite "^0.6.2"
@ -3483,25 +3470,25 @@ ejs@^3.1.8:
dependencies:
jake "^10.8.5"
electron-builder-squirrel-windows@26.0.6:
version "26.0.6"
resolved "https://registry.yarnpkg.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.0.6.tgz#8841a326fdad5d7a08b9773d0c0d6fe525d7c90c"
integrity sha512-C57NClVtO6RjETIjniCGOR7DE+s1cQ+FkoVzdxGniljlmCoyYD3MUH5LgoqhgKsaoGNP89dCO0e6lcFvt4OxEw==
electron-builder-squirrel-windows@26.0.7:
version "26.0.7"
resolved "https://registry.yarnpkg.com/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.0.7.tgz#66cb4a0bedea951b61378bd3bad0c60e7c1731ec"
integrity sha512-xNavcnsM55zkfk6gdyhED+eCOMDFK76B+cqYMANMmeoGH4Lcp6jM3nob6CPXrEsXc0yNMVa7enR3wkRsE5IpaA==
dependencies:
app-builder-lib "26.0.6"
builder-util "26.0.4"
app-builder-lib "26.0.7"
builder-util "26.0.7"
electron-winstaller "5.4.0"
electron-builder@26.0.6:
version "26.0.6"
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-26.0.6.tgz#f0b05e285af671aa6c43c233200ddc85ed7e5c7c"
integrity sha512-CYM/8O46S5OaNK44O9NGZeNDVVrXAH9uDV1dcUNWmwq6gIjdEXsJMXZdMQ19PXHOPUZ9pVhnXTSWJrodIOFZ3Q==
electron-builder@26.0.7:
version "26.0.7"
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-26.0.7.tgz#4f6724f41735b919514cd1b7462be7eb2d37078a"
integrity sha512-nVSaWw3dMLGGLrI/7WSifYzNGNseIpvmFwBRwi2E8tOUkcqN+em+3qYeRq8k/AYHRDcrmj6UCJJT6rBo+bikfw==
dependencies:
app-builder-lib "26.0.6"
builder-util "26.0.4"
app-builder-lib "26.0.7"
builder-util "26.0.7"
builder-util-runtime "9.3.1"
chalk "^4.1.2"
dmg-builder "26.0.6"
dmg-builder "26.0.7"
fs-extra "^10.1.0"
is-ci "^3.0.0"
lazy-val "^1.0.5"
@ -3515,13 +3502,13 @@ electron-devtools-installer@^4.0.0:
dependencies:
unzip-crx-3 "^0.2.0"
electron-publish@26.0.4:
version "26.0.4"
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-26.0.4.tgz#c7171f959e940e64538225fa3a76931c3c870b5d"
integrity sha512-H6F4bjmL3r0hEnn2d8JLnS02TnRBh0HGmwPv2s5kuFbmyxCbwuOdU3q7aY3fS0jEiBO9B4We6nEdulVPdtoK0w==
electron-publish@26.0.7:
version "26.0.7"
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-26.0.7.tgz#b16cd31122233c228c4459cc7ab8dc25c67b6cb3"
integrity sha512-zSCBtAXnLi1QhCDEomIEu22mjKgsf17VYW3fMyZ4Y9Q7s+Ftu9dqbTMaM/e/FBCn9VthnG7C/zPCr1yKpkI+dg==
dependencies:
"@types/fs-extra" "^9.0.11"
builder-util "26.0.4"
builder-util "26.0.7"
builder-util-runtime "9.3.1"
chalk "^4.1.2"
form-data "^4.0.0"
@ -4127,13 +4114,6 @@ find-up@^5.0.0:
locate-path "^6.0.0"
path-exists "^4.0.0"
find-yarn-workspace-root@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd"
integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==
dependencies:
micromatch "^4.0.2"
flat-cache@^3.0.4:
version "3.2.0"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee"
@ -4303,7 +4283,7 @@ get-intrinsic@^1.2.1, get-intrinsic@^1.2.3:
has-symbols "^1.0.3"
hasown "^2.0.0"
get-intrinsic@^1.2.4, get-intrinsic@^1.2.6:
get-intrinsic@^1.2.4:
version "1.2.7"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.7.tgz#dcfcb33d3272e15f445d15124bc0a216189b9044"
integrity sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==
@ -4487,7 +4467,7 @@ got@^11.7.0, got@^11.8.5:
p-cancelable "^2.0.0"
responselike "^2.0.0"
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6:
graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6:
version "4.2.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
@ -4842,11 +4822,6 @@ is-date-object@^1.0.1:
dependencies:
has-tostringtag "^1.0.0"
is-docker@^2.0.0:
version "2.2.1"
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@ -4961,13 +4936,6 @@ is-weakref@^1.0.2:
dependencies:
call-bind "^1.0.2"
is-wsl@^2.1.1:
version "2.2.0"
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
dependencies:
is-docker "^2.0.0"
isarray@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
@ -5106,17 +5074,6 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
json-stable-stringify@^1.0.2:
version "1.2.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.2.1.tgz#addb683c2b78014d0b78d704c2fcbdf0695a60e2"
integrity sha512-Lp6HbbBgosLmJbjx0pBLbgvx68FaFU1sdkmBuckmhhJ88kL13OA51CDtR2yJB50eCNMH9wRqtQNNiAqQH4YXnA==
dependencies:
call-bind "^1.0.8"
call-bound "^1.0.3"
isarray "^2.0.5"
jsonify "^0.0.1"
object-keys "^1.1.1"
json-stringify-safe@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
@ -5150,11 +5107,6 @@ jsonfile@^6.0.1:
optionalDependencies:
graceful-fs "^4.1.6"
jsonify@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978"
integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==
jsonparse@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
@ -5177,13 +5129,6 @@ keyv@^4.0.0, keyv@^4.5.3:
dependencies:
json-buffer "3.0.1"
klaw-sync@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c"
integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==
dependencies:
graceful-fs "^4.1.11"
knip@^5.0.0:
version "5.43.6"
resolved "https://registry.yarnpkg.com/knip/-/knip-5.43.6.tgz#7faed2462ddc27e5b2f47a9224b7f51150b71f9b"
@ -5436,7 +5381,7 @@ merge2@^1.3.0:
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
micromatch@^4.0.2, micromatch@^4.0.8:
micromatch@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202"
integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
@ -5934,14 +5879,6 @@ onetime@^7.0.0:
dependencies:
mimic-function "^5.0.0"
open@^7.4.2:
version "7.4.2"
resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321"
integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==
dependencies:
is-docker "^2.0.0"
is-wsl "^2.1.1"
optionator@^0.9.3:
version "0.9.4"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734"
@ -5969,11 +5906,6 @@ ora@^5.1.0:
strip-ansi "^6.0.0"
wcwidth "^1.0.1"
os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==
p-cancelable@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf"
@ -6079,27 +6011,6 @@ parse-ms@^4.0.0:
resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-4.0.0.tgz#c0c058edd47c2a590151a718990533fd62803df4"
integrity sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==
patch-package@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-8.0.0.tgz#d191e2f1b6e06a4624a0116bcb88edd6714ede61"
integrity sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==
dependencies:
"@yarnpkg/lockfile" "^1.1.0"
chalk "^4.1.2"
ci-info "^3.7.0"
cross-spawn "^7.0.3"
find-yarn-workspace-root "^2.0.0"
fs-extra "^9.0.0"
json-stable-stringify "^1.0.2"
klaw-sync "^6.0.0"
minimist "^1.2.6"
open "^7.4.2"
rimraf "^2.6.3"
semver "^7.5.3"
slash "^2.0.0"
tmp "^0.0.33"
yaml "^2.2.2"
path-exists@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
@ -6311,11 +6222,6 @@ postgres-range@^1.1.1:
resolved "https://registry.yarnpkg.com/postgres-range/-/postgres-range-1.1.4.tgz#a59c5f9520909bcec5e63e8cf913a92e4c952863"
integrity sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==
postinstall-postinstall@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz#4f7f77441ef539d1512c40bd04c71b06a4704ca3"
integrity sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==
postject@^1.0.0-alpha.6:
version "1.0.0-alpha.6"
resolved "https://registry.yarnpkg.com/postject/-/postject-1.0.0-alpha.6.tgz#9d022332272e2cfce8dea4cfce1ee6dd1b2ee135"
@ -6621,13 +6527,6 @@ rfdc@^1.4.1:
resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca"
integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==
rimraf@^2.6.3:
version "2.7.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
dependencies:
glob "^7.1.3"
rimraf@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
@ -6837,11 +6736,6 @@ simple-update-notifier@2.0.0:
dependencies:
semver "^7.5.3"
slash@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
slice-ansi@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
@ -7204,13 +7098,6 @@ tmp-promise@^3.0.2:
dependencies:
tmp "^0.2.0"
tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
dependencies:
os-tmpdir "~1.0.2"
tmp@^0.2.0:
version "0.2.3"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.3.tgz#eb783cc22bc1e8bebd0671476d46ea4eb32a79ae"
@ -7667,7 +7554,7 @@ yallist@^5.0.0:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-5.0.0.tgz#00e2de443639ed0d78fd87de0d27469fbcffb533"
integrity sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==
yaml@^2.2.2, yaml@^2.7.0:
yaml@^2.7.0:
version "2.7.0"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.7.0.tgz#aef9bb617a64c937a9a748803786ad8d3ffe1e98"
integrity sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==