cypress 13.16.1 → 14.0.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.
Files changed (73) hide show
  1. package/angular/README.md +5 -0
  2. package/angular/angular/README.md +5 -0
  3. package/angular/angular/dist/index.d.ts +11 -2
  4. package/angular/angular/dist/index.js +944 -4
  5. package/angular/angular/package.json +16 -9
  6. package/angular/dist/index.d.ts +11 -2
  7. package/angular/dist/index.js +944 -4
  8. package/angular/package.json +16 -9
  9. package/lib/cli.js +1 -30
  10. package/lib/exec/spawn.js +17 -7
  11. package/mount-utils/dist/index.d.ts +0 -28
  12. package/mount-utils/dist/index.js +0 -27
  13. package/mount-utils/mount-utils/dist/index.d.ts +0 -28
  14. package/mount-utils/mount-utils/dist/index.js +0 -27
  15. package/package.json +5 -23
  16. package/react/README.md +5 -0
  17. package/react/dist/cypress-react.cjs.js +21 -676
  18. package/react/dist/cypress-react.esm-bundler.js +22 -676
  19. package/react/dist/index.d.ts +13 -30
  20. package/react/package.json +13 -15
  21. package/react/react/README.md +5 -0
  22. package/react/react/dist/cypress-react.cjs.js +21 -676
  23. package/react/react/dist/cypress-react.esm-bundler.js +22 -676
  24. package/react/react/dist/index.d.ts +13 -30
  25. package/react/react/package.json +13 -15
  26. package/svelte/README.md +6 -2
  27. package/svelte/dist/cypress-svelte.cjs.js +12 -12
  28. package/svelte/dist/cypress-svelte.esm-bundler.js +12 -12
  29. package/svelte/dist/index.d.ts +8 -179
  30. package/svelte/package.json +2 -2
  31. package/svelte/svelte/README.md +6 -2
  32. package/svelte/svelte/dist/cypress-svelte.cjs.js +12 -12
  33. package/svelte/svelte/dist/cypress-svelte.esm-bundler.js +12 -12
  34. package/svelte/svelte/dist/index.d.ts +8 -179
  35. package/svelte/svelte/package.json +2 -2
  36. package/types/cypress.d.ts +32 -49
  37. package/types/net-stubbing.d.ts +2 -7
  38. package/vue/dist/cypress-vue.cjs.js +380 -275
  39. package/vue/dist/cypress-vue.esm-bundler.js +382 -276
  40. package/vue/dist/index.d.ts +61 -78
  41. package/vue/package.json +2 -5
  42. package/vue/vue/dist/cypress-vue.cjs.js +380 -275
  43. package/vue/vue/dist/cypress-vue.esm-bundler.js +382 -276
  44. package/vue/vue/dist/index.d.ts +61 -78
  45. package/vue/vue/package.json +2 -5
  46. package/angular-signals/README.md +0 -11
  47. package/angular-signals/angular-signals/README.md +0 -11
  48. package/angular-signals/angular-signals/dist/index.d.ts +0 -136
  49. package/angular-signals/angular-signals/dist/index.js +0 -1861
  50. package/angular-signals/angular-signals/package.json +0 -74
  51. package/angular-signals/dist/index.d.ts +0 -136
  52. package/angular-signals/dist/index.js +0 -1861
  53. package/angular-signals/package.json +0 -74
  54. package/react18/README.md +0 -7
  55. package/react18/dist/cypress-react.cjs.js +0 -597
  56. package/react18/dist/cypress-react.esm-bundler.js +0 -574
  57. package/react18/dist/index.d.ts +0 -78
  58. package/react18/package.json +0 -71
  59. package/react18/react18/README.md +0 -7
  60. package/react18/react18/dist/cypress-react.cjs.js +0 -597
  61. package/react18/react18/dist/cypress-react.esm-bundler.js +0 -574
  62. package/react18/react18/dist/index.d.ts +0 -78
  63. package/react18/react18/package.json +0 -71
  64. package/vue2/README.md +0 -7
  65. package/vue2/dist/cypress-vue2.cjs.js +0 -20045
  66. package/vue2/dist/cypress-vue2.esm-bundler.js +0 -20042
  67. package/vue2/dist/index.d.ts +0 -207
  68. package/vue2/package.json +0 -65
  69. package/vue2/vue2/README.md +0 -7
  70. package/vue2/vue2/dist/cypress-vue2.cjs.js +0 -20045
  71. package/vue2/vue2/dist/cypress-vue2.esm-bundler.js +0 -20042
  72. package/vue2/vue2/dist/index.d.ts +0 -207
  73. package/vue2/vue2/package.json +0 -65
