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 {
         |