cypress 9.4.0 → 9.5.1

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/util.js CHANGED
@@ -54,11 +54,11 @@ const pkg = require(path.join(__dirname, '..', 'package.json'));
54
54
 
55
55
  const issuesUrl = 'https://github.com/cypress-io/cypress/issues';
56
56
  const getosAsync = Promise.promisify(getos);
57
- /**
58
- * Returns SHA512 of a file
59
- *
60
- * Implementation lifted from https://github.com/sindresorhus/hasha
61
- * but without bringing that dependency (since hasha is Node v8+)
57
+ /**
58
+ * Returns SHA512 of a file
59
+ *
60
+ * Implementation lifted from https://github.com/sindresorhus/hasha
61
+ * but without bringing that dependency (since hasha is Node v8+)
62
62
  */
63
63
 
64
64
  const getFileChecksum = filename => {
@@ -92,21 +92,21 @@ const stringify = val => {
92
92
  function normalizeModuleOptions(options = {}) {
93
93
  return _.mapValues(options, stringify);
94
94
  }
95
- /**
96
- * Returns true if the platform is Linux. We do a lot of different
97
- * stuff on Linux (like Xvfb) and it helps to has readable code
95
+ /**
96
+ * Returns true if the platform is Linux. We do a lot of different
97
+ * stuff on Linux (like Xvfb) and it helps to has readable code
98
98
  */
99
99
 
100
100
 
101
101
  const isLinux = () => {
102
102
  return os.platform() === 'linux';
103
103
  };
104
- /**
105
- * If the DISPLAY variable is set incorrectly, when trying to spawn
106
- * Cypress executable we get an error like this:
107
- ```
108
- [1005:0509/184205.663837:WARNING:browser_main_loop.cc(258)] Gtk: cannot open display: 99
109
- ```
104
+ /**
105
+ * If the DISPLAY variable is set incorrectly, when trying to spawn
106
+ * Cypress executable we get an error like this:
107
+ ```
108
+ [1005:0509/184205.663837:WARNING:browser_main_loop.cc(258)] Gtk: cannot open display: 99
109
+ ```
110
110
  */
111
111
 
112
112
 
@@ -138,12 +138,12 @@ function stdoutLineMatches(expectedLine, stdout) {
138
138
  const lines = stdout.split('\n').map(val => val.trim());
139
139
  return lines.some(line => line === expectedLine);
140
140
  }
141
- /**
142
- * Confirms if given value is a valid CYPRESS_INTERNAL_ENV value. Undefined values
143
- * are valid, because the system can set the default one.
144
- *
145
- * @param {string} value
146
- * @example util.isValidCypressInternalEnvValue(process.env.CYPRESS_INTERNAL_ENV)
141
+ /**
142
+ * Confirms if given value is a valid CYPRESS_INTERNAL_ENV value. Undefined values
143
+ * are valid, because the system can set the default one.
144
+ *
145
+ * @param {string} value
146
+ * @example util.isValidCypressInternalEnvValue(process.env.CYPRESS_INTERNAL_ENV)
147
147
  */
148
148
 
149
149
 
@@ -157,21 +157,21 @@ function isValidCypressInternalEnvValue(value) {
157
157
  const names = ['development', 'test', 'staging', 'production'];
158
158
  return _.includes(names, value);
159
159
  }
160
- /**
161
- * Confirms if given value is a non-production CYPRESS_INTERNAL_ENV value.
162
- * Undefined values are valid, because the system can set the default one.
163
- *
164
- * @param {string} value
165
- * @example util.isNonProductionCypressInternalEnvValue(process.env.CYPRESS_INTERNAL_ENV)
160
+ /**
161
+ * Confirms if given value is a non-production CYPRESS_INTERNAL_ENV value.
162
+ * Undefined values are valid, because the system can set the default one.
163
+ *
164
+ * @param {string} value
165
+ * @example util.isNonProductionCypressInternalEnvValue(process.env.CYPRESS_INTERNAL_ENV)
166
166
  */
167
167
 
168
168
 
169
169
  function isNonProductionCypressInternalEnvValue(value) {
170
170
  return !_.isUndefined(value) && value !== 'production';
171
171
  }
172
- /**
173
- * Prints NODE_OPTIONS using debug() module, but only
174
- * if DEBUG=cypress... is set
172
+ /**
173
+ * Prints NODE_OPTIONS using debug() module, but only
174
+ * if DEBUG=cypress... is set
175
175
  */
176
176
 
177
177
 
@@ -186,19 +186,19 @@ function printNodeOptions(log = debug) {
186
186
  log('NODE_OPTIONS is not set');
187
187
  }
188
188
  }
189
- /**
190
- * Removes double quote characters
191
- * from the start and end of the given string IF they are both present
192
- *
193
- * @param {string} str Input string
194
- * @returns {string} Trimmed string or the original string if there are no double quotes around it.
195
- * @example
196
- ```
197
- dequote('"foo"')
198
- // returns string 'foo'
199
- dequote('foo')
200
- // returns string 'foo'
201
- ```
189
+ /**
190
+ * Removes double quote characters
191
+ * from the start and end of the given string IF they are both present
192
+ *
193
+ * @param {string} str Input string
194
+ * @returns {string} Trimmed string or the original string if there are no double quotes around it.
195
+ * @example
196
+ ```
197
+ dequote('"foo"')
198
+ // returns string 'foo'
199
+ dequote('foo')
200
+ // returns string 'foo'
201
+ ```
202
202
  */
203
203
 
204
204
 
@@ -234,9 +234,9 @@ const parseOpts = opts => {
234
234
  debug('parsed cli options %o', cleanOpts);
235
235
  return cleanOpts;
236
236
  };
237
- /**
238
- * Copy of packages/server/lib/browsers/utils.ts
239
- * because we need same functionality in CLI to show the path :(
237
+ /**
238
+ * Copy of packages/server/lib/browsers/utils.ts
239
+ * because we need same functionality in CLI to show the path :(
240
240
  */
241
241
 
242
242
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cypress",
3
- "version": "9.4.0",
3
+ "version": "9.5.1",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "postinstall": "node index.js --exec install",
@@ -1949,8 +1949,8 @@ declare module "chai" {
1949
1949
  export = chai;
1950
1950
  }
1951
1951
 
1952
- // const a = 1; a.should(1); doesn't work with Cypress
1953
- // https://github.com/cypress-io/cypress/issues/16548
1954
- // interface Object {
1955
- // should: Chai.Assertion;
1956
- // }
1952
+ // const a = 1; a.should(1); doesn't work with Cypress
1953
+ // https://github.com/cypress-io/cypress/issues/16548
1954
+ // interface Object {
1955
+ // should: Chai.Assertion;
1956
+ // }
@@ -1,13 +1,13 @@
1
- // Shim definition to export a namespace. Cypress is actually a global module
2
- // so import/export isn't allowed there. We import here and define a global module
3
- // so that Cypress can get and use the Blob type
4
-
5
- // tslint:disable-next-line:no-implicit-dependencies
6
- import * as blobUtil from 'blob-util'
7
-
8
- export = BlobUtil
9
- export as namespace BlobUtil
10
-
11
- declare namespace BlobUtil {
12
- type BlobUtilStatic = typeof blobUtil
13
- }
1
+ // Shim definition to export a namespace. Cypress is actually a global module
2
+ // so import/export isn't allowed there. We import here and define a global module
3
+ // so that Cypress can get and use the Blob type
4
+
5
+ // tslint:disable-next-line:no-implicit-dependencies
6
+ import * as blobUtil from 'blob-util'
7
+
8
+ export = BlobUtil
9
+ export as namespace BlobUtil
10
+
11
+ declare namespace BlobUtil {
12
+ type BlobUtilStatic = typeof blobUtil
13
+ }
@@ -1,12 +1,12 @@
1
- // Shim definition to export a namespace. Cypress is actually a global module
2
- // so import/export isn't allowed there. We import here and define a global module
3
- // so that Cypress can get and use the Blob type
4
- import ImportedBluebird = require('./bluebird')
5
-
6
- export = Bluebird
7
- export as namespace Bluebird
8
-
9
- declare namespace Bluebird {
10
- type BluebirdStatic = typeof ImportedBluebird
11
- interface Promise<T> extends ImportedBluebird<T> {}
12
- }
1
+ // Shim definition to export a namespace. Cypress is actually a global module
2
+ // so import/export isn't allowed there. We import here and define a global module
3
+ // so that Cypress can get and use the Blob type
4
+ import ImportedBluebird = require('./bluebird')
5
+
6
+ export = Bluebird
7
+ export as namespace Bluebird
8
+
9
+ declare namespace Bluebird {
10
+ type BluebirdStatic = typeof ImportedBluebird
11
+ interface Promise<T> extends ImportedBluebird<T> {}
12
+ }
@@ -1,10 +1,10 @@
1
- // Shim definition to export a namespace. Cypress is actually a global module
2
- // so import/export isn't allowed there. We import here and define a global module
3
- /// <reference path="./chai/index.d.ts" />
4
- declare namespace Chai {
5
- interface Include {
6
- html(html: string): Assertion
7
- text(text: string): Assertion
8
- value(text: string): Assertion
9
- }
10
- }
1
+ // Shim definition to export a namespace. Cypress is actually a global module
2
+ // so import/export isn't allowed there. We import here and define a global module
3
+ /// <reference path="./chai/index.d.ts" />
4
+ declare namespace Chai {
5
+ interface Include {
6
+ html(html: string): Assertion
7
+ text(text: string): Assertion
8
+ value(text: string): Assertion
9
+ }
10
+ }
@@ -1,13 +1,13 @@
1
- /**
2
- * This file should be deleted as soon as the serever
3
- * TODO: delete this file when ResolvedDevServerConfig.server is converted to closeServer
4
- */
5
-
6
- /// <reference types="node" />
7
- import * as cyUtilsHttp from 'http'
8
- export = cyUtilsHttp
9
- /**
10
- * namespace created to bridge nodeJs.http typings so that
11
- * we can type http Server in CT
12
- */
13
- export as namespace cyUtilsHttp
1
+ /**
2
+ * This file should be deleted as soon as the serever
3
+ * TODO: delete this file when ResolvedDevServerConfig.server is converted to closeServer
4
+ */
5
+
6
+ /// <reference types="node" />
7
+ import * as cyUtilsHttp from 'http'
8
+ export = cyUtilsHttp
9
+ /**
10
+ * namespace created to bridge nodeJs.http typings so that
11
+ * we can type http Server in CT
12
+ */
13
+ export as namespace cyUtilsHttp
@@ -1,96 +1,96 @@
1
- // I was trying to avoid relying on "import" of actual module from "minimatch"
2
- // because it would not work in test project, and the only reliable way
3
- // to get around type errors finally was to copy the minimal minimatch function
4
- // definition from "minimatch/index.d.ts" here and just keep it in our code
5
-
6
- export = Minimatch
7
- export as namespace Minimatch
8
-
9
- interface MinimatchOptions {
10
- /**
11
- * Dump a ton of stuff to stderr.
12
- *
13
- * @default false
14
- */
15
- debug?: boolean
16
-
17
- /**
18
- * Do not expand {a,b} and {1..3} brace sets.
19
- *
20
- * @default false
21
- */
22
- nobrace?: boolean
23
-
24
- /**
25
- * Disable ** matching against multiple folder names.
26
- *
27
- * @default false
28
- */
29
- noglobstar?: boolean
30
-
31
- /**
32
- * Allow patterns to match filenames starting with a period,
33
- * even if the pattern does not explicitly have a period in that spot.
34
- *
35
- * @default false
36
- */
37
- dot?: boolean
38
-
39
- /**
40
- * Disable "extglob" style patterns like +(a|b).
41
- *
42
- * @default false
43
- */
44
- noext?: boolean
45
-
46
- /**
47
- * Perform a case-insensitive match.
48
- *
49
- * @default false
50
- */
51
- nocase?: boolean
52
-
53
- /**
54
- * When a match is not found by minimatch.match,
55
- * return a list containing the pattern itself if this option is set.
56
- * Otherwise, an empty list is returned if there are no matches.
57
- *
58
- * @default false
59
- */
60
- nonull?: boolean
61
-
62
- /**
63
- * If set, then patterns without slashes will be matched against
64
- * the basename of the path if it contains slashes.
65
- *
66
- * @default false
67
- */
68
- matchBase?: boolean
69
-
70
- /**
71
- * Suppress the behavior of treating #
72
- * at the start of a pattern as a comment.
73
- *
74
- * @default false
75
- */
76
- nocomment?: boolean
77
-
78
- /**
79
- * Suppress the behavior of treating a leading ! character as negation.
80
- *
81
- * @default false
82
- */
83
- nonegate?: boolean
84
-
85
- /**
86
- * Returns from negate expressions the same as if they were not negated.
87
- * (Ie, true on a hit, false on a miss.)
88
- *
89
- * @default false
90
- */
91
- flipNegate?: boolean
92
- }
93
-
94
- declare namespace Minimatch {
95
- function minimatch(target: string, pattern: string, options?: MinimatchOptions): boolean
96
- }
1
+ // I was trying to avoid relying on "import" of actual module from "minimatch"
2
+ // because it would not work in test project, and the only reliable way
3
+ // to get around type errors finally was to copy the minimal minimatch function
4
+ // definition from "minimatch/index.d.ts" here and just keep it in our code
5
+
6
+ export = Minimatch
7
+ export as namespace Minimatch
8
+
9
+ interface MinimatchOptions {
10
+ /**
11
+ * Dump a ton of stuff to stderr.
12
+ *
13
+ * @default false
14
+ */
15
+ debug?: boolean
16
+
17
+ /**
18
+ * Do not expand {a,b} and {1..3} brace sets.
19
+ *
20
+ * @default false
21
+ */
22
+ nobrace?: boolean
23
+
24
+ /**
25
+ * Disable ** matching against multiple folder names.
26
+ *
27
+ * @default false
28
+ */
29
+ noglobstar?: boolean
30
+
31
+ /**
32
+ * Allow patterns to match filenames starting with a period,
33
+ * even if the pattern does not explicitly have a period in that spot.
34
+ *
35
+ * @default false
36
+ */
37
+ dot?: boolean
38
+
39
+ /**
40
+ * Disable "extglob" style patterns like +(a|b).
41
+ *
42
+ * @default false
43
+ */
44
+ noext?: boolean
45
+
46
+ /**
47
+ * Perform a case-insensitive match.
48
+ *
49
+ * @default false
50
+ */
51
+ nocase?: boolean
52
+
53
+ /**
54
+ * When a match is not found by minimatch.match,
55
+ * return a list containing the pattern itself if this option is set.
56
+ * Otherwise, an empty list is returned if there are no matches.
57
+ *
58
+ * @default false
59
+ */
60
+ nonull?: boolean
61
+
62
+ /**
63
+ * If set, then patterns without slashes will be matched against
64
+ * the basename of the path if it contains slashes.
65
+ *
66
+ * @default false
67
+ */
68
+ matchBase?: boolean
69
+
70
+ /**
71
+ * Suppress the behavior of treating #
72
+ * at the start of a pattern as a comment.
73
+ *
74
+ * @default false
75
+ */
76
+ nocomment?: boolean
77
+
78
+ /**
79
+ * Suppress the behavior of treating a leading ! character as negation.
80
+ *
81
+ * @default false
82
+ */
83
+ nonegate?: boolean
84
+
85
+ /**
86
+ * Returns from negate expressions the same as if they were not negated.
87
+ * (Ie, true on a hit, false on a miss.)
88
+ *
89
+ * @default false
90
+ */
91
+ flipNegate?: boolean
92
+ }
93
+
94
+ declare namespace Minimatch {
95
+ function minimatch(target: string, pattern: string, options?: MinimatchOptions): boolean
96
+ }
@@ -1,33 +1,33 @@
1
- // Cypress, cy, Log inherits EventEmitter.
2
- type EventEmitter2 = import("eventemitter2").EventEmitter2
3
-
4
- interface EventEmitter extends EventEmitter2 {
5
- proxyTo: (cy: Cypress.cy) => null
6
- emitMap: (eventName: string, args: any[]) => Array<(...args: any[]) => any>
7
- emitThen: (eventName: string, args: any[]) => Bluebird.BluebirdStatic
8
- }
9
-
10
- // Copied from https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/events.d.ts
11
- // to avoid type conflict.
12
- interface NodeEventEmitter {
13
- addListener(event: string | symbol, listener: (...args: any[]) => void): this
14
- on(event: string | symbol, listener: (...args: any[]) => void): this
15
- once(event: string | symbol, listener: (...args: any[]) => void): this
16
- removeListener(event: string | symbol, listener: (...args: any[]) => void): this
17
- off(event: string | symbol, listener: (...args: any[]) => void): this
18
- removeAllListeners(event?: string | symbol): this
19
- setMaxListeners(n: number): this
20
- getMaxListeners(): number
21
- listeners(event: string | symbol): Array<(...args: any[]) => void>
22
- rawListeners(event: string | symbol): Array<(...args: any[]) => void>
23
- emit(event: string | symbol, ...args: any[]): boolean
24
- listenerCount(type: string | symbol): number
25
- // Added in Node 6...
26
- prependListener(event: string | symbol, listener: (...args: any[]) => void): this
27
- prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this
28
- eventNames(): Array<string | symbol>
29
- }
30
-
31
- // We use the Buffer class for dealing with binary data, especially around the
32
- // selectFile interface.
33
- type BufferType = import("buffer/").Buffer
1
+ // Cypress, cy, Log inherits EventEmitter.
2
+ type EventEmitter2 = import("eventemitter2").EventEmitter2
3
+
4
+ interface EventEmitter extends EventEmitter2 {
5
+ proxyTo: (cy: Cypress.cy) => null
6
+ emitMap: (eventName: string, args: any[]) => Array<(...args: any[]) => any>
7
+ emitThen: (eventName: string, args: any[]) => Bluebird.BluebirdStatic
8
+ }
9
+
10
+ // Copied from https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/node/events.d.ts
11
+ // to avoid type conflict.
12
+ interface NodeEventEmitter {
13
+ addListener(event: string | symbol, listener: (...args: any[]) => void): this
14
+ on(event: string | symbol, listener: (...args: any[]) => void): this
15
+ once(event: string | symbol, listener: (...args: any[]) => void): this
16
+ removeListener(event: string | symbol, listener: (...args: any[]) => void): this
17
+ off(event: string | symbol, listener: (...args: any[]) => void): this
18
+ removeAllListeners(event?: string | symbol): this
19
+ setMaxListeners(n: number): this
20
+ getMaxListeners(): number
21
+ listeners(event: string | symbol): Array<(...args: any[]) => void>
22
+ rawListeners(event: string | symbol): Array<(...args: any[]) => void>
23
+ emit(event: string | symbol, ...args: any[]): boolean
24
+ listenerCount(type: string | symbol): number
25
+ // Added in Node 6...
26
+ prependListener(event: string | symbol, listener: (...args: any[]) => void): this
27
+ prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this
28
+ eventNames(): Array<string | symbol>
29
+ }
30
+
31
+ // We use the Buffer class for dealing with binary data, especially around the
32
+ // selectFile interface.
33
+ type BufferType = import("buffer/").Buffer
@@ -1,3 +1,3 @@
1
- // Cypress adds chai expect and assert to global
2
- declare const expect: Chai.ExpectStatic
3
- declare const assert: Chai.AssertStatic
1
+ // Cypress adds chai expect and assert to global
2
+ declare const expect: Chai.ExpectStatic
3
+ declare const assert: Chai.AssertStatic
@@ -1,22 +1,22 @@
1
- /**
2
- * Global variables `cy` added by Cypress with all API commands.
3
- * @see https://on.cypress.io/api
4
- *
5
- ```
6
- cy.get('button').click()
7
- cy.get('.result').contains('Expected text')
8
- ```
9
- */
10
- declare const cy: Cypress.cy & EventEmitter
11
-
12
- /**
13
- * Global variable `Cypress` holds common utilities and constants.
14
- * @see https://on.cypress.io/api
15
- *
16
- ```
17
- Cypress.config("pageLoadTimeout") // => 60000
18
- Cypress.version // => "1.4.0"
19
- Cypress._ // => Lodash _
20
- ```
21
- */
22
- declare const Cypress: Cypress.Cypress & EventEmitter
1
+ /**
2
+ * Global variables `cy` added by Cypress with all API commands.
3
+ * @see https://on.cypress.io/api
4
+ *
5
+ ```
6
+ cy.get('button').click()
7
+ cy.get('.result').contains('Expected text')
8
+ ```
9
+ */
10
+ declare const cy: Cypress.cy & EventEmitter
11
+
12
+ /**
13
+ * Global variable `Cypress` holds common utilities and constants.
14
+ * @see https://on.cypress.io/api
15
+ *
16
+ ```
17
+ Cypress.config("pageLoadTimeout") // => 60000
18
+ Cypress.version // => "1.4.0"
19
+ Cypress._ // => Lodash _
20
+ ```
21
+ */
22
+ declare const Cypress: Cypress.Cypress & EventEmitter