Skip to content

Commit 4f8b8fc

Browse files
authored
Merge branch 'develop' into visibility-performance
2 parents 16b5571 + b92dcdb commit 4f8b8fc

File tree

93 files changed

+1255
-465
lines changed

Some content is hidden

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

93 files changed

+1255
-465
lines changed

.circleci/src/pipeline/workflows/@main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ linux-x64:
6868
requires:
6969
- build
7070
- verify-release-readiness:
71-
context: test-runner:npm-release
71+
context: [test-runner:npm-release, org-npm-credentials]
7272
requires:
7373
- build
7474
- server-unit-tests:

cli/CHANGELOG.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
<!-- See the ../guides/writing-the-cypress-changelog.md for details on writing the changelog. -->
22
## 15.6.0
33

4-
_Released 10/20/2025 (PENDING)_
4+
_Released 11/4/2025 (PENDING)_
55

66
**Features:**
77

8+
- Added a 'Self-healed' badge to the Command Log when `cy.prompt()` steps automatically recover after the element they need is not found in the cache. Addressed in [#32802](https://github.com/cypress-io/cypress/pull/32802).
89
- `cy.prompt()` will now show a warning in the `Get code` modal when there are unsaved changes in `Studio` that will be lost if the user saves the generated code. Addressed in [#32741](https://github.com/cypress-io/cypress/pull/32741).
910

1011
**Bugfixes:**
1112

12-
- Fixed an issue where grouped command text jumps up and down when expanding and collapsing in the command log. Addressed in [#32757](https://github.com/cypress-io/cypress/pull/32757).
1313
- Fixed an issue where command snapshots were not correctly displayed in Studio. Addressed in [#32808](https://github.com/cypress-io/cypress/pull/32808).
14+
- Chrome's autofill popup is now disabled when filling address and credit card forms during test execution. We also added some other Chrome flags and preferences that are common when automating browsers. Fixes [#25608](https://github.com/cypress-io/cypress/issues/25608). Addressed in [#32811](https://github.com/cypress-io/cypress/pull/32811).
15+
- Fixed an issue where grouped command text jumps up and down when expanding and collapsing in the command log. Addressed in [#32757](https://github.com/cypress-io/cypress/pull/32757).
1416
- Fixed an issue with grouped console prop items having a hard to read blue color in the console log and duplicate `:` characters being displayed. Addressed in [#32776](https://github.com/cypress-io/cypress/pull/32776).
1517
- Added more context to the error message shown when `cy.prompt()` fails to download. Addressed in [#32822](https://github.com/cypress-io/cypress/pull/32822).
1618

guides/esm-migration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ When migrating some of these projects away from the `ts-node` entry [see `@packa
8484

8585
- [x] cli ✅ **COMPLETED**
8686
- [x] npm/cypress-schematic ✅ **COMPLETED**
87-
- [ ] npm/eslint-plugin-dev
87+
- [x] npm/eslint-plugin-dev**COMPLETED**
8888
- [x] npm/grep ✅ **COMPLETED**
8989
- [x] npm/puppeteer ✅ **COMPLETED**
9090
- [x] npm/vite-dev-server ✅ **COMPLETED**

guides/release-process.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,8 @@ _Note: It is advisable to notify the team that the `develop` branch is locked do
196196
- [cypress-realworld-app](https://github.com/cypress-io/cypress-realworld-app/issues/41)
197197
- [cypress-example-recipes](https://github.com/cypress-io/cypress-example-recipes/issues/225)
198198
199+
26. Be sure to rotate the `NPM_TOKEN` variable inside the `org-npm-credentials` context inside CircleCI.
200+
199201
Take a break, you deserve it! 👉😎👉
200202
201203
[release-automations]: https://github.com/cypress-io/release-automations

npm/eslint-plugin-dev/package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"lint": "eslint --ext .js,json,.eslintrc .",
88
"lint-changed": "node ./lib/scripts/lint-changed",
99
"lint-fix": "npm run lint -- --fix",
10-
"test": "mocha"
10+
"test": "vitest"
1111
},
1212
"dependencies": {
1313
"bluebird": "3.5.5",
@@ -22,8 +22,7 @@
2222
"eslint-plugin-json-format": "^2.0.0",
2323
"eslint-plugin-mocha": "^8.2.0",
2424
"eslint-plugin-promise": "^4.2.1",
25-
"sinon": "^7.3.2",
26-
"sinon-chai": "^3.7.0"
25+
"vitest": "^3.2.4"
2726
},
2827
"peerDependencies": {
2928
"@babel/eslint-parser": "^7.28.0",

npm/eslint-plugin-dev/test/arrow-body-multiline-braces.spec.js renamed to npm/eslint-plugin-dev/test/arrow-body-multiline-braces.spec.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
const path = require('path')
2-
const eslint = require('eslint')
3-
const plugin = require('../lib')
4-
const _ = require('lodash')
5-
const { expect } = require('chai')
1+
import { describe, it, expect } from 'vitest'
2+
import path from 'path'
3+
import eslint from 'eslint'
4+
import plugin from '../lib'
5+
import _ from 'lodash'
66

77
const pluginName = '__plugin__'
88
const ESLint = eslint.ESLint
@@ -42,14 +42,14 @@ describe('arrow-body-multiline-braces', () => {
4242
fix: true,
4343
})
4444

45-
expect(result.output).to.contain('{')
45+
expect(result.output).toContain('{')
4646
})
4747

4848
it('lint oneline js', async () => {
4949
const filename = './fixtures/oneline.js'
5050
const result = await execute(filename, { fix: false })
5151

52-
expect(result.output).not.ok
53-
expect(result.errorCount).eq(0)
52+
expect(result.output).toBeUndefined()
53+
expect(result.errorCount).toBe(0)
5454
})
5555
})

npm/eslint-plugin-dev/test/no-only.spec.js renamed to npm/eslint-plugin-dev/test/no-only.spec.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
const path = require('path')
2-
const eslint = require('eslint')
3-
const plugin = require('..')
4-
const _ = require('lodash')
5-
const { expect } = require('chai')
1+
import { describe, it, expect } from 'vitest'
2+
import path from 'path'
3+
import eslint from 'eslint'
4+
import plugin from '../lib'
5+
import _ from 'lodash'
66

77
const ruleName = 'no-only'
88
const pluginName = '__plugin__'
@@ -43,11 +43,11 @@ describe('no-only', () => {
4343
fix: true,
4444
})
4545

46-
expect(result.errorCount).eq(3)
47-
expect(result.messages[0].message).to.contain('it')
48-
expect(result.messages[1].message).to.contain('describe')
49-
expect(result.messages[2].message).to.contain('context')
46+
expect(result.errorCount).toEqual(3)
47+
expect(result.messages[0].message).toContain('it')
48+
expect(result.messages[1].message).toContain('describe')
49+
expect(result.messages[2].message).toContain('context')
5050

51-
expect(result.output).not.exist
51+
expect(result.output).toBeUndefined()
5252
})
5353
})

npm/eslint-plugin-dev/test/no-return-before.spec.js renamed to npm/eslint-plugin-dev/test/no-return-before.spec.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
const path = require('path')
2-
const eslint = require('eslint')
3-
const plugin = require('..')
4-
const _ = require('lodash')
5-
const { stripIndent } = require('common-tags')
6-
const { expect } = require('chai')
1+
import { describe, it, expect } from 'vitest'
2+
import path from 'path'
3+
import eslint from 'eslint'
4+
import plugin from '../lib'
5+
import _ from 'lodash'
6+
import { stripIndent } from 'common-tags'
77

88
const ruleName = 'no-return-before'
99
const pluginName = '__plugin__'
@@ -42,7 +42,7 @@ describe(ruleName, () => {
4242
const filename = './fixtures/no-return-before-pass.js'
4343
const result = await execute(filename)
4444

45-
expect(result.errorCount).equal(0)
45+
expect(result.errorCount).toEqual(0)
4646
})
4747

4848
it('fail', async () => {
@@ -51,15 +51,15 @@ describe(ruleName, () => {
5151
fix: false,
5252
})
5353

54-
expect(result.errorCount).equal(4)
55-
expect(result.messages[0].message).to.contain(`after 'describe'`)
54+
expect(result.errorCount).toEqual(4)
55+
expect(result.messages[0].message).toContain(`after 'describe'`)
5656
})
5757

5858
it('fix fail', async () => {
5959
const filename = './fixtures/no-return-before-fail.js'
6060
const result = await execute(filename)
6161

62-
expect(result.output).equal(`${stripIndent`
62+
expect(result.output).toEqual(`${stripIndent`
6363
describe('outer', ()=>{
6464
describe('some test', ()=>{
6565
context('some test', ()=>{
@@ -89,11 +89,11 @@ describe(ruleName, () => {
8989
},
9090
})
9191

92-
expect(result.errorCount).equal(1)
92+
expect(result.errorCount).toEqual(1)
9393

94-
expect(result.messages[0].message).to.contain('someFn')
94+
expect(result.messages[0].message).toContain('someFn')
9595

96-
expect(result.output).not.not.exist
96+
expect(result.output).toBeUndefined()
9797
})
9898
})
9999
})

npm/eslint-plugin-dev/test/skip-comment.spec.js renamed to npm/eslint-plugin-dev/test/skip-comment.spec.ts

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
const path = require('path')
2-
const eslint = require('eslint')
3-
const plugin = require('..')
4-
const _ = require('lodash')
5-
const { expect } = require('chai')
1+
import { describe, it, expect } from 'vitest'
2+
3+
import path from 'path'
4+
import eslint from 'eslint'
5+
import _ from 'lodash'
6+
7+
const plugin = require('../lib')
68

79
const ruleName = 'skip-comment'
810
const pluginName = '__plugin__'
@@ -43,7 +45,7 @@ describe('skip-comment', () => {
4345
fix: true,
4446
})
4547

46-
expect(result.errorCount).equal(0)
48+
expect(result.errorCount).toEqual(0)
4749
})
4850

4951
it('skip test without comment', async () => {
@@ -52,17 +54,17 @@ describe('skip-comment', () => {
5254
fix: true,
5355
})
5456

55-
expect(result.errorCount).equal(3)
57+
expect(result.errorCount).toEqual(3)
5658

57-
expect(result.messages[0].message).to.contain('it')
58-
expect(result.messages[0].message).to.contain('NOTE:')
59-
expect(result.messages[0].message).to.contain('TODO:')
60-
expect(result.messages[1].message).to.contain('describe')
61-
expect(result.messages[1].message).to.contain('NOTE:')
62-
expect(result.messages[2].message).to.contain('context')
63-
expect(result.messages[2].message).to.contain('NOTE:')
59+
expect(result.messages[0].message).toContain('it')
60+
expect(result.messages[0].message).toContain('NOTE:')
61+
expect(result.messages[0].message).toContain('TODO:')
62+
expect(result.messages[1].message).toContain('describe')
63+
expect(result.messages[1].message).toContain('NOTE:')
64+
expect(result.messages[2].message).toContain('context')
65+
expect(result.messages[2].message).toContain('NOTE:')
6466

65-
expect(result.output).not.not.exist
67+
expect(result.output).toBeUndefined()
6668
})
6769

6870
describe('config', () => {
@@ -81,12 +83,12 @@ describe('skip-comment', () => {
8183
},
8284
})
8385

84-
expect(result.errorCount).equal(1)
86+
expect(result.errorCount).toEqual(1)
8587

86-
expect(result.messages[0].message).to.contain('it')
87-
expect(result.messages[0].message).to.contain('FOOBAR:')
88+
expect(result.messages[0].message).toContain('it')
89+
expect(result.messages[0].message).toContain('FOOBAR:')
8890

89-
expect(result.output).not.exist
91+
expect(result.output).toBeUndefined()
9092
})
9193
})
9294
})
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { defineConfig } from 'vitest/config'
2+
3+
export default defineConfig({
4+
test: {
5+
include: ['test/**/*.spec.ts'],
6+
globals: true,
7+
environment: 'node',
8+
},
9+
})

0 commit comments

Comments
 (0)