cypress 9.6.1 → 10.0.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.
Files changed (44) hide show
  1. package/index.mjs +15 -0
  2. package/lib/cli.js +72 -23
  3. package/lib/errors.js +16 -1
  4. package/lib/exec/open.js +45 -10
  5. package/lib/exec/run.js +17 -10
  6. package/lib/exec/shared.js +30 -9
  7. package/lib/exec/spawn.js +4 -0
  8. package/lib/exec/xvfb.js +1 -0
  9. package/lib/util.js +10 -3
  10. package/mount-utils/CHANGELOG.md +20 -0
  11. package/mount-utils/README.md +14 -0
  12. package/mount-utils/dist/index.d.ts +54 -0
  13. package/mount-utils/dist/index.js +134 -0
  14. package/mount-utils/package.json +31 -0
  15. package/package.json +39 -4
  16. package/react/CHANGELOG.md +373 -0
  17. package/react/README.md +414 -0
  18. package/react/dist/cypress-react.browser.js +497 -0
  19. package/react/dist/cypress-react.cjs.js +495 -0
  20. package/react/dist/cypress-react.esm-bundler.js +467 -0
  21. package/react/dist/getDisplayName.d.ts +8 -0
  22. package/react/dist/index.d.ts +2 -0
  23. package/react/dist/mount.d.ts +143 -0
  24. package/react/dist/mountHook.d.ts +11 -0
  25. package/react/package.json +105 -0
  26. package/types/bluebird/index.d.ts +18 -4
  27. package/types/cypress-eventemitter.d.ts +1 -1
  28. package/types/cypress-global-vars.d.ts +2 -2
  29. package/types/cypress-npm-api.d.ts +4 -10
  30. package/types/cypress.d.ts +180 -120
  31. package/types/minimatch/index.d.ts +15 -5
  32. package/vue/CHANGELOG.md +380 -0
  33. package/vue/README.md +678 -0
  34. package/vue/dist/cypress-vue.cjs.js +13535 -0
  35. package/vue/dist/cypress-vue.esm-bundler.js +13511 -0
  36. package/vue/dist/index.d.ts +56 -0
  37. package/vue/package.json +86 -0
  38. package/vue2/CHANGELOG.md +5 -0
  39. package/vue2/README.md +693 -0
  40. package/vue2/dist/cypress-vue2.browser.js +20191 -0
  41. package/vue2/dist/cypress-vue2.cjs.js +20188 -0
  42. package/vue2/dist/cypress-vue2.esm-bundler.js +20179 -0
  43. package/vue2/dist/index.d.ts +171 -0
  44. package/vue2/package.json +59 -0
