dependency: update dependency electron to v36.8.1 (#32371)

* chore(deps): update dependency electron to v36.8.1

* bump node version

* update workflow files + publish-binary script

* bump base-internal images

* remove current node version from additional test

* bump circleci cache

* allow node_version env var

* Update .circleci/workflows.yml

* index on renovate/electron-36.x: 95d10b1d53 Merge branch 'develop' into renovate/electron-36.x

* index on renovate/electron-36.x: 95d10b1d53 Merge branch 'develop' into renovate/electron-36.x

* index on renovate/electron-36.x: 95d10b1d53 Merge branch 'develop' into renovate/electron-36.x

* bump types/node

* update some node versions

* update integrity check and electron instrcutions

* correctly call net.family with net family type

* Revert "correctly call net.family with net family type"

This reverts commit 505ff949a8.

* update location of note types

* more clearly type frame

* fix type issues in agent.ts file

* fix agent call

* replace proxyquire in webpack-dev-server package

* add changelog

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jennifer Shehane <shehane.jennifer@gmail.com>
Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
Co-authored-by: cypress-bot[bot] <+cypress-bot[bot]@users.noreply.github.com>
This commit is contained in:
renovate[bot]
2025-09-18 10:32:19 -04:00
committed by GitHub
parent e6784f5091
commit 689b2b26cd
32 changed files with 132 additions and 141 deletions

View File

@@ -38,7 +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'
- 'feature/cli_to_vitest'
- 'renovate/electron-36.x'
# usually we don't build Mac app - it takes a long time
# but sometimes we want to really confirm we are doing the right thing
@@ -49,7 +49,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: [ 'feature/cli_to_vitest', << pipeline.git.branch >> ]
- equal: [ 'renovate/electron-36.x', << pipeline.git.branch >> ]
- matches:
pattern: /^release\/\d+\.\d+\.\d+$/
value: << pipeline.git.branch >>
@@ -60,7 +60,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: [ 'feature/cli_to_vitest', << pipeline.git.branch >> ]
- equal: [ 'renovate/electron-36.x', << pipeline.git.branch >> ]
- matches:
pattern: /^release\/\d+\.\d+\.\d+$/
value: << pipeline.git.branch >>
@@ -83,7 +83,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: [ 'feature/cli_to_vitest', << pipeline.git.branch >> ]
- equal: [ 'renovate/electron-36.x', << pipeline.git.branch >> ]
- matches:
pattern: /^release\/\d+\.\d+\.\d+$/
value: << pipeline.git.branch >>
@@ -92,7 +92,7 @@ executors:
# the Docker image with Cypress dependencies and Chrome browser
cy-doc:
docker:
- image: cypress/base-internal:22.15.1-bullseye
- image: cypress/base-internal:22.18.0-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 +100,7 @@ executors:
kitchensink-executor:
docker:
- image: cypress/base-internal:22.15.1-bullseye
- image: cypress/base-internal:22.18.0-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 +109,7 @@ executors:
# Docker image with non-root "node" user
non-root-docker-user:
docker:
- image: cypress/base-internal:22.15.1-bullseye
- image: cypress/base-internal:22.18.0-bullseye
user: node
environment:
PLATFORM: linux
@@ -163,7 +163,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" != "feature/cli_to_vitest" ]]; then
echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "renovate/electron-36.x" ]]; 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
@@ -646,9 +646,9 @@ commands:
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:22.15.1-glibc2.31 /bin/bash -c "sleep 1000000000"
docker run -d --name better-sqlite3-builder cypress/base-internal:22.18.0-glibc-2.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 36.4.0 --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 36.8.1 --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
@@ -1947,7 +1947,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:22.15.1-yarn-berry
- image: cypress/base-internal:22.18.0-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
@@ -1981,7 +1981,7 @@ jobs:
parallelism: 1
working_directory: ~/cypress
docker:
- image: cypress/base-internal:22.15.1-bullseye
- image: cypress/base-internal:22.18.0-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
@@ -2635,7 +2635,7 @@ jobs:
<<: *defaults
resource_class: small
docker:
- image: cypress/base-internal:22.15.1
- image: cypress/base-internal:22.18.0
steps:
- maybe_skip_binary_jobs
- restore_workspace_binaries