@@ -1,187 +1,14 @@
1
1
  /// <reference types="cypress" />
2
2
 
3
- declare module '*.svelte' {
4
- export { SvelteComponentDev as default } from 'svelte/internal';
5
- }
6
-
7
- /**
8
- * INTERNAL, DO NOT USE. Code may change at any time.
9
- */
10
- interface Fragment {
11
- key: string | null;
12
- first: null;
13
- c: () => void;
14
- l: (nodes: any) => void;
15
- h: () => void;
16
- m: (target: HTMLElement, anchor: any) => void;
17
- p: (ctx: any, dirty: any) => void;
18
- r: () => void;
19
- f: () => void;
20
- a: () => void;
21
- i: (local: any) => void;
22
- o: (local: any) => void;
23
- d: (detaching: 0 | 1) => void;
24
- }
25
- interface T$$ {
26
- dirty: number[];
27
- ctx: null | any;
28
- bound: any;
29
- update: () => void;
30
- callbacks: any;
31
- after_update: any[];
32
- props: Record<string, 0 | string>;
33
- fragment: null | false | Fragment;
34
- not_equal: any;
35
- before_update: any[];
36
- context: Map<any, any>;
37
- on_mount: any[];
38
- on_destroy: any[];
39
- skip_bound: boolean;
40
- on_disconnect: any[];
41
- root: Element | ShadowRoot;
42
- }
43
- /**
44
- * Base class for Svelte components. Used when dev=false.
45
- */
46
- declare class SvelteComponent {
47
- $$: T$$;
48
- $$set?: ($$props: any) => void;
49
- $destroy(): void;
50
- $on(type: any, callback: any): () => void;
51
- $set($$props: any): void;
52
- }
53
-
54
- declare type Props = Record<string, any>;
55
- interface ComponentConstructorOptions<Props extends Record<string, any> = Record<string, any>> {
56
- target: Element | ShadowRoot;
57
- anchor?: Element;
58
- props?: Props;
59
- context?: Map<any, any>;
60
- hydrate?: boolean;
61
- intro?: boolean;
62
- $$inline?: boolean;
63
- }
64
- interface SvelteComponentDev$1 {
65
- $set(props?: Props): void;
66
- $on(event: string, callback: (event: any) => void): () => void;
67
- $destroy(): void;
68
- [accessor: string]: any;
69
- }
70
- /**
71
- * Base class for Svelte components with some minor dev-enhancements. Used when dev=true.
72
- */
73
- declare class SvelteComponentDev$1 extends SvelteComponent {
74
- /**
75
- * @private
76
- * For type checking capabilities only.
77
- * Does not exist at runtime.
78
- * ### DO NOT USE!
79
- */
80
- $$prop_def: Props;
81
- /**
82
- * @private
83
- * For type checking capabilities only.
84
- * Does not exist at runtime.
85
- * ### DO NOT USE!
86
- */
87
- $$events_def: any;
88
- /**
89
- * @private
90
- * For type checking capabilities only.
91
- * Does not exist at runtime.
92
- * ### DO NOT USE!
93
- */
94
- $$slot_def: any;
95
- constructor(options: ComponentConstructorOptions);
96
- $capture_state(): void;
97
- $inject_state(): void;
98
- }
99
- interface SvelteComponentTyped<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any> {
100
- $set(props?: Partial<Props>): void;
101
- $on<K extends Extract<keyof Events, string>>(type: K, callback: (e: Events[K]) => void): () => void;
102
- $destroy(): void;
103
- [accessor: string]: any;
104
- }
105
- /**
106
- * Base class to create strongly typed Svelte components.
107
- * This only exists for typing purposes and should be used in `.d.ts` files.
108
- *
109
- * ### Example:
110
- *
111
- * You have component library on npm called `component-library`, from which
112
- * you export a component called `MyComponent`. For Svelte+TypeScript users,
113
- * you want to provide typings. Therefore you create a `index.d.ts`:
114
- * ```ts
115
- * import { SvelteComponentTyped } from "svelte";
116
- * export class MyComponent extends SvelteComponentTyped<{foo: string}> {}
117
- * ```
118
- * Typing this makes it possible for IDEs like VS Code with the Svelte extension
119
- * to provide intellisense and to use the component like this in a Svelte file
120
- * with TypeScript:
121
- * ```svelte
122
- * <script lang="ts">
123
- * import { MyComponent } from "component-library";
124
- * </script>
125
- * <MyComponent foo={'bar'} />
126
- * ```
127
- *
128
- * #### Why not make this part of `SvelteComponent(Dev)`?
129
- * Because
130
- * ```ts
131
- * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {}
132
- * const component: typeof SvelteComponent = ASubclassOfSvelteComponent;
133
- * ```
134
- * will throw a type error, so we need to separate the more strictly typed class.
135
- */
136
- declare class SvelteComponentTyped<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any> extends SvelteComponentDev$1 {
137
- /**
138
- * @private
139
- * For type checking capabilities only.
140
- * Does not exist at runtime.
141
- * ### DO NOT USE!
142
- */
143
- $$prop_def: Props;
144
- /**
145
- * @private
146
- * For type checking capabilities only.
147
- * Does not exist at runtime.
148
- * ### DO NOT USE!
149
- */
150
- $$events_def: Events;
151
- /**
152
- * @private
153
- * For type checking capabilities only.
154
- * Does not exist at runtime.
155
- * ### DO NOT USE!
156
- */
157
- $$slot_def: Slots;
158
- constructor(options: ComponentConstructorOptions<Props>);
159
- }
160
- /**
161
- * Convenience type to get the props the given component expects. Example:
162
- * ```html
163
- * <script lang="ts">
164
- * import type { ComponentProps } from 'svelte';
165
- * import Component from './Component.svelte';
166
- *
167
- * const props: ComponentProps<Component> = { foo: 'bar' }; // Errors if these aren't the correct props
168
- * </script>
169
- * ```
170
- */
171
- declare type ComponentProps<Component extends SvelteComponent> = Component extends SvelteComponentTyped<infer Props> ? Props : never;
3
+ import { Component, MountOptions } from 'svelte';
172
4
 
