UNPKG

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