@vitest/browser 3.1.0 → 3.1.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.
@@ -1 +1 @@
1
- import"@vitest/browser/context";import"../public-utils-xf4CCUzp.js";export{L as Locator,s as selectorEngine}from"../index-DjDyxzt8.js";import"vitest/utils";
1
+ import"@vitest/browser/context";import"../public-utils-xf4CCUzp.js";export{L as Locator,s as selectorEngine}from"../index-C34csx3Z.js";import"vitest/utils";
@@ -1 +1 @@
1
- import{page,server}from"@vitest/browser/context";import{g as getByTitleSelector,a as getByTextSelector,b as getByPlaceholderSelector,c as getByAltTextSelector,d as getByTestIdSelector,e as getByRoleSelector,f as getByLabelSelector}from"../public-utils-xf4CCUzp.js";import{s as selectorEngine,L as Locator,p as processTimeoutOptions,g as getBrowserState,a as getIframeScale}from"../index-DjDyxzt8.js";import"vitest/utils";page.extend({getByLabelText(e,v){return new PlaywrightLocator(getByLabelSelector(e,v))},getByRole(e,v){return new PlaywrightLocator(getByRoleSelector(e,v))},getByTestId(e){return new PlaywrightLocator(getByTestIdSelector(server.config.browser.locators.testIdAttribute,e))},getByAltText(e,v){return new PlaywrightLocator(getByAltTextSelector(e,v))},getByPlaceholder(e,v){return new PlaywrightLocator(getByPlaceholderSelector(e,v))},getByText(e,v){return new PlaywrightLocator(getByTextSelector(e,v))},getByTitle(e,v){return new PlaywrightLocator(getByTitleSelector(e,v))},elementLocator(e){return new PlaywrightLocator(selectorEngine.generateSelectorSimple(e),e)}});class PlaywrightLocator extends Locator{constructor(e,v){super(),this.selector=e,this._container=v}click(e){return super.click(processTimeoutOptions(processClickOptions(e)))}dblClick(e){return super.dblClick(processTimeoutOptions(processClickOptions(e)))}tripleClick(e){return super.tripleClick(processTimeoutOptions(processClickOptions(e)))}selectOptions(e,v){return super.selectOptions(e,processTimeoutOptions(v))}clear(e){return super.clear(processTimeoutOptions(e))}hover(e){return super.hover(processTimeoutOptions(processHoverOptions(e)))}upload(e,v){return super.upload(e,processTimeoutOptions(v))}fill(e,v){return super.fill(e,processTimeoutOptions(v))}dropTo(e,v){return super.dropTo(e,processTimeoutOptions(processDragAndDropOptions(v)))}locator(e){return new PlaywrightLocator(`${this.selector} >> ${e}`,this._container)}elementLocator(e){return new PlaywrightLocator(selectorEngine.generateSelectorSimple(e),e)}}function processDragAndDropOptions(e){if(!e||!getBrowserState().config.browser.ui)return e;let v=e;return v.sourcePosition&&=processPlaywrightPosition(v.sourcePosition),v.targetPosition&&=processPlaywrightPosition(v.targetPosition),e}function processHoverOptions(e){if(!e||!getBrowserState().config.browser.ui)return e;let v=e;return v.position&&=processPlaywrightPosition(v.position),e}function processClickOptions(e){if(!e||!getBrowserState().config.browser.ui)return e;let v=e;return v.position&&=processPlaywrightPosition(v.position),v}function processPlaywrightPosition(e){let v=getIframeScale();return e.x!=null&&(e.x*=v),e.y!=null&&(e.y*=v),e}
1
+ import{page,server}from"@vitest/browser/context";import{g as getByTitleSelector,a as getByTextSelector,b as getByPlaceholderSelector,c as getByAltTextSelector,d as getByTestIdSelector,e as getByRoleSelector,f as getByLabelSelector}from"../public-utils-xf4CCUzp.js";import{s as selectorEngine,L as Locator,p as processTimeoutOptions,g as getIframeScale}from"../index-C34csx3Z.js";import"vitest/utils";page.extend({getByLabelText(e,_){return new PlaywrightLocator(getByLabelSelector(e,_))},getByRole(e,_){return new PlaywrightLocator(getByRoleSelector(e,_))},getByTestId(e){return new PlaywrightLocator(getByTestIdSelector(server.config.browser.locators.testIdAttribute,e))},getByAltText(e,_){return new PlaywrightLocator(getByAltTextSelector(e,_))},getByPlaceholder(e,_){return new PlaywrightLocator(getByPlaceholderSelector(e,_))},getByText(e,_){return new PlaywrightLocator(getByTextSelector(e,_))},getByTitle(e,_){return new PlaywrightLocator(getByTitleSelector(e,_))},elementLocator(e){return new PlaywrightLocator(selectorEngine.generateSelectorSimple(e),e)}});class PlaywrightLocator extends Locator{constructor(e,_){super(),this.selector=e,this._container=_}click(e){return super.click(processTimeoutOptions(processClickOptions(e)))}dblClick(e){return super.dblClick(processTimeoutOptions(processClickOptions(e)))}tripleClick(e){return super.tripleClick(processTimeoutOptions(processClickOptions(e)))}selectOptions(e,_){return super.selectOptions(e,processTimeoutOptions(_))}clear(e){return super.clear(processTimeoutOptions(e))}hover(e){return super.hover(processTimeoutOptions(processHoverOptions(e)))}upload(e,_){return super.upload(e,processTimeoutOptions(_))}fill(e,_){return super.fill(e,processTimeoutOptions(_))}dropTo(e,_){return super.dropTo(e,processTimeoutOptions(processDragAndDropOptions(_)))}locator(e){return new PlaywrightLocator(`${this.selector} >> ${e}`,this._container)}elementLocator(e){return new PlaywrightLocator(selectorEngine.generateSelectorSimple(e),e)}}function processDragAndDropOptions(e){if(!e)return e;let _=e;return _.sourcePosition&&=processPlaywrightPosition(_.sourcePosition),_.targetPosition&&=processPlaywrightPosition(_.targetPosition),e}function processHoverOptions(e){if(!e)return e;let _=e;return _.position&&=processPlaywrightPosition(_.position),e}function processClickOptions(e){if(!e)return e;let _=e;return _.position&&=processPlaywrightPosition(_.position),_}function processPlaywrightPosition(e){let _=getIframeScale();return e.x!=null&&(e.x*=_),e.y!=null&&(e.y*=_),e}
@@ -1 +1 @@
1
- import{page,server,userEvent}from"@vitest/browser/context";import{g as getByTitleSelector,a as getByTextSelector,b as getByPlaceholderSelector,c as getByAltTextSelector,d as getByTestIdSelector,e as getByRoleSelector,f as getByLabelSelector,h as getElementError}from"../public-utils-xf4CCUzp.js";import{s as selectorEngine,L as Locator,c as convertElementToCssSelector}from"../index-DjDyxzt8.js";import"vitest/utils";page.extend({getByLabelText(e,m){return new PreviewLocator(getByLabelSelector(e,m))},getByRole(e,m){return new PreviewLocator(getByRoleSelector(e,m))},getByTestId(e){return new PreviewLocator(getByTestIdSelector(server.config.browser.locators.testIdAttribute,e))},getByAltText(e,m){return new PreviewLocator(getByAltTextSelector(e,m))},getByPlaceholder(e,m){return new PreviewLocator(getByPlaceholderSelector(e,m))},getByText(e,m){return new PreviewLocator(getByTextSelector(e,m))},getByTitle(e,m){return new PreviewLocator(getByTitleSelector(e,m))},elementLocator(e){return new PreviewLocator(selectorEngine.generateSelectorSimple(e),e)}});class PreviewLocator extends Locator{constructor(e,m){super(),this._pwSelector=e,this._container=m}get selector(){let e=this.elements().map(e=>convertElementToCssSelector(e));if(!e.length)throw getElementError(this._pwSelector,this._container||document.body);return e.join(`, `)}click(){return userEvent.click(this.element())}dblClick(){return userEvent.dblClick(this.element())}tripleClick(){return userEvent.tripleClick(this.element())}hover(){return userEvent.hover(this.element())}unhover(){return userEvent.unhover(this.element())}async fill(e){return userEvent.fill(this.element(),e)}async upload(e){return userEvent.upload(this.element(),e)}selectOptions(e){return userEvent.selectOptions(this.element(),e)}clear(){return userEvent.clear(this.element())}locator(e){return new PreviewLocator(`${this._pwSelector} >> ${e}`,this._container)}elementLocator(e){return new PreviewLocator(selectorEngine.generateSelectorSimple(e),e)}}
1
+ import{page,server,userEvent}from"@vitest/browser/context";import{g as getByTitleSelector,a as getByTextSelector,b as getByPlaceholderSelector,c as getByAltTextSelector,d as getByTestIdSelector,e as getByRoleSelector,f as getByLabelSelector,h as getElementError}from"../public-utils-xf4CCUzp.js";import{s as selectorEngine,L as Locator,c as convertElementToCssSelector}from"../index-C34csx3Z.js";import"vitest/utils";page.extend({getByLabelText(e,m){return new PreviewLocator(getByLabelSelector(e,m))},getByRole(e,m){return new PreviewLocator(getByRoleSelector(e,m))},getByTestId(e){return new PreviewLocator(getByTestIdSelector(server.config.browser.locators.testIdAttribute,e))},getByAltText(e,m){return new PreviewLocator(getByAltTextSelector(e,m))},getByPlaceholder(e,m){return new PreviewLocator(getByPlaceholderSelector(e,m))},getByText(e,m){return new PreviewLocator(getByTextSelector(e,m))},getByTitle(e,m){return new PreviewLocator(getByTitleSelector(e,m))},elementLocator(e){return new PreviewLocator(selectorEngine.generateSelectorSimple(e),e)}});class PreviewLocator extends Locator{constructor(e,m){super(),this._pwSelector=e,this._container=m}get selector(){let e=this.elements().map(e=>convertElementToCssSelector(e));if(!e.length)throw getElementError(this._pwSelector,this._container||document.body);return e.join(`, `)}click(){return userEvent.click(this.element())}dblClick(){return userEvent.dblClick(this.element())}tripleClick(){return userEvent.tripleClick(this.element())}hover(){return userEvent.hover(this.element())}unhover(){return userEvent.unhover(this.element())}async fill(e){return userEvent.fill(this.element(),e)}async upload(e){return userEvent.upload(this.element(),e)}selectOptions(e){return userEvent.selectOptions(this.element(),e)}clear(){return userEvent.clear(this.element())}locator(e){return new PreviewLocator(`${this._pwSelector} >> ${e}`,this._container)}elementLocator(e){return new PreviewLocator(selectorEngine.generateSelectorSimple(e),e)}}
@@ -1 +1 @@
1
- import{page,server}from"@vitest/browser/context";import{g as getByTitleSelector,a as getByTextSelector,b as getByPlaceholderSelector,c as getByAltTextSelector,d as getByTestIdSelector,e as getByRoleSelector,f as getByLabelSelector,h as getElementError}from"../public-utils-xf4CCUzp.js";import{s as selectorEngine,L as Locator,c as convertElementToCssSelector,g as getBrowserState,a as getIframeScale}from"../index-DjDyxzt8.js";import"vitest/utils";page.extend({getByLabelText(e,g){return new WebdriverIOLocator(getByLabelSelector(e,g))},getByRole(e,g){return new WebdriverIOLocator(getByRoleSelector(e,g))},getByTestId(e){return new WebdriverIOLocator(getByTestIdSelector(server.config.browser.locators.testIdAttribute,e))},getByAltText(e,g){return new WebdriverIOLocator(getByAltTextSelector(e,g))},getByPlaceholder(e,g){return new WebdriverIOLocator(getByPlaceholderSelector(e,g))},getByText(e,g){return new WebdriverIOLocator(getByTextSelector(e,g))},getByTitle(e,g){return new WebdriverIOLocator(getByTitleSelector(e,g))},elementLocator(e){return new WebdriverIOLocator(selectorEngine.generateSelectorSimple(e))}});class WebdriverIOLocator extends Locator{constructor(e,g){super(),this._pwSelector=e,this._container=g}get selector(){let e=this.elements().map(e=>convertElementToCssSelector(e));if(!e.length)throw getElementError(this._pwSelector,this._container||document.body);return e.join(`, `)}click(e){return super.click(processClickOptions(e))}dblClick(e){return super.dblClick(processClickOptions(e))}tripleClick(e){return super.tripleClick(processClickOptions(e))}selectOptions(e,g){let _=getWebdriverioSelectOptions(this.element(),e);return this.triggerCommand(`__vitest_selectOptions`,this.selector,_,g)}hover(e){return super.hover(processHoverOptions(e))}dropTo(e,g){return super.dropTo(e,processDragAndDropOptions(g))}locator(e){return new WebdriverIOLocator(`${this._pwSelector} >> ${e}`,this._container)}elementLocator(e){return new WebdriverIOLocator(selectorEngine.generateSelectorSimple(e),e)}}function getWebdriverioSelectOptions(e,g){let _=[...e.querySelectorAll(`option`)],v=Array.isArray(g)?g:[g];if(!v.length)return[];if(v.length>1)throw Error(`Provider "webdriverio" doesn't support selecting multiple values at once`);let y=v[0];if(typeof y!=`string`){let e=`element`in y?y.element():y,g=_.indexOf(e);if(g===-1)throw Error(`The element ${selectorEngine.previewNode(e)} was not found in the "select" options.`);return[{index:g}]}let b=_.findIndex(e=>e.value===y);if(b!==-1)return[{index:b}];let x=_.findIndex(e=>e.textContent?.trim()===y||e.ariaLabel===y);if(x===-1)throw Error(`The option "${y}" was not found in the "select" options.`);return[{index:x}]}function processClickOptions(e){if(!e||!getBrowserState().config.browser.ui)return e;let g=e;if(g.x!=null||g.y!=null){let e={};g.x!=null&&(g.x=scaleCoordinate(g.x,e)),g.y!=null&&(g.y=scaleCoordinate(g.y,e))}return e}function processHoverOptions(e){if(!e||!getBrowserState().config.browser.ui)return e;let g=e,_={};return g.xOffset!=null&&(g.xOffset=scaleCoordinate(g.xOffset,_)),g.yOffset!=null&&(g.yOffset=scaleCoordinate(g.yOffset,_)),e}function processDragAndDropOptions(e){if(!e||!getBrowserState().config.browser.ui)return e;let g={},_=e;return _.sourceX!=null&&(_.sourceX=scaleCoordinate(_.sourceX,g)),_.sourceY!=null&&(_.sourceY=scaleCoordinate(_.sourceY,g)),_.targetX!=null&&(_.targetX=scaleCoordinate(_.targetX,g)),_.targetY!=null&&(_.targetY=scaleCoordinate(_.targetY,g)),e}function scaleCoordinate(e,g){return Math.round(e*getCachedScale(g))}function getCachedScale(e){return e.scale??=getIframeScale()}
1
+ import{page,server}from"@vitest/browser/context";import{g as getByTitleSelector,a as getByTextSelector,b as getByPlaceholderSelector,c as getByAltTextSelector,d as getByTestIdSelector,e as getByRoleSelector,f as getByLabelSelector,h as getElementError}from"../public-utils-xf4CCUzp.js";import{s as selectorEngine,L as Locator,c as convertElementToCssSelector,a as getBrowserState,g as getIframeScale}from"../index-C34csx3Z.js";import"vitest/utils";page.extend({getByLabelText(e,g){return new WebdriverIOLocator(getByLabelSelector(e,g))},getByRole(e,g){return new WebdriverIOLocator(getByRoleSelector(e,g))},getByTestId(e){return new WebdriverIOLocator(getByTestIdSelector(server.config.browser.locators.testIdAttribute,e))},getByAltText(e,g){return new WebdriverIOLocator(getByAltTextSelector(e,g))},getByPlaceholder(e,g){return new WebdriverIOLocator(getByPlaceholderSelector(e,g))},getByText(e,g){return new WebdriverIOLocator(getByTextSelector(e,g))},getByTitle(e,g){return new WebdriverIOLocator(getByTitleSelector(e,g))},elementLocator(e){return new WebdriverIOLocator(selectorEngine.generateSelectorSimple(e))}});class WebdriverIOLocator extends Locator{constructor(e,g){super(),this._pwSelector=e,this._container=g}get selector(){let e=this.elements().map(e=>convertElementToCssSelector(e));if(!e.length)throw getElementError(this._pwSelector,this._container||document.body);return e.join(`, `)}click(e){return super.click(processClickOptions(e))}dblClick(e){return super.dblClick(processClickOptions(e))}tripleClick(e){return super.tripleClick(processClickOptions(e))}selectOptions(e,g){let _=getWebdriverioSelectOptions(this.element(),e);return this.triggerCommand(`__vitest_selectOptions`,this.selector,_,g)}hover(e){return super.hover(processHoverOptions(e))}dropTo(e,g){return super.dropTo(e,processDragAndDropOptions(g))}locator(e){return new WebdriverIOLocator(`${this._pwSelector} >> ${e}`,this._container)}elementLocator(e){return new WebdriverIOLocator(selectorEngine.generateSelectorSimple(e),e)}}function getWebdriverioSelectOptions(e,g){let _=[...e.querySelectorAll(`option`)],v=Array.isArray(g)?g:[g];if(!v.length)return[];if(v.length>1)throw Error(`Provider "webdriverio" doesn't support selecting multiple values at once`);let y=v[0];if(typeof y!=`string`){let e=`element`in y?y.element():y,g=_.indexOf(e);if(g===-1)throw Error(`The element ${selectorEngine.previewNode(e)} was not found in the "select" options.`);return[{index:g}]}let b=_.findIndex(e=>e.value===y);if(b!==-1)return[{index:b}];let x=_.findIndex(e=>e.textContent?.trim()===y||e.ariaLabel===y);if(x===-1)throw Error(`The option "${y}" was not found in the "select" options.`);return[{index:x}]}function processClickOptions(e){if(!e||!getBrowserState().config.browser.ui)return e;let g=e;if(g.x!=null||g.y!=null){let e={};g.x!=null&&(g.x=scaleCoordinate(g.x,e)),g.y!=null&&(g.y=scaleCoordinate(g.y,e))}return e}function processHoverOptions(e){if(!e||!getBrowserState().config.browser.ui)return e;let g=e,_={};return g.xOffset!=null&&(g.xOffset=scaleCoordinate(g.xOffset,_)),g.yOffset!=null&&(g.yOffset=scaleCoordinate(g.yOffset,_)),e}function processDragAndDropOptions(e){if(!e||!getBrowserState().config.browser.ui)return e;let g={},_=e;return _.sourceX!=null&&(_.sourceX=scaleCoordinate(_.sourceX,g)),_.sourceY!=null&&(_.sourceY=scaleCoordinate(_.sourceY,g)),_.targetX!=null&&(_.targetX=scaleCoordinate(_.targetX,g)),_.targetY!=null&&(_.targetY=scaleCoordinate(_.targetY,g)),e}function scaleCoordinate(e,g){return Math.round(e*getCachedScale(g))}function getCachedScale(e){return e.scale??=getIframeScale()}
package/dist/providers.js CHANGED
@@ -1,4 +1,4 @@
1
- import { W as WebdriverBrowserProvider, P as PlaywrightBrowserProvider } from './webdriver-2iYWIzBv.js';
1
+ import { W as WebdriverBrowserProvider, P as PlaywrightBrowserProvider } from './webdriver-BzjiKqT8.js';
2
2
  import '@vitest/mocker/node';
