Skip to content

Upgrading vitest 0.29 to 0.30

Breaking0.29.8 → 0.30.1Breaking7New3Fixed11

BreakingUpgrade verdict

7 breaking changes.

  • Remove tinyspy internal properties on Vitest spies  -  (2f1dc).
  • Only support Node.js 14.18.0 or newer  -  (287dc).
  • Use "concordance" package to display diff instead of using custom diff  -  (44630).
  • Move snapshot implementation into @vitest/snapshot  -  (6aff0).
Top 3 of 7 that need code or config changes

Node.js requirement changed in 0.30.0: >=v14.16.0 → >=v14.18.0.

Adds @vitest/snapshot 0.30.1, concordance ^5.0.4, magic-string ^0.30.0.

Drops tinyspy.

Installs 89 packages in all (was 85).

Breaking7
Remove tinyspy internal properties on Vitest spies  -  (2f1dc).
Only support Node.js 14.18.0 or newer  -  (287dc).
Use "concordance" package to display diff instead of using custom diff  -  (44630).
Move snapshot implementation into @vitest/snapshot  -  (6aff0).
Bump coverage packages vitest peer dependency  -  (be1bf).
Add workspace support  -  (b9d1a).
Experimental optimizer introduced in 0.29.0 is temporarily disabled.

