cypress 12.17.4 → 13.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/angular/dist/index.js +1 -1
- package/angular/package.json +1 -12
- package/lib/cli.js +3 -1
- package/lib/exec/run.js +3 -0
- package/lib/util.js +1 -1
- package/mount-utils/dist/index.js +1 -1
- package/mount-utils/package.json +1 -13
- package/package.json +6 -16
- package/react/dist/cypress-react.cjs.js +1 -1
- package/react/dist/cypress-react.esm-bundler.js +1 -1
- package/react/package.json +0 -13
- package/react18/dist/cypress-react.cjs.js +1 -1
- package/react18/dist/cypress-react.esm-bundler.js +1 -1
- package/react18/package.json +0 -13
- package/svelte/dist/cypress-svelte.cjs.js +1 -1
- package/svelte/dist/cypress-svelte.esm-bundler.js +1 -1
- package/svelte/package.json +1 -13
- package/types/cypress-expect.d.ts +2 -2
- package/types/cypress-global-vars.d.ts +2 -2
- package/types/cypress-npm-api.d.ts +68 -76
- package/types/cypress.d.ts +19 -13
- package/types/index.d.ts +1 -1
- package/vue/dist/cypress-vue.cjs.js +1 -1
- package/vue/dist/cypress-vue.esm-bundler.js +1 -1
- package/vue/package.json +1 -13
- package/vue2/dist/cypress-vue2.cjs.js +1 -1
- package/vue2/dist/cypress-vue2.esm-bundler.js +1 -1
- package/vue2/package.json +1 -13
package/angular/dist/index.js
CHANGED
@@ -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
|
}
|
package/angular/package.json
CHANGED
@@ -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
|
}
|
package/mount-utils/package.json
CHANGED
@@ -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": "
|
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": "
|
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": "^
|
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": "
|
132
|
-
"commitSha": "
|
133
|
-
"commitDate": "2023-08-
|
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
|
}
|
package/react/package.json
CHANGED
@@ -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
|
}
|
package/react18/package.json
CHANGED
@@ -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
|
}
|
package/svelte/package.json
CHANGED
@@ -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
|
3
|
-
declare
|
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
|
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
|
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
|
-
|
228
|
-
|
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
|
-
|
235
|
-
|
236
|
-
wallClockDuration?: number
|
250
|
+
suites: number
|
251
|
+
tests: number
|
237
252
|
}
|
238
253
|
/**
|
239
|
-
*
|
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
|
-
|
247
|
-
hooks: HookInformation[]
|
256
|
+
spec: SpecResult
|
248
257
|
tests: TestResult[]
|
249
|
-
error: string | null
|
250
258
|
video: string | null
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
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
|
-
|
279
|
-
|
271
|
+
browserName: string
|
272
|
+
browserPath: string
|
273
|
+
browserVersion: string
|
274
|
+
config: PublicConfig
|
275
|
+
cypressVersion: string
|
280
276
|
endedTestsAt: dateTimeISO
|
281
|
-
|
282
|
-
|
283
|
-
|
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
|
-
|
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
|
/**
|
package/types/cypress.d.ts
CHANGED
@@ -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
|
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
|
3020
|
-
* @default
|
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
|
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
|
}
|