3
3
 
4
4
  class PreviewBrowserProvider {
package/dist/state.js CHANGED
@@ -1,70 +1,6 @@
1
1
  (function () {
2
2
  'use strict';
3
3
 
4
- /// <reference types="../types/index.d.ts" />
5
-
6
- // (c) 2020-present Andrea Giammarchi
7
-
8
- const {parse: $parse} = JSON;
9
- const {keys} = Object;
10
-
11
- const Primitive = String; // it could be Number
12
- const primitive = 'string'; // it could be 'number'
13
-
14
- const ignore = {};
15
- const object = 'object';
16
-
17
- const noop = (_, value) => value;
18
-
19
- const primitives = value => (
20
- value instanceof Primitive ? Primitive(value) : value
21
- );
22
-
23
- const Primitives = (_, value) => (
24
- typeof value === primitive ? new Primitive(value) : value
25
- );
26
-
27
- const revive = (input, parsed, output, $) => {
28
- const lazy = [];
29
- for (let ke = keys(output), {length} = ke, y = 0; y < length; y++) {
30
- const k = ke[y];
31
- const value = output[k];
32
- if (value instanceof Primitive) {
33
- const tmp = input[value];
34
- if (typeof tmp === object && !parsed.has(tmp)) {
35
- parsed.add(tmp);
36
- output[k] = ignore;
37
- lazy.push({k, a: [input, parsed, tmp, $]});
38
- }
39
- else
40
- output[k] = $.call(output, k, tmp);
41
- }
42
- else if (output[k] !== ignore)
43
- output[k] = $.call(output, k, value);
44
- }
45
- for (let {length} = lazy, i = 0; i < length; i++) {
46
- const {k, a} = lazy[i];
47
- output[k] = $.call(output, k, revive.apply(null, a));
48
- }
49
- return output;
50
- };
51
-
52
- /**
53
- * Converts a specialized flatted string into a JS value.
54
- * @param {string} text
55
- * @param {(this: any, key: string, value: any) => any} [reviver]
56
- * @returns {any}
57
- */
58
- const parse = (text, reviver) => {
59
- const input = $parse(text, Primitives).map(primitives);
60
- const value = input[0];
61
- const $ = noop;
62
- const tmp = typeof value === object && value ?
63
- revive(input, new Set, value, $) :
64
- value;
65
- return $.call({'': tmp}, '', tmp);
66
- };
67
-
68
4
  /* @__NO_SIDE_EFFECTS__ */
69
5
  function getBrowserState() {
70
6
  return window.__vitest_browser_runner__;
@@ -72,7 +8,6 @@
72
8
 
73
9
  const config = getBrowserState().config;
74
10
  const sessionId = getBrowserState().sessionId;
75
- const providedContext = parse(getBrowserState().providedContext);
76
11
  const state = {
77
12
  ctx: {
78
13
  pool: "browser",
@@ -85,7 +20,7 @@
85
20
  name: "browser",
86
21
  options: null
87
22
  },
88
- providedContext,
23
+ providedContext: {},
89
24
  invalidates: []
90
25
  },
91
26
  onCancel: null,
@@ -103,7 +38,7 @@
103
38
  environment: 0,
104
39
  prepare: performance.now()
105
40
  },
106
- providedContext
41
+ providedContext: {}
107
42
  };
108
43
  globalThis.__vitest_browser__ = true;
109
44
  globalThis.__vitest_worker__ = state;
@@ -232,10 +232,6 @@ class PlaywrightBrowserProvider {
232
232
  console.error("[PW Error]", request.resourceType(), "request failed for", request.url(), "url:", request.failure()?.errorText);
233
233
  });
234
234
  }
