@@ -15,11 +15,6 @@ import { getBrowserProvider } from '../integrations/browser'
1515import { isBrowserEnabled , resolveConfig } from './config'
1616import { WorkspaceVitestPlugin } from './plugins/workspace'
1717
18- interface InitializeServerOptions {
19- server ?: ViteNodeServer
20- runner ?: ViteNodeRunner
21- }
22-
2318interface InitializeProjectOptions extends UserWorkspaceConfig {
2419 workspaceConfigPath : string
2520 extends ?: string
@@ -187,20 +182,30 @@ export class WorkspaceProject {
187182 return testFiles
188183 }
189184
190- async initBrowserServer ( options : UserConfig ) {
185+ async initBrowserServer ( configFile : string | undefined ) {
191186 if ( ! this . isBrowserEnabled ( ) )
192187 return
193188 await this . browser ?. close ( )
194- this . browser = await createBrowserServer ( this , options )
189+ this . browser = await createBrowserServer ( this , configFile )
190+ }
191+
192+ static async createCoreProject ( ctx : Vitest ) {
193+ const project = new WorkspaceProject ( ctx . config . name || ctx . config . root , ctx )
194+ project . vitenode = ctx . vitenode
195+ project . server = ctx . server
196+ project . runner = ctx . runner
197+ project . config = ctx . config
198+ await project . initBrowserServer ( ctx . server . config . configFile )
199+ return project
195200 }
196201
197- async setServer ( options : UserConfig , server : ViteDevServer , params : InitializeServerOptions = { } ) {
202+ async setServer ( options : UserConfig , server : ViteDevServer ) {
198203 this . config = resolveConfig ( this . ctx . mode , options , server . config )
199204 this . server = server
200205
201- this . vitenode = params . server ?? new ViteNodeServer ( server , this . config )
206+ this . vitenode = new ViteNodeServer ( server , this . config )
202207 const node = this . vitenode
203- this . runner = params . runner ?? new ViteNodeRunner ( {
208+ this . runner = new ViteNodeRunner ( {
204209 root : server . config . root ,
205210 base : server . config . base ,
206211 fetchModule ( id : string ) {
@@ -211,7 +216,7 @@ export class WorkspaceProject {
211216 } ,
212217 } )
213218
214- await this . initBrowserServer ( options )
219+ await this . initBrowserServer ( this . server . config . configFile )
215220 }
216221
217222 async report < T extends keyof Reporter > ( name : T , ...args : ArgumentsType < Reporter [ T ] > ) {
0 commit comments