cypress 7.5.0 → 7.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/VerboseRenderer.js +72 -0
- package/lib/tasks/install.js +2 -2
- package/lib/tasks/verify.js +2 -2
- package/package.json +5 -3
- package/types/cypress.d.ts +21 -3
- package/types/net-stubbing.ts +6 -2
@@ -0,0 +1,72 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
// Vendored from @cypress/listr-verbose-renderer
|
4
|
+
const figures = require('figures');
|
5
|
+
|
6
|
+
const cliCursor = require('cli-cursor');
|
7
|
+
|
8
|
+
const chalk = require('chalk');
|
9
|
+
|
10
|
+
const dayjs = require('dayjs');
|
11
|
+
|
12
|
+
const formattedLog = (options, output) => {
|
13
|
+
const timestamp = dayjs().format(options.dateFormat); // eslint-disable-next-line no-console
|
14
|
+
|
15
|
+
console.log(`${chalk.dim(`[${timestamp}]`)} ${output}`);
|
16
|
+
};
|
17
|
+
|
18
|
+
const renderHelper = (task, event, options) => {
|
19
|
+
const log = formattedLog.bind(undefined, options);
|
20
|
+
|
21
|
+
if (event.type === 'STATE') {
|
22
|
+
const message = task.isPending() ? 'started' : task.state;
|
23
|
+
log(`${task.title} [${message}]`);
|
24
|
+
|
25
|
+
if (task.isSkipped() && task.output) {
|
26
|
+
log(`${figures.arrowRight} ${task.output}`);
|
27
|
+
}
|
28
|
+
} else if (event.type === 'TITLE') {
|
29
|
+
log(`${task.title} [title changed]`);
|
30
|
+
}
|
31
|
+
};
|
32
|
+
|
33
|
+
const render = (tasks, options) => {
|
34
|
+
for (const task of tasks) {
|
35
|
+
task.subscribe(event => {
|
36
|
+
if (event.type === 'SUBTASKS') {
|
37
|
+
render(task.subtasks, options);
|
38
|
+
return;
|
39
|
+
}
|
40
|
+
|
41
|
+
renderHelper(task, event, options);
|
42
|
+
}, err => {
|
43
|
+
// eslint-disable-next-line no-console
|
44
|
+
console.log(err);
|
45
|
+
});
|
46
|
+
}
|
47
|
+
};
|
48
|
+
|
49
|
+
class VerboseRenderer {
|
50
|
+
constructor(tasks, options) {
|
51
|
+
this._tasks = tasks;
|
52
|
+
this._options = Object.assign({
|
53
|
+
dateFormat: 'HH:mm:ss'
|
54
|
+
}, options);
|
55
|
+
}
|
56
|
+
|
57
|
+
static get nonTTY() {
|
58
|
+
return true;
|
59
|
+
}
|
60
|
+
|
61
|
+
render() {
|
62
|
+
cliCursor.hide();
|
63
|
+
render(this._tasks, this._options);
|
64
|
+
}
|
65
|
+
|
66
|
+
end() {
|
67
|
+
cliCursor.show();
|
68
|
+
}
|
69
|
+
|
70
|
+
}
|
71
|
+
|
72
|
+
module.exports = VerboseRenderer;
|
package/lib/tasks/install.js
CHANGED
@@ -16,8 +16,6 @@ const {
|
|
16
16
|
Listr
|
17
17
|
} = require('listr2');
|
18
18
|
|
19
|
-
const verbose = require('@cypress/listr-verbose-renderer');
|
20
|
-
|
21
19
|
const Promise = require('bluebird');
|
22
20
|
|
23
21
|
const logSymbols = require('log-symbols');
|
@@ -43,6 +41,8 @@ const {
|
|
43
41
|
errors
|
44
42
|
} = require('../errors');
|
45
43
|
|
44
|
+
const verbose = require('../VerboseRenderer');
|
45
|
+
|
46
46
|
const getNpmArgv = () => {
|
47
47
|
const json = process.env.npm_config_argv;
|
48
48
|
|
package/lib/tasks/verify.js
CHANGED
@@ -10,8 +10,6 @@ const {
|
|
10
10
|
|
11
11
|
const debug = require('debug')('cypress:cli');
|
12
12
|
|
13
|
-
const verbose = require('@cypress/listr-verbose-renderer');
|
14
|
-
|
15
13
|
const {
|
16
14
|
stripIndent
|
17
15
|
} = require('common-tags');
|
@@ -24,6 +22,8 @@ const path = require('path');
|
|
24
22
|
|
25
23
|
const os = require('os');
|
26
24
|
|
25
|
+
const verbose = require('../VerboseRenderer');
|
26
|
+
|
27
27
|
const {
|
28
28
|
throwFormErrorText,
|
29
29
|
errors
|
package/package.json
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "cypress",
|
3
|
-
"version": "7.
|
3
|
+
"version": "7.6.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/listr-verbose-renderer": "^0.4.1",
|
11
10
|
"@cypress/request": "^2.88.5",
|
12
11
|
"@cypress/xvfb": "^1.2.4",
|
13
12
|
"@types/node": "^14.14.31",
|
@@ -19,15 +18,18 @@
|
|
19
18
|
"cachedir": "^2.3.0",
|
20
19
|
"chalk": "^4.1.0",
|
21
20
|
"check-more-types": "^2.24.0",
|
21
|
+
"cli-cursor": "^3.1.0",
|
22
22
|
"cli-table3": "~0.6.0",
|
23
23
|
"commander": "^5.1.0",
|
24
24
|
"common-tags": "^1.8.0",
|
25
25
|
"dayjs": "^1.10.4",
|
26
|
-
"debug": "4.3.2",
|
26
|
+
"debug": "^4.3.2",
|
27
|
+
"enquirer": "^2.3.6",
|
27
28
|
"eventemitter2": "^6.4.3",
|
28
29
|
"execa": "4.1.0",
|
29
30
|
"executable": "^4.1.1",
|
30
31
|
"extract-zip": "2.0.1",
|
32
|
+
"figures": "^3.2.0",
|
31
33
|
"fs-extra": "^9.1.0",
|
32
34
|
"getos": "^3.2.1",
|
33
35
|
"is-ci": "^3.0.0",
|
package/types/cypress.d.ts
CHANGED
@@ -60,7 +60,7 @@ declare namespace Cypress {
|
|
60
60
|
*/
|
61
61
|
displayName: string
|
62
62
|
version: string
|
63
|
-
majorVersion: number
|
63
|
+
majorVersion: number | string
|
64
64
|
path: string
|
65
65
|
isHeaded: boolean
|
66
66
|
isHeadless: boolean
|
@@ -490,6 +490,13 @@ declare namespace Cypress {
|
|
490
490
|
getElementCoordinatesByPositionRelativeToXY(element: JQuery | HTMLElement, x: number, y: number): ElementPositioning
|
491
491
|
}
|
492
492
|
|
493
|
+
/**
|
494
|
+
* @see https://on.cypress.io/keyboard-api
|
495
|
+
*/
|
496
|
+
Keyboard: {
|
497
|
+
defaults(options: Partial<KeyboardDefaultsOptions>): void
|
498
|
+
}
|
499
|
+
|
493
500
|
/**
|
494
501
|
* @see https://on.cypress.io/api/api-server
|
495
502
|
*/
|
@@ -2756,8 +2763,6 @@ declare namespace Cypress {
|
|
2756
2763
|
clientRoute: string
|
2757
2764
|
configFile: string
|
2758
2765
|
cypressEnv: string
|
2759
|
-
integrationExampleName: string
|
2760
|
-
integrationExamplePath: string
|
2761
2766
|
isNewProject: boolean
|
2762
2767
|
isTextTerminal: boolean
|
2763
2768
|
morgan: boolean
|
@@ -2786,6 +2791,7 @@ declare namespace Cypress {
|
|
2786
2791
|
|
2787
2792
|
interface TestConfigOverrides extends Partial<Pick<ConfigOptions, 'animationDistanceThreshold' | 'baseUrl' | 'defaultCommandTimeout' | 'env' | 'execTimeout' | 'includeShadowDom' | 'requestTimeout' | 'responseTimeout' | 'retries' | 'scrollBehavior' | 'taskTimeout' | 'viewportHeight' | 'viewportWidth' | 'waitForAnimations'>> {
|
2788
2793
|
browser?: IsBrowserMatcher | IsBrowserMatcher[]
|
2794
|
+
keystrokeDelay?: number
|
2789
2795
|
}
|
2790
2796
|
|
2791
2797
|
/**
|
@@ -2836,6 +2842,18 @@ declare namespace Cypress {
|
|
2836
2842
|
env: object
|
2837
2843
|
}
|
2838
2844
|
|
2845
|
+
/**
|
2846
|
+
* Options for Cypress.Keyboard.defaults()
|
2847
|
+
*/
|
2848
|
+
interface KeyboardDefaultsOptions {
|
2849
|
+
/**
|
2850
|
+
* Time, in milliseconds, between each keystroke when typing. (Pass 0 to disable)
|
2851
|
+
*
|
2852
|
+
* @default 10
|
2853
|
+
*/
|
2854
|
+
keystrokeDelay: number
|
2855
|
+
}
|
2856
|
+
|
2839
2857
|
/**
|
2840
2858
|
* Full set of possible options for cy.request call
|
2841
2859
|
*/
|
package/types/net-stubbing.ts
CHANGED
@@ -79,7 +79,7 @@ export namespace CyHttpMessages {
|
|
79
79
|
/**
|
80
80
|
* The headers of the HTTP message.
|
81
81
|
*/
|
82
|
-
headers: { [key: string]: string }
|
82
|
+
headers: { [key: string]: string | string[] }
|
83
83
|
}
|
84
84
|
|
85
85
|
export type IncomingResponse = BaseMessage & {
|
@@ -131,6 +131,10 @@ export namespace CyHttpMessages {
|
|
131
131
|
* Request URL.
|
132
132
|
*/
|
133
133
|
url: string
|
134
|
+
/**
|
135
|
+
* URL query string as object.
|
136
|
+
*/
|
137
|
+
query: Record<string, string|number>
|
134
138
|
/**
|
135
139
|
* The HTTP version used in the request. Read only.
|
136
140
|
*/
|
@@ -383,7 +387,7 @@ export type RouteHandler = string | StaticResponse | RouteHandlerController | ob
|
|
383
387
|
/**
|
384
388
|
* Describes a response that will be sent back to the browser to fulfill the request.
|
385
389
|
*/
|
386
|
-
export type StaticResponse = GenericStaticResponse<string, string | object | boolean | null> & {
|
390
|
+
export type StaticResponse = GenericStaticResponse<string, string | object | boolean | ArrayBuffer | null> & {
|
387
391
|
/**
|
388
392
|
* Milliseconds to delay before the response is sent.
|
389
393
|
* @deprecated Use `delay` instead of `delayMs`.
|