fix: open browser in `--standalone` mode without running tests (#9911) · vitest-dev/vitest@e78adcf

@@ -41,18 +41,8 @@ export function createBrowserPool(vitest: Vitest): ProcessPool {

41414242

debug?.('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-5344

const pool: BrowserPool = new BrowserPool(project, {

5445

maxWorkers: getThreadsCount(project),

55-

origin,

5646

})

5747

projectPools.set(project, pool)

5848

vitest.onCancel(() => {

@@ -198,7 +188,7 @@ class BrowserPool {

198188

private _promise: DeferPromise<void> | undefined

199189

private _providedContext: string | undefined

200190201-

private readySessions = new Set<string>()

191+

private readySessions: Set<string>

202192203193

private _traces: Traces

204194

private _otel: {

@@ -210,7 +200,6 @@ class BrowserPool {

210200

private project: TestProject,

211201

private options: {

212202

maxWorkers: number

213-

origin: string

214203

},

215204

) {

216205

this._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

}

223213224214

public cancel(): void {

@@ -296,24 +286,10 @@ class BrowserPool {

296286

}

297287298288

private 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

}

318294319295

private getOrchestrator(sessionId: string) {