173
- type SvelteConstructor<T> = new (...args: any[]) => T;
174
- type SvelteComponentOptions<T extends SvelteComponentDev$1> = Omit<ComponentConstructorOptions<ComponentProps<T>>, 'hydrate' | 'target' | '$$inline'>;
175
- interface MountOptions<T extends SvelteComponentDev$1> extends SvelteComponentOptions<T> {
176
- log?: boolean;
177
- }
178
- interface MountReturn<T extends SvelteComponentDev$1> {
179
- component: T;
5
+ interface MountReturn {
6
+ component: Record<string, any>;
180
7
  }
181
8
  /**
182
9
  * Mounts a Svelte component inside the Cypress browser
183
10
  *
184
- * @param {SvelteConstructor<T>} Component Svelte component being mounted
11
+ * @param {Record<string, any>} Component Svelte component being mounted
185
12
  * @param {MountReturn<T extends SvelteComponent>} options options to customize the component being mounted
186
13
  * @returns Cypress.Chainable<MountReturn>
187
14
  *
@@ -196,6 +23,8 @@ interface MountReturn<T extends SvelteComponentDev$1> {
196
23
  *
197
24
  * @see {@link https://on.cypress.io/mounting-svelte} for more details.
198
25
  */
199
- declare function mount<T extends SvelteComponentDev$1>(Component: SvelteConstructor<T>, options?: MountOptions<T>): Cypress.Chainable<MountReturn<T>>;
26
+ declare function mount(Component: Component<Record<string, any>, Record<string, any>, any>, options?: Omit<MountOptions, 'target'> & {
27
+ log?: boolean;
28
+ }): Cypress.Chainable<MountReturn>;
200
29
 
201
- export { MountOptions, MountReturn, mount };
30
+ export { MountReturn, mount };
@@ -12,12 +12,12 @@
12
12
  },
