cypress 12.17.4 → 13.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -83,7 +83,7 @@ function setupHooks(optionalCallback) {
83
83
  throw new Error('cy.origin from a component spec is not allowed');
84
84
  });
85
85
  // @ts-ignore
86
- Cypress.on('test:before:run', () => {
86
+ Cypress.on('test:before:after:run:async', () => {
87
87
  optionalCallback === null || optionalCallback === void 0 ? void 0 : optionalCallback();
88
88
  });
89
89
  }
@@ -7,6 +7,7 @@
7
7
  "prebuild": "rimraf dist",
8
8
  "build": "rollup -c rollup.config.mjs",
9
9
  "postbuild": "node ../../scripts/sync-exported-npm-with-cli.js",
10
+ "build-prod": "yarn build",
10
11
  "check-ts": "tsc --noEmit",
11
12
  "lint": "eslint --ext .js,.ts,.json, ."
12
13
  },
@@ -58,18 +59,6 @@
58
59
  "publishConfig": {
59
60
  "access": "public"
60
61
  },
61
- "nx": {
62
- "targets": {
63
- "build": {
64
- "inputs": [
65
- "{workspaceRoot}/scripts"
66
- ],
67
- "outputs": [
68
- "{workspaceRoot}/cli/angular"
69
- ]
70
- }
71
- }
72
- },
73
62
  "standard": {
74
63
  "globals": [
75
64
  "Cypress",
package/lib/cli.js CHANGED
@@ -112,6 +112,8 @@ const descriptions = {
112
112
  record: 'records the run. sends test results, screenshots and videos to Cypress Cloud.',
113
113
  reporter: 'runs a specific mocha reporter. pass a path to use a custom reporter. defaults to "spec"',
114
114
  reporterOptions: 'options for the mocha reporter. defaults to "null"',
115
+ runnerUi: 'displays the Cypress Runner UI',
116
+ noRunnerUi: 'hides the Cypress Runner UI',
115
117
  spec: 'runs specific spec file(s). defaults to "all"',
116
118
  tag: 'named tag(s) for recorded runs in Cypress Cloud',
117
119
  version: 'prints Cypress version'
@@ -178,7 +180,7 @@ const createProgram = () => {
178
180
  return program;
179
181
  };
180
182
  const addCypressRunCommand = program => {
181
- return program.command('run').usage('[options]').description('Runs Cypress tests from the CLI without the GUI').option('--auto-cancel-after-failures <test-failure-count || false>', text('autoCancelAfterFailures')).option('-b, --browser <browser-name-or-path>', text('browser')).option('--ci-build-id <id>', text('ciBuildId')).option('--component', text('component')).option('-c, --config <config>', text('config')).option('-C, --config-file <config-file>', text('configFile')).option('--e2e', text('e2e')).option('-e, --env <env>', text('env')).option('--group <name>', text('group')).option('-k, --key <record-key>', text('key')).option('--headed', text('headed')).option('--headless', text('headless')).option('--no-exit', text('exit')).option('--parallel', text('parallel')).option('-p, --port <port>', text('port')).option('-P, --project <project-path>', text('project')).option('-q, --quiet', text('quiet')).option('--record [bool]', text('record'), coerceFalse).option('-r, --reporter <reporter>', text('reporter')).option('-o, --reporter-options <reporter-options>', text('reporterOptions')).option('-s, --spec <spec>', text('spec')).option('-t, --tag <tag>', text('tag')).option('--dev', text('dev'), coerceFalse);
183
+ return program.command('run').usage('[options]').description('Runs Cypress tests from the CLI without the GUI').option('--auto-cancel-after-failures <test-failure-count || false>', text('autoCancelAfterFailures')).option('-b, --browser <browser-name-or-path>', text('browser')).option('--ci-build-id <id>', text('ciBuildId')).option('--component', text('component')).option('-c, --config <config>', text('config')).option('-C, --config-file <config-file>', text('configFile')).option('--e2e', text('e2e')).option('-e, --env <env>', text('env')).option('--group <name>', text('group')).option('-k, --key <record-key>', text('key')).option('--headed', text('headed')).option('--headless', text('headless')).option('--no-exit', text('exit')).option('--parallel', text('parallel')).option('-p, --port <port>', text('port')).option('-P, --project <project-path>', text('project')).option('-q, --quiet', text('quiet')).option('--record [bool]', text('record'), coerceFalse).option('-r, --reporter <reporter>', text('reporter')).option('--runner-ui', text('runnerUi')).option('--no-runner-ui', text('noRunnerUi')).option('-o, --reporter-options <reporter-options>', text('reporterOptions')).option('-s, --spec <spec>', text('spec')).option('-t, --tag <tag>', text('tag')).option('--dev', text('dev'), coerceFalse);
182
184
  };
183
185
  const addCypressOpenCommand = program => {
184
186
  return program.command('open').usage('[options]').description('Opens Cypress in the interactive GUI.').option('-b, --browser <browser-path>', text('browser')).option('--component', text('component')).option('-c, --config <config>', text('config')).option('-C, --config-file <config-file>', text('configFile')).option('-d, --detached [bool]', text('detached'), coerceFalse).option('--e2e', text('e2e')).option('-e, --env <env>', text('env')).option('--global', text('global')).option('-p, --port <port>', text('port')).option('-P, --project <project-path>', text('project')).option('--dev', text('dev'), coerceFalse);
package/lib/exec/run.js CHANGED
@@ -122,6 +122,9 @@ const processRunOptions = (options = {}) => {
122
122
  if (options.reporterOptions) {
123
123
  args.push('--reporter-options', options.reporterOptions);
124
124
  }
125
+ if (options.runnerUi != null) {
126
+ args.push('--runner-ui', options.runnerUi);
127
+ }
125
128
 
126
129
  // if we have specific spec(s) push that into the args
127
130
  if (options.spec) {
package/lib/util.js CHANGED
@@ -169,7 +169,7 @@ const dequote = str => {
169
169
  return str;
170
170
  };
171
171
  const parseOpts = opts => {
172
- opts = _.pick(opts, 'autoCancelAfterFailures', 'browser', 'cachePath', 'cacheList', 'cacheClear', 'cachePrune', 'ciBuildId', 'ct', 'component', 'config', 'configFile', 'cypressVersion', 'destination', 'detached', 'dev', 'e2e', 'exit', 'env', 'force', 'global', 'group', 'headed', 'headless', 'inspect', 'inspectBrk', 'key', 'path', 'parallel', 'port', 'project', 'quiet', 'reporter', 'reporterOptions', 'record', 'runProject', 'spec', 'tag');
172
+ opts = _.pick(opts, 'autoCancelAfterFailures', 'browser', 'cachePath', 'cacheList', 'cacheClear', 'cachePrune', 'ciBuildId', 'ct', 'component', 'config', 'configFile', 'cypressVersion', 'destination', 'detached', 'dev', 'e2e', 'exit', 'env', 'force', 'global', 'group', 'headed', 'headless', 'inspect', 'inspectBrk', 'key', 'path', 'parallel', 'port', 'project', 'quiet', 'reporter', 'reporterOptions', 'record', 'runnerUi', 'runProject', 'spec', 'tag');
173
173
  if (opts.exit) {
174
174
  opts = _.omit(opts, 'exit');
175
175
  }
@@ -42,7 +42,7 @@ export function setupHooks(optionalCallback) {
42
42
  throw new Error('cy.origin from a component spec is not allowed');
43
43
  });
44
44
  // @ts-ignore
45
- Cypress.on('test:before:run', () => {
45
+ Cypress.on('test:before:after:run:async', () => {
46
46
  optionalCallback === null || optionalCallback === void 0 ? void 0 : optionalCallback();
47
47
  });
48
48
  }
@@ -6,6 +6,7 @@
6
6
  "scripts": {
7
7
  "build": "tsc || echo 'built, with type errors'",
8
8
  "postbuild": "node ../../scripts/sync-exported-npm-with-cli.js",
9
+ "build-prod": "yarn build",
9
10
  "check-ts": "tsc --noEmit",
10
11
  "watch": "tsc -w",
11
12
  "lint": "eslint --ext .js,.ts,.json, ."
@@ -32,18 +33,5 @@
32
33
  "bugs": "https://github.com/cypress-io/cypress/issues/new?template=1-bug-report.md",
33
34
  "publishConfig": {
34
35
  "access": "public"
35
- },
36
- "nx": {
37
- "targets": {
38
- "build": {
39
- "inputs": [
40
- "{workspaceRoot}/scripts"
41
- ],
42
- "outputs": [
43
- "{workspaceRoot}/cli/mount-utils",
44
- "{projectRoot}/dist"
45
- ]
46
- }
47
- }
48
36
  }
49
37
  }
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "cypress",
3
- "version": "12.17.4",
3
+ "version": "13.0.0",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "postinstall": "node index.js --exec install",
7
7
  "size": "t=\"$(npm pack .)\"; wc -c \"${t}\"; tar tvf \"${t}\"; rm \"${t}\";"
8
8
  },
9
9
  "dependencies": {
10
- "@cypress/request": "2.88.12",
10
+ "@cypress/request": "^3.0.0",
11
11
  "@cypress/xvfb": "^1.2.4",
12
12
  "@types/node": "^16.18.39",
13
13
  "@types/sinonjs__fake-timers": "8.1.1",
@@ -69,7 +69,7 @@
69
69
  "cypress": "bin/cypress"
70
70
  },
71
71
  "engines": {
72
- "node": "^14.0.0 || ^16.0.0 || >=18.0.0"
72
+ "node": "^16.0.0 || ^18.0.0 || >=20.0.0"
73
73
  },
74
74
  "types": "types",
75
75
  "exports": {
@@ -117,20 +117,10 @@
117
117
  "require": "./svelte/dist/cypress-svelte.cjs.js"
118
118
  }
119
119
  },
120
- "nx": {
121
- "targets": {
122
- "build": {
123
- "outputs": [
124
- "{projectRoot}/types",
125
- "{projectRoot}/build"
126
- ]
127
- }
128
- }
129
- },
130
120
  "buildInfo": {
131
- "commitBranch": "main",
132
- "commitSha": "95b4a14f13aa01deaaa7aa62a30ae70d2c013840",
133
- "commitDate": "2023-08-15T15:12:01.000Z",
121
+ "commitBranch": "develop",
122
+ "commitSha": "91d2845a247300b081eab609a851a55e131c53ef",
123
+ "commitDate": "2023-08-29T13:43:43.000Z",
134
124
  "stable": true
135
125
  },
136
126
  "description": "Cypress is a next generation front end testing tool built for the modern web",
@@ -110,7 +110,7 @@ function setupHooks(optionalCallback) {
110
110
  throw new Error('cy.origin from a component spec is not allowed');
111
111
  });
112
112
  // @ts-ignore
113
- Cypress.on('test:before:run', () => {
113
+ Cypress.on('test:before:after:run:async', () => {
114
114
  optionalCallback === null || optionalCallback === void 0 ? void 0 : optionalCallback();
115
115
  });
116
116
  }
@@ -90,7 +90,7 @@ function setupHooks(optionalCallback) {
90
90
  throw new Error('cy.origin from a component spec is not allowed');
91
91
  });
92
92
  // @ts-ignore
93
- Cypress.on('test:before:run', () => {
93
+ Cypress.on('test:before:after:run:async', () => {
94
94
  optionalCallback === null || optionalCallback === void 0 ? void 0 : optionalCallback();
95
95
  });
96
96
  }
@@ -88,19 +88,6 @@
88
88
  "publishConfig": {
89
89
  "access": "public"
90
90
  },
91
- "nx": {
92
- "targets": {
93
- "build": {
94
- "inputs": [
95
- "{workspaceRoot}/scripts"
96
- ],
97
- "outputs": [
98
- "{workspaceRoot}/cli/react",
99
- "{projectRoot}/dist"
100
- ]
101
- }
102
- }
103
- },
104
91
  "standard": {
105
92
  "globals": [
106
93
  "Cypress",
@@ -125,7 +125,7 @@ function setupHooks(optionalCallback) {
125
125
  throw new Error('cy.origin from a component spec is not allowed');
126
126
  });
127
127
  // @ts-ignore
128
- Cypress.on('test:before:run', () => {
128
+ Cypress.on('test:before:after:run:async', () => {
129
129
  optionalCallback === null || optionalCallback === void 0 ? void 0 : optionalCallback();
130
130
  });
131
131
  }
@@ -104,7 +104,7 @@ function setupHooks(optionalCallback) {
104
104
  throw new Error('cy.origin from a component spec is not allowed');
105
105
  });
106
106
  // @ts-ignore
107
- Cypress.on('test:before:run', () => {
107
+ Cypress.on('test:before:after:run:async', () => {
108
108
  optionalCallback === null || optionalCallback === void 0 ? void 0 : optionalCallback();
109
109
  });
110
110
  }
@@ -57,18 +57,5 @@
57
57
  },
58
58
  "publishConfig": {
59
59
  "access": "public"
60
- },
61
- "nx": {
62
- "targets": {
63
- "build": {
64
- "inputs": [
65
- "{workspaceRoot}/scripts"
66
- ],
67
- "outputs": [
68
- "{workspaceRoot}/cli/react18",
69
- "{projectRoot}/dist"
70
- ]
71
- }
72
- }
73
60
  }
74
61
  }
@@ -51,7 +51,7 @@ function setupHooks(optionalCallback) {
51
51
  throw new Error('cy.origin from a component spec is not allowed');
52
52
  });
53
53
  // @ts-ignore
54
- Cypress.on('test:before:run', () => {
54
+ Cypress.on('test:before:after:run:async', () => {
55
55
  optionalCallback === null || optionalCallback === void 0 ? void 0 : optionalCallback();
56
56
  });
57
57
  }
@@ -49,7 +49,7 @@ function setupHooks(optionalCallback) {
49
49
  throw new Error('cy.origin from a component spec is not allowed');
50
50
  });
51
51
  // @ts-ignore
52
- Cypress.on('test:before:run', () => {
52
+ Cypress.on('test:before:after:run:async', () => {
53
53
  optionalCallback === null || optionalCallback === void 0 ? void 0 : optionalCallback();
54
54
  });
55
55
  }
@@ -7,6 +7,7 @@
7
7
  "prebuild": "rimraf dist",
8
8
  "build": "rollup -c rollup.config.mjs",
9
9
  "postbuild": "node ../../scripts/sync-exported-npm-with-cli.js",
10
+ "build-prod": "yarn build",
10
11
  "lint": "eslint --ext .js,.jsx,.ts,.tsx,.json, .",
11
12
  "check-ts": "tsc --noEmit"
12
13
  },
@@ -39,18 +40,5 @@
39
40
  "module": "dist/cypress-svelte.esm-bundler.js",
40
41
  "publishConfig": {
41
42
  "access": "public"
42
- },
43
- "nx": {
44
- "targets": {
45
- "build": {
46
- "inputs": [
47
- "{workspaceRoot}/scripts"
48
- ],
49
- "outputs": [
50
- "{workspaceRoot}/cli/svelte",
51
- "{projectRoot}/dist"
52
- ]
53
- }
54
- }
55
43
  }
56
44
  }
@@ -1,3 +1,3 @@
1
1
  // Cypress adds chai expect and assert to global
2
- declare const expect: Chai.ExpectStatic
3
- declare const assert: Chai.AssertStatic
2
+ declare var expect: Chai.ExpectStatic
3
+ declare var assert: Chai.AssertStatic
@@ -7,7 +7,7 @@ cy.get('button').click()
7
7
  cy.get('.result').contains('Expected text')
8
8
  ```
9
9
  */
10
- declare const cy: Cypress.cy & CyEventEmitter
10
+ declare var cy: Cypress.cy & CyEventEmitter
11
11
 
12
12
  /**
13
13
  * Global variable `Cypress` holds common utilities and constants.
@@ -19,4 +19,4 @@ Cypress.version // => "1.4.0"
19
19
  Cypress._ // => Lodash _
20
20
  ```
21
21
  */
22
- declare const Cypress: Cypress.Cypress & CyEventEmitter
22
+ declare var Cypress: Cypress.Cypress & CyEventEmitter
@@ -7,13 +7,6 @@
7
7
  // but for now describe it as an ambient module
8
8
 
9
9
  declare namespace CypressCommandLine {
10
- type HookName = 'before' | 'beforeEach' | 'afterEach' | 'after'
11
-
12
- interface TestError {
13
- name: string
14
- message: string
15
- stack: string
16
- }
17
10
  /**
18
11
  * All options that one can pass to "cypress.run"
19
12
  * @see https://on.cypress.io/module-api#cypress-run
@@ -99,6 +92,10 @@ declare namespace CypressCommandLine {
99
92
  * Specify the number of failures to cancel a run being recorded to the Cloud or false to disable auto-cancellation.
100
93
  */
101
94
  autoCancelAfterFailures: number | false
95
+ /**
96
+ * Whether to display the Cypress Runner UI
97
+ */
98
+ runnerUi: boolean
102
99
  }
103
100
 
104
101
  /**
@@ -174,9 +171,9 @@ declare namespace CypressCommandLine {
174
171
  * Cypress single test result
175
172
  */
176
173
  interface TestResult {
174
+ duration: number
177
175
  title: string[]
178
176
  state: string
179
- body: string
180
177
  /**
181
178
  * Error string as it's presented in console if the test fails
182
179
  */
@@ -186,20 +183,6 @@ declare namespace CypressCommandLine {
186
183
 
187
184
  interface AttemptResult {
188
185
  state: string
189
- error: TestError | null
190
- wallClockStartedAt: dateTimeISO
191
- wallClockDuration: ms
192
- videoTimestamp: ms
193
- screenshots: ScreenshotInformation[]
194
- }
195
-
196
- /**
197
- * Information about a single "before", "beforeEach", "afterEach" and "after" hook.
198
- */
199
- interface HookInformation {
200
- hookName: HookName
201
- title: string[]
202
- body: string
203
186
  }
204
187
 
205
188
  /**
@@ -216,58 +199,68 @@ declare namespace CypressCommandLine {
216
199
  width: pixels
217
200
  }
218
201
 
202
+ interface SpecResult {
203
+ /**
204
+ * resolved filename of the spec
205
+ */
206
+ absolute: string
207
+ /**
208
+ * file extension like ".js"
209
+ */
210
+ fileExtension: string
211
+ /**
212
+ * file name without extension like "spec"
213
+ */
214
+ fileName: string
215
+ /**
216
+ * filename like "spec.js"
217
+ */
218
+ name: string
219
+ /**
220
+ * name relative to the project root, like "cypress/integration/spec.js"
221
+ */
222
+ relative: string
223
+ }
224
+
219
225
  /**
220
226
  * Cypress test run result for a single spec.
221
227
  */
222
228
  interface RunResult {
229
+ error: string | null
230
+ /**
231
+ * Reporter name like "spec"
232
+ */
233
+ reporter: string
234
+ /**
235
+ * This is controlled by the reporter, and Cypress cannot guarantee
236
+ * the properties. Usually this object has suites, tests, passes, etc
237
+ */
238
+ reporterStats: object
239
+ screenshots: ScreenshotInformation[]
223
240
  /**
224
241
  * Accurate test results collected by Cypress.
225
242
  */
226
243
  stats: {
227
- suites: number
228
- tests: number
244
+ duration?: ms
245
+ endedAt: dateTimeISO
246
+ failures: number
229
247
  passes: number
230
248
  pending: number
231
- skipped: number
232
- failures: number
233
249
  startedAt: dateTimeISO
234
- endedAt: dateTimeISO
235
- duration: ms
236
- wallClockDuration?: number
250
+ suites: number
251
+ tests: number
237
252
  }
238
253
  /**
239
- * Reporter name like "spec"
240
- */
241
- reporter: string
242
- /**
243
- * This is controlled by the reporter, and Cypress cannot guarantee
244
- * the properties. Usually this object has suites, tests, passes, etc
254
+ * information about the spec test file.
245
255
  */
246
- reporterStats: object
247
- hooks: HookInformation[]
256
+ spec: SpecResult
248
257
  tests: TestResult[]
249
- error: string | null
250
258
  video: string | null
251
- /**
252
- * information about the spec test file.
253
- */
254
- spec: {
255
- /**
256
- * filename like "spec.js"
257
- */
258
- name: string
259
- /**
260
- * name relative to the project root, like "cypress/integration/spec.js"
261
- */
262
- relative: string
263
- /**
264
- * resolved filename of the spec
265
- */
266
- absolute: string
267
- relativeToCommonRoot: string
268
- }
269
- shouldUploadVideo: boolean
270
- skippedSpec: boolean
259
+ }
260
+
261
+ type PublicConfig = Omit<Cypress.ResolvedConfigOptions, 'additionalIgnorePattern' | 'autoOpen' | 'browser' | 'browsers' | 'browserUrl' | 'clientRoute' | 'cypressEnv' | 'devServerPublicPathRoute' | 'morgan' | 'namespace' | 'proxyServer' | 'proxyUrl' | 'rawJson' | 'remote' | 'repoRoot' | 'report' | 'reporterRoute' | 'reporterUrl' | 'resolved' | 'setupNodeEvents' | 'socketId' | 'socketIoCookie' | 'socketIoRoute' | 'specs' | 'state' | 'supportFolder'> & {
262
+ browsers: Cypress.PublicBrowser[]
263
+ cypressInternalEnv: string
271
264
  }
272
265
 
273
266
  /**
@@ -275,29 +268,28 @@ declare namespace CypressCommandLine {
275
268
  * @see https://on.cypress.io/module-api
276
269
  */
277
270
  interface CypressRunResult {
278
- status: 'finished'
279
- startedTestsAt: dateTimeISO
271
+ browserName: string
272
+ browserPath: string
273
+ browserVersion: string
274
+ config: PublicConfig
275
+ cypressVersion: string
280
276
  endedTestsAt: dateTimeISO
281
- totalDuration: ms
282
- totalSuites: number
283
- totalTests: number
277
+ osName: string
278
+ osVersion: string
279
+ runs: RunResult[]
280
+ /**
281
+ * If Cypress test run was recorded, full url will be provided.
282
+ * @see https://on.cypress.io/cloud-introduction
283
+ */
284
+ runUrl?: string
285
+ startedTestsAt: dateTimeISO
286
+ totalDuration: number
284
287
  totalFailed: number
285
288
  totalPassed: number
286
289
  totalPending: number
287
290
  totalSkipped: number
288
- /**
289
- * If Cypress test run is being recorded, full url will be provided.
290
- * @see https://on.cypress.io/dashboard-introduction
291
- */
292
- runUrl?: string
293
- runs: RunResult[]
294
- browserPath: string
295
- browserName: string
296
- browserVersion: string
297
- osName: string
298
- osVersion: string
299
- cypressVersion: string
300
- config: Cypress.ResolvedConfigOptions
291
+ totalSuites: number
292
+ totalTests: number
301
293
  }
302
294
 
303
295
  /**
@@ -134,6 +134,19 @@ declare namespace Cypress {
134
134
  unsupportedVersion?: boolean
135
135
  }
136
136
 
137
+ /**
138
+ * Browser that's exposed in public APIs
139
+ */
140
+ interface PublicBrowser {
141
+ channel: BrowserChannel
142
+ displayName: string
143
+ family: string
144
+ majorVersion?: string | number | null
145
+ name: BrowserName
146
+ path: string
147
+ version: string
148
+ }
149
+
137
150
  interface Ensure {
138
151
  /**
139
152
  * Throws an error if `subject` is not one of the passed in `type`s.
@@ -2936,18 +2949,13 @@ declare namespace Cypress {
2936
2949
  * @default "cypress/downloads"
2937
2950
  */
2938
2951
  downloadsFolder: string
2939
- /**
2940
- * If set to `system`, Cypress will try to find a `node` executable on your path to use when executing your plugins. Otherwise, Cypress will use the Node version bundled with Cypress.
2941
- * @default "bundled"
2942
- */
2943
- nodeVersion: 'system' | 'bundled'
2944
2952
  /**
2945
2953
  * The application under test cannot redirect more than this limit.
2946
2954
  * @default 20
2947
2955
  */
2948
2956
  redirectionLimit: number
2949
2957
  /**
2950
- * If `nodeVersion === 'system'` and a `node` executable is found, this will be the full filesystem path to that executable.
2958
+ * If a `node` executable is found, this will be the full filesystem path to that executable.
2951
2959
  * @default null
2952
2960
  */
2953
2961
  resolvedNodePath: string
@@ -3016,15 +3024,10 @@ declare namespace Cypress {
3016
3024
  */
3017
3025
  videoCompression: number | boolean
3018
3026
  /**
3019
- * Whether Cypress will record a video of the test run when running headlessly.
3020
- * @default true
3027
+ * Whether Cypress will record a video of the test run when executing in run mode.
3028
+ * @default false
3021
3029
  */
3022
3030
  video: boolean
3023
- /**
3024
- * Whether Cypress will upload the video to Cypress Cloud even if all tests are passing. This applies only when recording your runs to Cypress Cloud. Turn this off if you'd like the video uploaded only when there are failing tests.
3025
- * @default true
3026
- */
3027
- videoUploadOnPasses: boolean
3028
3031
  /**
3029
3032
  * Whether Chrome Web Security for same-origin policy and insecure mixed content is enabled. Read more about this here
3030
3033
  * @default true
@@ -3265,6 +3268,9 @@ declare namespace Cypress {
3265
3268
  socketIoRoute: string
3266
3269
  spec: Cypress['spec'] | null
3267
3270
  specs: Array<Cypress['spec']>
3271
+ protocolEnabled: boolean
3272
+ hideCommandLog: boolean
3273
+ hideRunnerUi: boolean
3268
3274
  }
3269
3275
 
3270
3276
  interface SuiteConfigOverrides extends Partial<
package/types/index.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  // Mike Woudenberg <https://github.com/mikewoudenberg>
5
5
  // Robbert van Markus <https://github.com/rvanmarkus>
6
6
  // Nicholas Boll <https://github.com/nicholasboll>
7
- // TypeScript Version: 3.9
7
+ // TypeScript Version: 4.3
8
8
  // Updated by the Cypress team: https://www.cypress.io/about/
9
9
 
10
10
  /// <reference path="./cy-blob-util.d.ts" />
@@ -101,7 +101,7 @@ function setupHooks(optionalCallback) {
101
101
  throw new Error('cy.origin from a component spec is not allowed');
102
102
  });
103
103
  // @ts-ignore
104
- Cypress.on('test:before:run', () => {
104
+ Cypress.on('test:before:after:run:async', () => {
105
105
  optionalCallback === null || optionalCallback === void 0 ? void 0 : optionalCallback();
106
106
  });
107
107
  }
@@ -81,7 +81,7 @@ function setupHooks(optionalCallback) {
81
81
  throw new Error('cy.origin from a component spec is not allowed');
82
82
  });
83
83
  // @ts-ignore
84
- Cypress.on('test:before:run', () => {
84
+ Cypress.on('test:before:after:run:async', () => {
85
85
  optionalCallback === null || optionalCallback === void 0 ? void 0 : optionalCallback();
86
86
  });
87
87
  }
package/vue/package.json CHANGED
@@ -4,6 +4,7 @@
4
4
  "description": "Browser-based Component Testing for Vue.js with Cypress.io ✌️🌲",
5
5
  "main": "dist/cypress-vue.cjs.js",
6
6
  "scripts": {
7
+ "build-prod": "yarn build",
7
8
  "cy:open": "node ../../scripts/cypress.js open --component --project ${PWD}",
8
9
  "cy:run": "node ../../scripts/cypress.js run --component --project ${PWD}",
9
10
  "build": "rimraf dist && rollup -c rollup.config.mjs",
@@ -79,18 +80,5 @@
79
80
  },
80
81
  "publishConfig": {
81
82
  "access": "public"
82
- },
83
- "nx": {
84
- "targets": {
85
- "build": {
86
- "inputs": [
87
- "{workspaceRoot}/scripts"
88
- ],
89
- "outputs": [
90
- "{workspaceRoot}/cli/vue",
91
- "{projectRoot}/dist"
92
- ]
93
- }
94
- }
95
83
  }
96
84
  }
@@ -19823,7 +19823,7 @@ function setupHooks(optionalCallback) {
19823
19823
  throw new Error('cy.origin from a component spec is not allowed');
19824
19824
  });
19825
19825
  // @ts-ignore
19826
- Cypress.on('test:before:run', () => {
19826
+ Cypress.on('test:before:after:run:async', () => {
19827
19827
  optionalCallback === null || optionalCallback === void 0 ? void 0 : optionalCallback();
19828
19828
  });
19829
19829
  }
@@ -19821,7 +19821,7 @@ function setupHooks(optionalCallback) {
19821
19821
  throw new Error('cy.origin from a component spec is not allowed');
19822
19822
  });
19823
19823
  // @ts-ignore
19824
- Cypress.on('test:before:run', () => {
19824
+ Cypress.on('test:before:after:run:async', () => {
19825
19825
  optionalCallback === null || optionalCallback === void 0 ? void 0 : optionalCallback();
19826
19826
  });
19827
19827
  }
package/vue2/package.json CHANGED
@@ -7,6 +7,7 @@
7
7
  "check-ts": "tsc --noEmit",
8
8
  "build": "rimraf dist && yarn rollup -c rollup.config.mjs",
9
9
  "postbuild": "node ../../scripts/sync-exported-npm-with-cli.js",
10
+ "build-prod": "yarn build",
10
11
  "test": "echo \"Tests for @cypress/vue2 are run from system-tests\"",
11
12
  "watch": "yarn build --watch --watch.exclude ./dist/**/*",
12
13
  "lint": "eslint --ext .js,.jsx,.ts,.tsx,.json,.vue .",
@@ -48,18 +49,5 @@
48
49
  "module": "dist/cypress-vue2.esm-bundler.js",
49
50
  "publishConfig": {
50
51
  "access": "public"
51
- },
52
- "nx": {
53
- "targets": {
54
- "build": {
55
- "inputs": [
56
- "{workspaceRoot}/scripts"
57
- ],
58
- "outputs": [
59
- "{workspaceRoot}/cli/vue2",
60
- "{projectRoot}/dist"
61
- ]
62
- }
63
- }
64
52
  }
65
53
  }