import { BaseReporter, Reporter, ReporterContext } from "@jest/reporters"; import { AggregatedResult, Test, TestContext } from "@jest/test-result"; import { TestWatcher } from "jest-watcher"; import { ChangedFiles } from "jest-changed-files"; import { TestPathPatternsExecutor } from "@jest/pattern"; import { Config } from "@jest/types"; import { TestRunnerContext } from "jest-runner"; //#region src/types.d.ts type Stats = { roots: number; testMatch: number; testPathIgnorePatterns: number; testRegex: number; testPathPatterns?: number; }; type Filter = (testPaths: Array) => Promise<{ filtered: Array; }>; //#endregion //#region src/SearchSource.d.ts type SearchResult = { noSCM?: boolean; stats?: Stats; collectCoverageFrom?: Set; tests: Array; total?: number; }; declare class SearchSource { private readonly _context; private _dependencyResolver; private readonly _testPathCases; constructor(context: TestContext); private _getOrBuildDependencyResolver; private _filterTestPathsWithStats; private _getAllTestPaths; isTestFilePath(path: string): boolean; findMatchingTests(testPathPatternsExecutor: TestPathPatternsExecutor): SearchResult; findRelatedTests(allPaths: Set, collectCoverage: boolean): Promise; findTestsByPaths(paths: Array): SearchResult; findRelatedTestsFromPattern(paths: Array, collectCoverage: boolean): Promise; findTestRelatedToChangedFiles(changedFilesInfo: ChangedFiles, collectCoverage: boolean): Promise; private _getTestPaths; filterPathsWin32(paths: Array): Array; getTestPaths(globalConfig: Config.GlobalConfig, projectConfig: Config.ProjectConfig, changedFiles?: ChangedFiles, filter?: Filter): Promise; findRelatedSourcesFromTestsInChangedFiles(changedFilesInfo: ChangedFiles): Promise>; } //#endregion //#region src/TestScheduler.d.ts type ReporterConstructor = new (globalConfig: Config.GlobalConfig, reporterConfig: Record, reporterContext: ReporterContext) => BaseReporter; type TestSchedulerContext = ReporterContext & TestRunnerContext; declare function createTestScheduler(globalConfig: Config.GlobalConfig, context: TestSchedulerContext): Promise; declare class TestScheduler { private readonly _context; private readonly _dispatcher; private readonly _globalConfig; constructor(globalConfig: Config.GlobalConfig, context: TestSchedulerContext); addReporter(reporter: Reporter): void; removeReporter(reporterConstructor: ReporterConstructor): void; scheduleTests(tests: Array, watcher: TestWatcher): Promise; private _partitionTests; _setupReporters(): Promise; private _addCustomReporter; private _bailIfNeeded; } //#endregion //#region src/cli/index.d.ts declare function runCLI(argv: Config.Argv, projects: Array): Promise<{ results: AggregatedResult; globalConfig: Config.GlobalConfig; }>; //#endregion //#region src/version.d.ts /** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ declare function getVersion(): string; //#endregion export { SearchSource, createTestScheduler, getVersion, runCLI };