Skip to content

Commit a438738

Browse files
merge develop
2 parents 98fb293 + 8f8bb60 commit a438738

File tree

44 files changed

+749
-244
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+749
-244
lines changed

.circleci/cache-version.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Bump this version to force CI to re-create the cache from scratch.
22

3-
4-29-2025
3+
5-12-2025

cli/CHANGELOG.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,29 @@ _Released 07/01/2025 (PENDING)_
2222

2323
- 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/).
2424

25-
## 14.3.4
25+
## 14.4.0
2626

2727
_Released 5/20/2025 (PENDING)_
2828

29+
**Features:**
30+
31+
- `@cypress/webpack-dev-server` and `@cypress/webpack-batteries-included-preprocessor` now ship with [webpack-bundle-analyzer](https://www.npmjs.com/package/webpack-bundle-analyzer) as a diagnostic tool to determine bundle statistics, which can be enabled via `DEBUG=cypress-verbose:webpack-dev-server:bundle-analyzer` ( component tests using webpack) or `DEBUG=cypress-verbose:webpack-batteries-included-preprocessor:bundle-analyzer` (e2e tests using webpack, which is the default preprocessor), respectively. Addresses [#30461](https://github.com/cypress-io/cypress/issues/30461).
32+
33+
**Bugfixes:**
34+
35+
- Fixed an issue where framebusting was occurring when `top.window.location` was being set explicitly. This fix does not require the `experimentalModifyObstructiveThirdPartyCode` configuration option. Addresses [#31687](https://github.com/cypress-io/cypress/issues/31687).
36+
- `cy.press()` now has a return type of `Chainable<null>` instead of `void` to match the convention of other commands that yield `null`. Addressed in [#31698](https://github.com/cypress-io/cypress/pull/31698).
37+
- Fixed an issue with the experimental usage of WebKit where Cypress incorrectly displayed `0` as the WebKit version. Addresses [#31684](https://github.com/cypress-io/cypress/issues/31684).
38+
39+
**Misc:**
40+
41+
- Cursor is now available as an IDE option for opening files in Cypress, if it is installed on your system. Addressed in [#31691](https://github.com/cypress-io/cypress/pull/31691).
42+
- The error shown when the `--record` flag is missing has been updated to be shorter. Addressed in [#31676](https://github.com/cypress-io/cypress/pull/31676).
43+
2944
**Dependency Updates:**
3045

3146
- Upgraded `trash` from `5.2.0` to `7.2.0`. Addressed in [#31667](https://github.com/cypress-io/cypress/pull/31667).
3247

33-
3448
## 14.3.3
3549

3650
_Released 5/6/2025_

cli/types/cypress.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1755,7 +1755,7 @@ declare namespace Cypress {
17551755
* cy.press(Cypress.Keyboard.Keys.TAB) // dispatches a keydown and press event to the browser, followed by a keyup event.
17561756
* @see https://on.cypress.io/press
17571757
*/
1758-
press(key: typeof Cypress.Keyboard.Keys[keyof typeof Cypress.Keyboard.Keys], options?: Partial<Loggable & Timeoutable>): void
1758+
press(key: typeof Cypress.Keyboard.Keys[keyof typeof Cypress.Keyboard.Keys], options?: Partial<Loggable & Timeoutable>): Chainable<null>
17591759

17601760
/**
17611761
* Get the immediately preceding sibling of each element in a set of the elements.

guides/v8-snapshots.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,65 @@ This cache should be maintained and updated over time. Rather than having this m
3333

3434
## Troubleshooting
3535

36+
### Missing Dependency
37+
38+
#### Background on Snapshot Dependencies
39+
40+
When we generate snapshots, we create a metadata file that contains information about all dependencies included in the snapshot. In theory, these dependencies could be removed from the binary to save space, since they're already included in the snapshot. This helps offset the size increase from the snapshot itself.
41+
42+
However, not all dependencies can be safely removed. There are two main categories of dependencies that must be preserved:
43+
44+
1. Dependencies (and their sub-dependencies) that are used in child processes
45+
2. Dependencies (and their sub-dependencies) that are dynamically loaded and cannot be determined by `esbuild`
46+
47+
To handle this, we maintain a list of these dependencies and use `esbuild` to retrieve all their child dependencies. This list is defined in [binary-cleanup.js](https://github.com/cypress-io/cypress/blob/develop/scripts/binary/binary-cleanup.js#L40-L64). We then remove these dependencies from the list of v8 snapshot metadata dependencies, leaving only the ones that are safe to remove.
48+
49+
#### Handling Missing Dependencies
50+
51+
If you encounter a missing dependency error that looks something like:
52+
53+
```
54+
Error: Cannot find module 'get-stream'
55+
Require stack:
56+
- /root/.cache/Cypress/beta-14.3.4-update-trash-d37e059a/Cypress/resources/app/node_modules/extract-zip/index.js
57+
at Module._resolveFilename (node:internal/modules/cjs/loader:1232:15)
58+
at s._resolveFilename (node:electron/js2c/browser_init:2:124107)
59+
at PackherdModuleLoader._tryResolveFilename (/root/.cache/Cypress/beta-14.3.4-update-trash-d37e059a/Cypress/resources/app/packages/server/index.jsc:1:786120)
60+
at PackherdModuleLoader._resolvePaths (/root/.cache/Cypress/beta-14.3.4-update-trash-d37e059a/Cypress/resources/app/packages/server/index.jsc:1:782910)
61+
at PackherdModuleLoader.tryLoad (/root/.cache/Cypress/beta-14.3.4-update-trash-d37e059a/Cypress/resources/app/packages/server/index.jsc:1:780953)
62+
at Function.<anonymous> (/root/.cache/Cypress/beta-14.3.4-update-trash-d37e059a/Cypress/resources/app/packages/server/index.jsc:1:791773)
63+
at d._load (<embedded>:2752:176394)
64+
at Module.require (node:internal/modules/cjs/loader:1318:19)
65+
at require (node:internal/modules/helpers:179:18)
66+
at Object.<anonymous> (/root/.cache/Cypress/beta-14.3.4-update-trash-d37e059a/Cypress/resources/app/node_modules/extract-zip/index.js:4:19)
67+
at Module._compile (node:internal/modules/cjs/loader:1484:14)
68+
at Module._extensions..js (node:internal/modules/cjs/loader:1564:10)
69+
at Module.load (node:internal/modules/cjs/loader:1295:32)
70+
at Module._load (node:internal/modules/cjs/loader:1111:12)
71+
at c._load [as origLoad] (node:electron/js2c/node_init:2:16955)
72+
at PackherdModuleLoader.tryLoad (/root/.cache/Cypress/beta-14.3.4-update-trash-d37e059a/Cypress/resources/app/packages/server/index.jsc:1:781559)
73+
at Function.<anonymous> (/root/.cache/Cypress/beta-14.3.4-update-trash-d37e059a/Cypress/resources/app/packages/server/index.jsc:1:791773)
74+
at d._load (<embedded>:2752:176394)
75+
at node:internal/modules/esm/translators:350:17
76+
at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:286:7)
77+
at ModuleJob.run (node:internal/modules/esm/module_job:234:25)
78+
at async ModuleLoader.import (node:internal/modules/esm/loader:473:24)
79+
at async startWebDriver (file:///root/.cache/Cypress/beta-14.3.4-update-trash-d37e059a/Cypress/resources/app/packages/server/node_modules/@wdio/utils/build/index.js:503:49)
80+
at async _WebDriver.newSession (file:///root/.cache/Cypress/beta-14.3.4-update-trash-d37e059a/Cypress/resources/app/packages/server/node_modules/webdriver/build/node.js:1327:27)
81+
at async Object.Z (<embedded>:2752:13515)
82+
at async Object.open (<embedded>:2752:30921)
83+
at async v.relaunchBrowser (<embedded>:2861:42528)
84+
```
85+
86+
Follow these steps:
87+
88+
1. Look through the stack trace of the missing dependency error
89+
2. Try to identify where the dependency is being dynamically required/imported
90+
3. Validate that the dynamically required/imported dependency is missing from the binary
91+
4. Add the dependency to the list in [binary-cleanup.js](https://github.com/cypress-io/cypress/blob/develop/scripts/binary/binary-cleanup.js#L40-L64)
92+
93+
This will ensure the dependency is preserved in the binary and available when needed.
94+
3695
### Local Development
3796

3897
If you're running into problems locally, either with generating the snapshot or at runtime, a good first step is to clean everything and start from scratch. This command will accomplish that (note that it will delete any new unstaged files, so if you want to keep them, either stash them or stage them):

npm/puppeteer/README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,11 @@ Add the following in `tsconfig.json`:
4242

4343
## Compatibility
4444

45-
`@cypress/puppeteer` requires Cypress version 13.6.0 or greater.
45+
Before using `@cypress/puppeteer`, ensure the following requirements are met:
4646

47-
Only Chromium-based browsers (e.g. Chrome, Chromium, Electron) are supported.
47+
- Cypress 13.6.0+ is required.
48+
- Only Chromium-based browsers are supported, such as Chrome for Testing, Chromium, and Electron.
49+
- Chrome-branded browsers (e.g., standard Chrome) are not supported in version 137+ due to Chrome's removal of the `--load-extension` flag. We recommend using Chrome for Testing or Chromium instead. See Cypress Docker image examples for [Chrome for Testing](https://github.com/cypress-io/cypress-docker-images/tree/master/examples/chrome-for-testing) and [Chromium](https://github.com/cypress-io/cypress-docker-images/tree/master/examples/chromium).
4850

4951
## Usage
5052

@@ -339,6 +341,7 @@ export default defineConfig({
339341
340342
If you receive this error in your command log, the Puppeteer plugin was unable to communicate with the Cypress extension. This extension is necessary in order to re-activate the main Cypress tab after a Puppeteer command, when running in open mode.
341343
344+
* If you're using a Chrome-branded browser (e.g., standard Chrome) in version 137+, you'll need to use Chrome for Testing or Chromium instead. [See download instructions](https://www.chromium.org/getting-involved/download-chromium/).
342345
* Ensure this extension is enabled in the instance of Chrome that Cypress launches by visiting chrome://extensions/
343346
* Ensure the Cypress extension is allowed by your company's security policy by its extension id, `caljajdfkjjjdehjdoimjkkakekklcck`
344347

npm/webpack-batteries-included-preprocessor/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# [@cypress/webpack-batteries-included-preprocessor-v3.1.0](https://github.com/cypress-io/cypress/compare/@cypress/webpack-batteries-included-preprocessor-v3.0.7...@cypress/webpack-batteries-included-preprocessor-v3.1.0) (2025-05-13)
2+
3+
4+
### Features
5+
6+
* ship webpack-bundle-analyzer with`@cypress/webpack-dev-server` and `@cypress/webpack-batteries-included-preprocessor` ([#31588](https://github.com/cypress-io/cypress/issues/31588)) ([46f2867](https://github.com/cypress-io/cypress/commit/46f2867b9dafbf991bf7154cb181eb07d9c6ad20))
7+
18
# [@cypress/webpack-batteries-included-preprocessor-v3.0.7](https://github.com/cypress-io/cypress/compare/@cypress/webpack-batteries-included-preprocessor-v3.0.6...@cypress/webpack-batteries-included-preprocessor-v3.0.7) (2025-03-26)
29

310

npm/webpack-batteries-included-preprocessor/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ module.exports = (on) => {
4646

4747
Other than the `typescript` option, this preprocessor supports the same options as [@cypress/webpack-preprocessor](https://github.com/cypress-io/cypress/tree/develop/npm/webpack-preprocessor#readme), so see its [README](https://github.com/cypress-io/cypress/tree/develop/npm/webpack-preprocessor#readme) for more information.
4848

49+
## Debugging
50+
51+
If having issues with chunk load errors or bundle size problems, specifically in your end-to-end tests, please try setting `DEBUG=cypress-verbose:webpack-batteries-included-preprocessor:bundle-analyzer` before starting Cypress to get a `webpack-bundle-analyzer` report to help determine the cause of the issue. If filing an issue with Cypress, please include this report with your issue to better help us serve your issue.
52+
4953
## Contributing
5054

5155
Use the [version of Node that matches Cypress](https://github.com/cypress-io/cypress/blob/develop/.node-version).

npm/webpack-batteries-included-preprocessor/index.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ const path = require('path')
22
const webpack = require('webpack')
33
const Debug = require('debug')
44
const webpackPreprocessor = require('@cypress/webpack-preprocessor')
5+
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
56

67
const debug = Debug('cypress:webpack-batteries-included-preprocessor')
8+
const WBADebugNamespace = 'cypress-verbose:webpack-batteries-included-preprocessor:bundle-analyzer'
79

810
const hasTsLoader = (rules) => {
911
return rules.some((rule) => {
@@ -136,6 +138,10 @@ const getDefaultWebpackOptions = () => {
136138
// @see https://github.com/cypress-io/cypress/issues/27947.
137139
process: require.resolve('process/browser.js'),
138140
}),
141+
// If the user is trying to debug their bundle, we'll add the BundleAnalyzerPlugin
142+
// to see the size of the support file (first bundle when running `cypress open`)
143+
// and spec files (subsequent bundles when running `cypress open`)
144+
...(Debug.enabled(WBADebugNamespace) ? [new BundleAnalyzerPlugin()] : []),
139145
],
140146
resolve: {
141147
extensions: ['.js', '.json', '.jsx', '.mjs', '.coffee'],

npm/webpack-batteries-included-preprocessor/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@
4444
"url": "^0.11.1",
4545
"util": "^0.12.5",
4646
"vm-browserify": "^1.1.2",
47-
"webpack": "^5.88.2"
47+
"webpack": "^5.88.2",
48+
"webpack-bundle-analyzer": "4.10.2"
4849
},
4950
"devDependencies": {
5051
"@cypress/webpack-preprocessor": "0.0.0-development",

npm/webpack-batteries-included-preprocessor/test/unit/index.spec.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ const { expect } = require('chai')
22
const decache = require('decache')
33
const mock = require('mock-require')
44
const sinon = require('sinon')
5+
const Debug = require('debug')
56

67
describe('webpack-batteries-included-preprocessor', () => {
78
beforeEach(() => {
@@ -29,6 +30,20 @@ describe('webpack-batteries-included-preprocessor', () => {
2930
expect(result.module.rules).to.have.length(4)
3031
expect(result.module.rules[3].use[0].loader).to.include('ts-loader')
3132
})
33+
34+
it('adds the BundleAnalyzerPlugin if the user is trying to debug their bundle', () => {
35+
Debug.enable('cypress-verbose:webpack-batteries-included-preprocessor:bundle-analyzer')
36+
37+
// since debug needs to be hydrated before requiring the preprocessor, we need to decache
38+
// and require again
39+
decache('../../index')
40+
preprocessor = require('../../index')
41+
const result = preprocessor.getFullWebpackOptions('file/path', 'typescript/path')
42+
43+
expect(result.plugins).to.have.length(2)
44+
expect(result.plugins[1].constructor.name).to.equal('BundleAnalyzerPlugin')
45+
Debug.disable()
46+
})
3247
})
3348

3449
context('#getTSCompilerOptionsForUser', () => {

npm/webpack-dev-server/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# [@cypress/webpack-dev-server-v4.1.0](https://github.com/cypress-io/cypress/compare/@cypress/webpack-dev-server-v4.0.2...@cypress/webpack-dev-server-v4.1.0) (2025-05-13)
2+
3+
4+
### Features
5+
6+
* ship webpack-bundle-analyzer with`@cypress/webpack-dev-server` and `@cypress/webpack-batteries-included-preprocessor` ([#31588](https://github.com/cypress-io/cypress/issues/31588)) ([46f2867](https://github.com/cypress-io/cypress/commit/46f2867b9dafbf991bf7154cb181eb07d9c6ad20))
7+
18
# [@cypress/webpack-dev-server-v4.0.2](https://github.com/cypress-io/cypress/compare/@cypress/webpack-dev-server-v4.0.1...@cypress/webpack-dev-server-v4.0.2) (2025-03-25)
29

310
# [@cypress/webpack-dev-server-v4.0.1](https://github.com/cypress-io/cypress/compare/@cypress/webpack-dev-server-v4.0.0...@cypress/webpack-dev-server-v4.0.1) (2025-01-15)

npm/webpack-dev-server/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ export default defineConfig({
3939
})
4040
```
4141

42+
## Debugging
43+
44+
If having issues with chunk load errors or bundle size problems, specifically in your component tests, please try setting `DEBUG=cypress-verbose:webpack-dev-server:bundle-analyzer` before starting Cypress to get a `webpack-bundle-analyzer` report to help determine the cause of the issue. If filing an issue with Cypress, please include this report with your issue to better help us serve your issue.
45+
4246
## Testing
4347

4448
Unit tests can be run with `yarn test`. Integration tests can be run with `yarn cypress:run`

npm/webpack-dev-server/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,15 @@
2424
"semver": "^7.7.1",
2525
"speed-measure-webpack-plugin": "1.4.2",
2626
"tslib": "^2.3.1",
27+
"webpack-bundle-analyzer": "4.10.2",
2728
"webpack-dev-server": "^5.1.0",
2829
"webpack-merge": "^5.4.0"
2930
},
3031
"devDependencies": {
3132
"@types/node": "20.16.0",
3233
"@types/proxyquire": "^1.3.28",
3334
"@types/speed-measure-webpack-plugin": "^1.3.4",
35+
"@types/webpack-bundle-analyzer": "4.7.0",
3436
"chai": "^4.3.6",
3537
"dedent": "^0.7.0",
3638
"mocha": "^9.2.2",

npm/webpack-dev-server/src/createWebpackDevServer.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import type { Configuration as WebpackDevServer5Configuration } from 'webpack-de
33
import type { WebpackDevServerConfig } from './devServer'
44
import type { SourceRelativeWebpackResult } from './helpers/sourceRelativeWebpackModules'
55
import { makeWebpackConfig } from './makeWebpackConfig'
6+
import { isWebpackBundleAnalyzerEnabled } from './util'
67

78
const debug = debugLib('cypress:webpack-dev-server:start')
89

@@ -69,6 +70,10 @@ function webpackDevServer5 (
6970
devMiddleware: {
7071
publicPath: devServerPublicPathRoute,
7172
stats: finalWebpackConfig.stats ?? 'minimal',
73+
...(isWebpackBundleAnalyzerEnabled() ? {
74+
// the bundle needs to be written to disk in order to determine source map sizes
75+
writeToDisk: true,
76+
} : {}),
7277
},
7378
hot: false,
7479
// Only enable file watching & reload when executing tests in `open` mode

npm/webpack-dev-server/src/makeDefaultWebpackConfig.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ import debugLib from 'debug'
33
import type { Configuration } from 'webpack'
44
import type { CreateFinalWebpackConfig } from './createWebpackDevServer'
55
import { CypressCTWebpackPlugin } from './CypressCTWebpackPlugin'
6+
import { isWebpackBundleAnalyzerEnabled, WBADebugNamespace } from './util'
7+
import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer'
68

79
const debug = debugLib('cypress:webpack-dev-server:makeDefaultWebpackConfig')
810

@@ -95,10 +97,15 @@ export function makeCypressWebpackConfig (
9597
webpack,
9698
indexHtmlFile,
9799
}),
100+
...(isWebpackBundleAnalyzerEnabled() ? [new BundleAnalyzerPlugin()] : []),
98101
],
99102
devtool: 'inline-source-map',
100103
} as any
101104

105+
if (isWebpackBundleAnalyzerEnabled()) {
106+
debugLib(WBADebugNamespace)('webpack-bundle-analyzer is enabled.')
107+
}
108+
102109
if (isRunMode) {
103110
// if justInTimeCompile is configured, we need to watch for file changes as the spec entries are going to be updated per test
104111
const ignored = justInTimeCompile ? /node_modules/ : '**/*'

npm/webpack-dev-server/src/util.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import debug from 'debug'
2+
3+
export const WBADebugNamespace = 'cypress-verbose:webpack-dev-server:bundle-analyzer'
4+
5+
export const isWebpackBundleAnalyzerEnabled = () => {
6+
return debug.enabled(WBADebugNamespace)
7+
}

npm/webpack-dev-server/test/devServer-unit.spec.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { expect } from 'chai'
44

55
import { createModuleMatrixResult } from './test-helpers/createModuleMatrixResult'
66
import EventEmitter from 'events'
7+
import debug from 'debug'
78

89
const cypressConfig = {
910
projectRoot: path.join(__dirname, 'test-fixtures'),
@@ -35,4 +36,44 @@ describe('devServer', function () {
3536
expect(result.server).to.be.instanceOf(require('webpack-dev-server'))
3637
expect(result.version).to.eq(5)
3738
})
39+
40+
// Writing to disk includes the correct source map size, where the difference will be made up from stat size vs parsed size
41+
// This is critical if a user is trying to debug to determine if they have large source maps or other large files in their dev-server under test
42+
describe('writes to disk if DEBUG=cypress-verbose:webpack-dev-server:bundle-analyzer is set', async () => {
43+
const WEBPACK_DEV_SERVER_VERSIONS: (4 | 5)[] = [4, 5]
44+
45+
beforeEach(() => {
46+
debug.enable('cypress-verbose:webpack-dev-server:bundle-analyzer')
47+
})
48+
49+
afterEach(() => {
50+
debug.disable()
51+
})
52+
53+
WEBPACK_DEV_SERVER_VERSIONS.forEach((version) => {
54+
it(`works for webpack-dev-server v${version}`, async () => {
55+
const { devServer } = proxyquire('../src/devServer', {
56+
'./helpers/sourceRelativeWebpackModules': {
57+
sourceDefaultWebpackDependencies: () => {
58+
// using webpack version to wds version as it really doesn't matter much when testing here.
59+
// webpack config is tested separately in makeWebpackConfig tests
60+
return createModuleMatrixResult({
61+
webpack: version,
62+
webpackDevServer: version,
63+
})
64+
} },
65+
}) as typeof import('../src/devServer')
66+
67+
const result = await devServer.create({
68+
specs: [],
69+
cypressConfig,
70+
webpackConfig: {},
71+
devServerEvents: new EventEmitter(),
72+
})
73+
74+
// @ts-expect-error
75+
expect(result.server.options.devMiddleware.writeToDisk).to.be.true
76+
})
77+
})
78+
})
3879
})

0 commit comments

Comments
 (0)