diff --git a/packages/vitest/src/integrations/inject.ts b/packages/vitest/src/integrations/inject.ts index 57cc9cafde6b..1abdf0633e59 100644 --- a/packages/vitest/src/integrations/inject.ts +++ b/packages/vitest/src/integrations/inject.ts @@ -5,9 +5,9 @@ import { getWorkerState } from '../utils/global' * Gives access to injected context provided from the main thread. * This usually returns a value provided by `globalSetup` or an external library. */ -export function inject( +export function inject( key: T, ): ProvidedContext[T] { const workerState = getWorkerState() - return workerState.providedContext[key] + return workerState.providedContext[key] as ProvidedContext[T] } diff --git a/packages/vitest/src/node/core.ts b/packages/vitest/src/node/core.ts index dfad23e65356..d0ed0afeeef5 100644 --- a/packages/vitest/src/node/core.ts +++ b/packages/vitest/src/node/core.ts @@ -183,7 +183,7 @@ export class Vitest { } } - public provide(key: T, value: ProvidedContext[T]) { + public provide(key: T, value: ProvidedContext[T]) { this.getCoreWorkspaceProject().provide(key, value) } diff --git a/packages/vitest/src/node/globalSetup.ts b/packages/vitest/src/node/globalSetup.ts index 69ddb38402ed..310c8949770a 100644 --- a/packages/vitest/src/node/globalSetup.ts +++ b/packages/vitest/src/node/globalSetup.ts @@ -5,7 +5,7 @@ import type { ResolvedConfig } from '../types/config' export interface GlobalSetupContext { config: ResolvedConfig - provide: ( + provide: ( key: T, value: ProvidedContext[T] ) => void diff --git a/packages/vitest/src/node/workspace.ts b/packages/vitest/src/node/workspace.ts index 85a0386790f6..e2f5b8002f68 100644 --- a/packages/vitest/src/node/workspace.ts +++ b/packages/vitest/src/node/workspace.ts @@ -115,10 +115,10 @@ export class WorkspaceProject { return this.ctx.getCoreWorkspaceProject() === this } - provide = ( + provide( key: T, value: ProvidedContext[T], - ) => { + ) { try { structuredClone(value) } @@ -157,7 +157,7 @@ export class WorkspaceProject { for (const globalSetupFile of this._globalSetups) { const teardown = await globalSetupFile.setup?.({ - provide: this.provide, + provide: (key, value) => this.provide(key, value), config: this.config, }) if (teardown == null || !!globalSetupFile.teardown) {