diff --git a/.circleci/workflows.yml b/.circleci/workflows.yml index b1b5da917fdb..53bafe701f81 100644 --- a/.circleci/workflows.yml +++ b/.circleci/workflows.yml @@ -38,6 +38,7 @@ mainBuildFilters: &mainBuildFilters - /^release\/\d+\.\d+\.\d+$/ # use the following branch as well to ensure that v8 snapshot cache updates are fully tested - 'update-v8-snapshot-cache-on-develop' + - 'electron-36' - 'chore/test_cypress_recipes_15' # usually we don't build Mac app - it takes a long time @@ -49,6 +50,7 @@ macWorkflowFilters: &darwin-workflow-filters - equal: [ develop, << pipeline.git.branch >> ] # use the following branch as well to ensure that v8 snapshot cache updates are fully tested - equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ] + - equal: [ 'electron-36', << pipeline.git.branch >> ] - equal: [ 'chore/test_cypress_recipes_15', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ @@ -60,6 +62,7 @@ linuxArm64WorkflowFilters: &linux-arm64-workflow-filters - equal: [ develop, << pipeline.git.branch >> ] # use the following branch as well to ensure that v8 snapshot cache updates are fully tested - equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ] + - equal: [ 'electron-36', << pipeline.git.branch >> ] - equal: [ 'chore/test_cypress_recipes_15', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ @@ -83,6 +86,7 @@ windowsWorkflowFilters: &windows-workflow-filters - equal: [ develop, << pipeline.git.branch >> ] # use the following branch as well to ensure that v8 snapshot cache updates are fully tested - equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ] + - equal: [ 'electron-36', << pipeline.git.branch >> ] - equal: [ 'chore/test_cypress_recipes_15', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ @@ -92,7 +96,7 @@ executors: # the Docker image with Cypress dependencies and Chrome browser cy-doc: docker: - - image: cypress/base-internal:20.18.1-bullseye + - image: cypress/base-internal:22.15.1-bullseye # by default, we use "medium" to balance performance + CI costs. bump or reduce on a per-job basis if needed. resource_class: medium environment: @@ -100,7 +104,7 @@ executors: kitchensink-executor: docker: - - image: cypress/base-internal:20.18.1-bullseye + - image: cypress/base-internal:22.15.1-bullseye # by default, we use "medium" to balance performance + CI costs. bump or reduce on a per-job basis if needed. resource_class: medium environment: @@ -109,7 +113,7 @@ executors: # Docker image with non-root "node" user non-root-docker-user: docker: - - image: cypress/base-internal:20.18.1-bullseye + - image: cypress/base-internal:22.15.1-bullseye user: node environment: PLATFORM: linux @@ -157,7 +161,7 @@ commands: name: Set environment variable to determine whether or not to persist artifacts command: | echo "Setting SHOULD_PERSIST_ARTIFACTS variable" - echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "chore/test_cypress_recipes_15" ]]; then + echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "electron-36" && "$CIRCLE_BRANCH" != "chore/test_cypress_recipes_15" ]]; then export SHOULD_PERSIST_ARTIFACTS=true fi' >> "$BASH_ENV" # You must run `setup_should_persist_artifacts` command and be using bash before running this command @@ -248,7 +252,7 @@ commands: command: | source ./scripts/ensure-node.sh # Minification takes some time. We only really need to do that for the binary (and we regenerate snapshots separately there) - V8_UPDATE_METAFILE=1 V8_SNAPSHOT_DISABLE_MINIFY=1 yarn build-v8-snapshot-prod + V8_UPDATE_METAFILE=1 V8_SNAPSHOT_DISABLE_MINIFY=1 DEBUG=cypress:snapgen* yarn build-v8-snapshot-prod - prepare-modules-cache # So we don't throw these in the workspace cache - persist_to_workspace: root: ~/ @@ -625,24 +629,24 @@ commands: version: << parameters.google-chrome-for-testing-version >> install_chromedriver: false - # This code builds better-sqlite3 on Debian 10 (Buster). This is necessary because Debian 10 has the oldest glibc version (2.28) that we support. + # This code builds better-sqlite3 on Debian 11 (Bullseye). This is necessary because Debian 10 has the oldest glibc version (2.31) that we support. # # Since this is running Docker remote (because the job running the command may not be using an executor with the appropriate glibc version), we need to # copy the project into the container, and copy the built plugin out of the container because the host running docker does not have access to the # project directory so volume mounts are not possible. The built plugin is copied to the project directory so it can be injected into the final binary. build-better-sqlite3: - description: Build better-sqlite3 for glibc 2.28 + description: Build better-sqlite3 for glibc 2.31 steps: - setup_remote_docker - run: - name: Build better-sqlite3 for glibc 2.28 + name: Build better-sqlite3 for glibc 2.31 command: | if [[ ! -f better_sqlite3.node ]]; then set -x apt update && apt install -y docker.io - docker run -d --name better-sqlite3-builder cypress/base-internal:20.15.0-buster-python3.8-gcc-10.5 /bin/bash -c "sleep 1000000000" + docker run -d --name better-sqlite3-builder cypress/base-internal:22.15.1-glibc2.31 /bin/bash -c "sleep 1000000000" docker cp ~/cypress/node_modules/better-sqlite3 better-sqlite3-builder:/better-sqlite3 - docker exec -it better-sqlite3-builder /bin/bash -c "cd /better-sqlite3 && source /root/.bashrc && chown -R root:root . && npm install --ignore-scripts && npx --no-install prebuild -r electron -t 33.2.1 --include-regex 'better_sqlite3.node$'" + docker exec -it better-sqlite3-builder /bin/bash -c "cd /better-sqlite3 && source /root/.bashrc && chown -R root:root . && npm install --ignore-scripts && npx --no-install prebuild -r electron -t 35.3.0 --include-regex 'better_sqlite3.node$'" docker cp better-sqlite3-builder:/better-sqlite3/build/Release/better_sqlite3.node ~/cypress/node_modules/better-sqlite3/build/Release/better_sqlite3.node docker rm -f better-sqlite3-builder cp ~/cypress/node_modules/better-sqlite3/build/Release/better_sqlite3.node ~/cypress/better_sqlite3.node @@ -1896,7 +1900,7 @@ jobs: working_directory: ~/cypress docker: # we need an image with yarn 4 berry installed on it to run this test - - image: cypress/base-internal:20.18.1-yarn-berry + - image: cypress/base-internal:22.15.1-yarn-berry environment: # needed to inform the bootstrap-docker-container.sh script to link the binary in the system-test project directory REPO_DIR: /root/cypress @@ -1930,7 +1934,7 @@ jobs: parallelism: 1 working_directory: ~/cypress docker: - - image: cypress/base-internal:20.18.1-bullseye + - image: cypress/base-internal:22.15.1-bullseye environment: # needed to inform the bootstrap-docker-container.sh script to link the binary in the system-test project directory REPO_DIR: /root/cypress @@ -2584,7 +2588,7 @@ jobs: <<: *defaults resource_class: small docker: - - image: cypress/base-internal:18.17.1 + - image: cypress/base-internal:22.15.1 steps: - maybe_skip_binary_jobs - restore_workspace_binaries diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.yml b/.github/ISSUE_TEMPLATE/1-bug-report.yml index 19d6046515e1..b80e0dfd2796 100644 --- a/.github/ISSUE_TEMPLATE/1-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/1-bug-report.yml @@ -43,7 +43,7 @@ body: attributes: label: Node version description: What version of node.js are you using to run Cypress? - placeholder: ex. v20.18.1 + placeholder: ex. v22.14.0 validations: required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/2-memory-issue.yml b/.github/ISSUE_TEMPLATE/2-memory-issue.yml index f492fbb8d201..89983fb9eca8 100644 --- a/.github/ISSUE_TEMPLATE/2-memory-issue.yml +++ b/.github/ISSUE_TEMPLATE/2-memory-issue.yml @@ -51,7 +51,7 @@ body: attributes: label: Node version description: What version of node.js are you using to run Cypress? - placeholder: ex. v20.18.1 + placeholder: ex. v22.14.0 validations: required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/3-install-issue.yml b/.github/ISSUE_TEMPLATE/3-install-issue.yml index 2a4ce852ce3d..9349700f205c 100644 --- a/.github/ISSUE_TEMPLATE/3-install-issue.yml +++ b/.github/ISSUE_TEMPLATE/3-install-issue.yml @@ -38,7 +38,7 @@ body: attributes: label: Node version description: What version of node.js are you using to run Cypress? - placeholder: ex. v20.18.1 + placeholder: ex. v22.14.0 validations: required: true - type: dropdown diff --git a/.github/workflows/update_v8_snapshot_cache.yml b/.github/workflows/update_v8_snapshot_cache.yml index 4cc2c1462009..8b59aed45862 100644 --- a/.github/workflows/update_v8_snapshot_cache.yml +++ b/.github/workflows/update_v8_snapshot_cache.yml @@ -88,7 +88,7 @@ jobs: - name: Set up Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 cache: 'yarn' - name: Run yarn # set the timeout here to try and deal with Windows slowness diff --git a/.node-version b/.node-version index d4b7699d36ca..8320a6d2994a 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -20.18.1 +22.15.1 diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index 503c9e3eed4c..bb32337ced32 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -28,6 +28,12 @@ _Released 07/15/2025 (PENDING)_ - Migration helpers and related errors are no longer shown when upgrading from Cypress versions earlier than 10.0.0. To migrate from a pre-10.0.0 version, upgrade one major version at a time to receive the appropriate guidance. Addresses [#31345](https://github.com/cypress-io/cypress/issues/31345). Addressed in [https://github.com/cypress-io/cypress/pull/31629/](https://github.com/cypress-io/cypress/pull/31629/). +**Dependency Updates:** + +- Upgraded `electron` from `33.2.1` to `36.4.0`. Addresses [#31257](https://github.com/cypress-io/cypress/issues/31257). Addressed in [#31912](https://github.com/cypress-io/cypress/pull/31912). +- Upgraded bundled Node.js version from `20.18.1` to `22.14.0`. Addresses [#31257](https://github.com/cypress-io/cypress/issues/31257). Addressed in [#31912](https://github.com/cypress-io/cypress/pull/31912). +- Upgraded bundled Chromium version from `130.0.6723.137` to `134.0.6998.165`. Addresses [#31257](https://github.com/cypress-io/cypress/issues/31257). Addressed in [#31912](https://github.com/cypress-io/cypress/pull/31912). + ## 14.5.1 _Released 7/01/2025 (PENDING)_ @@ -114,6 +120,7 @@ _Released 5/6/2025_ - Downgraded `cli-table3` to 0.6.1. Addressed in [31631](https://github.com/cypress-io/cypress/pull/31631). + ## 14.3.2 _Released 4/22/2025_ diff --git a/docker-compose.yml b/docker-compose.yml index 64f5dcbc70c1..26df2a722b0a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -31,7 +31,7 @@ services: - .:/opt/cypress ci: # This should mirror the image used in workflows.yml - image: cypress/base-internal:20.18.1-bullseye + image: cypress/base-internal:22.15.1-bullseye ports: - 5566:5566 - 5567:5567 diff --git a/package.json b/package.json index 6d6136e6f38c..993c19f44f1e 100644 --- a/package.json +++ b/package.json @@ -141,7 +141,7 @@ "dedent": "^0.7.0", "del": "3.0.0", "detect-port": "^2.1.0", - "electron": "33.2.1", + "electron": "36.4.0", "electron-builder": "^25.1.8", "enzyme-adapter-react-16": "1.12.1", "eslint": "^8.56.0", @@ -214,7 +214,7 @@ "yarn-deduplicate": "3.1.0" }, "engines": { - "node": ">=20.18.1", + "node": ">=22.15.1", "yarn": ">=1.22.22" }, "productName": "Cypress", @@ -279,6 +279,7 @@ "@types/react": "18.3.12", "browserify-sign": "4.2.2", "devtools-protocol": "0.0.1459876", + "node-abi": "4.9.0", "sharp": "0.29.3", "vue-template-compiler": "2.6.12" }, diff --git a/packages/data-context/src/actions/ElectronActions.ts b/packages/data-context/src/actions/ElectronActions.ts index 8d03ecb43bec..48d845770bc2 100644 --- a/packages/data-context/src/actions/ElectronActions.ts +++ b/packages/data-context/src/actions/ElectronActions.ts @@ -47,7 +47,7 @@ export class ElectronActions { this.electron.browserWindow?.show() if (this.isMac) { - this.ctx.config.electronApp?.dock.show().catch((e) => { + this.ctx.config.electronApp?.dock?.show().catch((e) => { this.ctx.logTraceError(e) }) } else { diff --git a/packages/data-context/src/sources/ErrorDataSource.ts b/packages/data-context/src/sources/ErrorDataSource.ts index 1bf2c0a15c47..1db95ec6ba05 100644 --- a/packages/data-context/src/sources/ErrorDataSource.ts +++ b/packages/data-context/src/sources/ErrorDataSource.ts @@ -44,7 +44,7 @@ export class ErrorDataSource { const stackLines = stackUtils.getStackLines(source.cypressError.stack ?? '') // we want to filter out any tsx transformation code in the stack to help identify the error. Windows stack can have both posix paths and dos paths so we need to filter both (last line is a no-op on posix as its the same thing) - const filteredStackLines = stackLines.filter((stackLine) => !stackLine.includes('node:electron') && !stackLine.includes('node:internal') && !stackLine.includes('source-map-support') && !stackLine.includes(tsxCodeFrameFilter) && !(isWindows && stackLine.includes(windowsTsxCodeFrameFilter))) + const filteredStackLines = stackLines.filter((stackLine) => !stackLine.includes('node:') && !stackLine.includes('source-map-support') && !stackLine.includes(tsxCodeFrameFilter) && !(isWindows && stackLine.includes(windowsTsxCodeFrameFilter))) const parsedLine = stackUtils.parseStackLine(filteredStackLines[0] ?? '') if (parsedLine) { diff --git a/packages/electron/README.md b/packages/electron/README.md index 208a609b2810..b83ef961ad0c 100644 --- a/packages/electron/README.md +++ b/packages/electron/README.md @@ -87,3 +87,12 @@ Upgrading `electron` involves more than just bumping this package's `package.jso *Solution*: This is often due to a mismatched prebuild of `better-sqlite3`. Ensure your repository is clear of untracked files with `git clean -xfd`, and run `yarn` again. If the issue persists, ensure you are running the latest version of your operating system. Electron prebuilds key to darwin/linux/windows, and do not differentiate between versions of the same. +#### node-abi out of date + +If you run into an error like below, please try some of the strategies below. + +```shell +Could not detect abi for version X.X.X and runtime electron. Updating "node-abi" might help solve this issue if it is a new release of electron +``` + +*Solution*: See if there's a new version of `@electron/rebuild` with a newer version of `node-abi` within it. If there is not a newer version, find the [latest release](https://github.com/electron/node-abi/releases) of `node-abi` that has an updated ABI registry with an `abi` entry matching the major version of Electron that you're updating to. Set this `node-abi` version in the `resolutions` of our [package.json](./package.json) file and rerun `yarn`. \ No newline at end of file diff --git a/packages/electron/package.json b/packages/electron/package.json index dc8d22b68f66..19c30978cff8 100644 --- a/packages/electron/package.json +++ b/packages/electron/package.json @@ -24,7 +24,7 @@ }, "devDependencies": { "@electron/fuses": "1.8.0", - "@electron/packager": "18.3.4", + "@electron/packager": "18.3.6", "execa": "4.1.0", "mocha": "3.5.3", "systeminformation": "5.22.8" diff --git a/packages/server/__snapshots__/fixture_spec.js b/packages/server/__snapshots__/fixture_spec.js new file mode 100644 index 000000000000..07c7c612bee7 --- /dev/null +++ b/packages/server/__snapshots__/fixture_spec.js @@ -0,0 +1,4 @@ +exports['invalid json error message'] = ` +'bad_json.json' is not valid JSON. +Expected ',' or '}' after property value in JSON at position 20 (line 3 column 3) while parsing near "{\\n \\"bad\\": \\"json\\"\\n \\"should\\": \\"not parse..." +` diff --git a/packages/server/package.json b/packages/server/package.json index 0704e6f10b61..e89d97a3e9b0 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -40,7 +40,7 @@ "ast-types": "0.13.3", "axios": "^1.7.9", "base64url": "^3.0.1", - "better-sqlite3": "11.5.0", + "better-sqlite3": "11.9.1", "black-hole-stream": "0.0.1", "bluebird": "3.7.2", "body-parser": "1.20.0", @@ -146,7 +146,7 @@ "@cypress/debugging-proxy": "2.0.1", "@cypress/sinon-chai": "2.9.1", "@cypress/webpack-dev-server": "0.0.0-development", - "@electron/rebuild": "3.7.1", + "@electron/rebuild": "4.0.1", "@ffprobe-installer/ffprobe": "1.1.0", "@packages/config": "0.0.0-development", "@packages/data-context": "0.0.0-development", diff --git a/packages/server/test/unit/fixture_spec.js b/packages/server/test/unit/fixture_spec.js index 40420bb27698..483ee275e358 100644 --- a/packages/server/test/unit/fixture_spec.js +++ b/packages/server/test/unit/fixture_spec.js @@ -6,6 +6,7 @@ const fixture = require(`../../lib/fixture`) const { fs } = require(`../../lib/util/fs`) const FixturesHelper = require('@tooling/system-tests') const { getCtx } = require(`../../lib/makeDataContext`) +const snapshot = require('snap-shot-it') let ctx @@ -68,14 +69,11 @@ describe('lib/fixture', () => { context('json files', () => { it('throws when json is invalid', function () { - const e = - `\'bad_json.json\' is not valid JSON.\nExpected ',' or '}' after property value in JSON at position 20 while parsing near "{\\n \\"bad\\": \\"json\\"\\n \\"should\\": \\"not parse..."` - return fixture.get(this.fixturesFolder, 'bad_json.json') .then(() => { throw new Error('should have failed but did not') }).catch((err) => { - expect(err.message).to.eq(e) + snapshot('invalid json error message', err.message) }) }) diff --git a/patches/http-proxy+1.18.1.patch b/patches/http-proxy+1.18.1.patch new file mode 100644 index 000000000000..50190000882c --- /dev/null +++ b/patches/http-proxy+1.18.1.patch @@ -0,0 +1,16 @@ +diff --git a/node_modules/http-proxy/lib/http-proxy/common.js b/node_modules/http-proxy/lib/http-proxy/common.js +index 6513e81..5ee132c 100644 +--- a/node_modules/http-proxy/lib/http-proxy/common.js ++++ b/node_modules/http-proxy/lib/http-proxy/common.js +@@ -6,6 +6,11 @@ var common = exports, + var upgradeHeader = /(^|,)\s*upgrade\s*($|,)/i, + isSSL = /^https|wss/; + ++/** ++ * This is a workaround to prevent the module from being included in the ++ * v8 snapshot due to serialization issues in v8 versions 13.4.102-13.8.91. ++ */ ++common._reject_file_as_deferred = require('path').join('a','b') + /** + * Simple Regex for testing if protocol is https + */ diff --git a/scripts/binary/binary-integrity-check-source.js b/scripts/binary/binary-integrity-check-source.js index a6892a47d887..79acc78aceb4 100644 --- a/scripts/binary/binary-integrity-check-source.js +++ b/scripts/binary/binary-integrity-check-source.js @@ -94,7 +94,7 @@ function validateElectron (electron) { function validateFs (fs) { // Hard coded function as this is electron code and there's not an easy way to get the function string at package time. If this fails on an updated version of electron, we'll need to update this. - if (originalToString.call(fs.readFileSync) !== `function(e,r){const n=splitPath(e);if(!n.isAsar)return w.apply(this,arguments);const{asarPath:i,filePath:a}=n,o=getOrCreateArchive(i);if(!o)throw createError("INVALID_ARCHIVE",{asarPath:i});const c=o.getFileInfo(a);if(!c)throw createError("NOT_FOUND",{asarPath:i,filePath:a});if(0===c.size)return r?"":s.Buffer.alloc(0);if(c.unpacked){const e=o.copyFileOut(a);return t.readFileSync(e,r)}if(r){if("string"==typeof r)r={encoding:r};else if("object"!=typeof r)throw new TypeError("Bad arguments")}else r={encoding:null};const{encoding:f}=r,l=s.Buffer.alloc(c.size),u=o.getFdAndValidateIntegrityLater();if(!(u>=0))throw createError("NOT_FOUND",{asarPath:i,filePath:a});return logASARAccess(i,a,c.offset),t.readSync(u,l,0,c.size,c.offset),validateBufferIntegrity(l,c.integrity),f?l.toString(f):l}`) { + if (originalToString.call(fs.readFileSync) !== `function(t,e){const r=splitPath(t);return r.isAsar?readFileFromArchiveSync(r,e):R.apply(this,arguments)}`) { console.error(`Integrity check failed for toString.call(fs.readFileSync)`) throw new Error(integrityErrorMessage) } @@ -190,6 +190,10 @@ function integrityCheck (options) { line: 1, column: 2764, }, + { + functionName: 'traceSync', + fileName: 'node:diagnostics_channel', + }, ], }) diff --git a/scripts/binary/index.js b/scripts/binary/index.js index 88aa75b7d9f8..40d9bacf1ad5 100644 --- a/scripts/binary/index.js +++ b/scripts/binary/index.js @@ -78,8 +78,10 @@ async function testExecutableVersion (buildAppExecutable, version) { la(result.stdout, 'missing output when getting built version', result) console.log('built app version', result.stdout) - la(result.stdout.trim() === version.trim(), 'different version reported', - result.stdout, 'from input version to build', version) + la( + result.stdout.trim() === version.trim(), + `different version reported: '${result.stdout.trim()}' from input version to build '${version.trim()}'`, + ) console.log('✅ using --version on the Cypress binary works') } diff --git a/scripts/binary/smoke.js b/scripts/binary/smoke.js index 7962bc191144..fdc0a97ce0d2 100644 --- a/scripts/binary/smoke.js +++ b/scripts/binary/smoke.js @@ -285,7 +285,7 @@ const runIntegrityTest = async function (buildAppExecutable, buildAppDir, e2e) { await fs.remove(path.join(buildAppDir, 'index2.js')) } - await testAlteringEntryPoint('console.log("simple alteration")', 'Integrity check failed with expected stack length 9 but got 10') + await testAlteringEntryPoint('console.log("simple alteration")', 'Integrity check failed with expected stack length 10 but got 12') await testAlteringEntryPoint('console.log("accessing " + global.getSnapshotResult())', 'getSnapshotResult can only be called once') function compareGlobals () { @@ -299,9 +299,9 @@ const runIntegrityTest = async function (buildAppExecutable, buildAppDir, e2e) { console.error(`extra keys in electron process: ${extraKeys}`) } - const allowList = ['__core-js_shared__', 'getSnapshotResult', 'supportTypeScript', 'Iterator'] + const allowList = ['__core-js_shared__', 'getSnapshotResult', 'supportTypeScript', 'SuppressedError', 'DisposableStack', 'AsyncDisposableStack', 'Float16Array'] - await testAlteringEntryPoint(`(${compareGlobals.toString()})()`, `extra keys in electron process: ${allowList}\nIntegrity check failed with expected stack length 9 but got 10`) + await testAlteringEntryPoint(`(${compareGlobals.toString()})()`, `extra keys in electron process: ${allowList}\nIntegrity check failed with expected stack length 10 but got 12`) const testTemporarilyRewritingEntryPoint = async () => { const file = path.join(buildAppDir, 'index.js') diff --git a/scripts/binary/trigger-publish-binary-pipeline.js b/scripts/binary/trigger-publish-binary-pipeline.js index a57cfa801d6b..4dafe153e350 100644 --- a/scripts/binary/trigger-publish-binary-pipeline.js +++ b/scripts/binary/trigger-publish-binary-pipeline.js @@ -10,13 +10,14 @@ const { getNextVersionForBinary } = require('../get-next-version') const { nextVersion } = await getNextVersionForBinary() const body = JSON.stringify({ + branch: 'electron-36', parameters: { temp_dir: os.tmpdir(), sha: process.env.CIRCLE_SHA1, job_name: process.env.CIRCLE_JOB, triggered_workflow_id: process.env.CIRCLE_WORKFLOW_ID, triggered_job_url: process.env.CIRCLE_BUILD_URL, - branch: process.env.CIRCLE_BRANCH, + branch: 'electron-36', should_persist_artifacts: Boolean(process.env.SHOULD_PERSIST_ARTIFACTS), binary_version: nextVersion, }, diff --git a/scripts/binary/zip.js b/scripts/binary/zip.js index 8ab6af62a1fd..9c00b07fa938 100644 --- a/scripts/binary/zip.js +++ b/scripts/binary/zip.js @@ -75,7 +75,7 @@ const checkZipSize = function (zipPath) { // Before you modify these max sizes, check and see what you did that might have // done to increase the size of the binary, and if you do need to change it, // call it out in the PR description / comments - const MAX_ALLOWED_SIZE_MB = os.platform() === 'win32' ? 295 : 200 + const MAX_ALLOWED_SIZE_MB = os.platform() === 'win32' ? 295 : 256 const MAX_ZIP_FILE_SIZE = megaBytes(MAX_ALLOWED_SIZE_MB) if (stats.size > MAX_ZIP_FILE_SIZE) { diff --git a/system-tests/__snapshots__/protocol_spec.js b/system-tests/__snapshots__/protocol_spec.js index 8a3b23dd9114..42379f0a2b76 100644 --- a/system-tests/__snapshots__/protocol_spec.js +++ b/system-tests/__snapshots__/protocol_spec.js @@ -6695,7 +6695,7 @@ exports['component events - experimentalSingleTabRunMode: true'] = ` "line": 4, "column": 0, "whitespace": " ", - "stack": "Error\\n at ./src/components/HelloEarth.cy.jsx (http://localhost:2121/__cypress/src/spec-0.js:16:1)\\n at Function.__webpack_require__ (http://localhost:2121/__cypress/src/main.js:108:42)" + "stack": "Error\\n at ./src/components/HelloEarth.cy.jsx (http://localhost:2121/__cypress/src/spec-0.js:16:1)\\n at __webpack_require__ (http://localhost:2121/__cypress/src/main.js:108:42)" }, "retries": -1, "_slow": 250, @@ -6798,7 +6798,7 @@ exports['component events - experimentalSingleTabRunMode: true'] = ` "line": 4, "column": 0, "whitespace": " ", - "stack": "Error\\n at ./src/components/HelloMars.cy.jsx (http://localhost:2121/__cypress/src/spec-0.js:16:1)\\n at Function.__webpack_require__ (http://localhost:2121/__cypress/src/main.js:108:42)" + "stack": "Error\\n at ./src/components/HelloMars.cy.jsx (http://localhost:2121/__cypress/src/spec-0.js:16:1)\\n at __webpack_require__ (http://localhost:2121/__cypress/src/main.js:108:42)" }, "retries": -1, "_slow": 250, @@ -8514,7 +8514,7 @@ exports['component events - experimentalSingleTabRunMode: false'] = ` "line": 4, "column": 0, "whitespace": " ", - "stack": "Error\\n at ./src/components/HelloEarth.cy.jsx (http://localhost:2121/__cypress/src/spec-0.js:16:1)\\n at Function.__webpack_require__ (http://localhost:2121/__cypress/src/main.js:108:42)" + "stack": "Error\\n at ./src/components/HelloEarth.cy.jsx (http://localhost:2121/__cypress/src/spec-0.js:16:1)\\n at __webpack_require__ (http://localhost:2121/__cypress/src/main.js:108:42)" }, "retries": -1, "_slow": 250, @@ -8617,7 +8617,7 @@ exports['component events - experimentalSingleTabRunMode: false'] = ` "line": 4, "column": 0, "whitespace": " ", - "stack": "Error\\n at ./src/components/HelloMars.cy.jsx (http://localhost:2121/__cypress/src/spec-0.js:16:1)\\n at Function.__webpack_require__ (http://localhost:2121/__cypress/src/main.js:108:42)" + "stack": "Error\\n at ./src/components/HelloMars.cy.jsx (http://localhost:2121/__cypress/src/spec-0.js:16:1)\\n at __webpack_require__ (http://localhost:2121/__cypress/src/main.js:108:42)" }, "retries": -1, "_slow": 250, diff --git a/system-tests/test-binary/ci_environments_spec.ts b/system-tests/test-binary/ci_environments_spec.ts index 95123b9a4671..a14dd7e647ea 100644 --- a/system-tests/test-binary/ci_environments_spec.ts +++ b/system-tests/test-binary/ci_environments_spec.ts @@ -16,7 +16,7 @@ function smokeTestDockerImage (title: string, dockerImage: string, expectedExitC describe('e2e binary CI environments', () => { smokeTestDockerImage( 'bare node image fails (lacks xvfb)', - 'node:20', 1, + 'node:22', 1, async (exec) => { const { stdout } = await exec() @@ -26,11 +26,11 @@ describe('e2e binary CI environments', () => { smokeTestDockerImage( 'ubuntu 22 passes', - 'cypress/base-internal:ubuntu22-node20', 0, + 'cypress/base-internal:ubuntu22-node22', 0, ) smokeTestDockerImage( 'ubuntu 24 passes', - 'cypress/base-internal:ubuntu24-node20', 0, + 'cypress/base-internal:ubuntu24-node22', 0, ) }) diff --git a/system-tests/test-binary/module_api_spec.ts b/system-tests/test-binary/module_api_spec.ts index 03ac8eb60246..3200984fc4e8 100644 --- a/system-tests/test-binary/module_api_spec.ts +++ b/system-tests/test-binary/module_api_spec.ts @@ -3,7 +3,7 @@ import systemTests from '../lib/system-tests' describe('module API', () => { systemTests.it('can run module API Mocha spec', { timeout: 240000, - dockerImage: 'cypress/base-internal:20.18.1-bullseye', + dockerImage: 'cypress/base-internal:20.18.3-bullseye', withBinary: true, project: 'module-api', browser: 'electron', diff --git a/tooling/electron-mksnapshot/package.json b/tooling/electron-mksnapshot/package.json index 02a9d18ab834..34faefb0df09 100644 --- a/tooling/electron-mksnapshot/package.json +++ b/tooling/electron-mksnapshot/package.json @@ -15,7 +15,7 @@ "watch": "tsc --watch" }, "dependencies": { - "@electron/get": "^3.0.0", + "@electron/get": "^4.0.0", "debug": "^4.3.4", "extract-zip": "^2.0.1", "fs-extra": "^10.0.0", diff --git a/tooling/v8-snapshot/cache/darwin/snapshot-meta.json b/tooling/v8-snapshot/cache/darwin/snapshot-meta.json index 6c1ecc05c18f..0a5693b016a1 100644 --- a/tooling/v8-snapshot/cache/darwin/snapshot-meta.json +++ b/tooling/v8-snapshot/cache/darwin/snapshot-meta.json @@ -295,6 +295,7 @@ "./node_modules/graceful-fs/graceful-fs.js", "./node_modules/http-proxy/index.js", "./node_modules/http-proxy/lib/http-proxy.js", + "./node_modules/http-proxy/lib/http-proxy/common.js", "./node_modules/http-proxy/lib/http-proxy/index.js", "./node_modules/http-proxy/lib/http-proxy/passes/web-incoming.js", "./node_modules/http-signature/lib/index.js", @@ -1042,6 +1043,8 @@ "./node_modules/@cypress/commit-info/src/index.js", "./node_modules/@cypress/commit-info/src/utils.js", "./node_modules/@cypress/get-windows-proxy/node_modules/debug/src/common.js", + "./node_modules/@cypress/get-windows-proxy/node_modules/registry-js/dist/lib/index.js", + "./node_modules/@cypress/get-windows-proxy/node_modules/registry-js/dist/lib/registry.js", "./node_modules/@cypress/get-windows-proxy/src/index.js", "./node_modules/@cypress/parse-domain/build/tries/icann.complete.json", "./node_modules/@cypress/parse-domain/build/tries/private.complete.json", @@ -1526,19 +1529,6 @@ "./node_modules/base64url/index.js", "./node_modules/basic-auth/index.js", "./node_modules/bcrypt-pbkdf/index.js", - "./node_modules/better-sqlite3/lib/database.js", - "./node_modules/better-sqlite3/lib/index.js", - "./node_modules/better-sqlite3/lib/methods/aggregate.js", - "./node_modules/better-sqlite3/lib/methods/backup.js", - "./node_modules/better-sqlite3/lib/methods/function.js", - "./node_modules/better-sqlite3/lib/methods/inspect.js", - "./node_modules/better-sqlite3/lib/methods/pragma.js", - "./node_modules/better-sqlite3/lib/methods/serialize.js", - "./node_modules/better-sqlite3/lib/methods/table.js", - "./node_modules/better-sqlite3/lib/methods/transaction.js", - "./node_modules/better-sqlite3/lib/methods/wrappers.js", - "./node_modules/better-sqlite3/lib/sqlite-error.js", - "./node_modules/better-sqlite3/lib/util.js", "./node_modules/binary-extensions/binary-extensions.json", "./node_modules/binary-extensions/index.js", "./node_modules/binaryextensions/edition-es5/index.js", @@ -2131,7 +2121,6 @@ "./node_modules/html-tags/html-tags.json", "./node_modules/html-tags/index.js", "./node_modules/http-errors/index.js", - "./node_modules/http-proxy/lib/http-proxy/common.js", "./node_modules/http-proxy/lib/http-proxy/passes/web-outgoing.js", "./node_modules/http-proxy/lib/http-proxy/passes/ws-incoming.js", "./node_modules/http-signature/lib/verify.js", @@ -3174,6 +3163,8 @@ "./node_modules/recast/parsers/babel.js", "./node_modules/recast/parsers/esprima.js", "./node_modules/recast/parsers/typescript.js", + "./node_modules/registry-js/dist/lib/index.js", + "./node_modules/registry-js/dist/lib/registry.js", "./node_modules/request-promise-core/configure/request2.js", "./node_modules/request-promise-core/errors.js", "./node_modules/request-promise-core/lib/errors.js", @@ -4004,6 +3995,19 @@ "./packages/server/node_modules/axios/lib/platform/index.js", "./packages/server/node_modules/axios/lib/platform/node/classes/FormData.js", "./packages/server/node_modules/axios/lib/platform/node/classes/URLSearchParams.js", + "./packages/server/node_modules/better-sqlite3/lib/database.js", + "./packages/server/node_modules/better-sqlite3/lib/index.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/aggregate.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/backup.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/function.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/inspect.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/pragma.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/serialize.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/table.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/transaction.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/wrappers.js", + "./packages/server/node_modules/better-sqlite3/lib/sqlite-error.js", + "./packages/server/node_modules/better-sqlite3/lib/util.js", "./packages/server/node_modules/body-parser/lib/read.js", "./packages/server/node_modules/body-parser/lib/types/json.js", "./packages/server/node_modules/body-parser/lib/types/raw.js", diff --git a/tooling/v8-snapshot/cache/linux/snapshot-meta.json b/tooling/v8-snapshot/cache/linux/snapshot-meta.json index 1e81cc87c910..5aae563705f7 100644 --- a/tooling/v8-snapshot/cache/linux/snapshot-meta.json +++ b/tooling/v8-snapshot/cache/linux/snapshot-meta.json @@ -294,6 +294,7 @@ "./node_modules/graceful-fs/graceful-fs.js", "./node_modules/http-proxy/index.js", "./node_modules/http-proxy/lib/http-proxy.js", + "./node_modules/http-proxy/lib/http-proxy/common.js", "./node_modules/http-proxy/lib/http-proxy/index.js", "./node_modules/http-proxy/lib/http-proxy/passes/web-incoming.js", "./node_modules/http-signature/lib/index.js", @@ -1527,19 +1528,6 @@ "./node_modules/base64url/index.js", "./node_modules/basic-auth/index.js", "./node_modules/bcrypt-pbkdf/index.js", - "./node_modules/better-sqlite3/lib/database.js", - "./node_modules/better-sqlite3/lib/index.js", - "./node_modules/better-sqlite3/lib/methods/aggregate.js", - "./node_modules/better-sqlite3/lib/methods/backup.js", - "./node_modules/better-sqlite3/lib/methods/function.js", - "./node_modules/better-sqlite3/lib/methods/inspect.js", - "./node_modules/better-sqlite3/lib/methods/pragma.js", - "./node_modules/better-sqlite3/lib/methods/serialize.js", - "./node_modules/better-sqlite3/lib/methods/table.js", - "./node_modules/better-sqlite3/lib/methods/transaction.js", - "./node_modules/better-sqlite3/lib/methods/wrappers.js", - "./node_modules/better-sqlite3/lib/sqlite-error.js", - "./node_modules/better-sqlite3/lib/util.js", "./node_modules/binary-extensions/binary-extensions.json", "./node_modules/binary-extensions/index.js", "./node_modules/binaryextensions/edition-es5/index.js", @@ -2132,7 +2120,6 @@ "./node_modules/html-tags/html-tags.json", "./node_modules/html-tags/index.js", "./node_modules/http-errors/index.js", - "./node_modules/http-proxy/lib/http-proxy/common.js", "./node_modules/http-proxy/lib/http-proxy/passes/web-outgoing.js", "./node_modules/http-proxy/lib/http-proxy/passes/ws-incoming.js", "./node_modules/http-signature/lib/verify.js", @@ -4007,6 +3994,19 @@ "./packages/server/node_modules/axios/lib/platform/index.js", "./packages/server/node_modules/axios/lib/platform/node/classes/FormData.js", "./packages/server/node_modules/axios/lib/platform/node/classes/URLSearchParams.js", + "./packages/server/node_modules/better-sqlite3/lib/database.js", + "./packages/server/node_modules/better-sqlite3/lib/index.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/aggregate.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/backup.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/function.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/inspect.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/pragma.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/serialize.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/table.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/transaction.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/wrappers.js", + "./packages/server/node_modules/better-sqlite3/lib/sqlite-error.js", + "./packages/server/node_modules/better-sqlite3/lib/util.js", "./packages/server/node_modules/body-parser/lib/read.js", "./packages/server/node_modules/body-parser/lib/types/json.js", "./packages/server/node_modules/body-parser/lib/types/raw.js", diff --git a/tooling/v8-snapshot/cache/win32/snapshot-meta.json b/tooling/v8-snapshot/cache/win32/snapshot-meta.json index 31fc6e3547d2..a705b7606285 100644 --- a/tooling/v8-snapshot/cache/win32/snapshot-meta.json +++ b/tooling/v8-snapshot/cache/win32/snapshot-meta.json @@ -158,8 +158,6 @@ "./node_modules/@cypress/commit-info/node_modules/semver/semver.js", "./node_modules/@cypress/get-windows-proxy/node_modules/debug/src/browser.js", "./node_modules/@cypress/get-windows-proxy/node_modules/debug/src/index.js", - "./node_modules/@cypress/get-windows-proxy/node_modules/registry-js/dist/lib/index.js", - "./node_modules/@cypress/get-windows-proxy/node_modules/registry-js/dist/lib/registry.js", "./node_modules/@cypress/request-promise/lib/rp.js", "./node_modules/@cypress/request-promise/node_modules/tough-cookie/lib/cookie.js", "./node_modules/@cypress/request/index.js", @@ -296,6 +294,7 @@ "./node_modules/graceful-fs/graceful-fs.js", "./node_modules/http-proxy/index.js", "./node_modules/http-proxy/lib/http-proxy.js", + "./node_modules/http-proxy/lib/http-proxy/common.js", "./node_modules/http-proxy/lib/http-proxy/index.js", "./node_modules/http-proxy/lib/http-proxy/passes/web-incoming.js", "./node_modules/http-signature/lib/index.js", @@ -1531,19 +1530,6 @@ "./node_modules/base64url/index.js", "./node_modules/basic-auth/index.js", "./node_modules/bcrypt-pbkdf/index.js", - "./node_modules/better-sqlite3/lib/database.js", - "./node_modules/better-sqlite3/lib/index.js", - "./node_modules/better-sqlite3/lib/methods/aggregate.js", - "./node_modules/better-sqlite3/lib/methods/backup.js", - "./node_modules/better-sqlite3/lib/methods/function.js", - "./node_modules/better-sqlite3/lib/methods/inspect.js", - "./node_modules/better-sqlite3/lib/methods/pragma.js", - "./node_modules/better-sqlite3/lib/methods/serialize.js", - "./node_modules/better-sqlite3/lib/methods/table.js", - "./node_modules/better-sqlite3/lib/methods/transaction.js", - "./node_modules/better-sqlite3/lib/methods/wrappers.js", - "./node_modules/better-sqlite3/lib/sqlite-error.js", - "./node_modules/better-sqlite3/lib/util.js", "./node_modules/binary-extensions/binary-extensions.json", "./node_modules/binary-extensions/index.js", "./node_modules/binaryextensions/edition-es5/index.js", @@ -2136,7 +2122,6 @@ "./node_modules/html-tags/html-tags.json", "./node_modules/html-tags/index.js", "./node_modules/http-errors/index.js", - "./node_modules/http-proxy/lib/http-proxy/common.js", "./node_modules/http-proxy/lib/http-proxy/passes/web-outgoing.js", "./node_modules/http-proxy/lib/http-proxy/passes/ws-incoming.js", "./node_modules/http-signature/lib/verify.js", @@ -4008,6 +3993,19 @@ "./packages/server/node_modules/axios/lib/platform/index.js", "./packages/server/node_modules/axios/lib/platform/node/classes/FormData.js", "./packages/server/node_modules/axios/lib/platform/node/classes/URLSearchParams.js", + "./packages/server/node_modules/better-sqlite3/lib/database.js", + "./packages/server/node_modules/better-sqlite3/lib/index.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/aggregate.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/backup.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/function.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/inspect.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/pragma.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/serialize.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/table.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/transaction.js", + "./packages/server/node_modules/better-sqlite3/lib/methods/wrappers.js", + "./packages/server/node_modules/better-sqlite3/lib/sqlite-error.js", + "./packages/server/node_modules/better-sqlite3/lib/util.js", "./packages/server/node_modules/body-parser/lib/read.js", "./packages/server/node_modules/body-parser/lib/types/json.js", "./packages/server/node_modules/body-parser/lib/types/raw.js", diff --git a/tooling/v8-snapshot/src/generator/snapshot-generator.ts b/tooling/v8-snapshot/src/generator/snapshot-generator.ts index c059f6b30432..efb8afbc16b4 100644 --- a/tooling/v8-snapshot/src/generator/snapshot-generator.ts +++ b/tooling/v8-snapshot/src/generator/snapshot-generator.ts @@ -327,8 +327,8 @@ export class SnapshotGenerator { } logDebug( Object.assign({}, result, { - snapshotScript: `len: ${result.snapshotScript.length}`, - bundle: `len: ${result.bundle.length}`, + snapshotScript: `len: ${Buffer.byteLength(result.snapshotScript)} bytes`, + bundle: `len: ${Buffer.byteLength(result.bundle)} bytes`, meta: '', }), ) @@ -356,6 +356,8 @@ export class SnapshotGenerator { logInfo(`Writing snapshot script to ${this.snapshotScriptPath}`) if (this.minify) { + logInfo('Minifying snapshot script') + const minified = await minify(this.snapshotScript!.toString(), { sourceMap: false, }) @@ -369,6 +371,8 @@ export class SnapshotGenerator { } // 4. Write the snapshot script to the configured file + logInfo(`Writing snapshot script to ${this.snapshotScriptPath}`) + return fs.promises.writeFile(this.snapshotScriptPath, this.snapshotScript) } @@ -503,12 +507,16 @@ export class SnapshotGenerator { return { v8ContextFile: this.v8ContextFile, snapshotBinDir: this.snapshotBinDir } } catch (err: any) { - if (err.stderr != null) { - logError(err.stderr.toString()) - } - - if (err.stdout != null) { - logDebug(err.stdout.toString()) + if (err.stderr || err.stdout) { + if (err.stderr != null) { + logError(err.stderr.toString()) + } + + if (err.stdout != null) { + logDebug(err.stdout.toString()) + } + } else { + logError(err.toString()) } // If things went wrong print instructions on how to execute the diff --git a/tooling/v8-snapshot/test/integration/loading.spec.ts b/tooling/v8-snapshot/test/integration/loading.spec.ts index 5f9a018563d3..8be85fb84235 100644 --- a/tooling/v8-snapshot/test/integration/loading.spec.ts +++ b/tooling/v8-snapshot/test/integration/loading.spec.ts @@ -161,7 +161,7 @@ describe('loading', () => { } catch (err: any) { assert.fail(err.toString()) } - }) + }).timeout(120000) } it('loads a cached module that modifies require cache', async () => { diff --git a/yarn.lock b/yarn.lock index a42efdf9de53..7bd35e7f5ce7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2934,10 +2934,10 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@electron/asar@^3.2.1", "@electron/asar@^3.2.7": - version "3.2.10" - resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.10.tgz#615cf346b734b23cafa4e0603551010bd0e50aa8" - integrity sha512-mvBSwIBUeiRscrCeJE1LwctAriBj65eUDm0Pc11iE5gRwzkmsdbS7FnZ1XUWjpSeQWL1L5g12Fc/SchPM9DUOw== +"@electron/asar@^3.2.13", "@electron/asar@^3.2.7": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.4.1.tgz#4e9196a4b54fba18c56cd8d5cac67c5bdc588065" + integrity sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA== dependencies: commander "^5.0.0" glob "^7.1.6" @@ -2982,20 +2982,20 @@ optionalDependencies: global-agent "^3.0.0" -"@electron/node-gyp@https://github.com/electron/node-gyp#06b29aafb7708acef8b3669835c8a7857ebc92d2": - version "10.2.0-electron.1" - resolved "https://github.com/electron/node-gyp#06b29aafb7708acef8b3669835c8a7857ebc92d2" +"@electron/get@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-4.0.0.tgz#ebb11639ca921b1c1e8fffb52e5e85cde07e022b" + integrity sha512-IT42k1GIg1bhJ5RHXdKR/ExquWdQN6eU7WU6tJMnAYFLbsg0Q98GJ7kEyOONyFqE8p8Pky0hhYfmuo3Go8cxIA== 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" + debug "^4.1.1" + env-paths "^3.0.0" + got "^14.4.5" + graceful-fs "^4.2.11" + progress "^2.0.3" + semver "^7.6.3" + sumchecker "^3.0.1" + optionalDependencies: + global-agent "^3.0.0" "@electron/notarize@2.5.0", "@electron/notarize@^2.1.0", "@electron/notarize@^2.5.0": version "2.5.0" @@ -3018,12 +3018,12 @@ minimist "^1.2.6" plist "^3.0.5" -"@electron/packager@18.3.4": - version "18.3.4" - resolved "https://registry.yarnpkg.com/@electron/packager/-/packager-18.3.4.tgz#5f2769b18d5f03eaff270e8e47440758282080c6" - integrity sha512-u/IxB5nelg+areXbSEWJxg1r4z0TcS1D1Dax106PsgwgPtcFvB6jjGxZVLA0WHSrLpkj6qfigHSuVXzxMTH+Qw== +"@electron/packager@18.3.6": + version "18.3.6" + resolved "https://registry.yarnpkg.com/@electron/packager/-/packager-18.3.6.tgz#3596399334866737bc33ab663e90376d7aad89e4" + integrity sha512-1eXHB5t+SQKvUiDpWGpvr90ZSSbXj+isrh3YbjCTjKT4bE4SQrKSBfukEAaBvp67+GXHFtCHjQgN9qSTFIge+Q== dependencies: - "@electron/asar" "^3.2.1" + "@electron/asar" "^3.2.13" "@electron/get" "^3.0.0" "@electron/notarize" "^2.1.0" "@electron/osx-sign" "^1.0.5" @@ -3063,20 +3063,20 @@ tar "^6.0.5" yargs "^17.0.1" -"@electron/rebuild@3.7.1": - version "3.7.1" - resolved "https://registry.yarnpkg.com/@electron/rebuild/-/rebuild-3.7.1.tgz#27ed124f7f1dbed92b222aabe68c0e4a3e6c5cea" - integrity sha512-sKGD+xav4Gh25+LcLY0rjIwcCFTw+f/HU1pB48UVbwxXXRGaXEqIH0AaYKN46dgd/7+6kuiDXzoyAEvx1zCsdw== +"@electron/rebuild@4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@electron/rebuild/-/rebuild-4.0.1.tgz#0620d5bb71a0b8b09a86fb9fa979244e1fcc10bf" + integrity sha512-iMGXb6Ib7H/Q3v+BKZJoETgF9g6KMNZVbsO4b7Dmpgb5qTFqyFTzqW9F3TOSHdybv2vKYKzSS9OiZL+dcJb+1Q== 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" detect-libc "^2.0.1" - fs-extra "^10.0.0" got "^11.7.0" - node-abi "^3.45.0" - node-api-version "^0.2.0" + graceful-fs "^4.2.11" + node-abi "^4.2.0" + node-api-version "^0.2.1" + node-gyp "^11.2.0" ora "^5.1.0" read-binary-file-arch "^1.0.6" semver "^7.3.5" @@ -6472,6 +6472,11 @@ "@angular-devkit/schematics" "18.2.11" jsonc-parser "3.3.1" +"@sec-ant/readable-stream@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz#60de891bb126abfdc5410fdc6166aca065f10a0c" + integrity sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg== + "@semantic-release/changelog@6.0.3": version "6.0.3" resolved "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz#6195630ecbeccad174461de727d5f975abc23eeb" @@ -6690,6 +6695,11 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== +"@sindresorhus/is@^7.0.1": + version "7.0.1" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-7.0.1.tgz#693cd0bfa7fdc71a3386b72088b660fb70851927" + integrity sha512-QWLl2P+rsCJeofkDNIT3WFmb6NrRud1SUYW8dIhXK/46XFV8Q/g7Bsvib0Askb0reRLe+WYPeeE+l5cH7SlkuQ== + "@sindresorhus/merge-streams@^2.1.0": version "2.3.0" resolved "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz#719df7fb41766bc143369eaa0dd56d8dc87c9958" @@ -7407,6 +7417,13 @@ dependencies: defer-to-connect "^2.0.0" +"@szmarczak/http-timer@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" + integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== + dependencies: + defer-to-connect "^2.0.1" + "@tailwindcss/container-queries@^0.1.1": version "0.1.1" resolved "https://registry.yarnpkg.com/@tailwindcss/container-queries/-/container-queries-0.1.1.tgz#9a759ce2cb8736a4c6a0cb93aeb740573a731974" @@ -7957,10 +7974,10 @@ resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== -"@types/http-cache-semantics@*": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz#9140779736aa2655635ee756e2467d787cfe8a2a" - integrity sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A== +"@types/http-cache-semantics@*", "@types/http-cache-semantics@^4.0.4": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== "@types/http-errors@*": version "2.0.1" @@ -8144,12 +8161,12 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@>=10.0.0", "@types/node@^22.5.5": - version "22.10.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.1.tgz#41ffeee127b8975a05f8c4f83fb89bcb2987d766" - integrity sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ== +"@types/node@*", "@types/node@>=10.0.0", "@types/node@^22.5.5", "@types/node@^22.7.7": + version "22.15.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.18.tgz#2f8240f7e932f571c2d45f555ba0b6c3f7a75963" + integrity sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg== dependencies: - undici-types "~6.20.0" + undici-types "~6.21.0" "@types/node@16.9.1": version "16.9.1" @@ -8168,7 +8185,7 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== -"@types/node@^20.1.0", "@types/node@^20.16.0", "@types/node@^20.9.0": +"@types/node@^20.1.0", "@types/node@^20.16.0": version "20.16.12" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.16.12.tgz#61cc9be049584b472fa31e465aa0ab3c090dac56" integrity sha512-LfPFB0zOeCeCNQV3i+67rcoVvoN5n0NVuR2vLG0O5ySQMgchuZlC4lgz546ZOJyDtj5KIgOxy+lacOimfqZAIA== @@ -10844,6 +10861,14 @@ better-sqlite3@11.5.0: bindings "^1.5.0" prebuild-install "^7.1.1" +better-sqlite3@11.9.1: + version "11.9.1" + resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-11.9.1.tgz#0540da2f2ce24cbd766bb35db412f4be2c75b8bb" + integrity sha512-Ba0KR+Fzxh2jDRhdg6TSH0SJGzb8C0aBY4hR8w8madIdIzzC6Y1+kx5qR6eS1Z+Gy20h6ZU28aeyg0z1VIrShQ== + dependencies: + bindings "^1.5.0" + prebuild-install "^7.1.1" + big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" @@ -11517,6 +11542,24 @@ cacheable-lookup@^5.0.3: resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== +cacheable-lookup@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz#3476a8215d046e5a3202a9209dd13fec1f933a27" + integrity sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== + +cacheable-request@^12.0.1: + version "12.0.1" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-12.0.1.tgz#e6f473b5b76c02e72a0ec2cd44c7cfb7c751d7c5" + integrity sha512-Yo9wGIQUaAfIbk+qY0X4cDQgCosecfBe3V9NSyeY4qPC2SAkbCS4Xj79VP8WOzitpJUZKc/wsRCYF5ariDIwkg== + dependencies: + "@types/http-cache-semantics" "^4.0.4" + get-stream "^9.0.1" + http-cache-semantics "^4.1.1" + keyv "^4.5.4" + mimic-response "^4.0.0" + normalize-url "^8.0.1" + responselike "^3.0.0" + cacheable-request@^2.1.1: version "2.1.4" resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" @@ -13862,7 +13905,7 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -defer-to-connect@^2.0.0: +defer-to-connect@^2.0.0, defer-to-connect@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== @@ -14588,13 +14631,13 @@ electron-to-chromium@^1.5.73: resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.116.tgz#b779d73cd0cc75305d12ae4f061d7f7bcee4c761" integrity sha512-mufxTCJzLBQVvSdZzX1s5YAuXsN1M4tTyYxOOL1TcSKtIzQ9rjIrm7yFK80rN5dwGTePgdoABDSHpuVtRQh0Zw== -electron@33.2.1: - version "33.2.1" - resolved "https://registry.yarnpkg.com/electron/-/electron-33.2.1.tgz#d0d7bba7a7abf4f14881d0a6e03c498b301a2d5f" - integrity sha512-SG/nmSsK9Qg1p6wAW+ZfqU+AV8cmXMTIklUL18NnOKfZLlum4ZsDoVdmmmlL39ZmeCaq27dr7CgslRPahfoVJg== +electron@36.4.0: + version "36.4.0" + resolved "https://registry.yarnpkg.com/electron/-/electron-36.4.0.tgz#9463bf5fa7565ae7be3a274f7f6a46359bcfe74d" + integrity sha512-LLOOZEuW5oqvnjC7HBQhIqjIIJAZCIFjQxltQGLfEC7XFsBoZgQ3u3iFj+Kzw68Xj97u1n57Jdt7P98qLvUibQ== dependencies: "@electron/get" "^2.0.0" - "@types/node" "^20.9.0" + "@types/node" "^22.7.7" extract-zip "^2.0.1" elegant-spinner@^1.0.1: @@ -14828,6 +14871,11 @@ env-paths@^2.2.0, env-paths@^2.2.1: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== +env-paths@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-3.0.0.tgz#2f1e89c2f6dbd3408e1b1711dd82d62e317f58da" + integrity sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A== + envinfo@7.13.0, envinfo@^7.7.3: version "7.13.0" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.13.0.tgz#81fbb81e5da35d74e814941aeab7c325a606fb31" @@ -16736,6 +16784,11 @@ forever-agent@~0.6.1: resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= +form-data-encoder@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-4.0.2.tgz#dd286fd5f9049e8ded1d44ce427f5e29185c7c12" + integrity sha512-KQVhvhK8ZkWzxKxOr56CPulAhH3dobtuQ4+hNQ+HekH/Wp5gSOafqRAeTphQUJAIk0GBvHZgJ2ZGRWd5kphMuw== + form-data@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" @@ -17195,6 +17248,14 @@ get-stream@^8.0.1: resolved "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== +get-stream@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-9.0.1.tgz#95157d21df8eb90d1647102b63039b1df60ebd27" + integrity sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA== + dependencies: + "@sec-ant/readable-stream" "^0.4.1" + is-stream "^4.0.1" + get-symbol-description@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" @@ -17497,7 +17558,7 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, gl once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.1, glob@^8.1.0: +glob@^8.0.1: version "8.1.0" resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== @@ -17721,6 +17782,23 @@ got@^11.7.0, got@^11.8.5: p-cancelable "^2.0.0" responselike "^2.0.0" +got@^14.4.5: + version "14.4.7" + resolved "https://registry.yarnpkg.com/got/-/got-14.4.7.tgz#f23644b9bc16d6f35fafdf410c18116614b922dd" + integrity sha512-DI8zV1231tqiGzOiOzQWDhsBmncFW7oQDH6Zgy6pDPrqJuVZMtoSgPLLsBZQj8Jg4JFfwoOsDA8NGtLQLnIx2g== + dependencies: + "@sindresorhus/is" "^7.0.1" + "@szmarczak/http-timer" "^5.0.1" + cacheable-lookup "^7.0.0" + cacheable-request "^12.0.1" + decompress-response "^6.0.0" + form-data-encoder "^4.0.2" + http2-wrapper "^2.2.1" + lowercase-keys "^3.0.0" + p-cancelable "^4.0.1" + responselike "^3.0.0" + type-fest "^4.26.1" + got@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" @@ -18497,6 +18575,14 @@ http2-wrapper@^1.0.0-beta.5.2: quick-lru "^5.1.1" resolve-alpn "^1.0.0" +http2-wrapper@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz#310968153dcdedb160d8b72114363ef5fce1f64a" + integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.2.0" + https-proxy-agent@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz#b8c286433e87602311b01c8ea34413d856a4af81" @@ -19524,6 +19610,11 @@ is-stream@^3.0.0: resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== +is-stream@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-4.0.1.tgz#375cf891e16d2e4baec250b85926cffc14720d9b" + integrity sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A== + is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" @@ -20302,10 +20393,10 @@ keyv@3.0.0, keyv@^3.0.0: dependencies: json-buffer "3.0.0" -keyv@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.0.3.tgz#4f3aa98de254803cafcd2896734108daa35e4254" - integrity sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA== +keyv@^4.0.0, keyv@^4.5.4: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" @@ -21388,6 +21479,11 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== +lowercase-keys@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" + integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== + lru-cache@^10.0.0, lru-cache@^10.0.1, lru-cache@^10.2.0, lru-cache@^10.2.2: version "10.4.3" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" @@ -21490,7 +21586,7 @@ make-error@^1, make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^10.0.3, make-fetch-happen@^10.2.1: +make-fetch-happen@^10.0.3: 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== @@ -21530,10 +21626,10 @@ make-fetch-happen@^13.0.0, make-fetch-happen@^13.0.1: promise-retry "^2.0.1" ssri "^10.0.0" -make-fetch-happen@^14.0.0, make-fetch-happen@^14.0.1: - version "14.0.2" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-14.0.2.tgz#c7c79fa7e6f97856cb883fe96f01e02639ed425f" - integrity sha512-ByhSXJdWoBKRHKaqfmULjm4RwlL3EN9bZogHPDIuT9GHJIqHgh8FYkxpcCMsvaNTwl2VzFFYgzrGMlGsOEtGPQ== +make-fetch-happen@^14.0.0, make-fetch-happen@^14.0.1, make-fetch-happen@^14.0.3: + version "14.0.3" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz#d74c3ecb0028f08ab604011e0bc6baed483fcdcd" + integrity sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ== dependencies: "@npmcli/agent" "^3.0.0" cacache "^19.0.1" @@ -21542,7 +21638,7 @@ make-fetch-happen@^14.0.0, make-fetch-happen@^14.0.1: minipass-fetch "^4.0.0" minipass-flush "^1.0.5" minipass-pipeline "^1.2.4" - negotiator "^0.6.3" + negotiator "^1.0.0" proc-log "^5.0.0" promise-retry "^2.0.1" ssri "^12.0.0" @@ -21909,6 +22005,11 @@ mimic-response@^3.1.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== +mimic-response@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-4.0.0.tgz#35468b19e7c75d10f5165ea25e75a5ceea7cf70f" + integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== + min-document@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" @@ -22861,6 +22962,11 @@ negotiator@^0.6.3, negotiator@~0.6.4: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== +negotiator@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-1.0.0.tgz#b6c91bb47172d69f93cfd7c357bbb529019b5f6a" + integrity sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg== + neo-async@^2.6.0, neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" @@ -22975,19 +23081,12 @@ nock@13.2.9: lodash "^4.17.21" propagate "^2.0.0" -node-abi@^2.7.0: - version "2.30.1" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz#c437d4b1fe0e285aaf290d45b45d4d7afedac4cf" - integrity sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w== - dependencies: - semver "^5.4.1" - -node-abi@^3.3.0, node-abi@^3.45.0: - version "3.68.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.68.0.tgz#8f37fb02ecf4f43ebe694090dcb52e0c4cc4ba25" - integrity sha512-7vbj10trelExNjFSBm5kTvZXXa7pZyKWx9RCKIyqe6I9Ev3IzGpQoqBP3a+cOdxY+pWj6VkP28n/2wWysBHD/A== +node-abi@4.9.0, node-abi@^2.7.0, node-abi@^3.3.0, node-abi@^3.45.0, node-abi@^4.2.0: + version "4.9.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-4.9.0.tgz#ca6dabf7991e54bf3ba6d8d32641e1b84f305263" + integrity sha512-0isb3h+AXUblx5Iv0mnYy2WsErH+dk2e9iXJXdKAtS076Q5hP+scQhp6P4tvDeVlOBlG3ROKvkpQHtbORllq2A== dependencies: - semver "^7.3.5" + semver "^7.6.3" node-addon-api@^1.6.3: version "1.7.2" @@ -23004,10 +23103,10 @@ node-addon-api@^4.2.0: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== -node-api-version@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/node-api-version/-/node-api-version-0.2.0.tgz#5177441da2b1046a4d4547ab9e0972eed7b1ac1d" - integrity sha512-fthTTsi8CxaBXMaBAD7ST2uylwvsnYxh2PfaScwpMhos6KlSFajXQPcM4ogNE1q2s3Lbz9GCGqeIHC+C6OZnKg== +node-api-version@^0.2.0, node-api-version@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/node-api-version/-/node-api-version-0.2.1.tgz#19bad54f6d65628cbee4e607a325e4488ace2de9" + integrity sha512-2xP/IGGMmmSQpI1+O/k72jF/ykvZ89JeuKX3TLJAYPDVLUalrshrLHkeVcCCZqG/eEa635cr8IBYzgnDvM2O8Q== dependencies: semver "^7.3.5" @@ -23116,6 +23215,22 @@ node-gyp@^10.0.0, node-gyp@^10.1.0: tar "^6.2.1" which "^4.0.0" +node-gyp@^11.2.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-11.2.0.tgz#fe2ee7f0511424d6ad70f7a0c88d7346f2fc6a6e" + integrity sha512-T0S1zqskVUSxcsSTkAsLc7xCycrRYmtDHadDinzocrThjyQCn5kMlEBSj6H4qDbgsIOSLmmlRIeb0lZXj+UArA== + dependencies: + env-paths "^2.2.0" + exponential-backoff "^3.1.1" + graceful-fs "^4.2.6" + make-fetch-happen "^14.0.3" + nopt "^8.0.0" + proc-log "^5.0.0" + semver "^7.3.5" + tar "^7.4.3" + tinyglobby "^0.2.12" + which "^5.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" @@ -23281,7 +23396,7 @@ normalize-url@^6.0.1: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== -normalize-url@^8.0.0: +normalize-url@^8.0.0, normalize-url@^8.0.1: version "8.0.1" resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz#9b7d96af9836577c58f5883e939365fa15623a4a" integrity sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w== @@ -24126,6 +24241,11 @@ p-cancelable@^2.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.0.0.tgz#4a3740f5bdaf5ed5d7c3e34882c6fb5d6b266a6e" integrity sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg== +p-cancelable@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-4.0.1.tgz#2d1edf1ab8616b72c73db41c4bc9ecdd10af640e" + integrity sha512-wBowNApzd45EIKdO1LaU+LrMBwAcjfPaYtVzV3lmfM3gf8Z4CHZsiIqlM8TZZ8okYvh5A1cP6gTfCRQtwUpaUg== + p-defer@3.0.0, p-defer@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83" @@ -25451,11 +25571,6 @@ prismjs@1.27.0: resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057" integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA== -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.npmjs.org/proc-log/-/proc-log-4.2.0.tgz#b6f461e4026e75fdfe228b265e9f7a00779d7034" @@ -26773,10 +26888,10 @@ resize-img@^1.1.0: jpeg-js "^0.1.1" parse-png "^1.1.1" -resolve-alpn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.0.0.tgz#745ad60b3d6aff4b4a48e01b8c0bdc70959e0e8c" - integrity sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA== +resolve-alpn@^1.0.0, resolve-alpn@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== resolve-cwd@^3.0.0: version "3.0.0" @@ -26894,6 +27009,13 @@ responselike@^2.0.0: dependencies: lowercase-keys "^2.0.0" +responselike@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-3.0.0.tgz#20decb6c298aff0dbee1c355ca95461d42823626" + integrity sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== + dependencies: + lowercase-keys "^3.0.0" + restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -30271,10 +30393,10 @@ type-fest@^2.12.2, type-fest@^2.13.0, type-fest@^2.3.4: resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== -type-fest@^4.6.0, type-fest@^4.7.1: - version "4.25.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-4.25.0.tgz#b190374f969631866889bbdb01ece17ca424ee60" - integrity sha512-bRkIGlXsnGBRBQRAY56UXBm//9qH4bmJfFvq83gSz41N282df+fjy8ofcEgc1sM8geNt5cl6mC2g9Fht1cs8Aw== +type-fest@^4.26.1, type-fest@^4.6.0, type-fest@^4.7.1: + version "4.41.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.41.0.tgz#6ae1c8e5731273c2bf1f58ad39cbae2c91a46c58" + integrity sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA== type-is@^1.6.4, type-is@~1.6.18: version "1.6.18" @@ -30479,10 +30601,10 @@ undici-types@~6.19.2: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== -undici-types@~6.20.0: - version "6.20.0" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433" - integrity sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg== +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== undici@^6.20.1: version "6.21.0"