@@ -0,0 +1,171 @@
1
+ /// <reference types="cypress" />
2
+ import Vue from 'vue';
3
+ import { VueTestUtilsConfigOptions, Wrapper } from '@vue/test-utils';
4
+ import { StyleOptions } from '@cypress/mount-utils';
5
+ /**
6
+ * Type for component passed to "mount"
7
+ *
8
+ * @interface VueComponent
9
+ * @example
10
+ * import Hello from './Hello.vue'
11
+ * ^^^^^ this type
12
+ * mount(Hello)
13
+ */
14
+ declare type VueComponent = Vue.ComponentOptions<any> | Vue.VueConstructor;
15
+ /**
16
+ * Options to pass to the component when creating it, like
17
+ * props.
18
+ *
19
+ * @interface ComponentOptions
20
+ */
21
+ declare type ComponentOptions = Record<string, unknown>;
22
+ declare type VueLocalComponents = Record<string, VueComponent>;
23
+ declare type VueFilters = {
24
+ [key: string]: (value: string) => string;
25
+ };
26
+ declare type VueMixin = unknown;
27
+ declare type VueMixins = VueMixin | VueMixin[];
28
+ declare type VuePluginOptions = unknown;
29
+ declare type VuePlugin = unknown | [unknown, VuePluginOptions];
30
+ /**
31
+ * A single Vue plugin or a list of plugins to register
32
+ */
33
+ declare type VuePlugins = VuePlugin[];
34
+ /**
35
+ * Additional Vue services to register while mounting the component, like
36
+ * local components, plugins, etc.
37
+ *
38
+ * @interface MountOptionsExtensions
39
+ * @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
40
+ */
41
+ interface MountOptionsExtensions {
42
+ /**
43
+ * Extra local components
44
+ *
45
+ * @memberof MountOptionsExtensions
46
+ * @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
47
+ * @example
48
+ * import Hello from './Hello.vue'
49
+ * // imagine Hello needs AppComponent
50
+ * // that it uses in its template like <app-component ... />
51
+ * // during testing we can replace it with a mock component
52
+ * const appComponent = ...
53
+ * const components = {
54
+ * 'app-component': appComponent
55
+ * },
56
+ * mount(Hello, { extensions: { components }})
57
+ */
58
+ components?: VueLocalComponents;
59
+ /**
60
+ * Optional Vue filters to install while mounting the component
61
+ *
62
+ * @memberof MountOptionsExtensions
63
+ * @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
64
+ * @example
65
+ * const filters = {
66
+ * reverse: (s) => s.split('').reverse().join(''),
67
+ * }
68
+ * mount(Hello, { extensions: { filters }})
69
+ */
70
+ filters?: VueFilters;
71
+ /**
72
+ * Optional Vue mixin(s) to install when mounting the component
73
+ *
74
+ * @memberof MountOptionsExtensions
75
+ * @alias mixins
76
+ * @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
77
+ */
78
+ mixin?: VueMixins;
79
+ /**
80
+ * Optional Vue mixin(s) to install when mounting the component
81
+ *
82
+ * @memberof MountOptionsExtensions
83
+ * @alias mixin
84
+ * @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
85
+ */
86
+ mixins?: VueMixins;
87
+ /**
88
+ * A single plugin or multiple plugins.
89
+ *
90
+ * @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
91
+ * @alias plugins
92
+ * @memberof MountOptionsExtensions
93
+ */
94
+ use?: VuePlugins;
95
+ /**
96
+ * A single plugin or multiple plugins.
97
+ *
98
+ * @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
99
+ * @alias use
100
+ * @memberof MountOptionsExtensions
101
+ */
102
+ plugins?: VuePlugins;
103
+ }
104
+ /**
105
+ * Options controlling how the component is going to be mounted,
106
+ * including global Vue plugins and extensions.
107
+ *
108
+ * @interface MountOptions
109
+ */
110
+ interface MountOptions {
111
+ /**
112
+ * Vue instance to use.
113
+ *
114
+ * @deprecated
115
+ * @memberof MountOptions
116
+ */
117
+ vue: unknown;
118
+ /**
119
+ * Extra Vue plugins, mixins, local components to register while
120
+ * mounting this component
121
+ *
122
+ * @memberof MountOptions
123
+ * @see https://github.com/cypress-io/cypress/tree/master/npm/vue#examples
124
+ */
125
+ extensions: MountOptionsExtensions;
126
+ }
127
+ /**
128
+ * Utility type for union of options passed to "mount(..., options)"
129
+ */
130
+ declare type MountOptionsArgument = Partial<ComponentOptions & MountOptions & StyleOptions & VueTestUtilsConfigOptions>;
131
+ declare global {
132
+ namespace Cypress {
133
+ interface Cypress {
134
+ /**
135
+ * Mounted Vue instance is available under Cypress.vue
136
+ * @memberof Cypress
137
+ * @example
138
+ * mount(Greeting)
139
+ * .then(() => {
140
+ * Cypress.vue.message = 'Hello There'
141
+ * })
142
+ * // new message is displayed
143
+ * cy.contains('Hello There').should('be.visible')
144
+ */
145
+ vue: Vue;
146
+ vueWrapper: Wrapper<Vue>;
147
+ }
148
+ }
149
+ }
150
+ /**
151
+ * Mounts a Vue component inside Cypress browser.
152
+ * @param {object} component imported from Vue file
153
+ * @example
154
+ * import Greeting from './Greeting.vue'
155
+ * import { mount } from '@cypress/vue2'
156
+ * it('works', () => {
157
+ * // pass props, additional extensions, etc
158
+ * mount(Greeting, { ... })
159
+ * // use any Cypress command to test the component
160
+ * cy.get('#greeting').should('be.visible')
161
+ * })
162
+ */
163
+ export declare const mount: (component: VueComponent, optionsOrProps?: MountOptionsArgument) => Cypress.Chainable<Cypress.AUTWindow>;
164
+ /**
165
+ * Helper function for mounting a component quickly in test hooks.
166
+ * @example
167
+ * import {mountCallback} from '@cypress/vue2'
168
+ * beforeEach(mountVue(component, options))
169
+ */
170
+ export declare const mountCallback: (component: VueComponent, options?: MountOptionsArgument) => () => Cypress.Chainable<Cypress.AUTWindow>;
171
+ export {};
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "@cypress/vue2",
3
+ "version": "0.0.0-development",
4
+ "description": "Browser-based Component Testing for Vue.js@2 with Cypress.io ✌️🌲",
5
+ "private": true,
6
+ "main": "dist/cypress-vue2.cjs.js",
7
+ "scripts": {
8
+ "typecheck": "tsc --noEmit",
9
+ "build": "rimraf dist && yarn rollup -c rollup.config.js",
10
+ "postbuild": "node ../../scripts/sync-exported-npm-with-cli.js",
11
+ "build-prod": "yarn build",
12
+ "test": "echo \"Tests for @cypress/vue2 are run from system-tests\"",
13
+ "watch": "yarn build --watch --watch.exclude ./dist/**/*",
14
+ "test-ci": "node ../../scripts/run-ct-examples.js --examplesList=./examples.env"
15
+ },
16
+ "dependencies": {
17
+ "@vue/test-utils": "^1.1.3"
18
+ },
19
+ "devDependencies": {
20
+ "@cypress/mount-utils": "0.0.0-development",
21
+ "@rollup/plugin-commonjs": "^17.1.0",
22
+ "@rollup/plugin-json": "^4.1.0",
23
+ "@rollup/plugin-node-resolve": "^11.1.1",
24
+ "@rollup/plugin-replace": "^2.3.1",
25
+ "rollup-plugin-typescript2": "^0.29.0",
26
+ "tslib": "^2.1.0",
27
+ "typescript": "^4.2.3",
28
+ "vue": "2.6.12"
29
+ },
30
+ "peerDependencies": {
31
+ "cypress": ">=4.5.0",
32
+ "vue": "^2.0.0"
33
+ },
34
+ "files": [
35
+ "dist/**/*",
36
+ "src/**/*.js"
37
+ ],
38
+ "engines": {
39
+ "node": ">=8"
40
+ },
41
+ "types": "dist",
42
+ "license": "MIT",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "https://github.com/cypress-io/cypress.git"
46
+ },
47
+ "homepage": "https://github.com/cypress-io/cypress/blob/master/npm/vue/#readme",
48
+ "bugs": "https://github.com/cypress-io/cypress/issues/new?assignees=&labels=npm%3A%20%40cypress%2Fvue&template=1-bug-report.md&title=",
49
+ "keywords": [
50
+ "cypress",
51
+ "vue"
52
+ ],
53
+ "unpkg": "dist/cypress-vue2.browser.js",
54
+ "module": "dist/cypress-vue2.esm-bundler.js",
55
+ "publishConfig": {
56
+ "access": "public",
57
+ "registry": "http://registry.npmjs.org/"
58
+ }
59
+ }