expect-webdriverio 8.0.0-alpha.0 → 8.0.0-alpha.2
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/README.md +1 -3
- package/lib/matchers/elements/toBeElementsArrayOfSize.js +8 -25
- package/lib/matchers/snapshot.js +5 -7
- package/lib/tsconfig.build.tsbuildinfo +1 -1
- package/lib/util/elementsUtil.js +1 -8
- package/lib/util/executeCommand.js +12 -14
- package/lib/util/formatMessage.js +7 -11
- package/lib/util/multiRemoteUtils.js +19 -10
- package/lib/util/refetchElements.js +1 -22
- package/lib/util/stackUtil.js +7 -0
- package/package.json +9 -8
- package/types/expect-webdriverio.d.ts +7 -1
package/README.md
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
- **Cucumber**: `npm install @wdio/cucumber-framework`
|
|
27
27
|
- **Jest**: No adapter needed — see [Jest Framework section](docs/Framework.md#jest)
|
|
28
28
|
|
|
29
|
-
**Note:** [WebdriverIO](https://github.com/webdriverio/webdriverio) `v9.
|
|
29
|
+
**Note:** [WebdriverIO](https://github.com/webdriverio/webdriverio) `v9.32.0` or higher is required!
|
|
30
30
|
|
|
31
31
|
## Usage
|
|
32
32
|
|
|
@@ -50,8 +50,6 @@ await expect(multiRemoteBrowser).toHaveTitle('WebdriverIO')
|
|
|
50
50
|
await expect(multiRemoteBrowser.$('h1')).toHaveText(expect.multiRemote({ chrome: 'Welcome', firefox: 'Bienvenue' }))
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
Some WebdriverIO environment variables are recommended, see [Multi-remote Support](docs/MultiRemote.md#requirements--configuration).
|
|
54
|
-
|
|
55
53
|
#### Local & Browser Runners
|
|
56
54
|
- **Local Runner**: Fully compatible. You can leverage your test framework adapter as mentioned above.
|
|
57
55
|
- **Browser Runner**: Designed for component frameworks like React, Preact, Vue.js, Svelte, and SolidJS, with a few known limitations. For details, see the [Browser Runner Framework section](docs/Framework.md#browser-runner).
|
|
@@ -2,8 +2,8 @@ import { waitUntil, enhanceError, } from '../../utils.js';
|
|
|
2
2
|
import { refetchElements, synchronizeElementArray, syncronizeElements } from '../../util/refetchElements.js';
|
|
3
3
|
import { DEFAULT_OPTIONS } from '../../constants.js';
|
|
4
4
|
import { validateNumberMatcher } from '../../util/numberOptionsUtil.js';
|
|
5
|
-
import { awaitElementArray, isMultiRemoteElementArray,
|
|
6
|
-
import { getElementsPerInstance,
|
|
5
|
+
import { awaitElementArray, isMultiRemoteElementArray, isStrictlyElementArray } from '../../util/elementsUtil.js';
|
|
6
|
+
import { getElementsPerInstance, hasSameInstanceNames, isMultiRemoteMatcher } from '../../util/multiRemoteUtils.js';
|
|
7
7
|
export async function toBeElementsArrayOfSize(received, expectedValue, options = DEFAULT_OPTIONS) {
|
|
8
8
|
const { expectation = 'elements array of size', verb = 'be', isNot, matcherName = 'toBeElementsArrayOfSize' } = this;
|
|
9
9
|
await options.beforeAssertion?.({
|
|
@@ -13,10 +13,7 @@ export async function toBeElementsArrayOfSize(received, expectedValue, options =
|
|
|
13
13
|
});
|
|
14
14
|
let { elements, other } = await awaitElementArray(received);
|
|
15
15
|
const awaitedMultiRemote = other ?? elements;
|
|
16
|
-
|
|
17
|
-
&& !isStrictlyElementArray(awaitedMultiRemote) && !isGlobalBrowserSingleRemote()
|
|
18
|
-
&& getPerInstanceSizes(expectedValue) !== undefined;
|
|
19
|
-
if (isMultiRemoteElementsLike(awaitedMultiRemote) || isEmptyWithPerInstanceSizes) {
|
|
16
|
+
if (isMultiRemoteElementArray(awaitedMultiRemote)) {
|
|
20
17
|
const result = await multiRemoteElementsArrayOfSize(awaitedMultiRemote, expectedValue, options, { context: this, verb, expectation });
|
|
21
18
|
await options.afterAssertion?.({ matcherName, expectedValue, options, result });
|
|
22
19
|
return result;
|
|
@@ -56,9 +53,7 @@ export async function toBeElementsArrayOfSize(received, expectedValue, options =
|
|
|
56
53
|
const multiRemoteElementsArrayOfSize = async (received, expectedValue, options, { context, verb, expectation }) => {
|
|
57
54
|
const { isNot } = context;
|
|
58
55
|
const perInstanceSizes = getPerInstanceSizes(expectedValue);
|
|
59
|
-
const instances =
|
|
60
|
-
?? getGlobalMultiRemoteInstanceNames()
|
|
61
|
-
?? (perInstanceSizes ? Object.keys(perInstanceSizes) : []);
|
|
56
|
+
const { instances } = received.parent;
|
|
62
57
|
let expected;
|
|
63
58
|
let instanceMismatch = false;
|
|
64
59
|
if (perInstanceSizes) {
|
|
@@ -69,41 +64,29 @@ const multiRemoteElementsArrayOfSize = async (received, expectedValue, options,
|
|
|
69
64
|
const numberMatcher = validateNumberMatcher(expectedValue);
|
|
70
65
|
expected = Object.fromEntries(instances.map((name) => [name, numberMatcher]));
|
|
71
66
|
}
|
|
72
|
-
let refetchSource = received;
|
|
73
67
|
let elements = received;
|
|
74
68
|
let actual = countElementsPerInstance(elements, instances);
|
|
75
69
|
const { success: pass } = await waitUntil(async (iteration) => {
|
|
76
70
|
if (iteration > 0) {
|
|
77
|
-
elements = await refetchElements(
|
|
78
|
-
if (elements.length > 0 || !isMultiRemoteElements(refetchSource)) {
|
|
79
|
-
refetchSource = elements;
|
|
80
|
-
}
|
|
71
|
+
elements = await refetchElements(elements);
|
|
81
72
|
actual = countElementsPerInstance(elements, instances);
|
|
82
73
|
}
|
|
83
74
|
if (instanceMismatch) {
|
|
84
|
-
return { success: !!isNot, subject:
|
|
75
|
+
return { success: !!isNot, subject: elements, actual, abort: true };
|
|
85
76
|
}
|
|
86
77
|
const matches = (name) => expected[name].asymmetricMatch(actual[name]);
|
|
87
78
|
const success = isNot ? instances.some(matches) : instances.every(matches);
|
|
88
|
-
return { success, subject:
|
|
79
|
+
return { success, subject: elements, actual };
|
|
89
80
|
}, isNot, { wait: options.wait, interval: options.interval });
|
|
90
81
|
if (pass && elements !== received) {
|
|
91
82
|
synchronizeElementArray(received, elements);
|
|
92
83
|
}
|
|
93
|
-
const message = enhanceError(
|
|
84
|
+
const message = enhanceError(elements, expected, actual, { isNot }, verb, expectation, '', options);
|
|
94
85
|
return { pass, message: () => message };
|
|
95
86
|
};
|
|
96
87
|
const getPerInstanceSizes = (value) => {
|
|
97
88
|
return isMultiRemoteMatcher(value) ? value.sample : undefined;
|
|
98
89
|
};
|
|
99
|
-
const getMultiRemoteInstanceNames = (elements) => {
|
|
100
|
-
const first = elements[0];
|
|
101
|
-
if (first) {
|
|
102
|
-
return first.instances;
|
|
103
|
-
}
|
|
104
|
-
const parent = isMultiRemoteElementArray(elements) ? elements.parent : undefined;
|
|
105
|
-
return parent?.instances;
|
|
106
|
-
};
|
|
107
90
|
const countElementsPerInstance = (elements, instances) => {
|
|
108
91
|
const elementsPerInstance = getElementsPerInstance(elements, instances);
|
|
109
92
|
return Object.fromEntries(instances.map((name) => [name, elementsPerInstance[name].length]));
|
package/lib/matchers/snapshot.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
1
|
import { expect } from 'expect';
|
|
3
2
|
import { stripSnapshotIndentation } from '@vitest/snapshot';
|
|
4
3
|
import { SnapshotService } from '../snapshot.js';
|
|
5
|
-
import { awaitElementOrArray, isElementOrArrayOrMultiRemoteElementLike, isMultiRemoteElement, isMultiRemoteElementArray,
|
|
4
|
+
import { awaitElementOrArray, isElementOrArrayOrMultiRemoteElementLike, isMultiRemoteElement, isMultiRemoteElementArray, isStrictlyElementArray } from '../util/elementsUtil.js';
|
|
6
5
|
import { getElementsPerInstance } from '../util/multiRemoteUtils.js';
|
|
6
|
+
import { filterInlineSnapshotStack } from '../util/stackUtil.js';
|
|
7
7
|
function returnSnapshotError(snapshotError) {
|
|
8
8
|
try {
|
|
9
9
|
expect(snapshotError.actual).toBe(snapshotError.expected);
|
|
@@ -50,7 +50,7 @@ const getMultiRemoteOuterHTML = async (multiRemoteElements) => {
|
|
|
50
50
|
if (!isSingleElement && multiRemoteElements.length === 0) {
|
|
51
51
|
return [];
|
|
52
52
|
}
|
|
53
|
-
const instances = [...(isSingleElement ? multiRemoteElements : multiRemoteElements
|
|
53
|
+
const instances = [...(isSingleElement ? multiRemoteElements.instances : multiRemoteElements.parent.instances)].sort();
|
|
54
54
|
const elementsPerInstance = isSingleElement ? undefined : getElementsPerInstance(multiRemoteElements, instances);
|
|
55
55
|
const htmlPerInstance = Object.fromEntries(await Promise.all(instances.map(async (instance) => [
|
|
56
56
|
instance,
|
|
@@ -67,7 +67,7 @@ async function toMatchSnapshotAsync(asyncReceived, message, inlineOptions) {
|
|
|
67
67
|
if (multiRemoteSelector) {
|
|
68
68
|
received = await getMultiRemoteOuterHTML(multiRemoteSelector);
|
|
69
69
|
}
|
|
70
|
-
else if (elements &&
|
|
70
|
+
else if (elements && isMultiRemoteElementArray(elements)) {
|
|
71
71
|
received = await getMultiRemoteOuterHTML(elements);
|
|
72
72
|
}
|
|
73
73
|
else if (elements) {
|
|
@@ -105,9 +105,7 @@ export function toMatchInlineSnapshot(received, inlineSnapshot, message) {
|
|
|
105
105
|
...stack.slice(3)
|
|
106
106
|
].join('\n');
|
|
107
107
|
}
|
|
108
|
-
const trace = error.stack
|
|
109
|
-
!(line.includes('__EXTERNAL_MATCHER_TRAP__') ||
|
|
110
|
-
line.includes(`expect-webdriverio${path.sep}lib${path.sep}matchers${path.sep}snapshot.js:`)))).filter((line) => (!line.includes('node_modules/jasmine-core/'))) || [];
|
|
108
|
+
const trace = error.stack ? filterInlineSnapshotStack(error.stack) : [];
|
|
111
109
|
if (process.env.WDIO_INTERNAL_TEST) {
|
|
112
110
|
trace.splice(2, 1);
|
|
113
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"7.0.2","root":["../src/constants.ts","../src/index.ts","../src/jasmineUtils.ts","../src/matchers.ts","../src/snapshot.ts","../src/softAssert.ts","../src/softAssertService.ts","../src/softExpect.ts","../src/types.ts","../src/utils.ts","../src/api/index.ts","../src/matchers/snapshot.ts","../src/matchers/asymmetrics/asymmetricsUtils.ts","../src/matchers/asymmetrics/multiRemote.ts","../src/matchers/asymmetrics/oneOf.ts","../src/matchers/browser/toHaveClipboardText.ts","../src/matchers/browser/toHaveLocalStorageItem.ts","../src/matchers/browser/toHaveTitle.ts","../src/matchers/browser/toHaveUrl.ts","../src/matchers/element/toBeClickable.ts","../src/matchers/element/toBeDisabled.ts","../src/matchers/element/toBeDisplayed.ts","../src/matchers/element/toBeDisplayedInViewport.ts","../src/matchers/element/toBeEnabled.ts","../src/matchers/element/toBeExisting.ts","../src/matchers/element/toBeFocused.ts","../src/matchers/element/toBeSelected.ts","../src/matchers/element/toHaveAttribute.ts","../src/matchers/element/toHaveChildren.ts","../src/matchers/element/toHaveComputedLabel.ts","../src/matchers/element/toHaveComputedRole.ts","../src/matchers/element/toHaveElementClass.ts","../src/matchers/element/toHaveElementProperty.ts","../src/matchers/element/toHaveHTML.ts","../src/matchers/element/toHaveHeight.ts","../src/matchers/element/toHaveHref.ts","../src/matchers/element/toHaveId.ts","../src/matchers/element/toHaveSize.ts","../src/matchers/element/toHaveStyle.ts","../src/matchers/element/toHaveText.ts","../src/matchers/element/toHaveValue.ts","../src/matchers/element/toHaveWidth.ts","../src/matchers/elements/toBeElementsArrayOfSize.ts","../src/matchers/mock/toBeRequested.ts","../src/matchers/mock/toBeRequestedTimes.ts","../src/matchers/mock/toBeRequestedWith.ts","../src/matchers/modifiers/some.ts","../src/util/commandOptionsUtils.ts","../src/util/elementsUtil.ts","../src/util/executeBrowserCommand.ts","../src/util/executeCommand.ts","../src/util/formatMessage.ts","../src/util/globalSingleton.ts","../src/util/multiRemoteUtils.ts","../src/util/numberOptionsUtil.ts","../src/util/refetchElements.ts","../src/util/stringUtil.ts","../src/util/waitUntil.ts"],"packageJsons":["../node_modules/.pnpm/@jest+expect-utils@30.5.2/node_modules/@jest/expect-utils/package.json","../node_modules/.pnpm/@jest+schemas@30.5.0/node_modules/@jest/schemas/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/package.json","../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/package.json","../node_modules/.pnpm/@types+sinonjs__fake-timers@8.1.5/node_modules/@types/sinonjs__fake-timers/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/ws/package.json","../node_modules/.pnpm/@vitest+pretty-format@5.0.2/node_modules/@vitest/pretty-format/package.json","../node_modules/.pnpm/@vitest+snapshot@5.0.2/node_modules/@vitest/snapshot/package.json","../node_modules/.pnpm/@vitest+utils@5.0.2/node_modules/@vitest/utils/package.json","../node_modules/.pnpm/@wdio+globals@9.31.3_expect-webdriverio@_webdriverio@9.32.0_supports-color@8.1.1_/node_modules/@wdio/globals/package.json","../node_modules/.pnpm/@wdio+protocols@9.31.5/node_modules/@wdio/protocols/package.json","../node_modules/.pnpm/@wdio+types@9.32.0/node_modules/@wdio/types/package.json","../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/package.json","../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/package.json","../node_modules/.pnpm/cheerio-select@2.1.0/node_modules/cheerio-select/lib/esm/package.json","../node_modules/.pnpm/cheerio-select@2.1.0/node_modules/cheerio-select/package.json","../node_modules/.pnpm/cheerio@1.1.2/node_modules/cheerio/dist/esm/package.json","../node_modules/.pnpm/cheerio@1.1.2/node_modules/cheerio/package.json","../node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/esm/package.json","../node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/package.json","../node_modules/.pnpm/css-what@6.2.2/node_modules/css-what/package.json","../node_modules/.pnpm/deep-eql@5.0.2/node_modules/deep-eql/package.json","../node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/lib/esm/package.json","../node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/package.json","../node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/lib/esm/package.json","../node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/package.json","../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/package.json","../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/package.json","../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/package.json","../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/package.json","../node_modules/.pnpm/encoding-sniffer@0.2.1/node_modules/encoding-sniffer/dist/esm/package.json","../node_modules/.pnpm/encoding-sniffer@0.2.1/node_modules/encoding-sniffer/package.json","../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/package.json","../node_modules/.pnpm/entities@6.0.1/node_modules/entities/package.json","../node_modules/.pnpm/events@3.3.0/node_modules/events/package.json","../node_modules/.pnpm/expect@30.5.2/node_modules/expect/package.json","../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/dist/esm/package.json","../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/package.json","../node_modules/.pnpm/jest-diff@30.5.2/node_modules/jest-diff/package.json","../node_modules/.pnpm/jest-matcher-utils@30.5.2/node_modules/jest-matcher-utils/package.json","../node_modules/.pnpm/jest-mock@30.5.2/node_modules/jest-mock/package.json","../node_modules/.pnpm/parse5-htmlparser2-tree-adapter@7.1.0/node_modules/parse5-htmlparser2-tree-adapter/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/package.json","../node_modules/.pnpm/pretty-format@30.5.1/node_modules/pretty-format/package.json","../node_modules/.pnpm/process@0.11.10/node_modules/process/package.json","../node_modules/.pnpm/punycode@2.3.1/node_modules/punycode/package.json","../node_modules/.pnpm/string_decoder@1.1.1/node_modules/string_decoder/package.json","../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/package.json","../node_modules/.pnpm/undici@7.29.0/node_modules/undici/package.json","../node_modules/.pnpm/urlpattern-polyfill@10.1.0/node_modules/urlpattern-polyfill/package.json","../node_modules/.pnpm/webdriver@9.32.0_supports-color@8.1.1/node_modules/webdriver/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/package.json","../node_modules/.pnpm/ws@8.21.3/node_modules/ws/package.json","../package.json"],"missingPackageJsons":["../node_modules/.pnpm/@jest+expect-utils@30.5.2/node_modules/@jest/expect-utils/build/package.json","../node_modules/.pnpm/@jest+schemas@30.5.0/node_modules/@jest/schemas/build/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/any/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/argument/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/array/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/async-iterator/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/awaited/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/bigint/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/boolean/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/clone/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/composite/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/computed/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/const/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/constructor-parameters/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/constructor/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/create/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/date/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/enum/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/error/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/exclude/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/extends/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/extract/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/function/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/guard/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/helpers/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/indexed/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/instance-type/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/instantiate/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/integer/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/intersect/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/iterator/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/keyof/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/literal/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/mapped/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/module/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/never/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/not/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/null/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/number/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/object/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/omit/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/optional/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/parameters/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/partial/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/patterns/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/pick/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/promise/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/readonly-optional/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/readonly/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/record/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/recursive/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/ref/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/regexp/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/registry/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/required/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/rest/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/return-type/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/schema/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/sets/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/static/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/string/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/symbol/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/symbols/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/template-literal/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/transform/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/tuple/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/type/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/uint8array/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/undefined/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/union/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/unknown/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/unsafe/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/void/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/assert/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/assert/strict/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/async_hooks/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/buffer/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/child_process/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/cluster/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/console/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/constants/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/crypto/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/dgram/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/diagnostics_channel/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/dns/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/dns/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/domain/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/events/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/fs/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/fs/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/http/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/http2/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/https/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/inspector/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/inspector/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/module/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/net/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/assert/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/compatibility/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/dns/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/fs/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/readline/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/stream/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/timers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/web-globals/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/os/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/path/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/path/posix/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/path/win32/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/perf_hooks/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/process/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/punycode/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/querystring/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/readline/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/readline/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/repl/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/stream/consumers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/stream/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/stream/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/stream/web/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/string_decoder/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/timers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/timers/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/tls/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/trace_events/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/tty/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/url/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/util/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/util/types/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/v8/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/vm/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/wasi/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/worker_threads/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/zlib/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/assert/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/assert/strict/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/async_hooks/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/buffer/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/child_process/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/cluster/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/console/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/constants/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/crypto/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/dgram/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/diagnostics_channel/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/dns/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/dns/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/domain/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/events/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/fs/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/fs/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/http/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/http2/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/https/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/inspector/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/inspector/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/module/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/net/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/os/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/path/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/path/posix/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/path/win32/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/perf_hooks/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/process/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/punycode/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/querystring/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/readline/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/readline/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/repl/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/stream/consumers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/stream/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/stream/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/stream/web/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/string_decoder/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/timers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/timers/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/tls/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/trace_events/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/tty/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/url/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/util/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/util/types/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/v8/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/vm/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/wasi/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/worker_threads/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/zlib/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/events/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/http/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/https/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/net/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/stream/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/tls/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/url/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/zlib/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/events/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/http/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/https/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/net/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/stream/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/tls/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/url/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/zlib/package.json","../node_modules/.pnpm/@vitest+pretty-format@5.0.2/node_modules/@vitest/pretty-format/dist/package.json","../node_modules/.pnpm/@vitest+snapshot@5.0.2/node_modules/@vitest/snapshot/dist/package.json","../node_modules/.pnpm/@vitest+utils@5.0.2/node_modules/@vitest/utils/dist/package.json","../node_modules/.pnpm/@wdio+protocols@9.31.5/node_modules/@wdio/protocols/build/commands/package.json","../node_modules/.pnpm/@wdio+protocols@9.31.5/node_modules/@wdio/protocols/build/package.json","../node_modules/.pnpm/@wdio+protocols@9.31.5/node_modules/@wdio/protocols/build/protocols/package.json","../node_modules/.pnpm/@wdio+types@9.32.0/node_modules/@wdio/types/build/package.json","../node_modules/.pnpm/cheerio@1.1.2/node_modules/cheerio/dist/esm/api/package.json","../node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/esm/pseudo-selectors/package.json","../node_modules/.pnpm/css-what@6.2.2/node_modules/css-what/lib/es/package.json","../node_modules/.pnpm/css-what@6.2.2/node_modules/css-what/lib/package.json","../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/generated/package.json","../node_modules/.pnpm/expect@30.5.2/node_modules/expect/build/package.json","../node_modules/.pnpm/jest-diff@30.5.2/node_modules/jest-diff/build/package.json","../node_modules/.pnpm/jest-matcher-utils@30.5.2/node_modules/jest-matcher-utils/build/package.json","../node_modules/.pnpm/jest-mock@30.5.2/node_modules/jest-mock/build/package.json","../node_modules/.pnpm/node_modules/@types/assert/package.json","../node_modules/.pnpm/node_modules/@types/assert/strict/package.json","../node_modules/.pnpm/node_modules/@types/async_hooks/package.json","../node_modules/.pnpm/node_modules/@types/child_process/package.json","../node_modules/.pnpm/node_modules/@types/cluster/package.json","../node_modules/.pnpm/node_modules/@types/console/package.json","../node_modules/.pnpm/node_modules/@types/constants/package.json","../node_modules/.pnpm/node_modules/@types/crypto/package.json","../node_modules/.pnpm/node_modules/@types/dgram/package.json","../node_modules/.pnpm/node_modules/@types/diagnostics_channel/package.json","../node_modules/.pnpm/node_modules/@types/dns/package.json","../node_modules/.pnpm/node_modules/@types/dns/promises/package.json","../node_modules/.pnpm/node_modules/@types/domain/package.json","../node_modules/.pnpm/node_modules/@types/events/package.json","../node_modules/.pnpm/node_modules/@types/fs/package.json","../node_modules/.pnpm/node_modules/@types/fs/promises/package.json","../node_modules/.pnpm/node_modules/@types/http/package.json","../node_modules/.pnpm/node_modules/@types/http2/package.json","../node_modules/.pnpm/node_modules/@types/https/package.json","../node_modules/.pnpm/node_modules/@types/inspector/package.json","../node_modules/.pnpm/node_modules/@types/inspector/promises/package.json","../node_modules/.pnpm/node_modules/@types/module/package.json","../node_modules/.pnpm/node_modules/@types/net/package.json","../node_modules/.pnpm/node_modules/@types/os/package.json","../node_modules/.pnpm/node_modules/@types/path/package.json","../node_modules/.pnpm/node_modules/@types/path/posix/package.json","../node_modules/.pnpm/node_modules/@types/path/win32/package.json","../node_modules/.pnpm/node_modules/@types/perf_hooks/package.json","../node_modules/.pnpm/node_modules/@types/process/package.json","../node_modules/.pnpm/node_modules/@types/punycode/package.json","../node_modules/.pnpm/node_modules/@types/puppeteer-core/package.json","../node_modules/.pnpm/node_modules/@types/querystring/package.json","../node_modules/.pnpm/node_modules/@types/readline/package.json","../node_modules/.pnpm/node_modules/@types/readline/promises/package.json","../node_modules/.pnpm/node_modules/@types/repl/package.json","../node_modules/.pnpm/node_modules/@types/stream/consumers/package.json","../node_modules/.pnpm/node_modules/@types/stream/package.json","../node_modules/.pnpm/node_modules/@types/stream/promises/package.json","../node_modules/.pnpm/node_modules/@types/stream/web/package.json","../node_modules/.pnpm/node_modules/@types/string_decoder/package.json","../node_modules/.pnpm/node_modules/@types/timers/package.json","../node_modules/.pnpm/node_modules/@types/timers/promises/package.json","../node_modules/.pnpm/node_modules/@types/tls/package.json","../node_modules/.pnpm/node_modules/@types/trace_events/package.json","../node_modules/.pnpm/node_modules/@types/tty/package.json","../node_modules/.pnpm/node_modules/@types/url/package.json","../node_modules/.pnpm/node_modules/@types/util/package.json","../node_modules/.pnpm/node_modules/@types/util/types/package.json","../node_modules/.pnpm/node_modules/@types/v8/package.json","../node_modules/.pnpm/node_modules/@types/vm/package.json","../node_modules/.pnpm/node_modules/@types/wasi/package.json","../node_modules/.pnpm/node_modules/@types/worker_threads/package.json","../node_modules/.pnpm/node_modules/@types/zlib/package.json","../node_modules/.pnpm/node_modules/assert/package.json","../node_modules/.pnpm/node_modules/assert/strict/package.json","../node_modules/.pnpm/node_modules/async_hooks/package.json","../node_modules/.pnpm/node_modules/child_process/package.json","../node_modules/.pnpm/node_modules/cluster/package.json","../node_modules/.pnpm/node_modules/console/package.json","../node_modules/.pnpm/node_modules/constants/package.json","../node_modules/.pnpm/node_modules/crypto/package.json","../node_modules/.pnpm/node_modules/dgram/package.json","../node_modules/.pnpm/node_modules/diagnostics_channel/package.json","../node_modules/.pnpm/node_modules/dns/package.json","../node_modules/.pnpm/node_modules/dns/promises/package.json","../node_modules/.pnpm/node_modules/domain/package.json","../node_modules/.pnpm/node_modules/fs/package.json","../node_modules/.pnpm/node_modules/fs/promises/package.json","../node_modules/.pnpm/node_modules/http/package.json","../node_modules/.pnpm/node_modules/http2/package.json","../node_modules/.pnpm/node_modules/https/package.json","../node_modules/.pnpm/node_modules/inspector/package.json","../node_modules/.pnpm/node_modules/inspector/promises/package.json","../node_modules/.pnpm/node_modules/module/package.json","../node_modules/.pnpm/node_modules/net/package.json","../node_modules/.pnpm/node_modules/os/package.json","../node_modules/.pnpm/node_modules/path/package.json","../node_modules/.pnpm/node_modules/path/posix/package.json","../node_modules/.pnpm/node_modules/path/win32/package.json","../node_modules/.pnpm/node_modules/perf_hooks/package.json","../node_modules/.pnpm/node_modules/puppeteer-core/package.json","../node_modules/.pnpm/node_modules/querystring/package.json","../node_modules/.pnpm/node_modules/readline/package.json","../node_modules/.pnpm/node_modules/readline/promises/package.json","../node_modules/.pnpm/node_modules/repl/package.json","../node_modules/.pnpm/node_modules/stream/consumers/package.json","../node_modules/.pnpm/node_modules/stream/package.json","../node_modules/.pnpm/node_modules/stream/promises/package.json","../node_modules/.pnpm/node_modules/stream/web/package.json","../node_modules/.pnpm/node_modules/timers/package.json","../node_modules/.pnpm/node_modules/timers/promises/package.json","../node_modules/.pnpm/node_modules/tls/package.json","../node_modules/.pnpm/node_modules/trace_events/package.json","../node_modules/.pnpm/node_modules/tty/package.json","../node_modules/.pnpm/node_modules/url/package.json","../node_modules/.pnpm/node_modules/util/package.json","../node_modules/.pnpm/node_modules/util/types/package.json","../node_modules/.pnpm/node_modules/v8/package.json","../node_modules/.pnpm/node_modules/vm/package.json","../node_modules/.pnpm/node_modules/wasi/package.json","../node_modules/.pnpm/node_modules/worker_threads/package.json","../node_modules/.pnpm/node_modules/zlib/package.json","../node_modules/.pnpm/parse5-htmlparser2-tree-adapter@7.1.0/node_modules/parse5-htmlparser2-tree-adapter/dist/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/entities/decode/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/serializer/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tokenizer/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tree-adapters/package.json","../node_modules/.pnpm/pretty-format@30.5.1/node_modules/pretty-format/build/package.json","../node_modules/.pnpm/undici@7.29.0/node_modules/undici/types/package.json","../node_modules/.pnpm/urlpattern-polyfill@10.1.0/node_modules/urlpattern-polyfill/dist/package.json","../node_modules/.pnpm/webdriver@9.32.0_supports-color@8.1.1/node_modules/webdriver/build/bidi/package.json","../node_modules/.pnpm/webdriver@9.32.0_supports-color@8.1.1/node_modules/webdriver/build/package.json","../node_modules/.pnpm/webdriver@9.32.0_supports-color@8.1.1/node_modules/webdriver/build/request/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/@sinonjs/fake-timers/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/@types/puppeteer-core/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/puppeteer-core/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/commands/browser/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/commands/element/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/commands/mobile/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/commands/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/session/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/utils/actions/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/utils/interception/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/utils/package.json","../node_modules/types/expect-webdriverio.d.ts/package.json","../node_modules/@types/assert/package.json","../node_modules/@types/assert/strict/package.json","../node_modules/@types/async_hooks/package.json","../node_modules/@types/child_process/package.json","../node_modules/@types/cluster/package.json","../node_modules/@types/console/package.json","../node_modules/@types/constants/package.json","../node_modules/@types/crypto/package.json","../node_modules/@types/dgram/package.json","../node_modules/@types/diagnostics_channel/package.json","../node_modules/@types/dns/package.json","../node_modules/@types/dns/promises/package.json","../node_modules/@types/domain/package.json","../node_modules/@types/events/package.json","../node_modules/@types/fs/package.json","../node_modules/@types/fs/promises/package.json","../node_modules/@types/http/package.json","../node_modules/@types/http2/package.json","../node_modules/@types/https/package.json","../node_modules/@types/inspector/package.json","../node_modules/@types/inspector/promises/package.json","../node_modules/@types/module/package.json","../node_modules/@types/net/package.json","../node_modules/@types/os/package.json","../node_modules/@types/path/package.json","../node_modules/@types/path/posix/package.json","../node_modules/@types/path/win32/package.json","../node_modules/@types/perf_hooks/package.json","../node_modules/@types/process/package.json","../node_modules/@types/punycode/package.json","../node_modules/@types/puppeteer-core/package.json","../node_modules/@types/querystring/package.json","../node_modules/@types/readline/package.json","../node_modules/@types/readline/promises/package.json","../node_modules/@types/repl/package.json","../node_modules/@types/stream/consumers/package.json","../node_modules/@types/stream/package.json","../node_modules/@types/stream/promises/package.json","../node_modules/@types/stream/web/package.json","../node_modules/@types/string_decoder/package.json","../node_modules/@types/timers/package.json","../node_modules/@types/timers/promises/package.json","../node_modules/@types/tls/package.json","../node_modules/@types/trace_events/package.json","../node_modules/@types/tty/package.json","../node_modules/@types/url/package.json","../node_modules/@types/util/package.json","../node_modules/@types/util/types/package.json","../node_modules/@types/v8/package.json","../node_modules/@types/vm/package.json","../node_modules/@types/wasi/package.json","../node_modules/@types/wdio__globals/types/package.json","../node_modules/@types/worker_threads/package.json","../node_modules/@types/zlib/package.json","../node_modules/@vitest/snapshot/environment/package.json","../node_modules/@wdio/globals/types/package.json","../node_modules/assert/package.json","../node_modules/assert/strict/package.json","../node_modules/async_hooks/package.json","../node_modules/child_process/package.json","../node_modules/cluster/package.json","../node_modules/console/package.json","../node_modules/constants/package.json","../node_modules/crypto/package.json","../node_modules/dgram/package.json","../node_modules/diagnostics_channel/package.json","../node_modules/dns/package.json","../node_modules/dns/promises/package.json","../node_modules/domain/package.json","../node_modules/events/package.json","../node_modules/fs/package.json","../node_modules/fs/promises/package.json","../node_modules/http/package.json","../node_modules/http2/package.json","../node_modules/https/package.json","../node_modules/inspector/package.json","../node_modules/inspector/promises/package.json","../node_modules/module/package.json","../node_modules/net/package.json","../node_modules/os/package.json","../node_modules/path/package.json","../node_modules/path/posix/package.json","../node_modules/path/win32/package.json","../node_modules/perf_hooks/package.json","../node_modules/process/package.json","../node_modules/punycode/package.json","../node_modules/puppeteer-core/package.json","../node_modules/querystring/package.json","../node_modules/readline/package.json","../node_modules/readline/promises/package.json","../node_modules/repl/package.json","../node_modules/stream/consumers/package.json","../node_modules/stream/package.json","../node_modules/stream/promises/package.json","../node_modules/stream/web/package.json","../node_modules/string_decoder/package.json","../node_modules/timers/package.json","../node_modules/timers/promises/package.json","../node_modules/tls/package.json","../node_modules/trace_events/package.json","../node_modules/tty/package.json","../node_modules/url/package.json","../node_modules/util/package.json","../node_modules/util/types/package.json","../node_modules/v8/package.json","../node_modules/vm/package.json","../node_modules/wasi/package.json","../node_modules/worker_threads/package.json","../node_modules/zlib/package.json"]}
|
|
1
|
+
{"version":"7.0.2","root":["../src/constants.ts","../src/index.ts","../src/jasmineUtils.ts","../src/matchers.ts","../src/snapshot.ts","../src/softAssert.ts","../src/softAssertService.ts","../src/softExpect.ts","../src/types.ts","../src/utils.ts","../src/api/index.ts","../src/matchers/snapshot.ts","../src/matchers/asymmetrics/asymmetricsUtils.ts","../src/matchers/asymmetrics/multiRemote.ts","../src/matchers/asymmetrics/oneOf.ts","../src/matchers/browser/toHaveClipboardText.ts","../src/matchers/browser/toHaveLocalStorageItem.ts","../src/matchers/browser/toHaveTitle.ts","../src/matchers/browser/toHaveUrl.ts","../src/matchers/element/toBeClickable.ts","../src/matchers/element/toBeDisabled.ts","../src/matchers/element/toBeDisplayed.ts","../src/matchers/element/toBeDisplayedInViewport.ts","../src/matchers/element/toBeEnabled.ts","../src/matchers/element/toBeExisting.ts","../src/matchers/element/toBeFocused.ts","../src/matchers/element/toBeSelected.ts","../src/matchers/element/toHaveAttribute.ts","../src/matchers/element/toHaveChildren.ts","../src/matchers/element/toHaveComputedLabel.ts","../src/matchers/element/toHaveComputedRole.ts","../src/matchers/element/toHaveElementClass.ts","../src/matchers/element/toHaveElementProperty.ts","../src/matchers/element/toHaveHTML.ts","../src/matchers/element/toHaveHeight.ts","../src/matchers/element/toHaveHref.ts","../src/matchers/element/toHaveId.ts","../src/matchers/element/toHaveSize.ts","../src/matchers/element/toHaveStyle.ts","../src/matchers/element/toHaveText.ts","../src/matchers/element/toHaveValue.ts","../src/matchers/element/toHaveWidth.ts","../src/matchers/elements/toBeElementsArrayOfSize.ts","../src/matchers/mock/toBeRequested.ts","../src/matchers/mock/toBeRequestedTimes.ts","../src/matchers/mock/toBeRequestedWith.ts","../src/matchers/modifiers/some.ts","../src/util/commandOptionsUtils.ts","../src/util/elementsUtil.ts","../src/util/executeBrowserCommand.ts","../src/util/executeCommand.ts","../src/util/formatMessage.ts","../src/util/globalSingleton.ts","../src/util/multiRemoteUtils.ts","../src/util/numberOptionsUtil.ts","../src/util/refetchElements.ts","../src/util/stackUtil.ts","../src/util/stringUtil.ts","../src/util/waitUntil.ts"],"packageJsons":["../node_modules/.pnpm/@jest+expect-utils@30.5.2/node_modules/@jest/expect-utils/package.json","../node_modules/.pnpm/@jest+schemas@30.5.0/node_modules/@jest/schemas/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/package.json","../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/package.json","../node_modules/.pnpm/@types+sinonjs__fake-timers@8.1.5/node_modules/@types/sinonjs__fake-timers/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/ws/package.json","../node_modules/.pnpm/@vitest+pretty-format@5.0.2/node_modules/@vitest/pretty-format/package.json","../node_modules/.pnpm/@vitest+snapshot@5.0.2/node_modules/@vitest/snapshot/package.json","../node_modules/.pnpm/@vitest+utils@5.0.2/node_modules/@vitest/utils/package.json","../node_modules/.pnpm/@wdio+globals@9.31.3_expect-webdriverio@_webdriverio@9.32.0_supports-color@8.1.1_/node_modules/@wdio/globals/package.json","../node_modules/.pnpm/@wdio+protocols@9.31.5/node_modules/@wdio/protocols/package.json","../node_modules/.pnpm/@wdio+types@9.32.0/node_modules/@wdio/types/package.json","../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/package.json","../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/package.json","../node_modules/.pnpm/cheerio-select@2.1.0/node_modules/cheerio-select/lib/esm/package.json","../node_modules/.pnpm/cheerio-select@2.1.0/node_modules/cheerio-select/package.json","../node_modules/.pnpm/cheerio@1.1.2/node_modules/cheerio/dist/esm/package.json","../node_modules/.pnpm/cheerio@1.1.2/node_modules/cheerio/package.json","../node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/esm/package.json","../node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/package.json","../node_modules/.pnpm/css-what@6.2.2/node_modules/css-what/package.json","../node_modules/.pnpm/deep-eql@5.0.2/node_modules/deep-eql/package.json","../node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/lib/esm/package.json","../node_modules/.pnpm/dom-serializer@2.0.0/node_modules/dom-serializer/package.json","../node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/lib/esm/package.json","../node_modules/.pnpm/domelementtype@2.3.0/node_modules/domelementtype/package.json","../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/lib/esm/package.json","../node_modules/.pnpm/domhandler@5.0.3/node_modules/domhandler/package.json","../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/lib/esm/package.json","../node_modules/.pnpm/domutils@3.2.2/node_modules/domutils/package.json","../node_modules/.pnpm/encoding-sniffer@0.2.1/node_modules/encoding-sniffer/dist/esm/package.json","../node_modules/.pnpm/encoding-sniffer@0.2.1/node_modules/encoding-sniffer/package.json","../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/package.json","../node_modules/.pnpm/entities@6.0.1/node_modules/entities/package.json","../node_modules/.pnpm/events@3.3.0/node_modules/events/package.json","../node_modules/.pnpm/expect@30.5.2/node_modules/expect/package.json","../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/dist/esm/package.json","../node_modules/.pnpm/htmlparser2@10.0.0/node_modules/htmlparser2/package.json","../node_modules/.pnpm/jest-diff@30.5.2/node_modules/jest-diff/package.json","../node_modules/.pnpm/jest-matcher-utils@30.5.2/node_modules/jest-matcher-utils/package.json","../node_modules/.pnpm/jest-mock@30.5.2/node_modules/jest-mock/package.json","../node_modules/.pnpm/parse5-htmlparser2-tree-adapter@7.1.0/node_modules/parse5-htmlparser2-tree-adapter/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/package.json","../node_modules/.pnpm/pretty-format@30.5.1/node_modules/pretty-format/package.json","../node_modules/.pnpm/process@0.11.10/node_modules/process/package.json","../node_modules/.pnpm/punycode@2.3.1/node_modules/punycode/package.json","../node_modules/.pnpm/string_decoder@1.1.1/node_modules/string_decoder/package.json","../node_modules/.pnpm/undici-types@7.24.6/node_modules/undici-types/package.json","../node_modules/.pnpm/undici@7.29.0/node_modules/undici/package.json","../node_modules/.pnpm/urlpattern-polyfill@10.1.0/node_modules/urlpattern-polyfill/package.json","../node_modules/.pnpm/webdriver@9.32.0_supports-color@8.1.1/node_modules/webdriver/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/package.json","../node_modules/.pnpm/ws@8.21.3/node_modules/ws/package.json","../package.json"],"missingPackageJsons":["../node_modules/.pnpm/@jest+expect-utils@30.5.2/node_modules/@jest/expect-utils/build/package.json","../node_modules/.pnpm/@jest+schemas@30.5.0/node_modules/@jest/schemas/build/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/any/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/argument/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/array/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/async-iterator/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/awaited/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/bigint/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/boolean/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/clone/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/composite/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/computed/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/const/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/constructor-parameters/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/constructor/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/create/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/date/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/enum/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/error/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/exclude/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/extends/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/extract/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/function/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/guard/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/helpers/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/indexed/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/instance-type/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/instantiate/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/integer/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/intersect/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/intrinsic/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/iterator/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/keyof/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/literal/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/mapped/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/module/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/never/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/not/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/null/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/number/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/object/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/omit/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/optional/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/parameters/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/partial/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/patterns/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/pick/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/promise/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/readonly-optional/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/readonly/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/record/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/recursive/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/ref/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/regexp/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/registry/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/required/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/rest/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/return-type/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/schema/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/sets/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/static/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/string/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/symbol/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/symbols/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/template-literal/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/transform/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/tuple/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/type/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/uint8array/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/undefined/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/union/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/unknown/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/unsafe/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/cjs/type/void/package.json","../node_modules/.pnpm/@sinclair+typebox@0.34.41/node_modules/@sinclair/typebox/build/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/assert/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/assert/strict/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/async_hooks/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/buffer/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/child_process/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/cluster/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/console/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/constants/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/crypto/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/dgram/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/diagnostics_channel/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/dns/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/dns/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/domain/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/events/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/fs/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/fs/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/http/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/http2/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/https/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/inspector/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/inspector/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/module/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/net/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/assert/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/compatibility/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/dns/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/fs/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/readline/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/stream/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/timers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/node/web-globals/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/os/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/path/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/path/posix/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/path/win32/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/perf_hooks/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/process/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/punycode/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/querystring/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/readline/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/readline/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/repl/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/stream/consumers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/stream/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/stream/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/stream/web/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/string_decoder/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/timers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/timers/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/tls/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/trace_events/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/tty/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/url/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/util/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/util/types/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/v8/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/vm/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/wasi/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/worker_threads/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/@types/zlib/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/assert/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/assert/strict/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/async_hooks/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/buffer/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/child_process/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/cluster/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/console/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/constants/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/crypto/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/dgram/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/diagnostics_channel/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/dns/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/dns/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/domain/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/events/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/fs/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/fs/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/http/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/http2/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/https/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/inspector/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/inspector/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/module/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/net/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/os/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/path/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/path/posix/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/path/win32/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/perf_hooks/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/process/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/punycode/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/querystring/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/readline/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/readline/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/repl/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/stream/consumers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/stream/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/stream/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/stream/web/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/string_decoder/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/timers/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/timers/promises/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/tls/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/trace_events/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/tty/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/url/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/util/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/util/types/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/v8/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/vm/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/wasi/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/worker_threads/package.json","../node_modules/.pnpm/@types+node@24.19.0/node_modules/zlib/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/events/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/http/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/https/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/net/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/stream/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/tls/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/url/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/@types/zlib/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/events/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/http/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/https/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/net/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/stream/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/tls/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/url/package.json","../node_modules/.pnpm/@types+ws@8.18.1/node_modules/zlib/package.json","../node_modules/.pnpm/@vitest+pretty-format@5.0.2/node_modules/@vitest/pretty-format/dist/package.json","../node_modules/.pnpm/@vitest+snapshot@5.0.2/node_modules/@vitest/snapshot/dist/package.json","../node_modules/.pnpm/@vitest+utils@5.0.2/node_modules/@vitest/utils/dist/package.json","../node_modules/.pnpm/@wdio+protocols@9.31.5/node_modules/@wdio/protocols/build/commands/package.json","../node_modules/.pnpm/@wdio+protocols@9.31.5/node_modules/@wdio/protocols/build/package.json","../node_modules/.pnpm/@wdio+protocols@9.31.5/node_modules/@wdio/protocols/build/protocols/package.json","../node_modules/.pnpm/@wdio+types@9.32.0/node_modules/@wdio/types/build/package.json","../node_modules/.pnpm/cheerio@1.1.2/node_modules/cheerio/dist/esm/api/package.json","../node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/esm/pseudo-selectors/package.json","../node_modules/.pnpm/css-what@6.2.2/node_modules/css-what/lib/es/package.json","../node_modules/.pnpm/css-what@6.2.2/node_modules/css-what/lib/package.json","../node_modules/.pnpm/entities@6.0.1/node_modules/entities/dist/esm/generated/package.json","../node_modules/.pnpm/expect@30.5.2/node_modules/expect/build/package.json","../node_modules/.pnpm/jest-diff@30.5.2/node_modules/jest-diff/build/package.json","../node_modules/.pnpm/jest-matcher-utils@30.5.2/node_modules/jest-matcher-utils/build/package.json","../node_modules/.pnpm/jest-mock@30.5.2/node_modules/jest-mock/build/package.json","../node_modules/.pnpm/node_modules/@types/assert/package.json","../node_modules/.pnpm/node_modules/@types/assert/strict/package.json","../node_modules/.pnpm/node_modules/@types/async_hooks/package.json","../node_modules/.pnpm/node_modules/@types/child_process/package.json","../node_modules/.pnpm/node_modules/@types/cluster/package.json","../node_modules/.pnpm/node_modules/@types/console/package.json","../node_modules/.pnpm/node_modules/@types/constants/package.json","../node_modules/.pnpm/node_modules/@types/crypto/package.json","../node_modules/.pnpm/node_modules/@types/dgram/package.json","../node_modules/.pnpm/node_modules/@types/diagnostics_channel/package.json","../node_modules/.pnpm/node_modules/@types/dns/package.json","../node_modules/.pnpm/node_modules/@types/dns/promises/package.json","../node_modules/.pnpm/node_modules/@types/domain/package.json","../node_modules/.pnpm/node_modules/@types/events/package.json","../node_modules/.pnpm/node_modules/@types/fs/package.json","../node_modules/.pnpm/node_modules/@types/fs/promises/package.json","../node_modules/.pnpm/node_modules/@types/http/package.json","../node_modules/.pnpm/node_modules/@types/http2/package.json","../node_modules/.pnpm/node_modules/@types/https/package.json","../node_modules/.pnpm/node_modules/@types/inspector/package.json","../node_modules/.pnpm/node_modules/@types/inspector/promises/package.json","../node_modules/.pnpm/node_modules/@types/module/package.json","../node_modules/.pnpm/node_modules/@types/net/package.json","../node_modules/.pnpm/node_modules/@types/os/package.json","../node_modules/.pnpm/node_modules/@types/path/package.json","../node_modules/.pnpm/node_modules/@types/path/posix/package.json","../node_modules/.pnpm/node_modules/@types/path/win32/package.json","../node_modules/.pnpm/node_modules/@types/perf_hooks/package.json","../node_modules/.pnpm/node_modules/@types/process/package.json","../node_modules/.pnpm/node_modules/@types/punycode/package.json","../node_modules/.pnpm/node_modules/@types/puppeteer-core/package.json","../node_modules/.pnpm/node_modules/@types/querystring/package.json","../node_modules/.pnpm/node_modules/@types/readline/package.json","../node_modules/.pnpm/node_modules/@types/readline/promises/package.json","../node_modules/.pnpm/node_modules/@types/repl/package.json","../node_modules/.pnpm/node_modules/@types/stream/consumers/package.json","../node_modules/.pnpm/node_modules/@types/stream/package.json","../node_modules/.pnpm/node_modules/@types/stream/promises/package.json","../node_modules/.pnpm/node_modules/@types/stream/web/package.json","../node_modules/.pnpm/node_modules/@types/string_decoder/package.json","../node_modules/.pnpm/node_modules/@types/timers/package.json","../node_modules/.pnpm/node_modules/@types/timers/promises/package.json","../node_modules/.pnpm/node_modules/@types/tls/package.json","../node_modules/.pnpm/node_modules/@types/trace_events/package.json","../node_modules/.pnpm/node_modules/@types/tty/package.json","../node_modules/.pnpm/node_modules/@types/url/package.json","../node_modules/.pnpm/node_modules/@types/util/package.json","../node_modules/.pnpm/node_modules/@types/util/types/package.json","../node_modules/.pnpm/node_modules/@types/v8/package.json","../node_modules/.pnpm/node_modules/@types/vm/package.json","../node_modules/.pnpm/node_modules/@types/wasi/package.json","../node_modules/.pnpm/node_modules/@types/worker_threads/package.json","../node_modules/.pnpm/node_modules/@types/zlib/package.json","../node_modules/.pnpm/node_modules/assert/package.json","../node_modules/.pnpm/node_modules/assert/strict/package.json","../node_modules/.pnpm/node_modules/async_hooks/package.json","../node_modules/.pnpm/node_modules/child_process/package.json","../node_modules/.pnpm/node_modules/cluster/package.json","../node_modules/.pnpm/node_modules/console/package.json","../node_modules/.pnpm/node_modules/constants/package.json","../node_modules/.pnpm/node_modules/crypto/package.json","../node_modules/.pnpm/node_modules/dgram/package.json","../node_modules/.pnpm/node_modules/diagnostics_channel/package.json","../node_modules/.pnpm/node_modules/dns/package.json","../node_modules/.pnpm/node_modules/dns/promises/package.json","../node_modules/.pnpm/node_modules/domain/package.json","../node_modules/.pnpm/node_modules/fs/package.json","../node_modules/.pnpm/node_modules/fs/promises/package.json","../node_modules/.pnpm/node_modules/http/package.json","../node_modules/.pnpm/node_modules/http2/package.json","../node_modules/.pnpm/node_modules/https/package.json","../node_modules/.pnpm/node_modules/inspector/package.json","../node_modules/.pnpm/node_modules/inspector/promises/package.json","../node_modules/.pnpm/node_modules/module/package.json","../node_modules/.pnpm/node_modules/net/package.json","../node_modules/.pnpm/node_modules/os/package.json","../node_modules/.pnpm/node_modules/path/package.json","../node_modules/.pnpm/node_modules/path/posix/package.json","../node_modules/.pnpm/node_modules/path/win32/package.json","../node_modules/.pnpm/node_modules/perf_hooks/package.json","../node_modules/.pnpm/node_modules/puppeteer-core/package.json","../node_modules/.pnpm/node_modules/querystring/package.json","../node_modules/.pnpm/node_modules/readline/package.json","../node_modules/.pnpm/node_modules/readline/promises/package.json","../node_modules/.pnpm/node_modules/repl/package.json","../node_modules/.pnpm/node_modules/stream/consumers/package.json","../node_modules/.pnpm/node_modules/stream/package.json","../node_modules/.pnpm/node_modules/stream/promises/package.json","../node_modules/.pnpm/node_modules/stream/web/package.json","../node_modules/.pnpm/node_modules/timers/package.json","../node_modules/.pnpm/node_modules/timers/promises/package.json","../node_modules/.pnpm/node_modules/tls/package.json","../node_modules/.pnpm/node_modules/trace_events/package.json","../node_modules/.pnpm/node_modules/tty/package.json","../node_modules/.pnpm/node_modules/url/package.json","../node_modules/.pnpm/node_modules/util/package.json","../node_modules/.pnpm/node_modules/util/types/package.json","../node_modules/.pnpm/node_modules/v8/package.json","../node_modules/.pnpm/node_modules/vm/package.json","../node_modules/.pnpm/node_modules/wasi/package.json","../node_modules/.pnpm/node_modules/worker_threads/package.json","../node_modules/.pnpm/node_modules/zlib/package.json","../node_modules/.pnpm/parse5-htmlparser2-tree-adapter@7.1.0/node_modules/parse5-htmlparser2-tree-adapter/dist/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/entities/decode/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/common/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/parser/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/serializer/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tokenizer/package.json","../node_modules/.pnpm/parse5@7.3.0/node_modules/parse5/dist/tree-adapters/package.json","../node_modules/.pnpm/pretty-format@30.5.1/node_modules/pretty-format/build/package.json","../node_modules/.pnpm/undici@7.29.0/node_modules/undici/types/package.json","../node_modules/.pnpm/urlpattern-polyfill@10.1.0/node_modules/urlpattern-polyfill/dist/package.json","../node_modules/.pnpm/webdriver@9.32.0_supports-color@8.1.1/node_modules/webdriver/build/bidi/package.json","../node_modules/.pnpm/webdriver@9.32.0_supports-color@8.1.1/node_modules/webdriver/build/package.json","../node_modules/.pnpm/webdriver@9.32.0_supports-color@8.1.1/node_modules/webdriver/build/request/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/@sinonjs/fake-timers/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/@types/puppeteer-core/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/puppeteer-core/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/commands/browser/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/commands/element/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/commands/mobile/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/commands/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/session/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/utils/actions/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/utils/interception/package.json","../node_modules/.pnpm/webdriverio@9.32.0_supports-color@8.1.1/node_modules/webdriverio/build/utils/package.json","../node_modules/types/expect-webdriverio.d.ts/package.json","../node_modules/@types/assert/package.json","../node_modules/@types/assert/strict/package.json","../node_modules/@types/async_hooks/package.json","../node_modules/@types/child_process/package.json","../node_modules/@types/cluster/package.json","../node_modules/@types/console/package.json","../node_modules/@types/constants/package.json","../node_modules/@types/crypto/package.json","../node_modules/@types/dgram/package.json","../node_modules/@types/diagnostics_channel/package.json","../node_modules/@types/dns/package.json","../node_modules/@types/dns/promises/package.json","../node_modules/@types/domain/package.json","../node_modules/@types/events/package.json","../node_modules/@types/fs/package.json","../node_modules/@types/fs/promises/package.json","../node_modules/@types/http/package.json","../node_modules/@types/http2/package.json","../node_modules/@types/https/package.json","../node_modules/@types/inspector/package.json","../node_modules/@types/inspector/promises/package.json","../node_modules/@types/module/package.json","../node_modules/@types/net/package.json","../node_modules/@types/os/package.json","../node_modules/@types/path/package.json","../node_modules/@types/path/posix/package.json","../node_modules/@types/path/win32/package.json","../node_modules/@types/perf_hooks/package.json","../node_modules/@types/process/package.json","../node_modules/@types/punycode/package.json","../node_modules/@types/puppeteer-core/package.json","../node_modules/@types/querystring/package.json","../node_modules/@types/readline/package.json","../node_modules/@types/readline/promises/package.json","../node_modules/@types/repl/package.json","../node_modules/@types/stream/consumers/package.json","../node_modules/@types/stream/package.json","../node_modules/@types/stream/promises/package.json","../node_modules/@types/stream/web/package.json","../node_modules/@types/string_decoder/package.json","../node_modules/@types/timers/package.json","../node_modules/@types/timers/promises/package.json","../node_modules/@types/tls/package.json","../node_modules/@types/trace_events/package.json","../node_modules/@types/tty/package.json","../node_modules/@types/url/package.json","../node_modules/@types/util/package.json","../node_modules/@types/util/types/package.json","../node_modules/@types/v8/package.json","../node_modules/@types/vm/package.json","../node_modules/@types/wasi/package.json","../node_modules/@types/wdio__globals/types/package.json","../node_modules/@types/worker_threads/package.json","../node_modules/@types/zlib/package.json","../node_modules/@vitest/snapshot/environment/package.json","../node_modules/@wdio/globals/types/package.json","../node_modules/assert/package.json","../node_modules/assert/strict/package.json","../node_modules/async_hooks/package.json","../node_modules/child_process/package.json","../node_modules/cluster/package.json","../node_modules/console/package.json","../node_modules/constants/package.json","../node_modules/crypto/package.json","../node_modules/dgram/package.json","../node_modules/diagnostics_channel/package.json","../node_modules/dns/package.json","../node_modules/dns/promises/package.json","../node_modules/domain/package.json","../node_modules/events/package.json","../node_modules/fs/package.json","../node_modules/fs/promises/package.json","../node_modules/http/package.json","../node_modules/http2/package.json","../node_modules/https/package.json","../node_modules/inspector/package.json","../node_modules/inspector/promises/package.json","../node_modules/module/package.json","../node_modules/net/package.json","../node_modules/os/package.json","../node_modules/path/package.json","../node_modules/path/posix/package.json","../node_modules/path/win32/package.json","../node_modules/perf_hooks/package.json","../node_modules/process/package.json","../node_modules/punycode/package.json","../node_modules/puppeteer-core/package.json","../node_modules/querystring/package.json","../node_modules/readline/package.json","../node_modules/readline/promises/package.json","../node_modules/repl/package.json","../node_modules/stream/consumers/package.json","../node_modules/stream/package.json","../node_modules/stream/promises/package.json","../node_modules/stream/web/package.json","../node_modules/string_decoder/package.json","../node_modules/timers/package.json","../node_modules/timers/promises/package.json","../node_modules/tls/package.json","../node_modules/trace_events/package.json","../node_modules/tty/package.json","../node_modules/url/package.json","../node_modules/util/package.json","../node_modules/util/types/package.json","../node_modules/v8/package.json","../node_modules/vm/package.json","../node_modules/wasi/package.json","../node_modules/worker_threads/package.json","../node_modules/zlib/package.json"]}
|
package/lib/util/elementsUtil.js
CHANGED
|
@@ -93,16 +93,9 @@ const isMultiRemote = (obj) => {
|
|
|
93
93
|
export const isMultiRemoteElement = (obj) => {
|
|
94
94
|
return isMultiRemote(obj) && !Array.isArray(obj) && 'selector' in obj;
|
|
95
95
|
};
|
|
96
|
-
export const isMultiRemoteElements = (obj) => {
|
|
97
|
-
return Array.isArray(obj) && obj.length > 0 && !isMultiRemoteElementArray(obj)
|
|
98
|
-
&& Array.prototype.every.call(obj, isMultiRemoteElement);
|
|
99
|
-
};
|
|
100
96
|
export const isMultiRemoteElementArray = (obj) => {
|
|
101
97
|
return hasMultiRemoteFlag(obj) && 'parent' in obj && 'foundWith' in obj && 'selector' in obj;
|
|
102
98
|
};
|
|
103
99
|
export const isMultiRemoteElementLike = (obj) => {
|
|
104
|
-
return isMultiRemoteElement(obj) ||
|
|
105
|
-
};
|
|
106
|
-
export const isMultiRemoteElementsLike = (obj) => {
|
|
107
|
-
return isMultiRemoteElementArray(obj) || isMultiRemoteElements(obj);
|
|
100
|
+
return isMultiRemoteElement(obj) || isMultiRemoteElementArray(obj);
|
|
108
101
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { equals } from '../jasmineUtils.js';
|
|
2
2
|
import { isArrayContainingMatcher } from '../utils.js';
|
|
3
3
|
import { isSomeWrapper } from '../matchers/modifiers/some.js';
|
|
4
|
-
import { awaitElementOrArray, isElement, isMultiRemoteElement, isMultiRemoteElementArray,
|
|
4
|
+
import { awaitElementOrArray, isElement, isMultiRemoteElement, isMultiRemoteElementArray, isStrictlyElementArray } from './elementsUtil.js';
|
|
5
5
|
import { getElementsPerInstance, getPerInstanceValues, hasSameInstanceNames } from './multiRemoteUtils.js';
|
|
6
6
|
import { refreshElementArray } from './refetchElements.js';
|
|
7
7
|
export async function executeCommandWithStrategy({ unresolvedElements, expectedValues, singleElementCompare, context: { isNot = false, iteration }, supportsArrayContaining = false, strictConfiguration = { allowEmptyElements: false, allowArrayWithSingleElement: false } }) {
|
|
@@ -9,7 +9,7 @@ export async function executeCommandWithStrategy({ unresolvedElements, expectedV
|
|
|
9
9
|
const actualReceived = isSome ? unresolvedElements.elements : unresolvedElements;
|
|
10
10
|
if (supportsArrayContaining && !isSome && isArrayContainingMatcher(expectedValues)) {
|
|
11
11
|
const { selector, elements, other } = await awaitElementOrArray(unresolvedElements);
|
|
12
|
-
if (
|
|
12
|
+
if (isMultiRemoteElementArray(elements)) {
|
|
13
13
|
return multiRemoteArrayContainingStrategy(elements, expectedValues, singleElementCompare, iteration);
|
|
14
14
|
}
|
|
15
15
|
if (elements) {
|
|
@@ -41,12 +41,11 @@ export async function executeCommandWithStrategy({ unresolvedElements, expectedV
|
|
|
41
41
|
}
|
|
42
42
|
const multiRemoteArrayContainingStrategy = async (elements, expectedValues, singleElementCompare, iteration) => {
|
|
43
43
|
const currentElements = iteration > 0 ? await refreshElementArray(elements) : elements;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return { subject: elements, actual: undefined, success: false, abort: !isMultiRemoteElementArray(elements) && !isMultiRemoteElements(elements) };
|
|
44
|
+
if (currentElements.length === 0) {
|
|
45
|
+
return { subject: elements, actual: undefined, success: false };
|
|
47
46
|
}
|
|
48
|
-
const { instances } =
|
|
49
|
-
const elementsPerInstance = getElementsPerInstance(
|
|
47
|
+
const { instances } = currentElements.parent;
|
|
48
|
+
const elementsPerInstance = getElementsPerInstance(currentElements, instances);
|
|
50
49
|
const actual = Object.fromEntries(await Promise.all(instances.map(async (instance) => {
|
|
51
50
|
const results = await Promise.all(elementsPerInstance[instance].map((element, index) => singleElementCompare(element, undefined, index)));
|
|
52
51
|
return [instance, results.map((result) => result.actual)];
|
|
@@ -60,9 +59,9 @@ const multiRemoteArrayContainingStrategy = async (elements, expectedValues, sing
|
|
|
60
59
|
};
|
|
61
60
|
export const multipleElementResultsStrategy = async (unresolvedElements, expectedValues, singleElementCompare, { isNot, isSome, iteration }, { allowEmptyElements = false, allowArrayWithSingleElement = false, allowObjectExpectedValue = false } = {}) => {
|
|
62
61
|
const { selector, other, multiRemoteSelector } = await awaitElementOrArray(unresolvedElements);
|
|
63
|
-
const isRefetchable = isStrictlyElementArray(selector) || isMultiRemoteElementArray(selector)
|
|
62
|
+
const isRefetchable = isStrictlyElementArray(selector) || isMultiRemoteElementArray(selector);
|
|
64
63
|
let currentElements = selector;
|
|
65
|
-
if (iteration > 0 &&
|
|
64
|
+
if (iteration > 0 && isRefetchable) {
|
|
66
65
|
currentElements = await refreshElementArray(selector);
|
|
67
66
|
}
|
|
68
67
|
const subject = multiRemoteSelector ?? selector ?? other;
|
|
@@ -75,7 +74,7 @@ export const multipleElementResultsStrategy = async (unresolvedElements, expecte
|
|
|
75
74
|
context: { isSome },
|
|
76
75
|
};
|
|
77
76
|
}
|
|
78
|
-
const isUnexpectedPerInstanceValues = !multiRemoteSelector && !
|
|
77
|
+
const isUnexpectedPerInstanceValues = !multiRemoteSelector && !isMultiRemoteElementArray(selector)
|
|
79
78
|
&& getPerInstanceValues(expectedValues, { allowObjectExpectedValue }) !== undefined;
|
|
80
79
|
if (isElement(selector)) {
|
|
81
80
|
const forceFailure = (!allowArrayWithSingleElement && Array.isArray(expectedValues)) || isUnexpectedPerInstanceValues;
|
|
@@ -83,7 +82,7 @@ export const multipleElementResultsStrategy = async (unresolvedElements, expecte
|
|
|
83
82
|
const success = forceFailure ? !!isNot : compareResult.success;
|
|
84
83
|
return { subject, success, actual: compareResult.actual, abort: forceFailure, context: { isSome } };
|
|
85
84
|
}
|
|
86
|
-
if (multiRemoteSelector ||
|
|
85
|
+
if (multiRemoteSelector || isMultiRemoteElementArray(selector)) {
|
|
87
86
|
return multiRemoteElementsResultsStrategy(subject, multiRemoteSelector ?? selector, expectedValues, singleElementCompare, { isNot, isSome }, { allowArrayWithSingleElement, allowObjectExpectedValue });
|
|
88
87
|
}
|
|
89
88
|
const elementsSelector = selector;
|
|
@@ -115,9 +114,8 @@ export const multipleElementResultsStrategy = async (unresolvedElements, expecte
|
|
|
115
114
|
};
|
|
116
115
|
const multiRemoteElementsResultsStrategy = async (subject, multiRemoteSelector, expectedValues, singleElementCompare, { isNot, isSome }, { allowArrayWithSingleElement, allowObjectExpectedValue }) => {
|
|
117
116
|
const isSingleElement = isMultiRemoteElement(multiRemoteSelector);
|
|
118
|
-
const
|
|
119
|
-
const
|
|
120
|
-
const elementsPerInstance = getElementsPerInstance(multiRemoteElements, instances);
|
|
117
|
+
const instances = isSingleElement ? multiRemoteSelector.instances : multiRemoteSelector.parent.instances;
|
|
118
|
+
const elementsPerInstance = getElementsPerInstance(isSingleElement ? [multiRemoteSelector] : multiRemoteSelector, instances);
|
|
121
119
|
const perInstanceValues = getPerInstanceValues(expectedValues, { allowObjectExpectedValue });
|
|
122
120
|
const expectedPerInstance = perInstanceValues ?? Object.fromEntries(instances.map((name) => [name, expectedValues]));
|
|
123
121
|
const instanceNamesMismatch = !!perInstanceValues && !hasSameInstanceNames(perInstanceValues, instances);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { printDiffOrStringify, printExpected, printReceived, RECEIVED_COLOR, EXPECTED_COLOR, INVERTED_COLOR, stringify } from 'jest-matcher-utils';
|
|
2
2
|
import { equals } from '../jasmineUtils.js';
|
|
3
|
-
import { isArrayOfElement, isElementArrayLike, isElementOrArrayLike, isElementOrArrayOrMultiRemoteElementLike, isMultiRemoteElement, isMultiRemoteElementArray, isMultiRemoteElementLike,
|
|
3
|
+
import { isArrayOfElement, isElementArrayLike, isElementOrArrayLike, isElementOrArrayOrMultiRemoteElementLike, isMultiRemoteElement, isMultiRemoteElementArray, isMultiRemoteElementLike, isStrictlyElementArray } from './elementsUtil.js';
|
|
4
4
|
import { toJsonString } from './stringUtil.js';
|
|
5
5
|
import { isJasmineStringAsymmetricMatcher, toArray } from '../utils.js';
|
|
6
6
|
import { isBrowser, isMultiRemoteBrowser } from './multiRemoteUtils.js';
|
|
@@ -22,10 +22,9 @@ export const getSelectors = (el) => {
|
|
|
22
22
|
const subject = formatMultiRemoteInstanceNames(el.instances);
|
|
23
23
|
return `${subject}.$(\`${getSelector(el)}\`)`;
|
|
24
24
|
}
|
|
25
|
-
else if (
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
const subject = formatMultiRemoteInstanceNames(instances);
|
|
25
|
+
else if (isMultiRemoteElementArray(el)) {
|
|
26
|
+
const selector = getSelector(el);
|
|
27
|
+
const subject = formatMultiRemoteInstanceNames(el.parent.instances);
|
|
29
28
|
return `${subject}.$$(\`${selector}\`)`;
|
|
30
29
|
}
|
|
31
30
|
else if (isStrictlyElementArray(el)) {
|
|
@@ -159,12 +158,12 @@ export const enhanceErrorBe = (subject, actuals, context, options) => {
|
|
|
159
158
|
return acc;
|
|
160
159
|
}, {});
|
|
161
160
|
}
|
|
162
|
-
else if (
|
|
161
|
+
else if (subject.length === 0) {
|
|
163
162
|
expected = 'at least one result';
|
|
164
163
|
actual = actualValue;
|
|
165
164
|
}
|
|
166
|
-
else
|
|
167
|
-
const { instances } = subject
|
|
165
|
+
else {
|
|
166
|
+
const { instances } = subject.parent;
|
|
168
167
|
const typedActuals = actuals;
|
|
169
168
|
actual = instances.reduce((acc, instance) => {
|
|
170
169
|
acc[instance] = typedActuals[instance].map(actual => isSuccess(isNot, actual) ? `${not(isNot)}${expectation}` : `${not(!isNot)}${expectation}`);
|
|
@@ -175,9 +174,6 @@ export const enhanceErrorBe = (subject, actuals, context, options) => {
|
|
|
175
174
|
return acc;
|
|
176
175
|
}, {});
|
|
177
176
|
}
|
|
178
|
-
else {
|
|
179
|
-
throw new Error('Unsupported Multi-remote object type for enhanceErrorBe');
|
|
180
|
-
}
|
|
181
177
|
}
|
|
182
178
|
else if (isElementArrayLike(subject)) {
|
|
183
179
|
expected = subject.length === 0 ? 'at least one result' : Array(subject.length).fill(expectedValue);
|
|
@@ -22,7 +22,8 @@ export const getPerInstanceValues = (value, { allowObjectExpectedValue = false }
|
|
|
22
22
|
}
|
|
23
23
|
return !allowObjectExpectedValue && isMultiRemoteValues(value) ? value : undefined;
|
|
24
24
|
};
|
|
25
|
-
export const getElementsPerInstance = (
|
|
25
|
+
export const getElementsPerInstance = (elements, instances) => {
|
|
26
|
+
const multiRemoteElements = elements;
|
|
26
27
|
return Object.fromEntries(instances.map((name) => {
|
|
27
28
|
const elements = [];
|
|
28
29
|
for (let index = 0; index < multiRemoteElements.length; index++) {
|
|
@@ -57,28 +58,36 @@ export const isMock = (obj) => {
|
|
|
57
58
|
export const isMockArray = (obj) => {
|
|
58
59
|
return Array.isArray(obj) && obj.length > 0 && obj.every(isMock);
|
|
59
60
|
};
|
|
61
|
+
export const isMultiRemoteMock = (obj) => {
|
|
62
|
+
return typeof obj === 'object' && obj !== null && !Array.isArray(obj) && hasMultiRemoteFlag(obj)
|
|
63
|
+
&& Array.isArray(obj.instances)
|
|
64
|
+
&& typeof obj.getInstance === 'function';
|
|
65
|
+
};
|
|
66
|
+
const multiRemoteMockInstanceNames = new WeakMap();
|
|
60
67
|
export const awaitMocks = async (received) => {
|
|
61
|
-
const
|
|
68
|
+
const awaited = received instanceof Promise ? await received : received;
|
|
69
|
+
if (isMultiRemoteMock(awaited)) {
|
|
70
|
+
const multiRemoteMocks = awaited.instances.map((name) => awaited.getInstance(name));
|
|
71
|
+
multiRemoteMockInstanceNames.set(multiRemoteMocks, [...awaited.instances]);
|
|
72
|
+
return multiRemoteMocks;
|
|
73
|
+
}
|
|
74
|
+
const mocks = awaited;
|
|
62
75
|
if (Array.isArray(mocks) && mocks.length === 0) {
|
|
63
76
|
throw new Error('Expected a mock or a non-empty array of mocks, received an empty array');
|
|
64
77
|
}
|
|
65
78
|
return mocks;
|
|
66
79
|
};
|
|
67
80
|
export const getMockInstanceNames = (mocks) => {
|
|
81
|
+
const multiRemoteMockNames = multiRemoteMockInstanceNames.get(mocks);
|
|
82
|
+
if (multiRemoteMockNames) {
|
|
83
|
+
return { names: multiRemoteMockNames, isNamedByInstance: true };
|
|
84
|
+
}
|
|
68
85
|
const instances = getGlobalMultiRemoteInstanceNames();
|
|
69
86
|
if (instances && instances.length === mocks.length) {
|
|
70
87
|
return { names: instances, isNamedByInstance: true };
|
|
71
88
|
}
|
|
72
89
|
return { names: mocks.map((_, index) => `mocks[${index}]`), isNamedByInstance: false };
|
|
73
90
|
};
|
|
74
|
-
export const isGlobalBrowserSingleRemote = () => {
|
|
75
|
-
try {
|
|
76
|
-
return typeof browser !== 'undefined' && isBrowser(browser) && !hasMultiRemoteFlag(browser);
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
return false;
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
91
|
export const hasMultiRemoteFlag = (obj) => {
|
|
83
92
|
if (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {
|
|
84
93
|
return false;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isMultiRemoteElementArray,
|
|
1
|
+
import { isMultiRemoteElementArray, isStrictlyElementArray } from './elementsUtil.js';
|
|
2
2
|
export const refetchElements = async (elements) => {
|
|
3
3
|
if (elements
|
|
4
4
|
&& (isStrictlyElementArray(elements) || isMultiRemoteElementArray(elements))
|
|
@@ -7,26 +7,8 @@ export const refetchElements = async (elements) => {
|
|
|
7
7
|
const $$ = browser[elements.foundWith];
|
|
8
8
|
return await $$.call(browser, elements.selector, ...elements.props);
|
|
9
9
|
}
|
|
10
|
-
else if (isMultiRemoteElements(elements)) {
|
|
11
|
-
const selector = elements.find((element) => !!element.selector)?.selector;
|
|
12
|
-
if (selector) {
|
|
13
|
-
warnMultiRemoteRefetchFallbackOnce();
|
|
14
|
-
if (typeof multiRemoteBrowser === 'undefined') {
|
|
15
|
-
return elements;
|
|
16
|
-
}
|
|
17
|
-
return await multiRemoteBrowser.$$(selector);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
10
|
return elements;
|
|
21
11
|
};
|
|
22
|
-
let hasWarnedMultiRemoteRefetchFallback = false;
|
|
23
|
-
const warnMultiRemoteRefetchFallbackOnce = () => {
|
|
24
|
-
if (hasWarnedMultiRemoteRefetchFallback) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
hasWarnedMultiRemoteRefetchFallback = true;
|
|
28
|
-
console.warn('expect-webdriverio: refetching multi-remote elements between retries is best effort: they are re-queried from the global `multiRemoteBrowser`, ignoring any parent element or `select()` scope. Set `WDIO_ENABLE_MULTI_REMOTE_ELEMENT_ARRAY=true` for reliable retries.');
|
|
29
|
-
};
|
|
30
12
|
export const syncronizeElements = async (subject, refetchedElements) => {
|
|
31
13
|
if (subject instanceof Promise) {
|
|
32
14
|
await syncronizeChainableElementArray(subject, refetchedElements);
|
|
@@ -49,9 +31,6 @@ export const synchronizeElementArray = (subject, refetchedElements) => {
|
|
|
49
31
|
};
|
|
50
32
|
export const refreshElementArray = async (subject) => {
|
|
51
33
|
const refetchedElements = await refetchElements(subject);
|
|
52
|
-
if (refetchedElements.length === 0 && isMultiRemoteElements(subject)) {
|
|
53
|
-
return refetchedElements;
|
|
54
|
-
}
|
|
55
34
|
synchronizeElementArray(subject, refetchedElements);
|
|
56
35
|
return subject;
|
|
57
36
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const OWN_SNAPSHOT_FRAME = /expect-webdriverio[\\/]lib[\\/]matchers[\\/]snapshot\.js:/;
|
|
2
|
+
const JASMINE_CORE_FRAME = /node_modules[\\/]jasmine-core[\\/]/;
|
|
3
|
+
export function filterInlineSnapshotStack(stack) {
|
|
4
|
+
return stack.split('\n').filter((line) => (line.includes('__INLINE_SNAPSHOT__') ||
|
|
5
|
+
!(line.includes('__EXTERNAL_MATCHER_TRAP__') ||
|
|
6
|
+
OWN_SNAPSHOT_FRAME.test(line)))).filter((line) => (!JASMINE_CORE_FRAME.test(line)));
|
|
7
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expect-webdriverio",
|
|
3
|
-
"version": "8.0.0-alpha.
|
|
3
|
+
"version": "8.0.0-alpha.2",
|
|
4
4
|
"author": "Mykola Grybyk <mykola.grybyk@gmail.com>",
|
|
5
5
|
"description": "WebdriverIO Assertion Library",
|
|
6
6
|
"license": "MIT",
|
|
@@ -88,7 +88,6 @@
|
|
|
88
88
|
},
|
|
89
89
|
"dependencies": {
|
|
90
90
|
"@vitest/snapshot": "^5.0.2",
|
|
91
|
-
"@wdio/types": "^9.31.5",
|
|
92
91
|
"deep-eql": "^5.0.2",
|
|
93
92
|
"expect": "^30.5.2",
|
|
94
93
|
"jest-matcher-utils": "^30.5.2"
|
|
@@ -104,9 +103,10 @@
|
|
|
104
103
|
"@types/mocha": "^10.0.10",
|
|
105
104
|
"@types/node": "^24.19.0",
|
|
106
105
|
"@vitest/coverage-v8": "^5.0.2",
|
|
107
|
-
"@wdio/cli": "^9.32.0",
|
|
108
|
-
"@wdio/globals": "^9.31.3",
|
|
109
|
-
"@wdio/protocols": "^9.31.5",
|
|
106
|
+
"@wdio/cli": "^9.32.0 || ^10.0.0-0",
|
|
107
|
+
"@wdio/globals": "^9.31.3 || ^10.0.0-0",
|
|
108
|
+
"@wdio/protocols": "^9.31.5 || ^10.0.0-0",
|
|
109
|
+
"@wdio/types": "^9.32.0 || ^10.0.0-0",
|
|
110
110
|
"husky": "^9.1.7",
|
|
111
111
|
"npm-run-all2": "^9.0.3",
|
|
112
112
|
"oxlint": "^1.85.0",
|
|
@@ -115,11 +115,12 @@
|
|
|
115
115
|
"strip-ansi": "^7.2.0",
|
|
116
116
|
"typescript": "^7.0.2",
|
|
117
117
|
"vitest": "^5.0.2",
|
|
118
|
-
"webdriver": "^9.32.0",
|
|
119
|
-
"webdriverio": "^9.32.0"
|
|
118
|
+
"webdriver": "^9.32.0 || ^10.0.0-0",
|
|
119
|
+
"webdriverio": "^9.32.0 || ^10.0.0-0"
|
|
120
120
|
},
|
|
121
121
|
"peerDependencies": {
|
|
122
|
-
"
|
|
122
|
+
"@wdio/types": "^9.32.0 || ^10.0.0-0",
|
|
123
|
+
"webdriverio": "^9.32.0 || ^10.0.0-0"
|
|
123
124
|
},
|
|
124
125
|
"peerDependenciesMeta": {
|
|
125
126
|
"webdriverio": {
|
|
@@ -84,12 +84,18 @@ type ArrayOfElementsPromise = Promise<WebdriverIO.Element[]>
|
|
|
84
84
|
*/
|
|
85
85
|
type ElementOrMaybeSomeArrayLike = ElementLike | MaybeSomeElementArrayLike
|
|
86
86
|
type ElementLike = WebdriverIO.Element | ChainablePromiseElement
|
|
87
|
+
// `MultiRemoteElement[]` is the WebdriverIO v9 type of a multi-remote `$$()`, a `MultiRemoteElementArray` at runtime
|
|
88
|
+
// TODO(#2255) WebdriverIO v9: use the WebdriverIO v10 `MultiRemoteElementArray` type instead of `MultiRemoteElement[]`
|
|
87
89
|
type ElementArrayLike = WebdriverIO.ElementArray | ChainablePromiseArray | WebdriverIO.Element[] | ArrayOfElementsPromise | ElementArrayPromise | WebdriverIO.MultiRemoteElement[]
|
|
88
90
|
type MaybeSomeElementArrayLike = MaybeSome<WebdriverIO.ElementArray | ChainablePromiseArray | WebdriverIO.Element[] | ArrayOfElementsPromise | ElementArrayPromise | WebdriverIO.MultiRemoteElement[]>
|
|
89
91
|
type MultiRemoteElementOrElements = WebdriverIO.MultiRemoteElement | WebdriverIO.MultiRemoteElement[]
|
|
90
92
|
type MockPromise = Promise<WebdriverIO.Mock>
|
|
93
|
+
/** WebdriverIO v10 multi-remote `mock()`: a `MultiRemoteMock` with one mock per instance name, not in the v9 types */
|
|
94
|
+
// TODO(#2255) WebdriverIO v9: use the WebdriverIO v10 `MultiRemoteMock` type instead
|
|
95
|
+
type MultiRemoteMockLike = { isMultiRemote: true, instances: readonly string[], getInstance(name: string): WebdriverIO.Mock }
|
|
91
96
|
/** Multi-remote `mock()`, one mock per instance: every instance's mock must satisfy the network matcher */
|
|
92
|
-
|
|
97
|
+
// TODO(#2255) WebdriverIO v9: remove the `WebdriverIO.Mock[]` of the v9 `mock()`
|
|
98
|
+
type MultiRemoteMocks = WebdriverIO.Mock[] | Promise<WebdriverIO.Mock[]> | MultiRemoteMockLike | Promise<MultiRemoteMockLike>
|
|
93
99
|
|
|
94
100
|
/**
|
|
95
101
|
* Type helpers allowing to use the function when the expect(actual: T) is of the expected type T.
|