UNPKG

14.2 kBTypeScriptView Raw
1/**
2 * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 */
7/// <reference types="node" />
8import type { ForegroundColor } from 'chalk';
9import type { ReportOptions } from 'istanbul-reports';
10import type { Arguments } from 'yargs';
11declare type CoverageProvider = 'babel' | 'v8';
12declare type Timers = 'real' | 'fake' | 'modern' | 'legacy';
13export declare type Path = string;
14export declare type Glob = string;
15export declare type HasteConfig = {
16 /** Whether to hash files using SHA-1. */
17 computeSha1?: boolean;
18 /** The platform to use as the default, e.g. 'ios'. */
19 defaultPlatform?: string | null;
20 /** Force use of Node's `fs` APIs rather than shelling out to `find` */
21 forceNodeFilesystemAPI?: boolean;
22 /**
23 * Whether to follow symlinks when crawling for files.
24 * This options cannot be used in projects which use watchman.
25 * Projects with `watchman` set to true will error if this option is set to true.
26 */
27 enableSymlinks?: boolean;
28 /** Path to a custom implementation of Haste. */
29 hasteImplModulePath?: string;
30 /** All platforms to target, e.g ['ios', 'android']. */
31 platforms?: Array<string>;
32 /** Whether to throw on error on module collision. */
33 throwOnModuleCollision?: boolean;
34 /** Custom HasteMap module */
35 hasteMapModulePath?: string;
36};
37export declare type CoverageReporterName = keyof ReportOptions;
38export declare type CoverageReporterWithOptions<K = CoverageReporterName> = K extends CoverageReporterName ? ReportOptions[K] extends never ? never : [K, Partial<ReportOptions[K]>] : never;
39export declare type CoverageReporters = Array<CoverageReporterName | CoverageReporterWithOptions>;
40export declare type ReporterConfig = [string, Record<string, unknown>];
41export declare type TransformerConfig = [string, Record<string, unknown>];
42export interface ConfigGlobals {
43 [K: string]: unknown;
44}
45export declare type DefaultOptions = {
46 automock: boolean;
47 bail: number;
48 cache: boolean;
49 cacheDirectory: Path;
50 changedFilesWithAncestor: boolean;
51 ci: boolean;
52 clearMocks: boolean;
53 collectCoverage: boolean;
54 coveragePathIgnorePatterns: Array<string>;
55 coverageReporters: Array<CoverageReporterName>;
56 coverageProvider: CoverageProvider;
57 detectLeaks: boolean;
58 detectOpenHandles: boolean;
59 errorOnDeprecated: boolean;
60 expand: boolean;
61 extensionsToTreatAsEsm: Array<Path>;
62 forceCoverageMatch: Array<Glob>;
63 globals: ConfigGlobals;
64 haste: HasteConfig;
65 injectGlobals: boolean;
66 listTests: boolean;
67 maxConcurrency: number;
68 maxWorkers: number | string;
69 moduleDirectories: Array<string>;
70 moduleFileExtensions: Array<string>;
71 moduleNameMapper: Record<string, string | Array<string>>;
72 modulePathIgnorePatterns: Array<string>;
73 noStackTrace: boolean;
74 notify: boolean;
75 notifyMode: NotifyMode;
76 passWithNoTests: boolean;
77 prettierPath: string;
78 resetMocks: boolean;
79 resetModules: boolean;
80 restoreMocks: boolean;
81 roots: Array<Path>;
82 runTestsByPath: boolean;
83 runner: string;
84 setupFiles: Array<Path>;
85 setupFilesAfterEnv: Array<Path>;
86 skipFilter: boolean;
87 slowTestThreshold: number;
88 snapshotSerializers: Array<Path>;
89 testEnvironment: string;
90 testEnvironmentOptions: Record<string, unknown>;
91 testFailureExitCode: string | number;
92 testLocationInResults: boolean;
93 testMatch: Array<Glob>;
94 testPathIgnorePatterns: Array<string>;
95 testRegex: Array<string>;
96 testRunner: string;
97 testSequencer: string;
98 testURL: string;
99 timers: Timers;
100 transformIgnorePatterns: Array<Glob>;
101 useStderr: boolean;
102 watch: boolean;
103 watchPathIgnorePatterns: Array<string>;
104 watchman: boolean;
105};
106export declare type DisplayName = {
107 name: string;
108 color: typeof ForegroundColor;
109};
110export declare type InitialOptionsWithRootDir = InitialOptions & Required<Pick<InitialOptions, 'rootDir'>>;
111export declare type InitialProjectOptions = Pick<InitialOptions & {
112 cwd?: string;
113}, keyof ProjectConfig>;
114export declare type InitialOptions = Partial<{
115 automock: boolean;
116 bail: boolean | number;
117 cache: boolean;
118 cacheDirectory: Path;
119 ci: boolean;
120 clearMocks: boolean;
121 changedFilesWithAncestor: boolean;
122 changedSince: string;
123 collectCoverage: boolean;
124 collectCoverageFrom: Array<Glob>;
125 collectCoverageOnlyFrom: {
126 [key: string]: boolean;
127 };
128 coverageDirectory: string;
129 coveragePathIgnorePatterns: Array<string>;
130 coverageProvider: CoverageProvider;
131 coverageReporters: CoverageReporters;
132 coverageThreshold: CoverageThreshold;
133 dependencyExtractor: string;
134 detectLeaks: boolean;
135 detectOpenHandles: boolean;
136 displayName: string | DisplayName;
137 expand: boolean;
138 extensionsToTreatAsEsm: Array<Path>;
139 extraGlobals: Array<string>;
140 filter: Path;
141 findRelatedTests: boolean;
142 forceCoverageMatch: Array<Glob>;
143 forceExit: boolean;
144 json: boolean;
145 globals: ConfigGlobals;
146 globalSetup: string | null | undefined;
147 globalTeardown: string | null | undefined;
148 haste: HasteConfig;
149 injectGlobals: boolean;
150 reporters: Array<string | ReporterConfig>;
151 logHeapUsage: boolean;
152 lastCommit: boolean;
153 listTests: boolean;
154 maxConcurrency: number;
155 maxWorkers: number | string;
156 moduleDirectories: Array<string>;
157 moduleFileExtensions: Array<string>;
158 moduleLoader: Path;
159 moduleNameMapper: {
160 [key: string]: string | Array<string>;
161 };
162 modulePathIgnorePatterns: Array<string>;
163 modulePaths: Array<string>;
164 name: string;
165 noStackTrace: boolean;
166 notify: boolean;
167 notifyMode: string;
168 onlyChanged: boolean;
169 onlyFailures: boolean;
170 outputFile: Path;
171 passWithNoTests: boolean;
172 preprocessorIgnorePatterns: Array<Glob>;
173 preset: string | null | undefined;
174 prettierPath: string | null | undefined;
175 projects: Array<Glob | InitialProjectOptions>;
176 replname: string | null | undefined;
177 resetMocks: boolean;
178 resetModules: boolean;
179 resolver: Path | null | undefined;
180 restoreMocks: boolean;
181 rootDir: Path;
182 roots: Array<Path>;
183 runner: string;
184 runTestsByPath: boolean;
185 scriptPreprocessor: string;
186 setupFiles: Array<Path>;
187 setupTestFrameworkScriptFile: Path;
188 setupFilesAfterEnv: Array<Path>;
189 silent: boolean;
190 skipFilter: boolean;
191 skipNodeResolution: boolean;
192 slowTestThreshold: number;
193 snapshotResolver: Path;
194 snapshotSerializers: Array<Path>;
195 errorOnDeprecated: boolean;
196 testEnvironment: string;
197 testEnvironmentOptions: Record<string, unknown>;
198 testFailureExitCode: string | number;
199 testLocationInResults: boolean;
200 testMatch: Array<Glob>;
201 testNamePattern: string;
202 testPathDirs: Array<Path>;
203 testPathIgnorePatterns: Array<string>;
204 testRegex: string | Array<string>;
205 testResultsProcessor: string;
206 testRunner: string;
207 testSequencer: string;
208 testURL: string;
209 testTimeout: number;
210 timers: Timers;
211 transform: {
212 [regex: string]: Path | TransformerConfig;
213 };
214 transformIgnorePatterns: Array<Glob>;
215 watchPathIgnorePatterns: Array<string>;
216 unmockedModulePathPatterns: Array<string>;
217 updateSnapshot: boolean;
218 useStderr: boolean;
219 verbose?: boolean;
220 watch: boolean;
221 watchAll: boolean;
222 watchman: boolean;
223 watchPlugins: Array<string | [string, Record<string, unknown>]>;
224}>;
225export declare type SnapshotUpdateState = 'all' | 'new' | 'none';
226declare type NotifyMode = 'always' | 'failure' | 'success' | 'change' | 'success-change' | 'failure-change';
227export declare type CoverageThresholdValue = {
228 branches?: number;
229 functions?: number;
230 lines?: number;
231 statements?: number;
232};
233declare type CoverageThreshold = {
234 [path: string]: CoverageThresholdValue;
235 global: CoverageThresholdValue;
236};
237export declare type GlobalConfig = {
238 bail: number;
239 changedSince?: string;
240 changedFilesWithAncestor: boolean;
241 collectCoverage: boolean;
242 collectCoverageFrom: Array<Glob>;
243 collectCoverageOnlyFrom?: {
244 [key: string]: boolean;
245 };
246 coverageDirectory: string;
247 coveragePathIgnorePatterns?: Array<string>;
248 coverageProvider: CoverageProvider;
249 coverageReporters: CoverageReporters;
250 coverageThreshold?: CoverageThreshold;
251 detectLeaks: boolean;
252 detectOpenHandles: boolean;
253 expand: boolean;
254 filter?: Path;
255 findRelatedTests: boolean;
256 forceExit: boolean;
257 json: boolean;
258 globalSetup?: string;
259 globalTeardown?: string;
260 lastCommit: boolean;
261 logHeapUsage: boolean;
262 listTests: boolean;
263 maxConcurrency: number;
264 maxWorkers: number;
265 noStackTrace: boolean;
266 nonFlagArgs: Array<string>;
267 noSCM?: boolean;
268 notify: boolean;
269 notifyMode: NotifyMode;
270 outputFile?: Path;
271 onlyChanged: boolean;
272 onlyFailures: boolean;
273 passWithNoTests: boolean;
274 projects: Array<Glob>;
275 replname?: string;
276 reporters?: Array<string | ReporterConfig>;
277 runTestsByPath: boolean;
278 rootDir: Path;
279 silent?: boolean;
280 skipFilter: boolean;
281 errorOnDeprecated: boolean;
282 testFailureExitCode: number;
283 testNamePattern?: string;
284 testPathPattern: string;
285 testResultsProcessor?: string;
286 testSequencer: string;
287 testTimeout?: number;
288 updateSnapshot: SnapshotUpdateState;
289 useStderr: boolean;
290 verbose?: boolean;
291 watch: boolean;
292 watchAll: boolean;
293 watchman: boolean;
294 watchPlugins?: Array<{
295 path: string;
296 config: Record<string, unknown>;
297 }> | null;
298};
299export declare type ProjectConfig = {
300 automock: boolean;
301 cache: boolean;
302 cacheDirectory: Path;
303 clearMocks: boolean;
304 coveragePathIgnorePatterns: Array<string>;
305 cwd: Path;
306 dependencyExtractor?: string;
307 detectLeaks: boolean;
308 detectOpenHandles: boolean;
309 displayName?: DisplayName;
310 errorOnDeprecated: boolean;
311 extensionsToTreatAsEsm: Array<Path>;
312 extraGlobals: Array<keyof NodeJS.Global>;
313 filter?: Path;
314 forceCoverageMatch: Array<Glob>;
315 globalSetup?: string;
316 globalTeardown?: string;
317 globals: ConfigGlobals;
318 haste: HasteConfig;
319 injectGlobals: boolean;
320 moduleDirectories: Array<string>;
321 moduleFileExtensions: Array<string>;
322 moduleLoader?: Path;
323 moduleNameMapper: Array<[string, string]>;
324 modulePathIgnorePatterns: Array<string>;
325 modulePaths?: Array<string>;
326 name: string;
327 prettierPath: string;
328 resetMocks: boolean;
329 resetModules: boolean;
330 resolver?: Path;
331 restoreMocks: boolean;
332 rootDir: Path;
333 roots: Array<Path>;
334 runner: string;
335 setupFiles: Array<Path>;
336 setupFilesAfterEnv: Array<Path>;
337 skipFilter: boolean;
338 skipNodeResolution?: boolean;
339 slowTestThreshold: number;
340 snapshotResolver?: Path;
341 snapshotSerializers: Array<Path>;
342 testEnvironment: string;
343 testEnvironmentOptions: Record<string, unknown>;
344 testMatch: Array<Glob>;
345 testLocationInResults: boolean;
346 testPathIgnorePatterns: Array<string>;
347 testRegex: Array<string | RegExp>;
348 testRunner: string;
349 testURL: string;
350 timers: Timers;
351 transform: Array<[string, Path, Record<string, unknown>]>;
352 transformIgnorePatterns: Array<Glob>;
353 watchPathIgnorePatterns: Array<string>;
354 unmockedModulePathPatterns?: Array<string>;
355};
356export declare type Argv = Arguments<Partial<{
357 all: boolean;
358 automock: boolean;
359 bail: boolean | number;
360 cache: boolean;
361 cacheDirectory: string;
362 changedFilesWithAncestor: boolean;
363 changedSince: string;
364 ci: boolean;
365 clearCache: boolean;
366 clearMocks: boolean;
367 collectCoverage: boolean;
368 collectCoverageFrom: string;
369 collectCoverageOnlyFrom: Array<string>;
370 color: boolean;
371 colors: boolean;
372 config: string;
373 coverage: boolean;
374 coverageDirectory: string;
375 coveragePathIgnorePatterns: Array<string>;
376 coverageReporters: Array<string>;
377 coverageThreshold: string;
378 debug: boolean;
379 env: string;
380 expand: boolean;
381 findRelatedTests: boolean;
382 forceExit: boolean;
383 globals: string;
384 globalSetup: string | null | undefined;
385 globalTeardown: string | null | undefined;
386 haste: string;
387 init: boolean;
388 injectGlobals: boolean;
389 json: boolean;
390 lastCommit: boolean;
391 logHeapUsage: boolean;
392 maxWorkers: number | string;
393 moduleDirectories: Array<string>;
394 moduleFileExtensions: Array<string>;
395 moduleNameMapper: string;
396 modulePathIgnorePatterns: Array<string>;
397 modulePaths: Array<string>;
398 noStackTrace: boolean;
399 notify: boolean;
400 notifyMode: string;
401 onlyChanged: boolean;
402 onlyFailures: boolean;
403 outputFile: string;
404 preset: string | null | undefined;
405 projects: Array<string>;
406 prettierPath: string | null | undefined;
407 resetMocks: boolean;
408 resetModules: boolean;
409 resolver: string | null | undefined;
410 restoreMocks: boolean;
411 rootDir: string;
412 roots: Array<string>;
413 runInBand: boolean;
414 selectProjects: Array<string>;
415 setupFiles: Array<string>;
416 setupFilesAfterEnv: Array<string>;
417 showConfig: boolean;
418 silent: boolean;
419 snapshotSerializers: Array<string>;
420 testEnvironment: string;
421 testFailureExitCode: string | null | undefined;
422 testMatch: Array<string>;
423 testNamePattern: string;
424 testPathIgnorePatterns: Array<string>;
425 testPathPattern: Array<string>;
426 testRegex: string | Array<string>;
427 testResultsProcessor: string;
428 testRunner: string;
429 testSequencer: string;
430 testURL: string;
431 testTimeout: number | null | undefined;
432 timers: string;
433 transform: string;
434 transformIgnorePatterns: Array<string>;
435 unmockedModulePathPatterns: Array<string> | null | undefined;
436 updateSnapshot: boolean;
437 useStderr: boolean;
438 verbose: boolean;
439 version: boolean;
440 watch: boolean;
441 watchAll: boolean;
442 watchman: boolean;
443 watchPathIgnorePatterns: Array<string>;
444}>>;
445export {};