@vitest/browser 4.1.6 → 4.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +28 -2
  2. package/package.json +6 -6
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@ import { PNG } from 'pngjs';
18
18
  import { diff } from '@blazediff/core';
19
19
  import { WebSocketServer } from 'ws';
20
20
 
21
- var version = "4.1.6";
21
+ var version = "4.1.8";
22
22
 
23
23
  const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
24
24
  function normalizeWindowsPath(input = "") {
@@ -1431,6 +1431,19 @@ class BrowserServerCDPHandler {
1431
1431
  }
1432
1432
  }
1433
1433
 
1434
+ const _startV8Coverage = async (context) => {
1435
+ const session = await context.__ensureCDPHandler();
1436
+ await session.send("Profiler.enable");
1437
+ await session.send("Profiler.startPreciseCoverage", {
1438
+ callCount: true,
1439
+ detailed: true
1440
+ });
1441
+ };
1442
+ const _takeV8Coverage = async (context) => {
1443
+ const session = await context.__ensureCDPHandler();
1444
+ return session.send("Profiler.takePreciseCoverage");
1445
+ };
1446
+
1434
1447
  const types = {
1435
1448
  'application/andrew-inset': ['ez'],
1436
1449
  'application/appinstaller': ['appinstaller'],
@@ -2495,6 +2508,8 @@ var builtinCommands = {
2495
2508
  readFile,
2496
2509
  removeFile,
2497
2510
  writeFile,
2511
+ __vitest_startV8Coverage: _startV8Coverage,
2512
+ __vitest_takeV8Coverage: _takeV8Coverage,
2498
2513
  __vitest_markTrace: _markTrace,
2499
2514
  __vitest_groupTraceStart: _groupTraceStart,
2500
2515
  __vitest_groupTraceEnd: _groupTraceEnd,
@@ -3049,6 +3064,14 @@ function setupBrowserRpc(globalServer, defaultMockerRegistry) {
3049
3064
  function canWrite(project) {
3050
3065
  return project.config.browser.api.allowWrite && project.vitest.config.browser.api.allowWrite && project.config.api.allowWrite && project.vitest.config.api.allowWrite;
3051
3066
  }
3067
+ function isCdpAllowed(project) {
3068
+ return project.config.api.allowExec && project.config.browser.api.allowExec && project.vitest.config.api.allowExec && project.vitest.config.browser.api.allowExec && project.config.api.allowWrite && project.config.browser.api.allowWrite && project.vitest.config.api.allowWrite && project.vitest.config.browser.api.allowWrite;
3069
+ }
3070
+ function assertCdpAllowed(project) {
3071
+ if (!isCdpAllowed(project)) {
3072
+ throw new Error(`Cannot use CDP because browser API write or exec operations are disabled. See https://vitest.dev/config/browser/api.`);
3073
+ }
3074
+ }
3052
3075
  function setupClient(project, rpcId, ws) {
3053
3076
  const mockResolver = new ServerMockResolver(globalServer.vite, { moduleDirectories: project.config?.deps?.moduleDirectories });
3054
3077
  const mocker = project.browser?.provider.mocker;
@@ -3193,7 +3216,8 @@ function setupBrowserRpc(globalServer, defaultMockerRegistry) {
3193
3216
  sessionId,
3194
3217
  triggerCommand: (name, ...args) => {
3195
3218
  return project.browser.triggerCommand(name, context, ...args);
3196
- }
3219
+ },
3220
+ __ensureCDPHandler: () => globalServer.ensureCDPHandler(sessionId, rpcId)
3197
3221
  }, provider.getCommandsContext(sessionId));
3198
3222
  return await project.browser.triggerCommand(command, context, ...payload);
3199
3223
  },
@@ -3255,10 +3279,12 @@ function setupBrowserRpc(globalServer, defaultMockerRegistry) {
3255
3279
  return mocker.delete(sessionId, id);
3256
3280
  },
3257
3281
  async sendCdpEvent(sessionId, event, payload) {
3282
+ assertCdpAllowed(project);
3258
3283
  const cdp = await globalServer.ensureCDPHandler(sessionId, rpcId);
3259
3284
  return cdp.send(event, payload);
3260
3285
  },
3261
3286
  async trackCdpEvent(sessionId, type, event, listenerId) {
3287
+ assertCdpAllowed(project);
3262
3288
  const cdp = await globalServer.ensureCDPHandler(sessionId, rpcId);
3263
3289
  cdp[type](event, listenerId);
3264
3290
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vitest/browser",
3
3
  "type": "module",
4
- "version": "4.1.6",
4
+ "version": "4.1.8",
5
5
  "description": "Browser running for Vitest",
6
6
  "license": "MIT",
7
7
  "funding": "https://opencollective.com/vitest",
@@ -57,7 +57,7 @@
57
57
  "providers"
58
58
  ],
59
59
  "peerDependencies": {
60
- "vitest": "4.1.6"
60
+ "vitest": "4.1.8"
61
61
  },
62
62
  "dependencies": {
63
63
  "@blazediff/core": "1.9.1",
@@ -66,8 +66,8 @@
66
66
  "sirv": "^3.0.2",
67
67
  "tinyrainbow": "^3.1.0",
68
68
  "ws": "^8.19.0",
69
- "@vitest/mocker": "4.1.6",
70
- "@vitest/utils": "4.1.6"
69
+ "@vitest/mocker": "4.1.8",
70
+ "@vitest/utils": "4.1.8"
71
71
  },
72
72
  "devDependencies": {
73
73
  "@opentelemetry/api": "^1.9.0",
@@ -79,8 +79,8 @@
79
79
  "ivya": "^1.8.0",
80
80
  "mime": "^4.1.0",
81
81
  "pathe": "^2.0.3",
82
- "@vitest/runner": "4.1.6",
83
- "vitest": "4.1.6"
82
+ "vitest": "4.1.8",
83
+ "@vitest/runner": "4.1.8"
84
84
  },
85
85
  "scripts": {
86
86
  "typecheck": "tsc -p ./src/client/tsconfig.json --noEmit",