@@ -4,9 +4,9 @@ import { EXIT_CODE_RESTART } from '../constants'
44import { CoverageProviderMap } from '../integrations/coverage'
55import { getEnvPackageName } from '../integrations/env'
66import type { UserConfig , Vitest , VitestRunMode } from '../types'
7- import { ensurePackageInstalled } from './pkg'
87import { createVitest } from './create'
98import { registerConsoleShortcuts } from './stdin'
9+ import type { VitestOptions } from './core'
1010
1111export interface CliOptions extends UserConfig {
1212 /**
@@ -25,6 +25,7 @@ export async function startVitest(
2525 cliFilters : string [ ] = [ ] ,
2626 options : CliOptions = { } ,
2727 viteOverrides ?: ViteUserConfig ,
28+ vitestOptions ?: VitestOptions ,
2829) : Promise < Vitest | undefined > {
2930 process . env . TEST = 'true'
3031 process . env . VITEST = 'true'
@@ -60,14 +61,14 @@ export async function startVitest(
6061 options . typecheck . enabled = true
6162 }
6263
63- const ctx = await createVitest ( mode , options , viteOverrides )
64+ const ctx = await createVitest ( mode , options , viteOverrides , vitestOptions )
6465
6566 if ( mode === 'test' && ctx . config . coverage . enabled ) {
6667 const provider = ctx . config . coverage . provider || 'v8'
6768 const requiredPackages = CoverageProviderMap [ provider ]
6869
6970 if ( requiredPackages ) {
70- if ( ! await ensurePackageInstalled ( requiredPackages , root ) ) {
71+ if ( ! await ctx . packageInstaller . ensureInstalled ( requiredPackages , root ) ) {
7172 process . exitCode = 1
7273 return ctx
7374 }
@@ -76,7 +77,7 @@ export async function startVitest(
7677
7778 const environmentPackage = getEnvPackageName ( ctx . config . environment )
7879
79- if ( environmentPackage && ! await ensurePackageInstalled ( environmentPackage , root ) ) {
80+ if ( environmentPackage && ! await ctx . packageInstaller . ensureInstalled ( environmentPackage , root ) ) {
8081 process . exitCode = 1
8182 return ctx
8283 }
0 commit comments