235
- page.on("crash", () => {
236
- const session = this.project.vitest._browserSessions.getSession(sessionId);
237
- session?.reject(new Error("Page crashed when executing tests"));
238
- });
239
235
  return page;
240
236
  }
241
237
  async openPage(sessionId, url, beforeNavigate) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vitest/browser",
3
3
  "type": "module",
4
- "version": "3.1.0",
4
+ "version": "3.1.2",
5
5
  "description": "Browser running for Vitest",
6
6
  "license": "MIT",
7
7
  "funding": "https://opencollective.com/vitest",
@@ -66,7 +66,7 @@
66
66
  "peerDependencies": {
67
67
  "playwright": "*",
68
68
  "webdriverio": "^7.0.0 || ^8.0.0 || ^9.0.0",
69
- "vitest": "3.1.0"
69
+ "vitest": "3.1.2"
70
70
  },
71
71
  "peerDependenciesMeta": {
72
72
  "playwright": {
@@ -86,27 +86,27 @@
86
86
  "sirv": "^3.0.1",
87
87
  "tinyrainbow": "^2.0.0",
88
88
  "ws": "^8.18.1",
89
- "@vitest/mocker": "3.1.0",
90
- "@vitest/utils": "3.1.0"
89
+ "@vitest/utils": "3.1.2",
90
+ "@vitest/mocker": "3.1.2"
91
91
  },
92
92
  "devDependencies": {
93
- "@types/ws": "^8.18.0",
94
- "@wdio/protocols": "^9.7.0",
95
- "@wdio/types": "^9.10.1",
96
- "birpc": "0.2.19",
93
+ "@types/ws": "^8.18.1",
94
+ "@wdio/protocols": "^9.12.5",
95
+ "@wdio/types": "^9.12.3",
96
+ "birpc": "2.3.0",
97
97
  "flatted": "^3.3.3",
98
98
  "ivya": "^1.6.0",
99
- "mime": "^4.0.6",
99
+ "mime": "^4.0.7",
100
100
  "pathe": "^2.0.3",
101
101
  "periscopic": "^4.0.2",
102
102
  "playwright": "^1.51.1",
103
103
  "playwright-core": "^1.51.1",
104
104
  "safaridriver": "^1.0.0",
105
- "webdriverio": "^9.12.1",
106
- "@vitest/ui": "3.1.0",
107
- "@vitest/ws-client": "3.1.0",
108
- "@vitest/runner": "3.1.0",
109
- "vitest": "3.1.0"
105
+ "webdriverio": "^9.12.5",
106
+ "@vitest/runner": "3.1.2",
107
+ "@vitest/ui": "3.1.2",
108
+ "@vitest/ws-client": "3.1.2",
109
+ "vitest": "3.1.2"
110
110
  },
111
111
  "scripts": {
112
112
  "build": "rimraf dist && pnpm build:node && pnpm build:client",