13
13
  "devDependencies": {
14
14
  "@cypress/mount-utils": "0.0.0-development",
15
- "svelte": "^3.49.0",
15
+ "svelte": "^5.4.0",
16
16
  "typescript": "~5.4.5"
17
17
  },
18
18
  "peerDependencies": {
19
19
  "cypress": ">=10.6.0",
20
- "svelte": ">=3.0.0"
20
+ "svelte": ">=5.0.0"
21
21
  },
22
22
  "files": [
23
23
  "dist/**/*"
@@ -70,18 +70,10 @@ declare namespace Cypress {
70
70
  strategy: 'file' | 'http'
71
71
  origin: string
72
72
  fileServer: string | null
73
- props: Record<string, any>
74
- visiting: string
73
+ props: Record<string, any> | null
75
74
  }
76
75
 
77
76
  interface Backend {
78
- /**
79
- * Firefox only: Force Cypress to run garbage collection routines.
80
- * No-op if not running in Firefox.
81
- *
82
- * @see https://on.cypress.io/firefox-gc-issue
83
- */
84
- (task: 'firefox:force:gc'): Promise<void>
85
77
  (task: 'net', eventName: string, frame: any): Promise<void>
86
78
  }
87
79
 
@@ -125,11 +117,7 @@ declare namespace Cypress {
125
117
  */
126
118
  warning?: string
127
119
  /**
128
- * The minimum majorVersion of this browser supported by Cypress.
129
- */
130
- minSupportedVersion?: number
131
- /**
132
- * If `true`, this browser is too old to be supported by Cypress.
120
+ * If `true`, this browser version is not supported in Cypress.
133
121
  */
134
122
  unsupportedVersion?: boolean
135
123
  }
@@ -3114,24 +3102,16 @@ declare namespace Cypress {
3114
3102
  */
3115
3103
  experimentalModifyObstructiveThirdPartyCode: boolean
3116
3104
  /**
3117
- * Disables setting document.domain to the applications super domain on injection.
3118
- * This experiment is to be used for sites that do not work with setting document.domain
3119
- * due to cross-origin issues. Enabling this option no longer allows for default subdomain
3120
- * navigations, and will require the use of cy.origin(). This option takes an array of
3121
- * strings/string globs.
3122
- * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/domain
3123
- * @see https://on.cypress.io/experiments#Experimental-Skip-Domain-Injection
3124
- * @default null
3125
- */
3126
- experimentalSkipDomainInjection: string[] | null
3127
- /**
3128
- * Allows for just-in-time compiling of a component test, which will only compile assets related to the component.
3129
- * This results in a smaller bundle under test, reducing resource constraints on a given machine. This option is recommended
3130
- * for users with large component testing projects and those who are running into webpack 'chunk load error' issues.
3131
- * Supported for vite and webpack. For component testing only.
3132
- * @see https://on.cypress.io/experiments#Configuration
3105
+ * Enables setting document.domain to the superdomain on code injection. This option is
3106
+ * disabled by default. Enabling this option allows for navigating between subdomains in
3107
+ * the same test without the use of cy.origin(). Setting document.domain is deprecated in Chrome.
3108
+ * Enabling this may result in incompatibilities with sites that leverage origin-agent-cluster
3109
+ * headers. Enabling this when a browser does not support setting document.domain will not result
3110
+ * in the browser allowing document.domain to be set. In these cases, this configuration option
3111
+ * must be set to false, to allow cy.origin() to be used on subdomains.
3112
+ * @default false
3133
3113
  */
3134
- experimentalJustInTimeCompile: boolean
3114
+ injectDocumentDomain: boolean
3135
3115
  /**
3136
3116
  * Enables AST-based JS/HTML rewriting. This may fix issues caused by the existing regex-based JS/HTML replacement algorithm.
3137
3117
  * @default false
@@ -3152,6 +3132,14 @@ declare namespace Cypress {
3152
3132
  * @default false
3153
3133
  */
3154
3134
  experimentalMemoryManagement: boolean
3135
+ /**
3136
+ * Allows for just-in-time compiling of a component test, which will only compile assets related to the component.
3137
+ * This results in a smaller bundle under test, reducing resource constraints on a given machine. This option is recommended
3138
+ * for users with large component testing projects and those who are running into webpack 'chunk load error' issues.
3139
+ * Supported for webpack-dev-server only. For component testing only.
3140
+ * @see https://on.cypress.io/experiments#Configuration
3141
+ */
3142
+ justInTimeCompile: boolean
3155
3143
  /**
3156
3144
  * Number of times to retry a failed test.
3157
3145
  * If a number is set, tests will retry in both runMode and openMode.
@@ -3188,10 +3176,6 @@ declare namespace Cypress {
3188
3176
  * The user agent the browser sends in all request headers.
3189
3177
  */
3190
3178
  userAgent: null | string
3191
- /**
3192
- * Polyfills `window.fetch` to enable Network spying and stubbing
3193
- */
3194
- experimentalFetchPolyfill: boolean
3195
3179
 
3196
3180
  /**
3197
3181
  * Override default config options for Component Testing runner.
@@ -3360,19 +3344,19 @@ declare namespace Cypress {
3360
3344
  interface CypressComponentDependency {
3361
3345
  /**
3362
3346
  * Unique identifier.
3363
- * @example 'reactscripts'
3347
+ * @example 'react'
3364
3348
  */
3365
3349
  type: string
3366
3350
 
3367
3351
  /**
3368
3352
  * Name to display in the user interface.
3369
- * @example "React Scripts"
3353
+ * @example "React.js"
3370
3354
  */
3371
3355
  name: string
3372
3356
 
3373
3357
  /**
3374
3358
  * Package name on npm.
3375
- * @example react-scripts
3359
+ * @example react
3376
3360
  */
3377
3361
  package: string
3378
3362
 
@@ -3383,21 +3367,20 @@ declare namespace Cypress {
3383
3367
  *
3384
3368
  * @example `react`
3385
3369
  * @example `react@18`
3386
- * @example `react-scripts`
3387
3370
  */
3388
3371
  installer: string
3389
3372
 
3390
3373
  /**
3391
3374
  * Description shown in UI. It is recommended to use the same one the package uses on npm.
3392
- * @example 'Create React apps with no build configuration'
3375
+ * @example 'A JavaScript library for building user interfaces'
3393
3376
  */
3394
3377
  description: string
3395
3378
 
3396
3379
  /**
3397
3380
  * Minimum version supported. Should conform to Semantic Versioning as used in `package.json`.
3398
3381
  * @see https://docs.npmjs.com/cli/v9/configuring-npm/package-json#dependencies
3399
- * @example '^=4.0.0 || ^=5.0.0'
3400
- * @example '^2.0.0'
3382
+ * @example '^=17.0.0 || ^=8.0.0'
3383
+ * @example '^4.0.0'
3401
3384
  */
3402
3385
  minVersion: string
3403
3386
  }
@@ -3406,21 +3389,21 @@ declare namespace Cypress {
3406
3389
  /**
3407
3390
  * A semantic, unique identifier.
3408
3391
  * Must begin with `cypress-ct-` or `@org/cypress-ct-` for third party implementations.
3409
- * @example 'reactscripts'
3392
+ * @example 'react'
3410
3393
  * @example 'nextjs'
3411
3394
  * @example 'cypress-ct-solid-js'
3412
3395
  */
3413
3396
  type: string
3414
3397
 
3415
3398
  /**
3416
- * Used as the flag for `getPreset` for meta framworks, such as finding the webpack config for CRA, Angular, etc.
3399
+ * Used as the flag for `getPreset` for meta frameworks, such as finding the webpack config for CRA, Angular, etc.
3417
3400
  * It is also the name of the string added to `cypress.config`
3418
3401
  *
3419
3402
  * @example
3420
3403
  * export default {
3421
3404
  * component: {
3422
3405
  * devServer: {
3423
- * framework: 'create-react-app' // can be 'next', 'create-react-app', etc etc.
3406
+ * framework: 'react' // can be 'next', 'vue', etc etc.
3424
3407
  * }
3425
3408
  * }
3426
3409
  * }
@@ -3435,7 +3418,7 @@ declare namespace Cypress {
3435
3418
  /**
3436
3419
  * Name displayed in Launchpad when doing initial setup.
3437
3420
  * @example 'Solid.js'
3438
- * @example 'Create React App'
3421
+ * @example 'React.js'
3439
3422
  */
3440
3423
  name: string
3441
3424
 
@@ -3465,12 +3448,12 @@ declare namespace Cypress {
3465
3448
  dependencies: (bundler: 'webpack' | 'vite', projectPath: string) => Promise<DependencyToInstall[]>
3466
3449
 
3467
3450
  /**
3468
- * This is used interally by Cypress for the "Create From Component" feature.
3451
+ * This is used internally by Cypress for the "Create From Component" feature.
3469
3452
  */
3470
3453
  codeGenFramework?: 'react' | 'vue' | 'svelte' | 'angular'
3471
3454
 
3472
3455
  /**
3473
- * This is used interally by Cypress for the "Create From Component" feature.
3456
+ * This is used internally by Cypress for the "Create From Component" feature.
3474
3457
  * @example '*.{js,jsx,tsx}'
3475
3458
  */
3476
3459
  glob?: string
@@ -3536,7 +3519,7 @@ declare namespace Cypress {
3536
3519
 
3537
3520
  type DevServerConfigOptions = {
3538
3521
  bundler: 'webpack'
3539
- framework: 'react' | 'vue' | 'vue-cli' | 'nuxt' | 'create-react-app' | 'next' | 'svelte'
3522
+ framework: 'react' | 'vue' | 'next' | 'svelte'
3540
3523
  webpackConfig?: ConfigHandler<PickConfigOpt<'webpackConfig'>>
3541
3524
  } | {
3542
3525
  bundler: 'vite'
@@ -144,6 +144,7 @@ export namespace CyHttpMessages {
144
144
  httpVersion: string
145
145
  /**
146
146
  * The resource type that is being requested, according to the browser.
147
+ * @deprecated the resource types may change or be completely removed in a future version of Cypress
147
148
  */
148
149
  resourceType: ResourceType
149
150
  /**
@@ -410,13 +411,7 @@ export type StaticResponseWithOptions = StaticResponse & InterceptOptions
410
411
  /**
411
412
  * Describes a response that will be sent back to the browser to fulfill the request.
412
413
  */
413
- export type StaticResponse = GenericStaticResponse<string, string | object | boolean | ArrayBuffer | null> & {
414
- /**
415
- * Milliseconds to delay before the response is sent.
416
- * @deprecated Use `delay` instead of `delayMs`.
417
- */
418
- delayMs?: number
419
- }
414
+ export type StaticResponse = GenericStaticResponse<string, string | object | boolean | ArrayBuffer | null>
420
415
 
421
416
  export interface GenericStaticResponse<Fixture, Body> {
422
417
  /**