View File

@@ -1 +1 @@
22.15.1
22.18.0

2
.nvmrc
View File

@@ -1 +1 @@
22.15.1
22.18.0

View File

@@ -11,6 +11,12 @@ _Released 9/23/2025 (PENDING)_
- Update the styles for command grouping 'line' so on expansion it is displayed correctly. Addressed in [#32521](https://github.com/cypress-io/cypress/pull/32521)
**Dependency Updates:**
- Upgraded `electron` from `36.4.0` to `36.8.1`. Addressed in [#32371](https://github.com/cypress-io/cypress/pull/32371).
- Upgraded bundled Node.js version from `22.15.1` to `22.18.0`. Addressed in [#32371](https://github.com/cypress-io/cypress/pull/32371).
- Upgraded bundled Chromium version from `136.0.7103.149` to `136.0.7103.177`. Addressed in [#32371](https://github.com/cypress-io/cypress/pull/32371).
## 15.2.0
_Released 9/9/2025_

View File

@@ -31,7 +31,7 @@ services:
- .:/opt/cypress
ci:
# This should mirror the image used in workflows.yml
image: cypress/base-internal:22.15.1-bullseye
image: cypress/base-internal:22.18.0-bullseye
ports:
- 5566:5566
- 5567:5567

View File

@@ -22,7 +22,7 @@
"@schematics/angular": "^20.1.6",
"@types/chai-enzyme": "0.6.13",
"@types/mocha": "8.0.3",
"@types/node": "^22.17.1",
"@types/node": "^22.18.0",
"eslint": "^9.31.0",
"typescript": "~5.4.5",
"vitest": "^3.2.4"

View File

@@ -69,7 +69,6 @@ function generateCTSpec ({ tree, appPath, component }: { tree: Tree, appPath: st
const componentFilename = component['name'].split('.')[0]
const componentName = componentMatch ? componentMatch[0] : componentFilename
// eslint-disable-next-line no-console
console.log(`Creating new component spec for: ${componentName}\n`)
return tree.create(`${appPath}/${componentFilename}.component.cy.ts`, ctSpecContent({ componentName, componentFilename }))

View File

@@ -22,7 +22,7 @@
},
"devDependencies": {
"@packages/eslint-config": "0.0.0-development",
"@types/node": "^20.16.0",
"@types/node": "^22.18.0",
"chai-as-promised": "^7.1.1",
"chokidar": "^3.5.3",
"eslint": "^9.31.0",

View File

@@ -16,7 +16,7 @@
"types": [
"cypress",
"./support",
"./node_modules/@types/node"
"node"
]
},
"include": [

View File

@@ -29,15 +29,13 @@
"webpack-merge": "^5.4.0"
},
"devDependencies": {
"@types/node": "20.16.0",
"@types/proxyquire": "^1.3.28",
"@types/node": "22.18.0",
"@types/speed-measure-webpack-plugin": "^1.3.4",
"@types/webpack-bundle-analyzer": "4.7.0",
"chai": "^4.3.6",
"cross-env": "7.0.3",
"dedent": "^0.7.0",
"mocha": "^9.2.2",
"proxyquire": "2.1.3",
"sinon": "^13.0.1",
"snap-shot-it": "^7.9.10",
"ts-node": "^10.9.2",

View File

@@ -1,6 +1,6 @@
import path from 'path'
import proxyquire from 'proxyquire'
import { expect } from 'chai'
import sinon from 'sinon'
import { createModuleMatrixResult } from './test-helpers/createModuleMatrixResult'
import EventEmitter from 'events'
@@ -16,25 +16,29 @@ describe('devServer', function () {
this.timeout(10 * 1000)
it('creates a new devServer webpack5, webpackDevServer5', async () => {
const { devServer } = proxyquire('../src/devServer', {
'./helpers/sourceRelativeWebpackModules': {
sourceDefaultWebpackDependencies: () => {
return createModuleMatrixResult({
webpack: 5,
webpackDevServer: 5,
})
} },
}) as typeof import('../src/devServer')
const sourceRelativeWebpackModules = require('../src/helpers/sourceRelativeWebpackModules')
const stub = sinon.stub(sourceRelativeWebpackModules, 'sourceDefaultWebpackDependencies')
.returns(createModuleMatrixResult({
webpack: 5,
webpackDevServer: 5,
}))
const result = await devServer.create({
specs: [],
cypressConfig,
webpackConfig: {},
devServerEvents: new EventEmitter(),
})
try {
const devServerModule = require('../src/devServer')
const { devServer } = devServerModule
expect(result.server).to.be.instanceOf(require('webpack-dev-server'))
expect(result.version).to.eq(5)
const result = await devServer.create({
specs: [],
cypressConfig,
webpackConfig: {},
devServerEvents: new EventEmitter(),
})
expect(result.server).to.be.instanceOf(require('webpack-dev-server'))
expect(result.version).to.eq(5)
} finally {
stub.restore()
}
})
// Writing to disk includes the correct source map size, where the difference will be made up from stat size vs parsed size
@@ -52,27 +56,28 @@ describe('devServer', function () {
WEBPACK_DEV_SERVER_VERSIONS.forEach((version) => {
it(`works for webpack-dev-server v${version}`, async () => {
const { devServer } = proxyquire('../src/devServer', {
'./helpers/sourceRelativeWebpackModules': {
sourceDefaultWebpackDependencies: () => {
// using webpack version to wds version as it really doesn't matter much when testing here.
// webpack config is tested separately in makeWebpackConfig tests
return createModuleMatrixResult({
webpack: version,
webpackDevServer: version,
})
} },
}) as typeof import('../src/devServer')
const sourceRelativeWebpackModules = require('../src/helpers/sourceRelativeWebpackModules')
const stub = sinon.stub(sourceRelativeWebpackModules, 'sourceDefaultWebpackDependencies')
.returns(createModuleMatrixResult({
webpack: version,
webpackDevServer: version,
}))
const result = await devServer.create({
specs: [],
cypressConfig,
webpackConfig: {},
devServerEvents: new EventEmitter(),
})
try {
const devServerModule = require('../src/devServer')
const { devServer } = devServerModule
// @ts-expect-error
expect(result.server.options.devMiddleware.writeToDisk).to.be.true
const result = await devServer.create({
specs: [],
cypressConfig,
webpackConfig: {},
devServerEvents: new EventEmitter(),
})
expect(result.server.options.devMiddleware.writeToDisk).to.be.true
} finally {
stub.restore()
}
})
})
})

View File

@@ -113,7 +113,7 @@
"@types/lodash": "^4.14.168",
"@types/markdown-it": "12.2.3",
"@types/mocha": "8.0.3",
"@types/node": "22.15.1",
"@types/node": "22.18.0",
"@types/prismjs": "1.16.0",
"@types/react": "18.3.12",
"@types/react-dom": "18.3.1",
@@ -143,7 +143,7 @@
"dedent": "^0.7.0",
"del": "3.0.0",
"detect-port": "^2.1.0",
"electron": "36.4.0",
"electron": "36.8.1",
"electron-builder": "^25.1.8",
"enzyme-adapter-react-16": "1.12.1",
"eslint": "^8.56.0",
@@ -217,7 +217,7 @@
"yarn-deduplicate": "3.1.0"
},
"engines": {
"node": ">=22.15.1",
"node": ">=22.18.0",
"yarn": ">=1.22.22"
},
"productName": "Cypress",

View File

@@ -165,7 +165,7 @@ Upgrading `electron` involves more than just bumping this package's `package.jso
- [ ] `@types/node` used throughout the monorepo to determine compatible node types. The major version of this package must reflect the node version set in [`/.node-version`](../../.node-version).
- [ ] [github workflows](../../.github) - used for repository templates, vulnerability detection, and V8 snapshots. If the node version for Snyk needs to be updated, then the required pull request check into `develop` must also be updated. A repository administrator will need to accomplish this.
- [ ] [`/package.json`](../../package.json) - update `engines`
- [ ] [`docker-compose.yml`](../../docker-compose.yml) - update Docker image to the new matching `browsers` image
- [ ] [`docker-compose.yml`](../../docker-compose.yml) - update Docker image to the new matching `internal` image
- [ ] [`/system-tests/test-binary/*`](../../system-tests/test-binary) - update binary system tests to use the newly published Ubuntu and Node images mentioned above, if applicable
- [ ] Do a global search for the old Node.js version to identify any new areas that may need updating/unification, and update those locations (and this document!)
@@ -236,7 +236,7 @@ For more detailed information about the build system, see [BUILD.md](./BUILD.md)
#### Integrity Check Failures
*Solution*: Update the string representation of `fs.readFileSync` in [scripts/binary/binary-integrity-check-source.js](../../scripts/binary/binary-integrity-check-source.js) to match the string generated by the new version of electron. Create a throw-away script and simply `console.log(fs.readFileSync.toString())`, and execute it with *Electron* rather than *Node*.
*Solution*: Update the string representation of `fs.readFileSync` in [scripts/binary/binary-integrity-check-source.js](../../scripts/binary/binary-integrity-check-source.js) to match the string generated by the new version of electron. To do this, create a throw-away script that runs `console.log(fs.readFileSync.toString())`. Execute this with *Electron* rather than *Node* (ie. `npm i -g electron@x.y.z && electron throwaway-script.js`).
#### ResizeObserver errors in Component Test

View File

@@ -203,7 +203,6 @@ export async function pkgElectronApp (
})
}
} catch (err) {
// eslint-disable-next-line no-console
console.log((err as Error).stack)
return process.exit(1)

View File

@@ -1,3 +1,2 @@
/* eslint-disable no-console */
console.log(process.version.replace('v', ''))
process.exit(0)

View File

@@ -278,7 +278,7 @@ describe('open', () => {
errCb(err)
expect(process.exit).toHaveBeenCalledWith(1)
// eslint-disable-next-line no-console
expect(console.error).toHaveBeenCalledWith(err)
})
})
@@ -385,7 +385,7 @@ describe('open', () => {
describe('error handling', () => {
beforeEach(() => {
vi.spyOn(console, 'debug').mockImplementation(() => {})
// eslint-disable-next-line no-console
vi.mocked(console.debug).mockName('console.debug')
})
@@ -397,7 +397,6 @@ describe('open', () => {
it('logs error stack and exits with code 1', async () => {
await expect(open('nonexistent/path', argv))
// eslint-disable-next-line no-console
expect(console.debug).toHaveBeenCalledWith(expect.any(String))
expect(process.exit).toHaveBeenCalledWith(1)
})
@@ -411,7 +410,6 @@ describe('open', () => {
it('logs error stack and exits with code 1', async () => {
await open(appPath, argv)
// eslint-disable-next-line no-console
expect(console.debug).toHaveBeenCalledWith(expect.any(String))
expect(process.exit).toHaveBeenCalledWith(1)
})

View File

@@ -33,7 +33,7 @@
"@packages/types": "0.0.0-development",
"@types/chai": "4.2.15",
"@types/mocha": "8.2.2",
"@types/node": "20.16.0",
"@types/node": "22.18.0",
"@types/pngjs": "^6.0.1",
"ansi-styles": "^5",
"chai": "4.2.0",

View File

@@ -367,19 +367,25 @@ class HttpsAgent extends https.Agent {
}
}
createConnection (options: HttpsRequestOptions, cb: http.SocketCallback) {
createConnection (options: HttpsRequestOptions, cb?: any): any {
if (process.env.HTTPS_PROXY) {
const proxy = getProxyForUrl(options.href)
if (proxy) {
options.proxy = <string>proxy
return this.createUpstreamProxyConnection(<HttpsRequestOptionsWithProxy>options, cb)
// If no callback is provided, we can't handle the async proxy connection
// Return the direct connection instead
if (!cb) {
return super.createConnection(options)
}
return this.createUpstreamProxyConnection(<HttpsRequestOptionsWithProxy>options, cb as any)
}
}
// @ts-ignore
cb(null, super.createConnection(options))
cb?.(null, super.createConnection(options) as any)
}
createUpstreamProxyConnection (options: HttpsRequestOptionsWithProxy, cb: http.SocketCallback) {
@@ -443,7 +449,7 @@ class HttpsAgent extends https.Agent {
options.servername = hostname
}
return cb(undefined, super.createConnection(options, undefined))
return cb(undefined, super.createConnection(options) as any)
}
cb(undefined, proxySocket)

View File

@@ -210,27 +210,27 @@ class SourcemapSupport {
)
state.curPos = pos
frame = cloneCallSite(frame)
const clonedFrame = cloneCallSite(frame) as any
frame.getFileName = function getFileName () {
return pos.source || pos.name || undefined
clonedFrame.getFileName = function getFileName (): string | null {
return pos.source || pos.name || null
}
frame.getLineNumber = function getLineNumber () {
clonedFrame.getLineNumber = function getLineNumber () {
return pos.line
}
frame.getColumnNumber = function getColumnNumber () {
clonedFrame.getColumnNumber = function getColumnNumber () {
return pos.column + 1
}
frame.getScriptNameOrSourceURL = function getScriptNameOrSourceURL () {
clonedFrame.getScriptNameOrSourceURL = function getScriptNameOrSourceURL () {
return pos.source || pos.name || ''
}
frame.codeFrames = pos.codeFrames
clonedFrame.codeFrames = pos.codeFrames
return frame
return clonedFrame
}
return frame

View File

@@ -172,7 +172,7 @@
"@types/chrome": "0.0.101",
"@types/chrome-remote-interface": "0.31.14",
"@types/http-proxy": "1.17.4",
"@types/node": "20.16.0",
"@types/node": "22.18.0",
"@types/request-promise": "^4.1.48",
"@types/tar": "^6.1.0",
"babel-loader": "10.0.0",

View File

@@ -15,7 +15,7 @@
},
"devDependencies": {
"@packages/eslint-config": "0.0.0-development",
"@types/node": "^22.13.10",
"@types/node": "^22.18.0",
"@vitest/coverage-v8": "^3.2.4",
"eslint": "^9.22.0",
"rimraf": "^6.0.1",

View File

@@ -15,7 +15,7 @@
"semver": "^7.7.1"
},
"devDependencies": {
"@types/node": "20.16.0",
"@types/node": "22.18.0",
"axios": "^1.8.3",
"better-sqlite3": "11.10.0",
"devtools-protocol": "0.0.1459876",

View File

@@ -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(t,e){const r=splitPath(t);return r.isAsar?readFileFromArchiveSync(r,e):R.apply(this,arguments)}`) {
if (originalToString.call(fs.readFileSync) !== `function(t,e){const r=splitPath(t);return r.isAsar?readFileFromArchiveSync(r,e):T.apply(this,arguments)}`) {
console.error(`Integrity check failed for toString.call(fs.readFileSync)`)
throw new Error(integrityErrorMessage)
}

View File

@@ -16,7 +16,7 @@ const { getNextVersionForBinary } = require('../get-next-version')
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-8-1',
should_persist_artifacts: Boolean(process.env.SHOULD_PERSIST_ARTIFACTS),
binary_version: nextVersion,
},

View File

@@ -18,7 +18,7 @@ function isAllowlistedEnv (key, value) {
['true', 'false', 'TRUE', 'FALSE', 'True', 'False'].includes(value)
|| value.length < 4
// allow some envs that are not sensitive
|| ['nodejs_version', 'CF_DOMAIN', 'SKIP_RELEASE_CHANGELOG_VALIDATION_FOR_BRANCHES', 'CIRCLE_PROJECT_REPONAME', 'CIRCLE_PR_REPONAME', 'CIRCLE_BRANCH', 'CIRCLE_PROJECT_USERNAME',
|| ['nodejs_version', 'NODE_VERSION', 'CF_DOMAIN', 'SKIP_RELEASE_CHANGELOG_VALIDATION_FOR_BRANCHES', 'CIRCLE_PROJECT_REPONAME', 'CIRCLE_PR_REPONAME', 'CIRCLE_BRANCH', 'CIRCLE_PROJECT_USERNAME',
'HOME', 'HOMEPATH', 'PLATFORM', 'HOSTNAME', 'PWD', 'INIT_CWD', 'USER', 'SUDO_USER', 'USERNAME', 'USERPROFILE', 'LOGNAME', 'npm_config_loglevel'].includes(key)
// ignore npm_package_ envs https://docs.npmjs.com/cli/v11/using-npm/scripts#packagejson-vars
|| key.startsWith('npm_package_')

View File

@@ -13,7 +13,7 @@
"react-dom": "19.0.0"
},
"devDependencies": {
"@types/node": "^20",
"@types/node": "^22.18.0",
"@types/react": "^19",
"@types/react-dom": "^19",
"postcss": "^8",

View File

@@ -254,12 +254,12 @@
dependencies:
tslib "^2.8.0"
"@types/node@^20":
version "20.17.6"
resolved "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz#6e4073230c180d3579e8c60141f99efdf5df0081"
integrity sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==
"@types/node@^22.18.0":
version "22.18.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.18.0.tgz#9e4709be4f104e3568f7dd1c71e2949bf147a47b"
integrity sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ==
dependencies:
undici-types "~6.19.2"
undici-types "~6.21.0"
"@types/prop-types@*":
version "15.7.13"
@@ -1071,10 +1071,10 @@ typescript@^5:
resolved "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b"
integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==
undici-types@~6.19.2:
version "6.19.8"
resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02"
integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==
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==
util-deprecate@^1.0.2:
version "1.0.2"

View File

@@ -17,7 +17,7 @@
},
"devDependencies": {
"@tsconfig/node20": "^20.1.4",
"@types/node": "^20.17.0",
"@types/node": "^22.18.0",
"@vitejs/plugin-vue": "^5.1.4",
"@vue/tsconfig": "^0.5.1",
"npm-run-all2": "^7.0.1",

View File

@@ -276,12 +276,12 @@
resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50"
integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==
"@types/node@^20.17.0":
version "20.17.3"
resolved "https://registry.npmjs.org/@types/node/-/node-20.17.3.tgz#1ad87177c53fa2b237e79a4929fd37932f779f0c"
integrity sha512-tSQrmKKatLDGnG92h40GD7FzUt0MjahaHwOME4VAFeeA/Xopayq5qLyQRy7Jg/pjgKIFBXuKcGhJo+UdYG55jQ==
"@types/node@^22.18.0":
version "22.18.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.18.0.tgz#9e4709be4f104e3568f7dd1c71e2949bf147a47b"
integrity sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ==
dependencies:
undici-types "~6.19.2"
undici-types "~6.21.0"
"@vitejs/plugin-vue@^5.1.4":
version "5.1.4"
@@ -926,10 +926,10 @@ typescript@~5.6.0:
resolved "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b"
integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==
undici-types@~6.19.2:
version "6.19.8"
resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02"
integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==
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==
vite@^5.4.18:
version "5.4.18"

View File

@@ -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:22.15.1-bullseye',
dockerImage: 'cypress/base-internal:22.18.0-bullseye',
withBinary: true,
project: 'module-api',
browser: 'electron',

View File

@@ -31,7 +31,7 @@ describe('binary node versions', () => {
'cypress/base:22.0.0',
'cypress/base:22.7.0',
'cypress/base:22.12.0',
'cypress/base:22.14.0',
'cypress/base:22.18.0',
'cypress/base:24.0.0',
].forEach(smokeTestDockerImage)
})
@@ -43,7 +43,7 @@ describe('type: module', () => {
'cypress/base:22.0.0',
'cypress/base:22.7.0',
'cypress/base:22.12.0',
'cypress/base:22.14.0',
'cypress/base:22.18.0',
'cypress/base:24.0.0',
].forEach((dockerImage) => {
systemTests.it(`can run in ${dockerImage}`, {

View File

@@ -8179,10 +8179,10 @@
dependencies:
"@types/node" "*"
"@types/node@*", "@types/node@>=10.0.0", "@types/node@^22.13.10", "@types/node@^22.17.1", "@types/node@^22.7.7":
version "22.17.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.17.1.tgz#484a755050497ebc3b37ff5adb7470f2e3ea5f5b"
integrity sha512-y3tBaz+rjspDTylNjAX37jEC3TETEFGNJL6uQDxwF9/8GLLIjW1rvVHlynyuUKMnMr1Roq8jOv3vkopBjC4/VA==
"@types/node@*", "@types/node@22.18.0", "@types/node@>=10.0.0", "@types/node@^22.18.0", "@types/node@^22.7.7":
version "22.18.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.18.0.tgz#9e4709be4f104e3568f7dd1c71e2949bf147a47b"
integrity sha512-m5ObIqwsUp6BZzyiy4RdZpzWGub9bqLJMvZDD0QMXhxjqMHMENlj+SqF5QxoUwaQNFe+8kz8XM8ZQhqkQPTgMQ==
dependencies:
undici-types "~6.21.0"
@@ -8191,26 +8191,12 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.1.tgz#0611b37db4246c937feef529ddcc018cf8e35708"
integrity sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==
"@types/node@20.16.0":
version "20.16.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.16.0.tgz#02e5cd414f76bf345874ee65a1e5590d755d894f"
integrity sha512-vDxceJcoZhIVh67S568bm1UGZO0DX0hpplJZxzeXMKwIPLn190ec5RRxQ69BKhX44SUGIxxgMdDY557lGLKprQ==
dependencies:
undici-types "~6.19.2"
"@types/node@22.15.1":
version "22.15.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.1.tgz#4cd2c8717a61ae2979c6a0624b4d1b67415bf2c0"
integrity sha512-gSZyd0Qmv7qvbd2fJ9HGdYmv1yhNdelIA4YOtN6vkcmSwFhthxSEsBgU/JYZcXjWT6DFzoATcHrc52Ckh8SeRA==
dependencies:
undici-types "~6.21.0"
"@types/node@^12.12.29", "@types/node@^12.12.7":
version "12.20.55"
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.1.0":
version "20.16.12"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.16.12.tgz#61cc9be049584b472fa31e465aa0ab3c090dac56"
integrity sha512-LfPFB0zOeCeCNQV3i+67rcoVvoN5n0NVuR2vLG0O5ySQMgchuZlC4lgz546ZOJyDtj5KIgOxy+lacOimfqZAIA==
@@ -8302,11 +8288,6 @@
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
"@types/proxyquire@^1.3.28":
version "1.3.28"
resolved "https://registry.yarnpkg.com/@types/proxyquire/-/proxyquire-1.3.28.tgz#05a647bb0d8fe48fc8edcc193e43cc79310faa7d"
integrity sha512-SQaNzWQ2YZSr7FqAyPPiA3FYpux2Lqh3HWMZQk47x3xbMCqgC/w0dY3dw9rGqlweDDkrySQBcaScXWeR+Yb11Q==
"@types/qs@*":
version "6.9.6"
resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.6.tgz#df9c3c8b31a247ec315e6996566be3171df4b3b1"
@@ -14924,10 +14905,10 @@ electron-to-chromium@^1.5.173:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.185.tgz#b4f9189c4ef652ddf9f1bb37529e2b79f865e912"
integrity sha512-dYOZfUk57hSMPePoIQ1fZWl1Fkj+OshhEVuPacNKWzC1efe56OsHY3l/jCfiAgIICOU3VgOIdoq7ahg7r7n6MQ==
electron@36.4.0:
version "36.4.0"
resolved "https://registry.yarnpkg.com/electron/-/electron-36.4.0.tgz#9463bf5fa7565ae7be3a274f7f6a46359bcfe74d"
integrity sha512-LLOOZEuW5oqvnjC7HBQhIqjIIJAZCIFjQxltQGLfEC7XFsBoZgQ3u3iFj+Kzw68Xj97u1n57Jdt7P98qLvUibQ==
electron@36.8.1:
version "36.8.1"
resolved "https://registry.yarnpkg.com/electron/-/electron-36.8.1.tgz#c27dfb13fcc1bedf29929fe67430ee13a778c4df"
integrity sha512-honaH58/cyCb9QAzIvD+WXWuNIZ0tW9zfBqMz5wZld/rXB+LCTEDb2B3TAv8+pDmlzPlkPio95RkUe86l6MNjg==
dependencies:
"@electron/get" "^2.0.0"
"@types/node" "^22.7.7"