cypress 9.1.1 → 9.2.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/tasks/verify.js +1 -1
 - package/package.json +1 -1
 - package/types/cypress.d.ts +58 -17
 
    
        package/lib/tasks/verify.js
    CHANGED
    
    | 
         @@ -37,7 +37,7 @@ const xvfb = require('../exec/xvfb'); 
     | 
|
| 
       37 
37 
     | 
    
         | 
| 
       38 
38 
     | 
    
         
             
            const state = require('./state');
         
     | 
| 
       39 
39 
     | 
    
         | 
| 
       40 
     | 
    
         
            -
            const VERIFY_TEST_RUNNER_TIMEOUT_MS = 30000;
         
     | 
| 
      
 40 
     | 
    
         
            +
            const VERIFY_TEST_RUNNER_TIMEOUT_MS = process.env.CYPRESS_VERIFY_TIMEOUT || 30000;
         
     | 
| 
       41 
41 
     | 
    
         | 
| 
       42 
42 
     | 
    
         
             
            const checkExecutable = binaryDir => {
         
     | 
| 
       43 
43 
     | 
    
         
             
              const executable = state.getPathToExecutable(binaryDir);
         
     | 
    
        package/package.json
    CHANGED
    
    
    
        package/types/cypress.d.ts
    CHANGED
    
    | 
         @@ -7,13 +7,38 @@ declare namespace Cypress { 
     | 
|
| 
       7 
7 
     | 
    
         
             
              type HttpMethod = string
         
     | 
| 
       8 
8 
     | 
    
         
             
              type RequestBody = string | object
         
     | 
| 
       9 
9 
     | 
    
         
             
              type ViewportOrientation = 'portrait' | 'landscape'
         
     | 
| 
       10 
     | 
    
         
            -
              type PrevSubject =  
     | 
| 
      
 10 
     | 
    
         
            +
              type PrevSubject = keyof PrevSubjectMap
         
     | 
| 
       11 
11 
     | 
    
         
             
              type TestingType = 'e2e' | 'component'
         
     | 
| 
       12 
12 
     | 
    
         
             
              type PluginConfig = (on: PluginEvents, config: PluginConfigOptions) => void | ConfigOptions | Promise<ConfigOptions>
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
      
 14 
     | 
    
         
            +
              interface PrevSubjectMap<O = unknown> {
         
     | 
| 
      
 15 
     | 
    
         
            +
                optional: O
         
     | 
| 
      
 16 
     | 
    
         
            +
                element: JQuery
         
     | 
| 
      
 17 
     | 
    
         
            +
                document: Document
         
     | 
| 
      
 18 
     | 
    
         
            +
                window: Window
         
     | 
| 
      
 19 
     | 
    
         
            +
              }
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
       14 
21 
     | 
    
         
             
              interface CommandOptions {
         
     | 
| 
       15 
22 
     | 
    
         
             
                prevSubject: boolean | PrevSubject | PrevSubject[]
         
     | 
| 
       16 
23 
     | 
    
         
             
              }
         
     | 
| 
      
 24 
     | 
    
         
            +
              interface CommandFn<T extends keyof ChainableMethods> {
         
     | 
| 
      
 25 
     | 
    
         
            +
                (this: Mocha.Context, ...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]> | void
         
     | 
| 
      
 26 
     | 
    
         
            +
              }
         
     | 
| 
      
 27 
     | 
    
         
            +
              interface CommandFnWithSubject<T extends keyof ChainableMethods, S> {
         
     | 
| 
      
 28 
     | 
    
         
            +
                (this: Mocha.Context, prevSubject: S, ...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]> | void
         
     | 
| 
      
 29 
     | 
    
         
            +
              }
         
     | 
| 
      
 30 
     | 
    
         
            +
              interface CommandOriginalFn<T extends keyof ChainableMethods> extends CallableFunction {
         
     | 
| 
      
 31 
     | 
    
         
            +
                (...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]>
         
     | 
| 
      
 32 
     | 
    
         
            +
              }
         
     | 
| 
      
 33 
     | 
    
         
            +
              interface CommandOriginalFnWithSubject<T extends keyof ChainableMethods, S> extends CallableFunction {
         
     | 
| 
      
 34 
     | 
    
         
            +
                (prevSubject: S, ...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]>
         
     | 
| 
      
 35 
     | 
    
         
            +
              }
         
     | 
| 
      
 36 
     | 
    
         
            +
              interface CommandFnWithOriginalFn<T extends keyof Chainable> {
         
     | 
| 
      
 37 
     | 
    
         
            +
                (this: Mocha.Context, originalFn: CommandOriginalFn<T>, ...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]> | void
         
     | 
| 
      
 38 
     | 
    
         
            +
              }
         
     | 
| 
      
 39 
     | 
    
         
            +
              interface CommandFnWithOriginalFnAndSubject<T extends keyof Chainable, S> {
         
     | 
| 
      
 40 
     | 
    
         
            +
                (this: Mocha.Context, originalFn: CommandOriginalFnWithSubject<T, S>, prevSubject: S, ...args: Parameters<ChainableMethods[T]>): ReturnType<ChainableMethods[T]> | void
         
     | 
| 
      
 41 
     | 
    
         
            +
              }
         
     | 
| 
       17 
42 
     | 
    
         
             
              interface ObjectLike {
         
     | 
| 
       18 
43 
     | 
    
         
             
                [key: string]: any
         
     | 
| 
       19 
44 
     | 
    
         
             
              }
         
     | 
| 
         @@ -294,6 +319,11 @@ declare namespace Cypress { 
     | 
|
| 
       294 
319 
     | 
    
         
             
                 */
         
     | 
| 
       295 
320 
     | 
    
         
             
                LocalStorage: LocalStorage
         
     | 
| 
       296 
321 
     | 
    
         | 
| 
      
 322 
     | 
    
         
            +
                /**
         
     | 
| 
      
 323 
     | 
    
         
            +
                 * Internal class for session management.
         
     | 
| 
      
 324 
     | 
    
         
            +
                 */
         
     | 
| 
      
 325 
     | 
    
         
            +
                session: Session
         
     | 
| 
      
 326 
     | 
    
         
            +
             
     | 
| 
       297 
327 
     | 
    
         
             
                /**
         
     | 
| 
       298 
328 
     | 
    
         
             
                 * Current testing type, determined by the Test Runner chosen to run.
         
     | 
| 
       299 
329 
     | 
    
         
             
                 */
         
     | 
| 
         @@ -328,7 +358,7 @@ declare namespace Cypress { 
     | 
|
| 
       328 
358 
     | 
    
         
             
                // 60000
         
     | 
| 
       329 
359 
     | 
    
         
             
                ```
         
     | 
| 
       330 
360 
     | 
    
         
             
                 */
         
     | 
| 
       331 
     | 
    
         
            -
                config<K extends keyof  
     | 
| 
      
 361 
     | 
    
         
            +
                config<K extends keyof Config>(key: K): Config[K]
         
     | 
| 
       332 
362 
     | 
    
         
             
                /**
         
     | 
| 
       333 
363 
     | 
    
         
             
                 * Sets one configuration value.
         
     | 
| 
       334 
364 
     | 
    
         
             
                 * @see https://on.cypress.io/config
         
     | 
| 
         @@ -337,7 +367,7 @@ declare namespace Cypress { 
     | 
|
| 
       337 
367 
     | 
    
         
             
                Cypress.config('viewportWidth', 800)
         
     | 
| 
       338 
368 
     | 
    
         
             
                ```
         
     | 
| 
       339 
369 
     | 
    
         
             
                 */
         
     | 
| 
       340 
     | 
    
         
            -
                config<K extends keyof  
     | 
| 
      
 370 
     | 
    
         
            +
                config<K extends keyof TestConfigOverrides>(key: K, value: TestConfigOverrides[K]): void
         
     | 
| 
       341 
371 
     | 
    
         
             
                /**
         
     | 
| 
       342 
372 
     | 
    
         
             
                 * Sets multiple configuration values at once.
         
     | 
| 
       343 
373 
     | 
    
         
             
                 * @see https://on.cypress.io/config
         
     | 
| 
         @@ -420,9 +450,16 @@ declare namespace Cypress { 
     | 
|
| 
       420 
450 
     | 
    
         
             
                 * @see https://on.cypress.io/api/commands
         
     | 
| 
       421 
451 
     | 
    
         
             
                 */
         
     | 
| 
       422 
452 
     | 
    
         
             
                Commands: {
         
     | 
| 
       423 
     | 
    
         
            -
                  add<T extends keyof Chainable>(name: T, fn:  
     | 
| 
       424 
     | 
    
         
            -
                  add<T extends keyof Chainable>(name: T, options: CommandOptions, fn:  
     | 
| 
       425 
     | 
    
         
            -
                   
     | 
| 
      
 453 
     | 
    
         
            +
                  add<T extends keyof Chainable>(name: T, fn: CommandFn<T>): void
         
     | 
| 
      
 454 
     | 
    
         
            +
                  add<T extends keyof Chainable>(name: T, options: CommandOptions & {prevSubject: false}, fn: CommandFn<T>): void
         
     | 
| 
      
 455 
     | 
    
         
            +
                  add<T extends keyof Chainable, S extends PrevSubject>(
         
     | 
| 
      
 456 
     | 
    
         
            +
                      name: T, options: CommandOptions & { prevSubject: true | S | ['optional'] }, fn: CommandFnWithSubject<T, PrevSubjectMap[S]>,
         
     | 
| 
      
 457 
     | 
    
         
            +
                  ): void
         
     | 
| 
      
 458 
     | 
    
         
            +
                  add<T extends keyof Chainable, S extends PrevSubject>(
         
     | 
| 
      
 459 
     | 
    
         
            +
                      name: T, options: CommandOptions & { prevSubject: S[] }, fn: CommandFnWithSubject<T, PrevSubjectMap<void>[S]>,
         
     | 
| 
      
 460 
     | 
    
         
            +
                  ): void
         
     | 
| 
      
 461 
     | 
    
         
            +
                  overwrite<T extends keyof Chainable>(name: T, fn: CommandFnWithOriginalFn<T>): void
         
     | 
| 
      
 462 
     | 
    
         
            +
                  overwrite<T extends keyof Chainable, S extends PrevSubject>(name: T, fn: CommandFnWithOriginalFnAndSubject<T, PrevSubjectMap[S]>): void
         
     | 
| 
       426 
463 
     | 
    
         
             
                }
         
     | 
| 
       427 
464 
     | 
    
         | 
| 
       428 
465 
     | 
    
         
             
                /**
         
     | 
| 
         @@ -2209,12 +2246,9 @@ declare namespace Cypress { 
     | 
|
| 
       2209 
2246 
     | 
    
         
             
                 * @see https://on.cypress.io/writefile
         
     | 
| 
       2210 
2247 
     | 
    
         
             
                ```
         
     | 
| 
       2211 
2248 
     | 
    
         
             
                cy.writeFile('path/to/message.txt', 'Hello World')
         
     | 
| 
       2212 
     | 
    
         
            -
                  .then((text) => {
         
     | 
| 
       2213 
     | 
    
         
            -
                    expect(text).to.equal('Hello World') // true
         
     | 
| 
       2214 
     | 
    
         
            -
                  })
         
     | 
| 
       2215 
2249 
     | 
    
         
             
                ```
         
     | 
| 
       2216 
2250 
     | 
    
         
             
                 */
         
     | 
| 
       2217 
     | 
    
         
            -
                writeFile 
     | 
| 
      
 2251 
     | 
    
         
            +
                writeFile(filePath: string, contents: FileContents, encoding: Encodings): Chainable<null>
         
     | 
| 
       2218 
2252 
     | 
    
         
             
                /**
         
     | 
| 
       2219 
2253 
     | 
    
         
             
                 * Write to a file with the specified encoding and contents.
         
     | 
| 
       2220 
2254 
     | 
    
         
             
                 *
         
     | 
| 
         @@ -2223,12 +2257,10 @@ declare namespace Cypress { 
     | 
|
| 
       2223 
2257 
     | 
    
         
             
                cy.writeFile('path/to/ascii.txt', 'Hello World', {
         
     | 
| 
       2224 
2258 
     | 
    
         
             
                  flag: 'a+',
         
     | 
| 
       2225 
2259 
     | 
    
         
             
                  encoding: 'ascii'
         
     | 
| 
       2226 
     | 
    
         
            -
                }).then((text) => {
         
     | 
| 
       2227 
     | 
    
         
            -
                  expect(text).to.equal('Hello World') // true
         
     | 
| 
       2228 
2260 
     | 
    
         
             
                })
         
     | 
| 
       2229 
2261 
     | 
    
         
             
                ```
         
     | 
| 
       2230 
2262 
     | 
    
         
             
                 */
         
     | 
| 
       2231 
     | 
    
         
            -
                writeFile 
     | 
| 
      
 2263 
     | 
    
         
            +
                writeFile(filePath: string, contents: FileContents, options?: Partial<WriteFileOptions & Timeoutable>): Chainable<null>
         
     | 
| 
       2232 
2264 
     | 
    
         
             
                /**
         
     | 
| 
       2233 
2265 
     | 
    
         
             
                 * Write to a file with the specified encoding and contents.
         
     | 
| 
       2234 
2266 
     | 
    
         
             
                 *
         
     | 
| 
         @@ -2238,12 +2270,10 @@ declare namespace Cypress { 
     | 
|
| 
       2238 
2270 
     | 
    
         
             
                ```
         
     | 
| 
       2239 
2271 
     | 
    
         
             
                cy.writeFile('path/to/ascii.txt', 'Hello World', 'utf8', {
         
     | 
| 
       2240 
2272 
     | 
    
         
             
                  flag: 'a+',
         
     | 
| 
       2241 
     | 
    
         
            -
                }).then((text) => {
         
     | 
| 
       2242 
     | 
    
         
            -
                  expect(text).to.equal('Hello World') // true
         
     | 
| 
       2243 
2273 
     | 
    
         
             
                })
         
     | 
| 
       2244 
2274 
     | 
    
         
             
                ```
         
     | 
| 
       2245 
2275 
     | 
    
         
             
                 */
         
     | 
| 
       2246 
     | 
    
         
            -
                writeFile 
     | 
| 
      
 2276 
     | 
    
         
            +
                writeFile(filePath: string, contents: FileContents, encoding: Encodings, options?: Partial<WriteFileOptions & Timeoutable>): Chainable<null>
         
     | 
| 
       2247 
2277 
     | 
    
         | 
| 
       2248 
2278 
     | 
    
         
             
                /**
         
     | 
| 
       2249 
2279 
     | 
    
         
             
                 * jQuery library bound to the AUT
         
     | 
| 
         @@ -2255,6 +2285,12 @@ declare namespace Cypress { 
     | 
|
| 
       2255 
2285 
     | 
    
         
             
                $$<TElement extends Element = HTMLElement>(selector: JQuery.Selector, context?: Element | Document | JQuery): JQuery<TElement>
         
     | 
| 
       2256 
2286 
     | 
    
         
             
              }
         
     | 
| 
       2257 
2287 
     | 
    
         | 
| 
      
 2288 
     | 
    
         
            +
              type ChainableMethods<Subject = any> = {
         
     | 
| 
      
 2289 
     | 
    
         
            +
                [P in keyof Chainable<Subject>]: Chainable<Subject>[P] extends ((...args: any[]) => any)
         
     | 
| 
      
 2290 
     | 
    
         
            +
                    ? Chainable<Subject>[P]
         
     | 
| 
      
 2291 
     | 
    
         
            +
                    : never
         
     | 
| 
      
 2292 
     | 
    
         
            +
              }
         
     | 
| 
      
 2293 
     | 
    
         
            +
             
     | 
| 
       2258 
2294 
     | 
    
         
             
              interface SinonSpyAgent<A extends sinon.SinonSpy> {
         
     | 
| 
       2259 
2295 
     | 
    
         
             
                log(shouldOutput?: boolean): Omit<A, 'withArgs'> & Agent<A>
         
     | 
| 
       2260 
2296 
     | 
    
         | 
| 
         @@ -2886,7 +2922,7 @@ declare namespace Cypress { 
     | 
|
| 
       2886 
2922 
     | 
    
         
             
                xhrUrl: string
         
     | 
| 
       2887 
2923 
     | 
    
         
             
              }
         
     | 
| 
       2888 
2924 
     | 
    
         | 
| 
       2889 
     | 
    
         
            -
              interface TestConfigOverrides extends Partial<Pick<ConfigOptions, 'animationDistanceThreshold' | 'baseUrl' | 'defaultCommandTimeout' | 'env' | 'execTimeout' | 'includeShadowDom' | 'requestTimeout' | 'responseTimeout' | 'retries' | 'scrollBehavior' | 'taskTimeout' | 'viewportHeight' | 'viewportWidth' | 'waitForAnimations'>> {
         
     | 
| 
      
 2925 
     | 
    
         
            +
              interface TestConfigOverrides extends Partial<Pick<ConfigOptions, 'animationDistanceThreshold' | 'baseUrl' | 'blockHosts' | 'defaultCommandTimeout' | 'env' | 'execTimeout' | 'includeShadowDom' | 'numTestsKeptInMemory' | 'pageLoadTimeout' | 'redirectionLimit' | 'requestTimeout' | 'responseTimeout' | 'retries' | 'screenshotOnRunFailure' | 'slowTestThreshold' | 'scrollBehavior' | 'taskTimeout' | 'viewportHeight' | 'viewportWidth' | 'waitForAnimations'>> {
         
     | 
| 
       2890 
2926 
     | 
    
         
             
                browser?: IsBrowserMatcher | IsBrowserMatcher[]
         
     | 
| 
       2891 
2927 
     | 
    
         
             
                keystrokeDelay?: number
         
     | 
| 
       2892 
2928 
     | 
    
         
             
              }
         
     | 
| 
         @@ -3086,6 +3122,11 @@ declare namespace Cypress { 
     | 
|
| 
       3086 
3122 
     | 
    
         
             
                onAnyAbort(route: RouteOptions, proxy: any): void
         
     | 
| 
       3087 
3123 
     | 
    
         
             
              }
         
     | 
| 
       3088 
3124 
     | 
    
         | 
| 
      
 3125 
     | 
    
         
            +
              interface Session {
         
     | 
| 
      
 3126 
     | 
    
         
            +
                // Clear all saved sessions and re-run the current spec file.
         
     | 
| 
      
 3127 
     | 
    
         
            +
                clearAllSavedSessions: () => Promise<void>
         
     | 
| 
      
 3128 
     | 
    
         
            +
              }
         
     | 
| 
      
 3129 
     | 
    
         
            +
             
     | 
| 
       3089 
3130 
     | 
    
         
             
              type SameSiteStatus = 'no_restriction' | 'strict' | 'lax'
         
     | 
| 
       3090 
3131 
     | 
    
         | 
| 
       3091 
3132 
     | 
    
         
             
              interface SetCookieOptions extends Loggable, Timeoutable {
         
     |