fix: open browser in `--standalone` mode without running tests (#9911) · vitest-dev/vitest@e78adcf
@@ -41,18 +41,8 @@ export function createBrowserPool(vitest: Vitest): ProcessPool {
41414242debug?.('creating pool for project %s', project.name)
434344-const resolvedUrls = project.browser!.vite.resolvedUrls
45-const origin = resolvedUrls?.local[0] ?? resolvedUrls?.network[0]
46-47-if (!origin) {
48-throw new Error(
49-`Can't find browser origin URL for project "${project.name}"`,
50-)
51-}
52-5344const pool: BrowserPool = new BrowserPool(project, {
5445maxWorkers: getThreadsCount(project),
55- origin,
5646})
5747projectPools.set(project, pool)
5848vitest.onCancel(() => {
@@ -198,7 +188,7 @@ class BrowserPool {
198188private _promise: DeferPromise<void> | undefined
199189private _providedContext: string | undefined
200190201-private readySessions = new Set<string>()
191+private readySessions: Set<string>
202192203193private _traces: Traces
204194private _otel: {
@@ -210,7 +200,6 @@ class BrowserPool {
210200private project: TestProject,
211201private options: {
212202maxWorkers: number
213-origin: string
214203},
215204) {
216205this._traces = project.vitest._traces
@@ -219,6 +208,7 @@ class BrowserPool {
219208'vitest.project': project.name,
220209'vitest.browser.provider': this.project.browser!.provider.name,
221210})
211+this.readySessions = project._browserReadySessions
222212}
223213224214public cancel(): void {
@@ -296,24 +286,10 @@ class BrowserPool {
296286}
297287298288private async openPage(sessionId: string, options: { parallel: boolean }): Promise<void> {
299-const sessionPromise = this.project.vitest._browserSessions.createSession(
300-sessionId,
301-this.project,
302-this,
303-)
304-const browser = this.project.browser!
305-const url = new URL('/__vitest_test__/', this.options.origin)
306-url.searchParams.set('sessionId', sessionId)
307-const otelCarrier = this._traces.getContextCarrier()
308-if (otelCarrier) {
309-url.searchParams.set('otelCarrier', JSON.stringify(otelCarrier))
310-}
311-const pagePromise = browser.provider.openPage(
312-sessionId,
313-url.toString(),
314-options,
315-)
316-await Promise.all([sessionPromise, pagePromise])
289+await this.project._openBrowserPage(sessionId, {
290+reject: error => this.reject(error),
291+parallel: options.parallel,
292+})
317293}
318294319295private getOrchestrator(sessionId: string) {