Generated by DepDelta from published .d.ts files. Not mixed with prose notes.

  • added: method Vi.JestAssertion.toMatchFileSnapshot(filepath: string, message?: string): Promise<void>
  • added: interface File
  • added: property File.environmentLoad?: number
  • added: property File.prepareDuration?: number
  • removed: export { s as setupSnapshotEnvironment } from './env-[hash]'
  • added: export { mergeConfig } from 'vite'
  • added: function defineProject(config: UserProjectConfigExport): UserProjectConfigExport
  • added: function defineWorkspace(config: (string | (UserProjectConfigExport & { extends?: string }))[]): (string | (UserProjectConfigExport & { extends?: string | undefined }))[]
  • added: interface UserWorkspaceConfig extends UserConfig$2
  • added: property UserWorkspaceConfig.test?: ProjectConfig
  • added: type UserProjectConfigExport = UserWorkspaceConfig | Promise<UserWorkspaceConfig> | UserProjectConfigFn
  • added: type UserProjectConfigFn = (env: ConfigEnv) => UserWorkspaceConfig | Promise<UserWorkspaceConfig>
  • removed: function s(environment: SnapshotEnvironment): void
  • removed: interface S
  • removed: method S.prepareDirectory(filepath: string): Promise<void>
  • removed: method S.readSnapshotFile(filepath: string): Promise<string | null>
  • removed: method S.removeSnapshotFile(filepath: string): Promise<void>
  • removed: method S.resolvePath(filepath: string): Promise<string>
  • removed: method S.saveSnapshotFile(filepath: string, snapshot: string): Promise<void>
  • removed: const expect: Vi.ExpectStatic
  • removed: export { $ as CoverageReporter } from './types-[hash]'
  • removed: export { A as AfterSuiteRunMeta } from './types-[hash]'
  • removed: export { B as BenchmarkAPI } from './types-[hash]'
  • removed: export { C as CollectLineNumbers } from './types-[hash]'
  • removed: export { D as Awaitable } from './types-[hash]'
  • removed: export { G as Arrayable } from './types-[hash]'
  • removed: export { H as ArgumentsType } from './types-[hash]'
  • removed: export { K as MutableArray } from './types-[hash]'
  • removed: export { L as Constructable } from './types-[hash]'
  • removed: export { O as ModuleCache } from './types-[hash]'
  • removed: export { P as EnvironmentReturn } from './types-[hash]'
  • removed: export { Q as Environment } from './types-[hash]'
  • removed: export { R as RuntimeConfig } from './types-[hash]'
  • removed: export { S as SnapshotEnvironment } from './env-[hash]'
  • removed: export { S as SnapshotResult } from './types-[hash]'
  • removed: export { U as UserConsoleLog } from './types-[hash]'
  • removed: export { X as OnServerRestartHandler } from './types-[hash]'
  • removed: export { Y as CoverageProvider } from './types-[hash]'
  • removed: export { Z as ReportContext } from './types-[hash]'
  • removed: export { _ as CoverageProviderModule } from './types-[hash]'
  • removed: export { a as ResolvedConfig } from './types-[hash]'
  • removed: export { a0 as CoverageOptions } from './types-[hash]'
  • removed: export { a1 as ResolvedCoverageOptions } from './types-[hash]'
  • removed: export { a2 as BaseCoverageOptions } from './types-[hash]'
  • removed: export { a3 as CoverageIstanbulOptions } from './types-[hash]'
  • removed: export { a4 as CoverageC8Options } from './types-[hash]'
  • removed: export { a5 as CustomProviderOptions } from './types-[hash]'
  • removed: export { a6 as BenchmarkUserOptions } from './types-[hash]'
  • removed: export { a7 as Benchmark } from './types-[hash]'
  • removed: export { a8 as BenchmarkResult } from './types-[hash]'
  • removed: export { a9 as BenchFunction } from './types-[hash]'
  • removed: export { b as ModuleGraphData } from './types-[hash]'
  • removed: export { c as Reporter } from './types-[hash]'
  • removed: export { d as RawErrsMap } from './types-[hash]'
  • removed: export { e as CollectLines } from './types-[hash]'
  • removed: export { f as RootAndTarget } from './types-[hash]'
  • removed: export { g as Context } from './types-[hash]'
  • removed: export { h as BuiltinEnvironment } from './types-[hash]'
  • removed: export { i as VitestPool } from './types-[hash]'
  • removed: export { j as CSSModuleScopeStrategy } from './types-[hash]'
  • removed: export { k as ApiConfig } from './types-[hash]'
  • removed: export { l as VitestRunMode } from './types-[hash]'
  • removed: export { m as TypecheckConfig } from './types-[hash]'
  • removed: export { n as UserConfig } from './types-[hash]'
  • removed: export { o as RuntimeRPC } from './types-[hash]'
  • removed: export { p as ContextTestEnvironment } from './types-[hash]'
  • removed: export { q as ContextRPC } from './types-[hash]'
  • removed: export { r as Vitest } from './types-[hash]'
  • removed: export { s as SnapshotData } from './types-[hash]'
  • removed: export { t as SnapshotUpdateState } from './types-[hash]'
  • removed: export { u as SnapshotStateOptions } from './types-[hash]'
  • removed: export { v as SnapshotMatchOptions } from './types-[hash]'
  • removed: export { w as UncheckedSnapshot } from './types-[hash]'
  • removed: export { x as SnapshotSummary } from './types-[hash]'
  • removed: export { y as ResolveIdFunction } from './types-[hash]'
  • removed: export { z as WorkerGlobalState } from './types-[hash]'
  • removed: function createExpect(test?: Test): Vi.ExpectStatic
  • changed: method WebSocketHandlers.writeFile(id: string, content: string): Promise<void> → method WebSocketHandlers.writeFile(id: string, content: string, ensureDir?: boolean): Promise<void>
  • added: export { $ as ResolvedCoverageOptions } from './types-[hash]'
  • added: export { AfterSuiteRunMeta }
  • added: export { BenchmarkAPI }
  • added: export { C as ChaiConfig } from './types-[hash]'
  • added: export { D as ArgumentsType } from './types-[hash]'
  • added: export { G as MutableArray } from './types-[hash]'
  • added: export { H as Constructable } from './types-[hash]'
  • added: export { K as ModuleCache } from './types-[hash]'
  • added: export { L as EnvironmentReturn } from './types-[hash]'
  • added: export { ModuleGraphData }
  • added: export { O as Environment } from './types-[hash]'
  • added: export { P as ProjectConfig } from './types-[hash]'
  • added: export { Q as OnServerRestartHandler } from './types-[hash]'
  • added: export { Reporter }
  • added: export { ResolvedConfig }
  • added: export { RuntimeConfig }
  • added: export { S as CoverageProvider } from './types-[hash]'
  • added: export { SnapshotData } from '@vitest/snapshot'
  • added: export { SnapshotEnvironment } from '@vitest/snapshot/environment'
  • added: export { SnapshotMatchOptions } from '@vitest/snapshot'
  • added: export { SnapshotResult } from '@vitest/snapshot'
  • added: export { SnapshotStateOptions } from '@vitest/snapshot'
  • added: export { SnapshotSummary } from '@vitest/snapshot'
  • added: export { SnapshotUpdateState } from '@vitest/snapshot'
  • added: export { UncheckedSnapshot } from '@vitest/snapshot'
  • added: export { UserConsoleLog }
  • added: export { UserWorkspaceConfig } from './config'
  • added: export { X as ReportContext } from './types-[hash]'
  • added: export { Y as CoverageProviderModule } from './types-[hash]'
  • added: export { Z as CoverageReporter } from './types-[hash]'
  • added: export { _ as CoverageOptions } from './types-[hash]'
  • added: export { a0 as BaseCoverageOptions } from './types-[hash]'
  • added: export { a1 as CoverageIstanbulOptions } from './types-[hash]'
  • added: export { a2 as CoverageC8Options } from './types-[hash]'
  • added: export { a3 as CustomProviderOptions } from './types-[hash]'
  • added: export { a4 as BenchmarkUserOptions } from './types-[hash]'
  • added: export { a5 as Benchmark } from './types-[hash]'
  • added: export { a6 as BenchmarkResult } from './types-[hash]'
  • added: export { a7 as BenchFunction } from './types-[hash]'
  • added: export { d as createExpect } from './types-[hash]'
  • added: export { e as RawErrsMap } from './types-[hash]'
  • added: export { f as CollectLineNumbers } from './types-[hash]'
  • added: export { g as expect } from './types-[hash]'
  • added: export { h as CollectLines } from './types-[hash]'
  • added: export { i as RootAndTarget } from './types-[hash]'
  • added: export { j as Context } from './types-[hash]'
  • added: export { k as BuiltinEnvironment } from './types-[hash]'
  • added: export { l as VitestPool } from './types-[hash]'
  • added: export { m as CSSModuleScopeStrategy } from './types-[hash]'
  • added: export { n as ApiConfig } from './types-[hash]'
  • added: export { o as VitestRunMode } from './types-[hash]'
  • added: export { p as TypecheckConfig } from './types-[hash]'
  • added: export { q as UserConfig } from './types-[hash]'
  • added: export { r as RuntimeRPC } from './types-[hash]'
  • added: export { s as setupChaiConfig } from './types-[hash]'
  • added: export { t as ContextTestEnvironment } from './types-[hash]'
  • added: export { u as ContextRPC } from './types-[hash]'
  • added: export { v as Vitest } from './types-[hash]'
  • added: export { w as ResolveIdFunction } from './types-[hash]'
  • added: export { x as WorkerGlobalState } from './types-[hash]'
  • added: export { y as Awaitable } from './types-[hash]'
  • added: export { z as Arrayable } from './types-[hash]'
  • added: method WebSocketHandlers.resolveSnapshotRawPath(testPath: string, rawPath: string): string
  • removed: export { ac as TestSequencer } from './types-[hash]'
  • removed: export { r as Vitest } from './types-[hash]'
  • changed: method BaseSequencer.shard(files: string[]): Promise<string[]> → method BaseSequencer.shard(files: WorkspaceSpec[]): Promise<WorkspaceSpec[]>
  • changed: method BaseSequencer.sort(files: string[]): Promise<string[]> → method BaseSequencer.sort(files: WorkspaceSpec[]): Promise<WorkspaceSpec[]>
  • added: export { TestSequencer }
  • added: export { Vitest }
  • added: export { WorkspaceSpec }
  • added: export { ac as VitestWorkspace } from './types-[hash]'
  • removed: class r
  • removed: constructor r(mode: VitestRunMode)
  • removed: interface C
  • removed: interface P
  • removed: interface Q
  • removed: interface Z
  • removed: interface _
  • removed: interface a7 extends TaskCustom
  • removed: interface a8 extends TaskResult
  • removed: interface ac
  • removed: interface m
  • removed: interface n extends InlineConfig
  • removed: interface o
  • removed: interface v
  • removed: interface w
  • removed: interface z
  • removed: method Q.setup(global: any, options: Record<string, any>): Awaitable<EnvironmentReturn>
  • removed: method Y.clean(clean?: boolean): void | Promise<void>
  • removed: method Y.initialize(ctx: Vitest): Promise<void> | void
  • removed: method Y.onAfterSuiteRun(meta: AfterSuiteRunMeta): void | Promise<void>
  • removed: method Y.onFileTransform?(sourceCode: string, id: string, pluginCtx: TransformPluginContext): TransformResult | Promise<TransformResult>
  • removed: method Y.reportCoverage(reportContext?: ReportContext): void | Promise<void>
  • removed: method Y.resolveOptions(): ResolvedCoverageOptions
  • removed: method _.getProvider(): CoverageProvider | Promise<CoverageProvider>
  • removed: method _.startCoverage?(): unknown | Promise<unknown>
  • removed: method _.stopCoverage?(): unknown | Promise<unknown>
  • removed: method _.takeCoverage?(): unknown | Promise<unknown>
  • removed: method ac.shard(files: string[]): Awaitable<string[]>
  • removed: method ac.sort(files: string[]): Awaitable<string[]>
  • removed: method r.changeFilenamePattern(pattern: string): Promise<void>
  • removed: method r.changeNamePattern(pattern: string, files?: string[], trigger?: string): Promise<void>
  • removed: method r.close(): Promise<void>
  • removed: method r.exit(force?: boolean): Promise<void>
  • removed: method r.filterFiles(testFiles: string[], filters?: string[]): string[]
  • removed: method r.filterTestsBySource(tests: string[]): Promise<string[]>
  • removed: method r.getSerializableConfig(): ResolvedConfig
  • removed: method r.globAllTestFiles(config: ResolvedConfig, cwd: string): Promise<string[]>
  • removed: method r.globFiles(include: string[], exclude: string[], cwd: string): Promise<string[]>
  • removed: method r.globTestFiles(filters?: string[]): Promise<string[]>
  • removed: method r.initBrowserProvider(): Promise<BrowserProvider>
  • removed: method r.initBrowserServer(options: UserConfig): Promise<void>
  • removed: method r.initCoverageProvider(): Promise<CoverageProvider | null | undefined>
  • removed: method r.isBrowserEnabled(): boolean | 0
  • removed: method r.isInSourceTestFile(code: string): boolean
  • removed: method r.isTargetFile(id: string, source?: string): Promise<boolean>
  • removed: method r.onAfterSetServer(fn: OnServerRestartHandler): void
  • removed: method r.onServerRestart(fn: OnServerRestartHandler): void
  • removed: method r.report<T extends keyof Reporter>(name: T, ...args: ArgumentsType$1<Reporter[T]>): Promise<void>
  • removed: method r.rerunFailed(): Promise<void>
  • removed: method r.rerunFiles(files?: string[], trigger?: string): Promise<void>
  • removed: method r.runFiles(paths: string[]): Promise<void>
  • removed: method r.setServer(options: UserConfig, server: ViteDevServer): Promise<void>
  • removed: method r.shouldKeepServer(): boolean
  • removed: method r.start(filters?: string[]): Promise<void>
  • removed: method r.typecheck(filters?: string[]): Promise<void>
  • removed: method r.updateSnapshot(files?: string[]): Promise<void>
  • removed: new L(...args: any[]): any
  • removed: property C.next: number
  • removed: property C.prev?: number
  • removed: property C.target: number
  • removed: property I.outputDiffLines?: number
  • removed: property I.outputDiffMaxLines?: number
  • removed: property I.outputDiffMaxSize?: number
  • removed: property I.outputTruncateLength?: number
  • removed: property O.code?: string
  • removed: property O.exports?: any
  • removed: property O.promise?: Promise<any>
  • removed: property P.teardown: (global: any) => Awaitable<void>
  • removed: property Q.name: string
  • removed: property S.added: number
  • removed: property S.fileDeleted: boolean
  • removed: property S.filepath: string
  • removed: property S.matched: number
  • removed: property S.unchecked: number
  • removed: property S.uncheckedKeys: Array<string>
  • removed: property S.unmatched: number
  • removed: property S.updated: number
  • removed: property Y.name: string
  • removed: property Z.allTestsRun?: boolean
  • removed: property a2.all?: boolean
  • removed: property a2.branches?: number
  • removed: property a2.clean?: boolean
  • removed: property a2.cleanOnRerun?: boolean
  • removed: property a2.enabled?: boolean
  • removed: property a2.exclude?: string[]
  • removed: property a2.extension?: string | string[]
  • removed: property a2.functions?: number
  • removed: property a2.include?: string[]
  • removed: property a2.lines?: number
  • removed: property a2.perFile?: boolean
  • removed: property a2.reporter?: Arrayable<CoverageReporter> | (CoverageReporter | [CoverageReporter] | CoverageReporterWithOptions)[]
  • removed: property a2.reportsDirectory?: string
  • removed: property a2.skipFull?: boolean
  • removed: property a2.statements?: number
  • removed: property a2.thresholdAutoUpdate?: boolean
  • removed: property a3.ignoreClassMethods?: string[]
  • removed: property a3.watermarks?: { statements?: [number, number]; functions?: [number, number]; branches?: [number, number]; lines?: [number, number] }
  • removed: property a4.100?: boolean
  • removed: property a4.allowExternal?: boolean
  • removed: property a4.excludeNodeModules?: boolean
  • removed: property a4.src?: string[]
  • removed: property a5.customProviderModule: string
  • removed: property a6.exclude?: string[]
  • removed: property a6.include?: string[]
  • removed: property a6.includeSource?: string[]
  • removed: property a6.outputFile?: string | (Partial<Record<BenchmarkBuiltinReporters, string>> & Record<string, string>)
  • removed: property a6.reporters?: Arrayable$1<BenchmarkBuiltinReporters | Reporter>
  • removed: property a7.meta: { benchmark: true; task?: Task$2; result?: TaskResult }
  • removed: property a8.name: string
  • removed: property a8.rank: number
  • removed: property f.root: string
  • removed: property f.targetAbsPath: string
  • removed: property m.allowJs?: boolean
  • removed: property m.checker: 'tsc' | 'vue-tsc' | (string & Record<never, never>)
  • removed: property m.exclude: string[]
  • removed: property m.ignoreSourceErrors?: boolean
  • removed: property m.include: string[]
  • removed: property m.tsconfig?: string
  • removed: property n.changed?: boolean | string
  • removed: property n.config?: string | false | undefined
  • removed: property n.dom?: boolean
  • removed: property n.mode?: string
  • removed: property n.related?: string[] | string
  • removed: property n.shard?: string
  • removed: property o.fetch: (id: string, environment: VitestEnvironment) => Promise<FetchResult>
  • removed: property o.getSourceMap: (id: string, force?: boolean) => Promise<RawSourceMap$1 | undefined>
  • removed: property o.onAfterSuiteRun: (meta: AfterSuiteRunMeta) => void
  • removed: property o.onCollected: (files: File[]) => void
  • removed: property o.onFinished: (files: File[], errors?: unknown[]) => void
  • removed: property o.onPathsCollected: (paths: string[]) => void
  • removed: property o.onTaskUpdate: (pack: TaskResultPack[]) => void
  • removed: property o.onUnhandledError: (err: unknown, type: string) => void
  • removed: property o.onUserConsoleLog: (log: UserConsoleLog) => void
  • removed: property o.onWorkerExit: (error: unknown, code?: number) => void
  • removed: property o.resolveId: (id: string, importer: string | undefined, environment: VitestEnvironment) => Promise<ViteNodeResolveId | null>
  • removed: property o.resolveSnapshotPath: (testPath: string) => string
  • removed: property o.snapshotSaved: (snapshot: SnapshotResult) => void
  • removed: property p.name: VitestEnvironment
  • removed: property p.options: EnvironmentOptions | null
  • removed: property q.environment: ContextTestEnvironment
  • removed: property q.files: string[]
  • removed: property q.invalidates?: string[]
  • removed: property r.browser: ViteDevServer
  • removed: property r.browserProvider: BrowserProvider | undefined
  • removed: property r.cache: VitestCache
  • removed: property r.changedTests: Set<string>
  • removed: property r.closingPromise?: Promise<void>
  • removed: property r.config: ResolvedConfig
  • removed: property r.configOverride: Partial<ResolvedConfig> | undefined
  • removed: property r.coverageProvider: CoverageProvider | null | undefined
  • removed: property r.filenamePattern?: string
  • removed: property r.invalidates: Set<string>
  • removed: property r.isFirstRun: boolean
  • removed: property r.logger: Logger
  • removed: property r.pool: ProcessPool | undefined
  • removed: property r.reporters: Reporter[]
  • removed: property r.restartsCount: number
  • removed: property r.runner: ViteNodeRunner
  • removed: property r.runningPromise?: Promise<void>
  • removed: property r.server: ViteDevServer
  • removed: property r.snapshot: SnapshotManager
  • removed: property r.state: StateManager
  • removed: property r.typechecker: Typechecker | undefined
  • removed: property r.vitenode: VitestServer
  • removed: property u.expand?: boolean
  • removed: property u.resolveSnapshotPath?: (path: string, extension: string) => string
  • removed: property u.snapshotFormat?: OptionsReceived
  • removed: property u.updateSnapshot: SnapshotUpdateState
  • removed: property v.error?: Error
  • removed: property v.inlineSnapshot?: string
  • removed: property v.isInline: boolean
  • removed: property v.key?: string
  • removed: property v.received: unknown
  • removed: property v.testName: string
  • removed: property w.filePath: string
  • removed: property w.keys: Array<string>
  • removed: property x.added: number
  • removed: property x.didUpdate: boolean
  • removed: property x.failure: boolean
  • removed: property x.filesAdded: number
  • removed: property x.filesRemoved: number
  • removed: property x.filesRemovedList: Array<string>
  • removed: property x.filesUnmatched: number
  • removed: property x.filesUpdated: number
  • removed: property x.matched: number
  • removed: property x.total: number
  • removed: property x.unchecked: number
  • removed: property x.uncheckedKeysByFile: Array<UncheckedSnapshot>
  • removed: property x.unmatched: number
  • removed: property x.updated: number
  • removed: property z.config: ResolvedConfig
  • removed: property z.ctx: WorkerContext
  • removed: property z.current?: Test$2
  • removed: property z.environmentTeardownRun?: boolean
  • removed: property z.filepath?: string
  • removed: property z.mockMap: MockMap
  • removed: property z.moduleCache: ModuleCacheMap
  • removed: property z.rpc: BirpcReturn<RuntimeRPC>
  • removed: readonly property r.mode: VitestRunMode
  • removed: type H<T> = T extends (...args: infer U) => any ? U : never
  • removed: type K<T extends readonly any[]> = { -readonly [k in keyof T]: T[k] }
  • removed: type X = (reason?: string) => Promise<void> | void
  • removed: type a0<T extends Provider = Provider> = T extends 'istanbul' ? ({ provider: T } & CoverageIstanbulOptions) : T extends 'c8' ? ({ provider: T } & CoverageC8Options) : T extends 'custom' ? ({ provider:…
  • removed: type a1<T extends Provider = Provider> = CoverageOptions<T> & Required<Pick<CoverageOptions<T>, FieldsWithDefaultValues>> & { reporter: CoverageReporterWithOptions[] }
  • removed: type aa = () => any
  • removed: type d = Map<string, TscErrorInfo[]>
  • removed: type g = RootAndTarget & { rawErrsMap: RawErrsMap; openedDirs: Set<string>; lastActivePath?: string }
  • removed: type i = 'browser' | 'threads' | 'child_process'
  • removed: type s = Record<string, string>
  • removed: type t = 'all' | 'new' | 'none'
  • changed: interface a2 → interface a2 extends BaseCoverageOptions
  • changed: interface a3 extends BaseCoverageOptions → interface a3 extends Pick<BaseCoverageOptions, FieldsWithDefaultValues>
  • changed: interface a4 extends BaseCoverageOptions → interface a4
  • changed: interface a5 extends Pick<BaseCoverageOptions, FieldsWithDefaultValues> → interface a5 extends TaskCustom
  • changed: interface a6 → interface a6 extends TaskResult
  • changed: interface q → interface q extends InlineConfig
  • changed: property I.deps?: { experimentalOptimizer?: Omit<DepOptimizationConfig, 'disabled'> & { enabled: boolean }; external?: (string | RegExp)[]; inline?: (string | RegExp)[] | true; interopDefault?: boolean; fallbackCJS?: boolean; registerNodeLoader?: boolean } → property I.deps?: DepsOptions
  • changed: property I.sequence?: { sequencer?: TestSequencerConstructor; shuffle?: boolean; setupFiles?: SequenceSetupFiles; seed?: number; hooks?: SequenceHooks } → property I.sequence?: SequenceOptions
  • changed: property q.config: ResolvedConfig → property q.config?: string | false | undefined
  • changed: type $ = keyof ReportOptions → type $<T extends Provider = Provider> = CoverageOptions<T> & Required<Pick<CoverageOptions<T>, FieldsWithDefaultValues>> & { reporter: CoverageReporterWithOptions[] }
  • changed: type D<T> = T | PromiseLike<T> → type D<T> = T extends (...args: infer U) => any ? U : never
  • changed: type G<T> = T | Array<T> → type G<T extends readonly any[]> = { -readonly [k in keyof T]: T[k] }
  • changed: type a9 = (this: Bench) => Promise<void> | void → type a9 = Map<string, Record<string, string | null | MockFactory>>
  • changed: type ab = Map<string, Record<string, string | null | MockFactory>> → type ab = [project: WorkspaceProject, testFile: string]
  • changed: type e = { [key in keyof CollectLineNumbers]: string } → type e = Map<string, TscErrorInfo[]>
  • changed: type h = 'node' | 'jsdom' | 'happy-dom' | 'edge-runtime' → type h = { [key in keyof CollectLineNumbers]: string }
  • changed: type j = 'stable' | 'scoped' | 'non-scoped' → type j = RootAndTarget & { rawErrsMap: RawErrsMap; openedDirs: Set<string>; lastActivePath?: string }
  • changed: type k = Pick<CommonServerOptions, 'port' | 'strictPort' | 'host'> → type k = 'node' | 'jsdom' | 'happy-dom' | 'edge-runtime'
  • changed: type l = 'test' | 'benchmark' | 'typecheck' → type l = 'browser' | 'threads' | 'child_process'
  • changed: type y = (id: string, importer?: string) => Promise<ViteNodeResolveId | null> → type y<T> = T | PromiseLike<T>
  • added: class ac
  • added: class v
  • added: const g: Vi.ExpectStatic
  • added: constructor ac(path: string | number, ctx: Vitest)
  • added: constructor v(mode: VitestRunMode)
  • added: function d(test?: Test$2): Vi.ExpectStatic
  • added: function s(config: ChaiConfig): void
  • added: get ac.reporters(): Reporter[]
  • added: interface H
  • added: interface K
  • added: interface X
  • added: interface a0
  • added: interface a1 extends BaseCoverageOptions
  • added: interface aa
  • added: interface i
  • added: interface r
  • added: interface t
  • added: method O.setup(global: any, options: Record<string, any>): Awaitable<EnvironmentReturn>
  • added: method S.clean(clean?: boolean): void | Promise<void>
  • added: method S.initialize(ctx: Vitest): Promise<void> | void
  • added: method S.onAfterSuiteRun(meta: AfterSuiteRunMeta): void | Promise<void>
  • added: method S.onFileTransform?(sourceCode: string, id: string, pluginCtx: TransformPluginContext): TransformResult | Promise<TransformResult>
  • added: method S.reportCoverage(reportContext?: ReportContext): void | Promise<void>
  • added: method S.resolveOptions(): ResolvedCoverageOptions
  • added: method Y.getProvider(): CoverageProvider | Promise<CoverageProvider>
  • added: method Y.startCoverage?(): unknown | Promise<unknown>
  • added: method Y.stopCoverage?(): unknown | Promise<unknown>
  • added: method Y.takeCoverage?(): unknown | Promise<unknown>
  • added: method aa.shard(files: WorkspaceSpec[]): Awaitable<WorkspaceSpec[]>
  • added: method aa.sort(files: WorkspaceSpec[]): Awaitable<WorkspaceSpec[]>
  • added: method ac.close(): Promise<unknown>
  • added: method ac.filterFiles(testFiles: string[], filters?: string[]): string[]
  • added: method ac.getName(): string
  • added: method ac.getSerializableConfig(): ResolvedConfig
  • added: method ac.globAllTestFiles(config: ResolvedConfig, cwd: string): Promise<string[]>
  • added: method ac.globFiles(include: string[], exclude: string[], cwd: string): Promise<string[]>
  • added: method ac.globTestFiles(filters?: string[]): Promise<string[]>
  • added: method ac.initBrowserProvider(): Promise<void>
  • added: method ac.initBrowserServer(options: UserConfig): Promise<void>
  • added: method ac.isBrowserEnabled(): boolean | 0
  • added: method ac.isCore(): boolean
  • added: method ac.report<T extends keyof Reporter>(name: T, ...args: ArgumentsType$1<Reporter[T]>): Promise<void>
  • added: method ac.setServer(options: UserConfig, server: ViteDevServer, params?: InitializeServerOptions): Promise<void>
  • added: method ac.typecheck(filters?: string[]): Promise<void>
  • added: method v.changeFilenamePattern(pattern: string): Promise<void>
  • added: method v.changeNamePattern(pattern: string, files?: string[], trigger?: string): Promise<void>
  • added: method v.close(): Promise<void>
  • added: method v.exit(force?: boolean): Promise<void>
  • added: method v.filterTestsBySource(specs: WorkspaceSpec[]): Promise<WorkspaceSpec[]>
  • added: method v.getCoreWorkspaceProject(): WorkspaceProject
  • added: method v.getModuleProjects(id: string): WorkspaceProject[]
  • added: method v.getProjectsByTestFile(file: string): WorkspaceSpec[]
  • added: method v.globTestFiles(filters?: string[]): Promise<WorkspaceSpec[]>
  • added: method v.isInSourceTestFile(code: string): boolean
  • added: method v.onAfterSetServer(fn: OnServerRestartHandler): void
  • added: method v.onServerRestart(fn: OnServerRestartHandler): void
  • added: method v.report<T extends keyof Reporter>(name: T, ...args: ArgumentsType$1<Reporter[T]>): Promise<void>
  • added: method v.rerunFailed(): Promise<void>
  • added: method v.rerunFiles(files?: string[], trigger?: string): Promise<void>
  • added: method v.runFiles(paths: WorkspaceSpec[]): Promise<void>
  • added: method v.setServer(options: UserConfig, server: ViteDevServer, cliOptions: UserConfig): Promise<void>
  • added: method v.shouldKeepServer(): boolean
  • added: method v.start(filters?: string[]): Promise<void>
  • added: method v.typecheck(filters?: string[]): Promise<void[]>
  • added: method v.updateSnapshot(files?: string[]): Promise<void>
  • added: new H(...args: any[]): any
  • added: property I.chaiConfig?: ChaiConfig
  • added: property K.code?: string
  • added: property K.exports?: any
  • added: property K.promise?: Promise<any>
  • added: property L.teardown: (global: any) => Awaitable<void>
  • added: property O.name: string
  • added: property S.name: string
  • added: property X.allTestsRun?: boolean
  • added: property a0.all?: boolean
  • added: property a0.branches?: number
  • added: property a0.clean?: boolean
  • added: property a0.cleanOnRerun?: boolean
  • added: property a0.enabled?: boolean
  • added: property a0.exclude?: string[]
  • added: property a0.extension?: string | string[]
  • added: property a0.functions?: number
  • added: property a0.include?: string[]
  • added: property a0.lines?: number
  • added: property a0.perFile?: boolean
  • added: property a0.reporter?: Arrayable<CoverageReporter> | (CoverageReporter | [CoverageReporter] | CoverageReporterWithOptions)[]
  • added: property a0.reportsDirectory?: string
  • added: property a0.skipFull?: boolean
  • added: property a0.statements?: number
  • added: property a0.thresholdAutoUpdate?: boolean
  • added: property a1.ignoreClassMethods?: string[]
  • added: property a1.watermarks?: { statements?: [number, number]; functions?: [number, number]; branches?: [number, number]; lines?: [number, number] }
  • added: property a2.100?: boolean
  • added: property a2.allowExternal?: boolean
  • added: property a2.excludeNodeModules?: boolean
  • added: property a2.src?: string[]
  • added: property a3.customProviderModule: string
  • added: property a4.exclude?: string[]
  • added: property a4.include?: string[]
  • added: property a4.includeSource?: string[]
  • added: property a4.outputFile?: string | (Partial<Record<BenchmarkBuiltinReporters, string>> & Record<string, string>)
  • added: property a4.reporters?: Arrayable$1<BenchmarkBuiltinReporters | Reporter>
  • added: property a5.meta: { benchmark: true; task?: Task$2; result?: TaskResult }
  • added: property a6.name: string
  • added: property a6.rank: number
  • added: property ac.browser: ViteDevServer
  • added: property ac.browserProvider: BrowserProvider | undefined
  • added: property ac.closingPromise: Promise<unknown> | undefined
  • added: property ac.config: ResolvedConfig
  • added: property ac.configOverride: Partial<ResolvedConfig> | undefined
  • added: property ac.ctx: Vitest
  • added: property ac.path: string | number
  • added: property ac.runner: ViteNodeRunner
  • added: property ac.server: ViteDevServer
  • added: property ac.typechecker?: Typechecker
  • added: property ac.vitenode: VitestServer
  • added: property f.next: number
  • added: property f.prev?: number
  • added: property f.target: number
  • added: property i.root: string
  • added: property i.targetAbsPath: string
  • added: property p.allowJs?: boolean
  • added: property p.checker: 'tsc' | 'vue-tsc' | (string & Record<never, never>)
  • added: property p.exclude: string[]
  • added: property p.ignoreSourceErrors?: boolean
  • added: property p.include: string[]
  • added: property p.tsconfig?: string
  • added: property q.changed?: boolean | string
  • added: property q.dom?: boolean
  • added: property q.mode?: string
  • added: property q.related?: string[] | string
  • added: property q.shard?: string
  • added: property r.fetch: (id: string, environment: VitestEnvironment) => Promise<FetchResult>
  • added: property r.getSourceMap: (id: string, force?: boolean) => Promise<RawSourceMap$1 | undefined>
  • added: property r.onAfterSuiteRun: (meta: AfterSuiteRunMeta) => void
  • added: property r.onCollected: (files: File[]) => void
  • added: property r.onFinished: (files: File[], errors?: unknown[]) => void
  • added: property r.onPathsCollected: (paths: string[]) => void
  • added: property r.onTaskUpdate: (pack: TaskResultPack[]) => void
  • added: property r.onUnhandledError: (err: unknown, type: string) => void
  • added: property r.onUserConsoleLog: (log: UserConsoleLog) => void
  • added: property r.onWorkerExit: (error: unknown, code?: number) => void
  • added: property r.resolveId: (id: string, importer: string | undefined, environment: VitestEnvironment) => Promise<ViteNodeResolveId | null>
  • added: property r.resolveSnapshotPath: (testPath: string) => string
  • added: property r.snapshotSaved: (snapshot: SnapshotResult) => void
  • added: property t.name: VitestEnvironment
  • added: property t.options: EnvironmentOptions | null
  • added: property u.config: ResolvedConfig
  • added: property u.environment: ContextTestEnvironment
  • added: property u.files: string[]
  • added: property u.invalidates?: string[]
  • added: property v.browserProvider: BrowserProvider | undefined
  • added: property v.cache: VitestCache
  • added: property v.changedTests: Set<string>
  • added: property v.closingPromise?: Promise<void>
  • added: property v.config: ResolvedConfig
  • added: property v.configOverride: Partial<ResolvedConfig>
  • added: property v.coverageProvider: CoverageProvider | null | undefined
  • added: property v.filenamePattern?: string
  • added: property v.invalidates: Set<string>
  • added: property v.isFirstRun: boolean
  • added: property v.logger: Logger
  • added: property v.pool: ProcessPool | undefined
  • added: property v.projects: WorkspaceProject[]
  • added: property v.reporters: Reporter[]
  • added: property v.restartsCount: number
  • added: property v.runner: ViteNodeRunner
  • added: property v.runningPromise?: Promise<void>
  • added: property v.server: ViteDevServer
  • added: property v.snapshot: SnapshotManager
  • added: property v.state: StateManager
  • added: property v.vitenode: VitestServer
  • added: property x.config: ResolvedConfig
  • added: property x.ctx: WorkerContext
  • added: property x.current?: Test$2
  • added: property x.durations: { environment: number; prepare: number }
  • added: property x.environmentTeardownRun?: boolean
  • added: property x.filepath?: string
  • added: property x.mockMap: MockMap
  • added: property x.moduleCache: ModuleCacheMap
  • added: property x.rpc: BirpcReturn<RuntimeRPC>
  • added: readonly property v.mode: VitestRunMode
  • added: type C = Omit<Partial<typeof chai.config>, 'useProxy' | 'proxyExcludedKeys'>
  • added: type P = Omit<UserConfig, 'sequencer' | 'shard' | 'watch' | 'run' | 'cache' | 'update' | 'reporters' | 'outputFile' | 'maxThreads' | 'minThreads' | 'useAtomics' | 'tear…
  • added: type Q = (reason?: string) => Promise<void> | void
  • added: type Z = keyof ReportOptions
  • added: type _<T extends Provider = Provider> = T extends 'istanbul' ? ({ provider: T } & CoverageIstanbulOptions) : T extends 'c8' ? ({ provider: T } & CoverageC8Options) : T extends 'custom' ? ({ provider:…
  • added: type a7 = (this: Bench) => Promise<void> | void
  • added: type a8 = () => any
  • added: type m = 'stable' | 'scoped' | 'non-scoped'
  • added: type n = Pick<CommonServerOptions, 'port' | 'strictPort' | 'host'>
  • added: type o = 'test' | 'benchmark' | 'typecheck'
  • added: type w = (id: string, importer?: string) => Promise<ViteNodeResolveId | null>
  • added: type z<T> = T | Array<T>