From 04c83accecd3ad6ae94f73274b0edd9ada4526b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20S=C3=A1nchez?= Date: Wed, 10 Jul 2024 15:38:25 +0200 Subject: [PATCH] fix(browser): remove `crypto.randomUUID` from the client (#6079) --- packages/browser/src/client/client.ts | 2 +- packages/browser/src/client/public/esm-client-injector.js | 1 + packages/browser/src/client/utils.ts | 1 + packages/browser/src/node/serverOrchestrator.ts | 1 + packages/browser/src/node/serverTester.ts | 2 ++ 5 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/browser/src/client/client.ts b/packages/browser/src/client/client.ts index 5e7bb11108ed..37c1f347701c 100644 --- a/packages/browser/src/client/client.ts +++ b/packages/browser/src/client/client.ts @@ -11,7 +11,7 @@ export const HOST = [location.hostname, PORT].filter(Boolean).join(':') export const SESSION_ID = PAGE_TYPE === 'orchestrator' ? getBrowserState().contextId - : crypto.randomUUID() + : getBrowserState().testerId export const ENTRY_URL = `${ location.protocol === 'https:' ? 'wss:' : 'ws:' }//${HOST}/__vitest_browser_api__?type=${PAGE_TYPE}&sessionId=${SESSION_ID}` diff --git a/packages/browser/src/client/public/esm-client-injector.js b/packages/browser/src/client/public/esm-client-injector.js index 34667ced9e60..bed5a31cdeb4 100644 --- a/packages/browser/src/client/public/esm-client-injector.js +++ b/packages/browser/src/client/public/esm-client-injector.js @@ -23,6 +23,7 @@ window.__vitest_browser_runner__ = { files: { __VITEST_FILES__ }, type: { __VITEST_TYPE__ }, contextId: { __VITEST_CONTEXT_ID__ }, + testerId: { __VITEST_TESTER_ID__ }, provider: { __VITEST_PROVIDER__ }, providedContext: { __VITEST_PROVIDED_CONTEXT__ }, }; diff --git a/packages/browser/src/client/utils.ts b/packages/browser/src/client/utils.ts index 7a00d2a64766..457cb495bd1f 100644 --- a/packages/browser/src/client/utils.ts +++ b/packages/browser/src/client/utils.ts @@ -28,6 +28,7 @@ export interface BrowserRunnerState { wrapModule: (module: () => T) => T iframeId?: string contextId: string + testerId: string runTests?: (tests: string[]) => Promise createTesters?: (files: string[]) => Promise cdp?: { diff --git a/packages/browser/src/node/serverOrchestrator.ts b/packages/browser/src/node/serverOrchestrator.ts index e6d176cc4d6c..07f9b5d90172 100644 --- a/packages/browser/src/node/serverOrchestrator.ts +++ b/packages/browser/src/node/serverOrchestrator.ts @@ -31,6 +31,7 @@ export async function resolveOrchestrator( __VITEST_FILES__: JSON.stringify(files), __VITEST_TYPE__: '"orchestrator"', __VITEST_CONTEXT_ID__: JSON.stringify(contextId), + __VITEST_TESTER_ID__: '"none"', __VITEST_PROVIDED_CONTEXT__: '{}', }) diff --git a/packages/browser/src/node/serverTester.ts b/packages/browser/src/node/serverTester.ts index 97c187ec34aa..3310658459a0 100644 --- a/packages/browser/src/node/serverTester.ts +++ b/packages/browser/src/node/serverTester.ts @@ -1,4 +1,5 @@ import type { IncomingMessage, ServerResponse } from 'node:http' +import crypto from 'node:crypto' import { stringify } from 'flatted' import { replacer } from './utils' import type { BrowserServer } from './server' @@ -48,6 +49,7 @@ export async function resolveTester( }), __VITEST_TYPE__: '"tester"', __VITEST_CONTEXT_ID__: JSON.stringify(contextId), + __VITEST_TESTER_ID__: JSON.stringify(crypto.randomUUID()), __VITEST_PROVIDED_CONTEXT__: JSON.stringify(stringify(project.getProvidedContext())), })