@wdio/browser-runner 8.4.0 → 8.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/build/browser/spy.d.ts +6 -1
- package/build/browser/spy.d.ts.map +1 -1
- package/build/browser/spy.js +4 -0
- package/build/index.d.ts +62 -2
- package/build/index.d.ts.map +1 -1
- package/build/index.js +28 -0
- package/build/types.d.ts +1 -0
- package/build/types.d.ts.map +1 -1
- package/build/vite/constants.d.ts.map +1 -1
- package/build/vite/constants.js +13 -2
- package/build/vite/plugins/mockHoisting.d.ts.map +1 -1
- package/build/vite/plugins/mockHoisting.js +4 -1
- package/build/vite/plugins/testrunner.d.ts.map +1 -1
- package/build/vite/plugins/testrunner.js +6 -12
- package/build/vite/utils.d.ts.map +1 -1
- package/build/vite/utils.js +9 -1
- package/package.json +7 -7
package/build/browser/spy.d.ts
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import type { MaybeMocked } from '@vitest/spy';
|
|
2
|
+
import type { MockFactoryWithHelper } from '../types';
|
|
1
3
|
/**
|
|
2
4
|
* re-export mock module
|
|
3
5
|
*/
|
|
4
6
|
export * from '@vitest/spy';
|
|
5
|
-
type MockFactoryWithHelper = (importOriginal: <T = unknown>() => Promise<T>) => any;
|
|
6
7
|
export declare function mock(path: string, factory?: MockFactoryWithHelper): Promise<unknown>;
|
|
7
8
|
export declare function unmock(moduleName: string): void;
|
|
9
|
+
/**
|
|
10
|
+
* utility helper for type conversions
|
|
11
|
+
*/
|
|
12
|
+
export declare function mocked<T>(item: T): MaybeMocked<T>;
|
|
8
13
|
//# sourceMappingURL=spy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spy.d.ts","sourceRoot":"","sources":["../../src/browser/spy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spy.d.ts","sourceRoot":"","sources":["../../src/browser/spy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAG9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAGrD;;GAEG;AACH,cAAc,aAAa,CAAA;AAa3B,wBAAsB,IAAI,CAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,oBA4BxE;AAGD,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,QAExC;AAeD;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,kBAA0C"}
|
package/build/browser/spy.js
CHANGED
package/build/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { RunArgs, WorkerInstance } from '@wdio/local-runner';
|
|
2
1
|
import LocalRunner from '@wdio/local-runner';
|
|
2
|
+
import type { RunArgs, WorkerInstance } from '@wdio/local-runner';
|
|
3
3
|
import type { Options } from '@wdio/types';
|
|
4
|
-
import type {
|
|
4
|
+
import type { MaybeMocked, MaybeMockedDeep, MaybePartiallyMocked, MaybePartiallyMockedDeep } from '@vitest/spy';
|
|
5
|
+
import type { BrowserRunnerOptions as BrowserRunnerOptionsImport, MockFactoryWithHelper } from './types.js';
|
|
5
6
|
export default class BrowserRunner extends LocalRunner {
|
|
6
7
|
#private;
|
|
7
8
|
private options;
|
|
@@ -31,4 +32,63 @@ declare global {
|
|
|
31
32
|
* re-export mock types
|
|
32
33
|
*/
|
|
33
34
|
export * from '@vitest/spy';
|
|
35
|
+
/**
|
|
36
|
+
* The following exports are meaningless and only there to allow proper type support.
|
|
37
|
+
* The actual implementation can be found in /src/browser.spy.ts
|
|
38
|
+
*/
|
|
39
|
+
/**
|
|
40
|
+
* Makes all imports to passed module to be mocked.
|
|
41
|
+
*
|
|
42
|
+
* If there is a factory, will return it's result. The call to `mock` is hoisted to the top of the file,
|
|
43
|
+
* so you don't have access to variables declared in the global file scope, if you didn't put them before imports!
|
|
44
|
+
*
|
|
45
|
+
* If __mocks__ folder with file of the same name exist, all imports will return it.
|
|
46
|
+
*
|
|
47
|
+
* If there is no __mocks__ folder or a file with the same name inside, will call original module and mock it.
|
|
48
|
+
*
|
|
49
|
+
* @param {string} path Path to the module.
|
|
50
|
+
* @param {MockFactoryWithHelper} factory (optional) Factory for the mocked module. Has the highest priority.
|
|
51
|
+
*/
|
|
52
|
+
export declare function mock(path: string, factory?: MockFactoryWithHelper): void;
|
|
53
|
+
/**
|
|
54
|
+
* Removes module from mocked registry. All subsequent calls to import will return original module even if it was mocked.
|
|
55
|
+
*
|
|
56
|
+
* @param path Path to the module.
|
|
57
|
+
*/
|
|
58
|
+
export declare function unmock(moduleName: string): void;
|
|
59
|
+
/**
|
|
60
|
+
* Type helpers for TypeScript. In reality just returns the object that was passed.
|
|
61
|
+
* @example
|
|
62
|
+
* import example from './example'
|
|
63
|
+
* vi.mock('./example')
|
|
64
|
+
*
|
|
65
|
+
* test('1+1 equals 2' async () => {
|
|
66
|
+
* vi.mocked(example.calc).mockRestore()
|
|
67
|
+
*
|
|
68
|
+
* const res = example.calc(1, '+', 1)
|
|
69
|
+
*
|
|
70
|
+
* expect(res).toBe(2)
|
|
71
|
+
* })
|
|
72
|
+
*
|
|
73
|
+
* @param item Anything that can be mocked
|
|
74
|
+
* @returns
|
|
75
|
+
*/
|
|
76
|
+
export declare function mocked<T>(item: T, deep?: true): MaybeMockedDeep<T>;
|
|
77
|
+
export declare function mocked<T>(item: T, deep?: false): MaybeMockedDeep<T>;
|
|
78
|
+
export declare function mocked<T>(item: T, options: {
|
|
79
|
+
partial?: false;
|
|
80
|
+
deep?: false;
|
|
81
|
+
}): MaybeMocked<T>;
|
|
82
|
+
export declare function mocked<T>(item: T, options: {
|
|
83
|
+
partial?: false;
|
|
84
|
+
deep: true;
|
|
85
|
+
}): MaybeMockedDeep<T>;
|
|
86
|
+
export declare function mocked<T>(item: T, options: {
|
|
87
|
+
partial: true;
|
|
88
|
+
deep?: false;
|
|
89
|
+
}): MaybePartiallyMocked<T>;
|
|
90
|
+
export declare function mocked<T>(item: T, options: {
|
|
91
|
+
partial: true;
|
|
92
|
+
deep: true;
|
|
93
|
+
}): MaybePartiallyMockedDeep<T>;
|
|
34
94
|
//# sourceMappingURL=index.d.ts.map
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,WAAW,MAAM,oBAAoB,CAAA;AAO5C,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAS/G,OAAO,KAAK,EAAE,oBAAoB,IAAI,0BAA0B,EAAmB,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAG5H,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;;IAU9C,OAAO,CAAC,OAAO;IACf,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU;IAJzC,OAAO,CAAC,aAAa,CAAoB;gBAG7B,OAAO,EAAE,0BAA0B,EACjC,OAAO,EAAE,OAAO,CAAC,UAAU;IAczC;;OAEG;IACG,UAAU;IAoBhB,GAAG,CAAE,OAAO,EAAE,OAAO,GAAG,cAAc;IAoBtC;;;;OAIG;IACG,QAAQ;YA8CA,wBAAwB;CA2DzC;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,WAAW,CAAC;QAClB,UAAU,oBAAqB,SAAQ,0BAA0B;SAAG;KACvE;CACJ;AAED;;GAEG;AACH,cAAc,aAAa,CAAA;AAE3B;;;GAGG;AAEH;;;;;;;;;;;;GAYG;AAEH,wBAAgB,IAAI,CAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,QAAI;AAEvE;;;;GAIG;AAEH,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,QAAI;AAE7C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;AACnE,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAA;AACpE,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE;IACxC,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,IAAI,CAAC,EAAE,KAAK,CAAC;CAChB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AACnB,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE;IACxC,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;CACd,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;AACvB,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE;IACxC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC;CAChB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAC5B,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE;IACxC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;CACd,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAA"}
|
package/build/index.js
CHANGED
|
@@ -166,3 +166,31 @@ export default class BrowserRunner extends LocalRunner {
|
|
|
166
166
|
* re-export mock types
|
|
167
167
|
*/
|
|
168
168
|
export * from '@vitest/spy';
|
|
169
|
+
/**
|
|
170
|
+
* The following exports are meaningless and only there to allow proper type support.
|
|
171
|
+
* The actual implementation can be found in /src/browser.spy.ts
|
|
172
|
+
*/
|
|
173
|
+
/**
|
|
174
|
+
* Makes all imports to passed module to be mocked.
|
|
175
|
+
*
|
|
176
|
+
* If there is a factory, will return it's result. The call to `mock` is hoisted to the top of the file,
|
|
177
|
+
* so you don't have access to variables declared in the global file scope, if you didn't put them before imports!
|
|
178
|
+
*
|
|
179
|
+
* If __mocks__ folder with file of the same name exist, all imports will return it.
|
|
180
|
+
*
|
|
181
|
+
* If there is no __mocks__ folder or a file with the same name inside, will call original module and mock it.
|
|
182
|
+
*
|
|
183
|
+
* @param {string} path Path to the module.
|
|
184
|
+
* @param {MockFactoryWithHelper} factory (optional) Factory for the mocked module. Has the highest priority.
|
|
185
|
+
*/
|
|
186
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
187
|
+
export function mock(path, factory) { }
|
|
188
|
+
/**
|
|
189
|
+
* Removes module from mocked registry. All subsequent calls to import will return original module even if it was mocked.
|
|
190
|
+
*
|
|
191
|
+
* @param path Path to the module.
|
|
192
|
+
*/
|
|
193
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
194
|
+
export function unmock(moduleName) { }
|
|
195
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
196
|
+
export function mocked(item, options) { }
|
package/build/types.d.ts
CHANGED
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAEjE,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,WAAW,EAAE,WAAW,CAAA;QACxB,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;KAC9C;CACJ;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAA;AACrF,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;AAChC,KAAK,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,GAAG,MAAM,CAAA;AAClL,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,GAAG,sBAAsB,CAAC;IAClH;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAA;IACtC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,OAAQ,SAAQ,OAAO,CAAC,gBAAgB;IACrD,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,GAAG,CAAA;IACT,GAAG,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,OAAO,CAAC,UAAU,CAAA;IAC1B,YAAY,EAAE,YAAY,CAAC,gBAAgB,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,OAAO,CAAA;CACzB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAEjE,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,WAAW,EAAE,WAAW,CAAA;QACxB,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;KAC9C;CACJ;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAA;AACrF,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;AAChC,KAAK,gBAAgB,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,GAAG,MAAM,CAAA;AAClL,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,qBAAqB,EAAE,SAAS,GAAG,WAAW,GAAG,sBAAsB,CAAC;IAClH;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAA;IACtC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB;;OAEG;IACH,UAAU,CAAC,EAAE,YAAY,CAAA;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,OAAQ,SAAQ,OAAO,CAAC,gBAAgB;IACrD,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,GAAG,CAAA;IACT,GAAG,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,OAAO,CAAC,UAAU,CAAA;IAC1B,YAAY,EAAE,YAAY,CAAC,gBAAgB,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,OAAO,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/vite/constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAgB1F,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/vite/constants.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAExC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAgB1F,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,YAAY,CAiCrD,CAAA"}
|
package/build/vite/constants.js
CHANGED
|
@@ -23,10 +23,21 @@ export const DEFAULT_VITE_CONFIG = {
|
|
|
23
23
|
logLevel: 'silent',
|
|
24
24
|
plugins: [topLevelAwait()],
|
|
25
25
|
build: {
|
|
26
|
-
sourcemap: 'inline'
|
|
26
|
+
sourcemap: 'inline',
|
|
27
|
+
commonjsOptions: {
|
|
28
|
+
include: [/node_modules/],
|
|
29
|
+
}
|
|
27
30
|
},
|
|
28
31
|
optimizeDeps: {
|
|
29
|
-
|
|
32
|
+
/**
|
|
33
|
+
* the following deps are CJS packages and need to be optimized (compiled to ESM) by Vite
|
|
34
|
+
*/
|
|
35
|
+
include: [
|
|
36
|
+
'expect', 'jest-matcher-utils', 'serialize-error', 'minimatch', 'css-shorthand-properties',
|
|
37
|
+
'lodash.merge', 'lodash.zip', 'lodash.clonedeep', 'lodash.pickby', 'lodash.flattendeep',
|
|
38
|
+
'aria-query', 'grapheme-splitter', 'css-value', 'rgb2hex', 'p-iteration', 'fast-safe-stringify',
|
|
39
|
+
'deepmerge-ts'
|
|
40
|
+
],
|
|
30
41
|
esbuildOptions: {
|
|
31
42
|
logLevel: 'silent',
|
|
32
43
|
// Node.js global to browser globalThis
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mockHoisting.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/mockHoisting.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAM7C,wBAAgB,YAAY,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"mockHoisting.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/mockHoisting.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAM7C,wBAAgB,YAAY,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM,EAAE,CA2M/D"}
|
|
@@ -25,11 +25,14 @@ export function mockHoisting(mockHandler) {
|
|
|
25
25
|
return '';
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
+
const preBundledDepName = path.basename(id).split('?')[0];
|
|
28
29
|
const mockedMod = (
|
|
29
30
|
// mocked file
|
|
30
31
|
mockHandler.mocks.get(os.platform() === 'win32' ? `/${id}` : id) ||
|
|
31
32
|
// mocked dependency
|
|
32
|
-
mockHandler.mocks.get(path.basename(id, path.extname(id)))
|
|
33
|
+
mockHandler.mocks.get(path.basename(id, path.extname(id))) ||
|
|
34
|
+
// pre-bundled deps e.g. /node_modules/.vite/deps/algoliasearch_lite.js?v=e31c24e
|
|
35
|
+
[...mockHandler.mocks.values()].find((mock) => `${mock.path.replace('/', '_')}.js` === preBundledDepName));
|
|
33
36
|
if (mockedMod) {
|
|
34
37
|
const newCode = mockedMod.namedExports.map((ne) => {
|
|
35
38
|
if (ne === 'default') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testrunner.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/testrunner.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AA0ClC,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,oBAAoB,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"testrunner.d.ts","sourceRoot":"","sources":["../../../src/vite/plugins/testrunner.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AA0ClC,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,oBAAoB,GAAG,MAAM,EAAE,CAwH9E"}
|
|
@@ -15,6 +15,12 @@ const protocolCommandList = Object.values(commands).map((endpoint) => Object.val
|
|
|
15
15
|
const WDIO_PACKAGES = ['webdriverio', 'expect-webdriverio'];
|
|
16
16
|
const virtualModuleId = 'virtual:wdio';
|
|
17
17
|
const resolvedVirtualModuleId = '\0' + virtualModuleId;
|
|
18
|
+
/**
|
|
19
|
+
* these modules are used in Node.js environments only and
|
|
20
|
+
* don't need to be compiled, we just have them point to a
|
|
21
|
+
* mocked module that returns a matching interface without
|
|
22
|
+
* functionality
|
|
23
|
+
*/
|
|
18
24
|
const MODULES_TO_MOCK = [
|
|
19
25
|
'import-meta-resolve', 'puppeteer-core', 'archiver', 'glob', 'devtools', 'ws'
|
|
20
26
|
];
|
|
@@ -22,11 +28,6 @@ const POLYFILLS = [
|
|
|
22
28
|
...builtinModules,
|
|
23
29
|
...builtinModules.map((m) => `node:${m}`)
|
|
24
30
|
].map((m) => m.replace('/promises', ''));
|
|
25
|
-
const FETCH_FROM_ESM = [
|
|
26
|
-
'serialize-error', 'minimatch', 'css-shorthand-properties', 'lodash.merge', 'lodash.zip',
|
|
27
|
-
'lodash.clonedeep', 'lodash.pickby', 'lodash.flattendeep', 'aria-query', 'grapheme-splitter',
|
|
28
|
-
'css-value', 'rgb2hex', 'p-iteration', 'fast-safe-stringify', 'deepmerge-ts'
|
|
29
|
-
];
|
|
30
31
|
export function testrunner(options) {
|
|
31
32
|
const automationProtocolPath = `/@fs${url.pathToFileURL(path.resolve(__dirname, '..', '..', 'browser', 'driver.js')).pathname}`;
|
|
32
33
|
const mockModulePath = path.resolve(__dirname, '..', '..', 'browser', 'mock.js');
|
|
@@ -60,13 +61,6 @@ export function testrunner(options) {
|
|
|
60
61
|
if (MODULES_TO_MOCK.includes(id)) {
|
|
61
62
|
return mockModulePath;
|
|
62
63
|
}
|
|
63
|
-
/**
|
|
64
|
-
* some dependencies used by WebdriverIO packages are still using CJS
|
|
65
|
-
* so we need to pull them from esm.sh to have them run in the browser
|
|
66
|
-
*/
|
|
67
|
-
if (FETCH_FROM_ESM.includes(id)) {
|
|
68
|
-
return `https://esm.sh/${id}`;
|
|
69
|
-
}
|
|
70
64
|
},
|
|
71
65
|
load(id) {
|
|
72
66
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/vite/utils.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE/D,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,oBAAoB,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,oBAAc,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/vite/utils.ts"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE/D,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,oBAAoB,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,oBAAc,mBAuFpI;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,MAAM,gBAa7E;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAY7D;AAED,wBAAsB,qBAAqB,CAAE,GAAG,EAAE,MAAM,qBAqBvD;AAGD,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,+BAgBvD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,UAU9D"}
|
package/build/vite/utils.js
CHANGED
|
@@ -38,7 +38,8 @@ export async function getTemplate(options, env, spec, processEnv = process.env)
|
|
|
38
38
|
<head>
|
|
39
39
|
<title>WebdriverIO Browser Test</title>
|
|
40
40
|
<link rel="icon" type="image/x-icon" href="https://webdriver.io/img/favicon.png">
|
|
41
|
-
<link rel="stylesheet" href="${mochaCSSHref}"
|
|
41
|
+
<link rel="stylesheet" href="${mochaCSSHref}">
|
|
42
|
+
<script type="module" src="${mochaJSSrc}"></script>
|
|
42
43
|
<script src="/@fs/${sourceMapSupportDir}/browser-source-map-support.js"></script>
|
|
43
44
|
<script type="module">
|
|
44
45
|
sourceMapSupport.install()
|
|
@@ -102,6 +103,13 @@ export function normalizeId(id, base) {
|
|
|
102
103
|
.replace(/\?$/, ''); // remove end query mark
|
|
103
104
|
}
|
|
104
105
|
export async function getFilesFromDirectory(dir) {
|
|
106
|
+
/**
|
|
107
|
+
* check if dir exists
|
|
108
|
+
*/
|
|
109
|
+
const isExisting = await fs.access(dir).then(() => true, () => false);
|
|
110
|
+
if (!isExisting) {
|
|
111
|
+
return [];
|
|
112
|
+
}
|
|
105
113
|
let files = await fs.readdir(dir);
|
|
106
114
|
files = (await Promise.all(files.map(async (file) => {
|
|
107
115
|
const filePath = path.join(dir, file);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wdio/browser-runner",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.5.1",
|
|
4
4
|
"description": "A WebdriverIO runner to run unit tests tests in the browser.",
|
|
5
5
|
"author": "Christian Bromann <mail@bromann.dev>",
|
|
6
6
|
"homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-browser-runner",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"@types/istanbul-lib-source-maps": "^4.0.1",
|
|
33
33
|
"@types/node": "^18.14.0",
|
|
34
34
|
"@vitest/spy": "^0.29.1",
|
|
35
|
-
"@wdio/globals": "8.
|
|
36
|
-
"@wdio/local-runner": "8.
|
|
35
|
+
"@wdio/globals": "8.5.1",
|
|
36
|
+
"@wdio/local-runner": "8.5.1",
|
|
37
37
|
"@wdio/logger": "8.1.0",
|
|
38
38
|
"@wdio/mocha-framework": "8.4.0",
|
|
39
39
|
"@wdio/protocols": "8.3.11",
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
"vite": "^4.1.3",
|
|
57
57
|
"vite-plugin-istanbul": "^4.0.0",
|
|
58
58
|
"vite-plugin-top-level-await": "^1.2.4",
|
|
59
|
-
"webdriver": "8.
|
|
60
|
-
"webdriverio": "8.
|
|
59
|
+
"webdriver": "8.5.1",
|
|
60
|
+
"webdriverio": "8.5.1",
|
|
61
61
|
"ws": "^8.12.1"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
},
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"@types/ws": "^8.5.4",
|
|
71
|
-
"@wdio/runner": "8.
|
|
71
|
+
"@wdio/runner": "8.5.1"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "3a0fcc3875d01630da633c71560963aa5c425cef"
|
|
74
74
|
}
|