You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

133 lines
5.2 KiB

2 months ago
/**
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import type { JestEnvironment } from '@jest/environment';
import type * as JestGlobals from '@jest/globals';
import type { SourceMapRegistry } from '@jest/source-map';
import type { V8CoverageResult } from '@jest/test-result';
import { CallerTransformOptions, ShouldInstrumentOptions, shouldInstrument } from '@jest/transform';
import type { Config, Global } from '@jest/types';
import HasteMap = require('jest-haste-map');
import Resolver = require('jest-resolve');
import { options as cliOptions } from './cli/args';
import type { Context as JestContext } from './types';
interface JestGlobals extends Global.TestFrameworkGlobals {
expect: typeof JestGlobals.expect;
}
declare type HasteMapOptions = {
console?: Console;
maxWorkers: number;
resetCache: boolean;
watch?: boolean;
watchman: boolean;
};
interface InternalModuleOptions extends Required<CallerTransformOptions> {
isInternalModule: boolean;
}
declare namespace Runtime {
type Context = JestContext;
type RuntimeType = Runtime;
}
declare class Runtime {
private _cacheFS;
private _config;
private _coverageOptions;
private _currentlyExecutingModulePath;
private _environment;
private _explicitShouldMock;
private _fakeTimersImplementation;
private _internalModuleRegistry;
private _isCurrentlyExecutingManualMock;
private _mainModule;
private _mockFactories;
private _mockMetaDataCache;
private _mockRegistry;
private _isolatedMockRegistry;
private _moduleMocker;
private _isolatedModuleRegistry;
private _moduleRegistry;
private _esmoduleRegistry;
private _testPath;
private _resolver;
private _shouldAutoMock;
private _shouldMockModuleCache;
private _shouldUnmockTransitiveDependenciesCache;
private _sourceMapRegistry;
private _scriptTransformer;
private _fileTransforms;
private _v8CoverageInstrumenter;
private _v8CoverageResult;
private _transitiveShouldMock;
private _unmockList;
private _virtualMocks;
private _moduleImplementation?;
private jestObjectCaches;
private jestGlobals?;
constructor(config: Config.ProjectConfig, environment: JestEnvironment, resolver: Resolver, cacheFS?: Record<string, string>, coverageOptions?: ShouldInstrumentOptions, testPath?: Config.Path);
static shouldInstrument: typeof shouldInstrument;
static createContext(config: Config.ProjectConfig, options: {
console?: Console;
maxWorkers: number;
watch?: boolean;
watchman: boolean;
}): Promise<JestContext>;
static createHasteMap(config: Config.ProjectConfig, options?: HasteMapOptions): HasteMap;
static createResolver(config: Config.ProjectConfig, moduleMap: HasteMap.ModuleMap): Resolver;
static runCLI(args?: Config.Argv, info?: Array<string>): Promise<void>;
static getCLIOptions(): typeof cliOptions;
unstable_shouldLoadAsEsm: typeof import("jest-resolve/build/shouldLoadAsEsm").default;
private loadEsmModule;
private linkModules;
unstable_importModule(from: Config.Path, moduleName?: string): Promise<void>;
private loadCjsAsEsm;
requireModule<T = unknown>(from: Config.Path, moduleName?: string, options?: InternalModuleOptions, isRequireActual?: boolean | null): T;
requireInternalModule<T = unknown>(from: Config.Path, to?: string): T;
requireActual<T = unknown>(from: Config.Path, moduleName: string): T;
requireMock<T = unknown>(from: Config.Path, moduleName: string): T;
private _loadModule;
private _getFullTransformationOptions;
requireModuleOrMock<T = unknown>(from: Config.Path, moduleName: string): T;
isolateModules(fn: () => void): void;
resetModules(): void;
collectV8Coverage(): Promise<void>;
stopCollectingV8Coverage(): Promise<void>;
getAllCoverageInfoCopy(): JestEnvironment['global']['__coverage__'];
getAllV8CoverageInfoCopy(): V8CoverageResult;
getSourceMapInfo(_coveredFiles: Set<string>): Record<string, string>;
getSourceMaps(): SourceMapRegistry;
setMock(from: string, moduleName: string, mockFactory: () => unknown, options?: {
virtual?: boolean;
}): void;
restoreAllMocks(): void;
resetAllMocks(): void;
clearAllMocks(): void;
teardown(): void;
private _resolveModule;
private _requireResolve;
private _requireResolvePaths;
private _execModule;
private transformFile;
private createScriptFromCode;
private _requireCoreModule;
private _importCoreModule;
private _getMockedNativeModule;
private _generateMock;
private _shouldMock;
private _createRequireImplementation;
private _createJestObjectFor;
private _logFormattedReferenceError;
private wrapCodeInModuleWrapper;
private constructModuleWrapperStart;
private constructInjectedModuleParameters;
private handleExecutionError;
private getGlobalsForCjs;
private getGlobalsForEsm;
private getGlobalsFromEnvironment;
private readFile;
setGlobalsForRuntime(globals: JestGlobals): void;
}
export = Runtime;