Add node modules and new code for release (#39)
Co-authored-by: tbarnes94 <tbarnes94@users.noreply.github.com>
This commit is contained in:
parent
a10d84bc2e
commit
7ad2aa66bb
7655 changed files with 1763577 additions and 14 deletions
21
node_modules/jest/LICENSE
generated
vendored
Normal file
21
node_modules/jest/LICENSE
generated
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) Facebook, Inc. and its affiliates.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
11
node_modules/jest/README.md
generated
vendored
Normal file
11
node_modules/jest/README.md
generated
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Jest
|
||||
|
||||
🃏 Delightful JavaScript Testing
|
||||
|
||||
- **👩🏻💻 Developer Ready**: Complete and ready to set-up JavaScript testing solution. Works out of the box for any React project.
|
||||
|
||||
- **🏃🏽 Instant Feedback**: Failed tests run first. Fast interactive mode can switch between running all tests or only test files related to changed files.
|
||||
|
||||
- **📸 Snapshot Testing**: Jest can [capture snapshots](https://jestjs.io/docs/snapshot-testing.html) of React trees or other serializable values to simplify UI testing.
|
||||
|
||||
Read More: https://jestjs.io/
|
8
node_modules/jest/build/jest.d.ts
generated
vendored
Normal file
8
node_modules/jest/build/jest.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
/**
|
||||
* 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.
|
||||
*/
|
||||
export { SearchSource, TestScheduler, TestWatcher, getVersion, runCLI, } from '@jest/core';
|
||||
export { run } from 'jest-cli';
|
61
node_modules/jest/build/jest.js
generated
vendored
Normal file
61
node_modules/jest/build/jest.js
generated
vendored
Normal file
|
@ -0,0 +1,61 @@
|
|||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, 'SearchSource', {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _core().SearchSource;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, 'TestScheduler', {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _core().TestScheduler;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, 'TestWatcher', {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _core().TestWatcher;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, 'getVersion', {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _core().getVersion;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, 'runCLI', {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _core().runCLI;
|
||||
}
|
||||
});
|
||||
Object.defineProperty(exports, 'run', {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _jestCli().run;
|
||||
}
|
||||
});
|
||||
|
||||
function _core() {
|
||||
const data = require('@jest/core');
|
||||
|
||||
_core = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _jestCli() {
|
||||
const data = require('jest-cli');
|
||||
|
||||
_jestCli = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
21
node_modules/jest/node_modules/@jest/types/LICENSE
generated
vendored
Normal file
21
node_modules/jest/node_modules/@jest/types/LICENSE
generated
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) Facebook, Inc. and its affiliates.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
187
node_modules/jest/node_modules/@jest/types/build/Circus.d.ts
generated
vendored
Normal file
187
node_modules/jest/node_modules/@jest/types/build/Circus.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,187 @@
|
|||
/**
|
||||
* 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.
|
||||
*/
|
||||
/// <reference types="node" />
|
||||
import type * as Global from './Global';
|
||||
declare type Process = NodeJS.Process;
|
||||
export declare type DoneFn = Global.DoneFn;
|
||||
export declare type BlockFn = Global.BlockFn;
|
||||
export declare type BlockName = Global.BlockName;
|
||||
export declare type BlockMode = void | 'skip' | 'only' | 'todo';
|
||||
export declare type TestMode = BlockMode;
|
||||
export declare type TestName = Global.TestName;
|
||||
export declare type TestFn = Global.TestFn;
|
||||
export declare type HookFn = Global.HookFn;
|
||||
export declare type AsyncFn = TestFn | HookFn;
|
||||
export declare type SharedHookType = 'afterAll' | 'beforeAll';
|
||||
export declare type HookType = SharedHookType | 'afterEach' | 'beforeEach';
|
||||
export declare type TestContext = Record<string, any>;
|
||||
export declare type Exception = any;
|
||||
export declare type FormattedError = string;
|
||||
export declare type Hook = {
|
||||
asyncError: Error;
|
||||
fn: HookFn;
|
||||
type: HookType;
|
||||
parent: DescribeBlock;
|
||||
timeout: number | undefined | null;
|
||||
};
|
||||
export interface EventHandler {
|
||||
(event: AsyncEvent, state: State): void | Promise<void>;
|
||||
(event: SyncEvent, state: State): void;
|
||||
}
|
||||
export declare type Event = SyncEvent | AsyncEvent;
|
||||
export declare type SyncEvent = {
|
||||
asyncError: Error;
|
||||
mode: BlockMode;
|
||||
name: 'start_describe_definition';
|
||||
blockName: BlockName;
|
||||
} | {
|
||||
mode: BlockMode;
|
||||
name: 'finish_describe_definition';
|
||||
blockName: BlockName;
|
||||
} | {
|
||||
asyncError: Error;
|
||||
name: 'add_hook';
|
||||
hookType: HookType;
|
||||
fn: HookFn;
|
||||
timeout: number | undefined;
|
||||
} | {
|
||||
asyncError: Error;
|
||||
name: 'add_test';
|
||||
testName: TestName;
|
||||
fn?: TestFn;
|
||||
mode?: TestMode;
|
||||
timeout: number | undefined;
|
||||
} | {
|
||||
name: 'error';
|
||||
error: Exception;
|
||||
};
|
||||
export declare type AsyncEvent = {
|
||||
name: 'setup';
|
||||
testNamePattern?: string;
|
||||
parentProcess: Process;
|
||||
} | {
|
||||
name: 'include_test_location_in_result';
|
||||
} | {
|
||||
name: 'hook_start';
|
||||
hook: Hook;
|
||||
} | {
|
||||
name: 'hook_success';
|
||||
describeBlock?: DescribeBlock;
|
||||
test?: TestEntry;
|
||||
hook: Hook;
|
||||
} | {
|
||||
name: 'hook_failure';
|
||||
error: string | Exception;
|
||||
describeBlock?: DescribeBlock;
|
||||
test?: TestEntry;
|
||||
hook: Hook;
|
||||
} | {
|
||||
name: 'test_fn_start';
|
||||
test: TestEntry;
|
||||
} | {
|
||||
name: 'test_fn_success';
|
||||
test: TestEntry;
|
||||
} | {
|
||||
name: 'test_fn_failure';
|
||||
error: Exception;
|
||||
test: TestEntry;
|
||||
} | {
|
||||
name: 'test_retry';
|
||||
test: TestEntry;
|
||||
} | {
|
||||
name: 'test_start';
|
||||
test: TestEntry;
|
||||
} | {
|
||||
name: 'test_skip';
|
||||
test: TestEntry;
|
||||
} | {
|
||||
name: 'test_todo';
|
||||
test: TestEntry;
|
||||
} | {
|
||||
name: 'test_done';
|
||||
test: TestEntry;
|
||||
} | {
|
||||
name: 'run_describe_start';
|
||||
describeBlock: DescribeBlock;
|
||||
} | {
|
||||
name: 'run_describe_finish';
|
||||
describeBlock: DescribeBlock;
|
||||
} | {
|
||||
name: 'run_start';
|
||||
} | {
|
||||
name: 'run_finish';
|
||||
} | {
|
||||
name: 'teardown';
|
||||
};
|
||||
export declare type MatcherResults = {
|
||||
actual: unknown;
|
||||
expected: unknown;
|
||||
name: string;
|
||||
pass: boolean;
|
||||
};
|
||||
export declare type TestStatus = 'skip' | 'done' | 'todo';
|
||||
export declare type TestResult = {
|
||||
duration?: number | null;
|
||||
errors: Array<FormattedError>;
|
||||
errorsDetailed: Array<MatcherResults | unknown>;
|
||||
invocations: number;
|
||||
status: TestStatus;
|
||||
location?: {
|
||||
column: number;
|
||||
line: number;
|
||||
} | null;
|
||||
testPath: Array<TestName | BlockName>;
|
||||
};
|
||||
export declare type RunResult = {
|
||||
unhandledErrors: Array<FormattedError>;
|
||||
testResults: TestResults;
|
||||
};
|
||||
export declare type TestResults = Array<TestResult>;
|
||||
export declare type GlobalErrorHandlers = {
|
||||
uncaughtException: Array<(exception: Exception) => void>;
|
||||
unhandledRejection: Array<(exception: Exception, promise: Promise<any>) => void>;
|
||||
};
|
||||
export declare type State = {
|
||||
currentDescribeBlock: DescribeBlock;
|
||||
currentlyRunningTest?: TestEntry | null;
|
||||
expand?: boolean;
|
||||
hasFocusedTests: boolean;
|
||||
hasStarted: boolean;
|
||||
originalGlobalErrorHandlers?: GlobalErrorHandlers;
|
||||
parentProcess: Process | null;
|
||||
rootDescribeBlock: DescribeBlock;
|
||||
testNamePattern?: RegExp | null;
|
||||
testTimeout: number;
|
||||
unhandledErrors: Array<Exception>;
|
||||
includeTestLocationInResult: boolean;
|
||||
};
|
||||
export declare type DescribeBlock = {
|
||||
type: 'describeBlock';
|
||||
children: Array<DescribeBlock | TestEntry>;
|
||||
hooks: Array<Hook>;
|
||||
mode: BlockMode;
|
||||
name: BlockName;
|
||||
parent?: DescribeBlock;
|
||||
/** @deprecated Please get from `children` array instead */
|
||||
tests: Array<TestEntry>;
|
||||
};
|
||||
export declare type TestError = Exception | [Exception | undefined, Exception];
|
||||
export declare type TestEntry = {
|
||||
type: 'test';
|
||||
asyncError: Exception;
|
||||
errors: Array<TestError>;
|
||||
fn?: TestFn;
|
||||
invocations: number;
|
||||
mode: TestMode;
|
||||
name: TestName;
|
||||
parent: DescribeBlock;
|
||||
startedAt?: number | null;
|
||||
duration?: number | null;
|
||||
status?: TestStatus | null;
|
||||
timeout?: number;
|
||||
};
|
||||
export {};
|
1
node_modules/jest/node_modules/@jest/types/build/Circus.js
generated
vendored
Normal file
1
node_modules/jest/node_modules/@jest/types/build/Circus.js
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
'use strict';
|
421
node_modules/jest/node_modules/@jest/types/build/Config.d.ts
generated
vendored
Normal file
421
node_modules/jest/node_modules/@jest/types/build/Config.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,421 @@
|
|||
/**
|
||||
* 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.
|
||||
*/
|
||||
/// <reference types="node" />
|
||||
import type { Arguments } from 'yargs';
|
||||
import type { ReportOptions } from 'istanbul-reports';
|
||||
import type { ForegroundColor } from 'chalk';
|
||||
declare type CoverageProvider = 'babel' | 'v8';
|
||||
export declare type Path = string;
|
||||
export declare type Glob = string;
|
||||
export declare type HasteConfig = {
|
||||
computeSha1?: boolean;
|
||||
defaultPlatform?: string | null;
|
||||
hasteImplModulePath?: string;
|
||||
platforms?: Array<string>;
|
||||
throwOnModuleCollision?: boolean;
|
||||
};
|
||||
export declare type CoverageReporterName = keyof ReportOptions;
|
||||
export declare type CoverageReporterWithOptions<K = CoverageReporterName> = K extends CoverageReporterName ? ReportOptions[K] extends never ? never : [K, Partial<ReportOptions[K]>] : never;
|
||||
export declare type CoverageReporters = Array<CoverageReporterName | CoverageReporterWithOptions>;
|
||||
export declare type ReporterConfig = [string, Record<string, unknown>];
|
||||
export declare type TransformerConfig = [string, Record<string, unknown>];
|
||||
export interface ConfigGlobals {
|
||||
[K: string]: unknown;
|
||||
}
|
||||
export declare type DefaultOptions = {
|
||||
automock: boolean;
|
||||
bail: number;
|
||||
cache: boolean;
|
||||
cacheDirectory: Path;
|
||||
changedFilesWithAncestor: boolean;
|
||||
clearMocks: boolean;
|
||||
collectCoverage: boolean;
|
||||
coveragePathIgnorePatterns: Array<string>;
|
||||
coverageReporters: Array<CoverageReporterName>;
|
||||
coverageProvider: CoverageProvider;
|
||||
errorOnDeprecated: boolean;
|
||||
expand: boolean;
|
||||
forceCoverageMatch: Array<Glob>;
|
||||
globals: ConfigGlobals;
|
||||
haste: HasteConfig;
|
||||
maxConcurrency: number;
|
||||
maxWorkers: number | string;
|
||||
moduleDirectories: Array<string>;
|
||||
moduleFileExtensions: Array<string>;
|
||||
moduleNameMapper: Record<string, string | Array<string>>;
|
||||
modulePathIgnorePatterns: Array<string>;
|
||||
noStackTrace: boolean;
|
||||
notify: boolean;
|
||||
notifyMode: NotifyMode;
|
||||
prettierPath: string;
|
||||
resetMocks: boolean;
|
||||
resetModules: boolean;
|
||||
restoreMocks: boolean;
|
||||
roots: Array<Path>;
|
||||
runTestsByPath: boolean;
|
||||
runner: 'jest-runner';
|
||||
setupFiles: Array<Path>;
|
||||
setupFilesAfterEnv: Array<Path>;
|
||||
skipFilter: boolean;
|
||||
slowTestThreshold: number;
|
||||
snapshotSerializers: Array<Path>;
|
||||
testEnvironment: string;
|
||||
testEnvironmentOptions: Record<string, any>;
|
||||
testFailureExitCode: string | number;
|
||||
testLocationInResults: boolean;
|
||||
testMatch: Array<Glob>;
|
||||
testPathIgnorePatterns: Array<string>;
|
||||
testRegex: Array<string>;
|
||||
testRunner: string;
|
||||
testSequencer: string;
|
||||
testURL: string;
|
||||
timers: 'real' | 'fake';
|
||||
transformIgnorePatterns: Array<Glob>;
|
||||
useStderr: boolean;
|
||||
watch: boolean;
|
||||
watchPathIgnorePatterns: Array<string>;
|
||||
watchman: boolean;
|
||||
};
|
||||
export declare type DisplayName = {
|
||||
name: string;
|
||||
color: typeof ForegroundColor;
|
||||
};
|
||||
export declare type InitialOptionsWithRootDir = InitialOptions & Required<Pick<InitialOptions, 'rootDir'>>;
|
||||
export declare type InitialOptions = Partial<{
|
||||
automock: boolean;
|
||||
bail: boolean | number;
|
||||
cache: boolean;
|
||||
cacheDirectory: Path;
|
||||
clearMocks: boolean;
|
||||
changedFilesWithAncestor: boolean;
|
||||
changedSince: string;
|
||||
collectCoverage: boolean;
|
||||
collectCoverageFrom: Array<Glob>;
|
||||
collectCoverageOnlyFrom: {
|
||||
[key: string]: boolean;
|
||||
};
|
||||
coverageDirectory: string;
|
||||
coveragePathIgnorePatterns: Array<string>;
|
||||
coverageProvider: CoverageProvider;
|
||||
coverageReporters: CoverageReporters;
|
||||
coverageThreshold: {
|
||||
global: {
|
||||
[key: string]: number;
|
||||
};
|
||||
};
|
||||
dependencyExtractor: string;
|
||||
detectLeaks: boolean;
|
||||
detectOpenHandles: boolean;
|
||||
displayName: string | DisplayName;
|
||||
expand: boolean;
|
||||
extraGlobals: Array<string>;
|
||||
filter: Path;
|
||||
findRelatedTests: boolean;
|
||||
forceCoverageMatch: Array<Glob>;
|
||||
forceExit: boolean;
|
||||
json: boolean;
|
||||
globals: ConfigGlobals;
|
||||
globalSetup: string | null | undefined;
|
||||
globalTeardown: string | null | undefined;
|
||||
haste: HasteConfig;
|
||||
reporters: Array<string | ReporterConfig>;
|
||||
logHeapUsage: boolean;
|
||||
lastCommit: boolean;
|
||||
listTests: boolean;
|
||||
mapCoverage: boolean;
|
||||
maxConcurrency: number;
|
||||
maxWorkers: number | string;
|
||||
moduleDirectories: Array<string>;
|
||||
moduleFileExtensions: Array<string>;
|
||||
moduleLoader: Path;
|
||||
moduleNameMapper: {
|
||||
[key: string]: string | Array<string>;
|
||||
};
|
||||
modulePathIgnorePatterns: Array<string>;
|
||||
modulePaths: Array<string>;
|
||||
name: string;
|
||||
noStackTrace: boolean;
|
||||
notify: boolean;
|
||||
notifyMode: string;
|
||||
onlyChanged: boolean;
|
||||
outputFile: Path;
|
||||
passWithNoTests: boolean;
|
||||
preprocessorIgnorePatterns: Array<Glob>;
|
||||
preset: string | null | undefined;
|
||||
prettierPath: string | null | undefined;
|
||||
projects: Array<Glob>;
|
||||
replname: string | null | undefined;
|
||||
resetMocks: boolean;
|
||||
resetModules: boolean;
|
||||
resolver: Path | null | undefined;
|
||||
restoreMocks: boolean;
|
||||
rootDir: Path;
|
||||
roots: Array<Path>;
|
||||
runner: string;
|
||||
runTestsByPath: boolean;
|
||||
scriptPreprocessor: string;
|
||||
setupFiles: Array<Path>;
|
||||
setupTestFrameworkScriptFile: Path;
|
||||
setupFilesAfterEnv: Array<Path>;
|
||||
silent: boolean;
|
||||
skipFilter: boolean;
|
||||
skipNodeResolution: boolean;
|
||||
slowTestThreshold: number;
|
||||
snapshotResolver: Path;
|
||||
snapshotSerializers: Array<Path>;
|
||||
errorOnDeprecated: boolean;
|
||||
testEnvironment: string;
|
||||
testEnvironmentOptions: Record<string, any>;
|
||||
testFailureExitCode: string | number;
|
||||
testLocationInResults: boolean;
|
||||
testMatch: Array<Glob>;
|
||||
testNamePattern: string;
|
||||
testPathDirs: Array<Path>;
|
||||
testPathIgnorePatterns: Array<string>;
|
||||
testRegex: string | Array<string>;
|
||||
testResultsProcessor: string;
|
||||
testRunner: string;
|
||||
testSequencer: string;
|
||||
testURL: string;
|
||||
testTimeout: number;
|
||||
timers: 'real' | 'fake';
|
||||
transform: {
|
||||
[regex: string]: Path | TransformerConfig;
|
||||
};
|
||||
transformIgnorePatterns: Array<Glob>;
|
||||
watchPathIgnorePatterns: Array<string>;
|
||||
unmockedModulePathPatterns: Array<string>;
|
||||
updateSnapshot: boolean;
|
||||
useStderr: boolean;
|
||||
verbose?: boolean;
|
||||
watch: boolean;
|
||||
watchAll: boolean;
|
||||
watchman: boolean;
|
||||
watchPlugins: Array<string | [string, Record<string, any>]>;
|
||||
}>;
|
||||
export declare type SnapshotUpdateState = 'all' | 'new' | 'none';
|
||||
declare type NotifyMode = 'always' | 'failure' | 'success' | 'change' | 'success-change' | 'failure-change';
|
||||
export declare type CoverageThresholdValue = {
|
||||
branches?: number;
|
||||
functions?: number;
|
||||
lines?: number;
|
||||
statements?: number;
|
||||
};
|
||||
declare type CoverageThreshold = {
|
||||
[path: string]: CoverageThresholdValue;
|
||||
global: CoverageThresholdValue;
|
||||
};
|
||||
export declare type GlobalConfig = {
|
||||
bail: number;
|
||||
changedSince?: string;
|
||||
changedFilesWithAncestor: boolean;
|
||||
collectCoverage: boolean;
|
||||
collectCoverageFrom: Array<Glob>;
|
||||
collectCoverageOnlyFrom?: {
|
||||
[key: string]: boolean;
|
||||
};
|
||||
coverageDirectory: string;
|
||||
coveragePathIgnorePatterns?: Array<string>;
|
||||
coverageProvider: CoverageProvider;
|
||||
coverageReporters: CoverageReporters;
|
||||
coverageThreshold?: CoverageThreshold;
|
||||
detectLeaks: boolean;
|
||||
detectOpenHandles: boolean;
|
||||
enabledTestsMap?: {
|
||||
[key: string]: {
|
||||
[key: string]: boolean;
|
||||
};
|
||||
};
|
||||
expand: boolean;
|
||||
filter?: Path;
|
||||
findRelatedTests: boolean;
|
||||
forceExit: boolean;
|
||||
json: boolean;
|
||||
globalSetup?: string;
|
||||
globalTeardown?: string;
|
||||
lastCommit: boolean;
|
||||
logHeapUsage: boolean;
|
||||
listTests: boolean;
|
||||
maxConcurrency: number;
|
||||
maxWorkers: number;
|
||||
noStackTrace: boolean;
|
||||
nonFlagArgs: Array<string>;
|
||||
noSCM?: boolean;
|
||||
notify: boolean;
|
||||
notifyMode: NotifyMode;
|
||||
outputFile?: Path;
|
||||
onlyChanged: boolean;
|
||||
onlyFailures: boolean;
|
||||
passWithNoTests: boolean;
|
||||
projects: Array<Glob>;
|
||||
replname?: string;
|
||||
reporters?: Array<string | ReporterConfig>;
|
||||
runTestsByPath: boolean;
|
||||
rootDir: Path;
|
||||
silent?: boolean;
|
||||
skipFilter: boolean;
|
||||
errorOnDeprecated: boolean;
|
||||
testFailureExitCode: number;
|
||||
testNamePattern?: string;
|
||||
testPathPattern: string;
|
||||
testResultsProcessor?: string;
|
||||
testSequencer: string;
|
||||
testTimeout?: number;
|
||||
updateSnapshot: SnapshotUpdateState;
|
||||
useStderr: boolean;
|
||||
verbose?: boolean;
|
||||
watch: boolean;
|
||||
watchAll: boolean;
|
||||
watchman: boolean;
|
||||
watchPlugins?: Array<{
|
||||
path: string;
|
||||
config: Record<string, any>;
|
||||
}> | null;
|
||||
};
|
||||
export declare type ProjectConfig = {
|
||||
automock: boolean;
|
||||
cache: boolean;
|
||||
cacheDirectory: Path;
|
||||
clearMocks: boolean;
|
||||
coveragePathIgnorePatterns: Array<string>;
|
||||
cwd: Path;
|
||||
dependencyExtractor?: string;
|
||||
detectLeaks: boolean;
|
||||
detectOpenHandles: boolean;
|
||||
displayName?: DisplayName;
|
||||
errorOnDeprecated: boolean;
|
||||
extraGlobals: Array<keyof NodeJS.Global>;
|
||||
filter?: Path;
|
||||
forceCoverageMatch: Array<Glob>;
|
||||
globalSetup?: string;
|
||||
globalTeardown?: string;
|
||||
globals: ConfigGlobals;
|
||||
haste: HasteConfig;
|
||||
moduleDirectories: Array<string>;
|
||||
moduleFileExtensions: Array<string>;
|
||||
moduleLoader?: Path;
|
||||
moduleNameMapper: Array<[string, string]>;
|
||||
modulePathIgnorePatterns: Array<string>;
|
||||
modulePaths?: Array<string>;
|
||||
name: string;
|
||||
prettierPath: string;
|
||||
resetMocks: boolean;
|
||||
resetModules: boolean;
|
||||
resolver?: Path;
|
||||
restoreMocks: boolean;
|
||||
rootDir: Path;
|
||||
roots: Array<Path>;
|
||||
runner: string;
|
||||
setupFiles: Array<Path>;
|
||||
setupFilesAfterEnv: Array<Path>;
|
||||
skipFilter: boolean;
|
||||
skipNodeResolution?: boolean;
|
||||
slowTestThreshold: number;
|
||||
snapshotResolver?: Path;
|
||||
snapshotSerializers: Array<Path>;
|
||||
testEnvironment: string;
|
||||
testEnvironmentOptions: Record<string, any>;
|
||||
testMatch: Array<Glob>;
|
||||
testLocationInResults: boolean;
|
||||
testPathIgnorePatterns: Array<string>;
|
||||
testRegex: Array<string | RegExp>;
|
||||
testRunner: string;
|
||||
testURL: string;
|
||||
timers: 'real' | 'fake' | 'modern' | 'legacy';
|
||||
transform: Array<[string, Path, Record<string, unknown>]>;
|
||||
transformIgnorePatterns: Array<Glob>;
|
||||
watchPathIgnorePatterns: Array<string>;
|
||||
unmockedModulePathPatterns?: Array<string>;
|
||||
};
|
||||
export declare type Argv = Arguments<Partial<{
|
||||
all: boolean;
|
||||
automock: boolean;
|
||||
bail: boolean | number;
|
||||
cache: boolean;
|
||||
cacheDirectory: string;
|
||||
changedFilesWithAncestor: boolean;
|
||||
changedSince: string;
|
||||
ci: boolean;
|
||||
clearCache: boolean;
|
||||
clearMocks: boolean;
|
||||
collectCoverage: boolean;
|
||||
collectCoverageFrom: string;
|
||||
collectCoverageOnlyFrom: Array<string>;
|
||||
color: boolean;
|
||||
colors: boolean;
|
||||
config: string;
|
||||
coverage: boolean;
|
||||
coverageDirectory: string;
|
||||
coveragePathIgnorePatterns: Array<string>;
|
||||
coverageReporters: Array<string>;
|
||||
coverageThreshold: string;
|
||||
debug: boolean;
|
||||
env: string;
|
||||
expand: boolean;
|
||||
findRelatedTests: boolean;
|
||||
forceExit: boolean;
|
||||
globals: string;
|
||||
globalSetup: string | null | undefined;
|
||||
globalTeardown: string | null | undefined;
|
||||
haste: string;
|
||||
init: boolean;
|
||||
json: boolean;
|
||||
lastCommit: boolean;
|
||||
logHeapUsage: boolean;
|
||||
maxWorkers: number | string;
|
||||
moduleDirectories: Array<string>;
|
||||
moduleFileExtensions: Array<string>;
|
||||
moduleNameMapper: string;
|
||||
modulePathIgnorePatterns: Array<string>;
|
||||
modulePaths: Array<string>;
|
||||
noStackTrace: boolean;
|
||||
notify: boolean;
|
||||
notifyMode: string;
|
||||
onlyChanged: boolean;
|
||||
outputFile: string;
|
||||
preset: string | null | undefined;
|
||||
projects: Array<string>;
|
||||
prettierPath: string | null | undefined;
|
||||
resetMocks: boolean;
|
||||
resetModules: boolean;
|
||||
resolver: string | null | undefined;
|
||||
restoreMocks: boolean;
|
||||
rootDir: string;
|
||||
roots: Array<string>;
|
||||
runInBand: boolean;
|
||||
selectProjects: Array<string>;
|
||||
setupFiles: Array<string>;
|
||||
setupFilesAfterEnv: Array<string>;
|
||||
showConfig: boolean;
|
||||
silent: boolean;
|
||||
snapshotSerializers: Array<string>;
|
||||
testEnvironment: string;
|
||||
testFailureExitCode: string | null | undefined;
|
||||
testMatch: Array<string>;
|
||||
testNamePattern: string;
|
||||
testPathIgnorePatterns: Array<string>;
|
||||
testPathPattern: Array<string>;
|
||||
testRegex: string | Array<string>;
|
||||
testResultsProcessor: string;
|
||||
testRunner: string;
|
||||
testSequencer: string;
|
||||
testURL: string;
|
||||
testTimeout: number | null | undefined;
|
||||
timers: string;
|
||||
transform: string;
|
||||
transformIgnorePatterns: Array<string>;
|
||||
unmockedModulePathPatterns: Array<string> | null | undefined;
|
||||
updateSnapshot: boolean;
|
||||
useStderr: boolean;
|
||||
verbose: boolean;
|
||||
version: boolean;
|
||||
watch: boolean;
|
||||
watchAll: boolean;
|
||||
watchman: boolean;
|
||||
watchPathIgnorePatterns: Array<string>;
|
||||
}>>;
|
||||
export {};
|
1
node_modules/jest/node_modules/@jest/types/build/Config.js
generated
vendored
Normal file
1
node_modules/jest/node_modules/@jest/types/build/Config.js
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
'use strict';
|
85
node_modules/jest/node_modules/@jest/types/build/Global.d.ts
generated
vendored
Normal file
85
node_modules/jest/node_modules/@jest/types/build/Global.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,85 @@
|
|||
/**
|
||||
* 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.
|
||||
*/
|
||||
/// <reference types="node" />
|
||||
import type { CoverageMapData } from 'istanbul-lib-coverage';
|
||||
export declare type DoneFn = (reason?: string | Error) => void;
|
||||
export declare type TestName = string;
|
||||
export declare type TestFn = (done?: DoneFn) => Promise<void | undefined | unknown> | void | undefined;
|
||||
export declare type ConcurrentTestFn = (done?: DoneFn) => Promise<void | undefined | unknown>;
|
||||
export declare type BlockFn = () => void;
|
||||
export declare type BlockName = string;
|
||||
export declare type HookFn = TestFn;
|
||||
export declare type Col = unknown;
|
||||
export declare type Row = Array<Col>;
|
||||
export declare type Table = Array<Row>;
|
||||
export declare type ArrayTable = Table | Row;
|
||||
export declare type TemplateTable = TemplateStringsArray;
|
||||
export declare type TemplateData = Array<unknown>;
|
||||
export declare type EachTable = ArrayTable | TemplateTable;
|
||||
export declare type TestCallback = BlockFn | TestFn | ConcurrentTestFn;
|
||||
export declare type EachTestFn<EachCallback extends TestCallback> = (...args: Array<any>) => ReturnType<EachCallback>;
|
||||
declare type Jasmine = {
|
||||
_DEFAULT_TIMEOUT_INTERVAL?: number;
|
||||
addMatchers: Function;
|
||||
};
|
||||
declare type Each<EachCallback extends TestCallback> = ((table: EachTable, ...taggedTemplateData: Array<unknown>) => (title: string, test: EachTestFn<EachCallback>, timeout?: number) => void) | (() => void);
|
||||
export interface ItBase {
|
||||
(testName: TestName, fn: TestFn, timeout?: number): void;
|
||||
each: Each<TestFn>;
|
||||
}
|
||||
export interface It extends ItBase {
|
||||
only: ItBase;
|
||||
skip: ItBase;
|
||||
todo: (testName: TestName, ...rest: Array<any>) => void;
|
||||
}
|
||||
export interface ItConcurrentBase {
|
||||
(testName: string, testFn: ConcurrentTestFn, timeout?: number): void;
|
||||
each: Each<ConcurrentTestFn>;
|
||||
}
|
||||
export interface ItConcurrentExtended extends ItConcurrentBase {
|
||||
only: ItConcurrentBase;
|
||||
skip: ItConcurrentBase;
|
||||
}
|
||||
export interface ItConcurrent extends It {
|
||||
concurrent: ItConcurrentExtended;
|
||||
}
|
||||
export interface DescribeBase {
|
||||
(blockName: BlockName, blockFn: BlockFn): void;
|
||||
each: Each<BlockFn>;
|
||||
}
|
||||
export interface Describe extends DescribeBase {
|
||||
only: DescribeBase;
|
||||
skip: DescribeBase;
|
||||
}
|
||||
export interface TestFrameworkGlobals {
|
||||
it: ItConcurrent;
|
||||
test: ItConcurrent;
|
||||
fit: ItBase & {
|
||||
concurrent?: ItConcurrentBase;
|
||||
};
|
||||
xit: ItBase;
|
||||
xtest: ItBase;
|
||||
describe: Describe;
|
||||
xdescribe: DescribeBase;
|
||||
fdescribe: DescribeBase;
|
||||
beforeAll: HookFn;
|
||||
beforeEach: HookFn;
|
||||
afterEach: HookFn;
|
||||
afterAll: HookFn;
|
||||
}
|
||||
export interface GlobalAdditions extends TestFrameworkGlobals {
|
||||
__coverage__: CoverageMapData;
|
||||
jasmine: Jasmine;
|
||||
fail: () => void;
|
||||
pending: () => void;
|
||||
spyOn: () => void;
|
||||
spyOnProperty: () => void;
|
||||
}
|
||||
export interface Global extends GlobalAdditions, Omit<NodeJS.Global, keyof GlobalAdditions> {
|
||||
[extras: string]: any;
|
||||
}
|
||||
export {};
|
1
node_modules/jest/node_modules/@jest/types/build/Global.js
generated
vendored
Normal file
1
node_modules/jest/node_modules/@jest/types/build/Global.js
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
'use strict';
|
31
node_modules/jest/node_modules/@jest/types/build/TestResult.d.ts
generated
vendored
Normal file
31
node_modules/jest/node_modules/@jest/types/build/TestResult.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
/**
|
||||
* 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.
|
||||
*/
|
||||
export declare type Milliseconds = number;
|
||||
declare type Status = 'passed' | 'failed' | 'skipped' | 'pending' | 'todo' | 'disabled';
|
||||
declare type Callsite = {
|
||||
column: number;
|
||||
line: number;
|
||||
};
|
||||
export declare type AssertionResult = {
|
||||
ancestorTitles: Array<string>;
|
||||
duration?: Milliseconds | null;
|
||||
failureDetails: Array<unknown>;
|
||||
failureMessages: Array<string>;
|
||||
fullName: string;
|
||||
invocations?: number;
|
||||
location?: Callsite | null;
|
||||
numPassingAsserts: number;
|
||||
status: Status;
|
||||
title: string;
|
||||
};
|
||||
export declare type SerializableError = {
|
||||
code?: unknown;
|
||||
message: string;
|
||||
stack: string | null | undefined;
|
||||
type?: string;
|
||||
};
|
||||
export {};
|
1
node_modules/jest/node_modules/@jest/types/build/TestResult.js
generated
vendored
Normal file
1
node_modules/jest/node_modules/@jest/types/build/TestResult.js
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
'use strict';
|
12
node_modules/jest/node_modules/@jest/types/build/Transform.d.ts
generated
vendored
Normal file
12
node_modules/jest/node_modules/@jest/types/build/Transform.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* 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.
|
||||
*/
|
||||
export declare type TransformResult = {
|
||||
code: string;
|
||||
originalCode: string;
|
||||
mapCoverage?: boolean;
|
||||
sourceMapPath: string | null;
|
||||
};
|
1
node_modules/jest/node_modules/@jest/types/build/Transform.js
generated
vendored
Normal file
1
node_modules/jest/node_modules/@jest/types/build/Transform.js
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
'use strict';
|
12
node_modules/jest/node_modules/@jest/types/build/index.d.ts
generated
vendored
Normal file
12
node_modules/jest/node_modules/@jest/types/build/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* 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 * as Circus from './Circus';
|
||||
import type * as Config from './Config';
|
||||
import type * as Global from './Global';
|
||||
import type * as TestResult from './TestResult';
|
||||
import type * as TransformTypes from './Transform';
|
||||
export type { Circus, Config, Global, TestResult, TransformTypes };
|
1
node_modules/jest/node_modules/@jest/types/build/index.js
generated
vendored
Normal file
1
node_modules/jest/node_modules/@jest/types/build/index.js
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
'use strict';
|
26
node_modules/jest/node_modules/@jest/types/package.json
generated
vendored
Normal file
26
node_modules/jest/node_modules/@jest/types/package.json
generated
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"name": "@jest/types",
|
||||
"version": "26.3.0",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/facebook/jest.git",
|
||||
"directory": "packages/jest-types"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.14.2"
|
||||
},
|
||||
"license": "MIT",
|
||||
"main": "build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
"dependencies": {
|
||||
"@types/istanbul-lib-coverage": "^2.0.0",
|
||||
"@types/istanbul-reports": "^3.0.0",
|
||||
"@types/node": "*",
|
||||
"@types/yargs": "^15.0.0",
|
||||
"chalk": "^4.0.0"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"gitHead": "3a7e06fe855515a848241bb06a6f6e117847443d"
|
||||
}
|
21
node_modules/jest/node_modules/@types/istanbul-reports/LICENSE
generated
vendored
Normal file
21
node_modules/jest/node_modules/@types/istanbul-reports/LICENSE
generated
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) Microsoft Corporation.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE
|
16
node_modules/jest/node_modules/@types/istanbul-reports/README.md
generated
vendored
Normal file
16
node_modules/jest/node_modules/@types/istanbul-reports/README.md
generated
vendored
Normal file
|
@ -0,0 +1,16 @@
|
|||
# Installation
|
||||
> `npm install --save @types/istanbul-reports`
|
||||
|
||||
# Summary
|
||||
This package contains type definitions for istanbul-reports (https://github.com/istanbuljs/istanbuljs).
|
||||
|
||||
# Details
|
||||
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/istanbul-reports.
|
||||
|
||||
### Additional Details
|
||||
* Last updated: Mon, 20 Jul 2020 21:55:27 GMT
|
||||
* Dependencies: [@types/istanbul-lib-report](https://npmjs.com/package/@types/istanbul-lib-report)
|
||||
* Global values: none
|
||||
|
||||
# Credits
|
||||
These definitions were written by [Jason Cheatham](https://github.com/jason0x43), and [Elena Shcherbakova](https://github.com/not-a-doctor).
|
74
node_modules/jest/node_modules/@types/istanbul-reports/index.d.ts
generated
vendored
Normal file
74
node_modules/jest/node_modules/@types/istanbul-reports/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,74 @@
|
|||
// Type definitions for istanbul-reports 3.0
|
||||
// Project: https://github.com/istanbuljs/istanbuljs, https://istanbul.js.org
|
||||
// Definitions by: Jason Cheatham <https://github.com/jason0x43>
|
||||
// Elena Shcherbakova <https://github.com/not-a-doctor>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.4
|
||||
|
||||
import { Node, Visitor } from 'istanbul-lib-report';
|
||||
|
||||
export function create<T extends keyof ReportOptions>(name: T, options?: Partial<ReportOptions[T]>): Visitor;
|
||||
|
||||
export interface FileOptions {
|
||||
file: string;
|
||||
}
|
||||
|
||||
export interface ProjectOptions {
|
||||
projectRoot: string;
|
||||
}
|
||||
|
||||
export interface ReportOptions {
|
||||
clover: CloverOptions;
|
||||
cobertura: CoberturaOptions;
|
||||
'html-spa': HtmlSpaOptions;
|
||||
html: HtmlOptions;
|
||||
json: JsonOptions;
|
||||
'json-summary': JsonSummaryOptions;
|
||||
lcov: LcovOptions;
|
||||
lcovonly: LcovOnlyOptions;
|
||||
none: never;
|
||||
teamcity: TeamcityOptions;
|
||||
text: TextOptions;
|
||||
'text-lcov': TextLcovOptions;
|
||||
'text-summary': TextSummaryOptions;
|
||||
}
|
||||
|
||||
export type ReportType = keyof ReportOptions;
|
||||
|
||||
export interface CloverOptions extends FileOptions, ProjectOptions {}
|
||||
|
||||
export interface CoberturaOptions extends FileOptions, ProjectOptions {}
|
||||
|
||||
export interface HtmlSpaOptions extends HtmlOptions {
|
||||
metricsToShow: Array<'lines' | 'branches' | 'functions' | 'statements'>;
|
||||
}
|
||||
export interface HtmlOptions {
|
||||
verbose: boolean;
|
||||
skipEmpty: boolean;
|
||||
subdir: string;
|
||||
linkMapper: LinkMapper;
|
||||
}
|
||||
|
||||
export type JsonOptions = FileOptions;
|
||||
export type JsonSummaryOptions = FileOptions;
|
||||
|
||||
export interface LcovOptions extends FileOptions, ProjectOptions {}
|
||||
export interface LcovOnlyOptions extends FileOptions, ProjectOptions {}
|
||||
|
||||
export interface TeamcityOptions extends FileOptions {
|
||||
blockName: string;
|
||||
}
|
||||
|
||||
export interface TextOptions extends FileOptions {
|
||||
maxCols: number;
|
||||
skipEmpty: boolean;
|
||||
skipFull: boolean;
|
||||
}
|
||||
export type TextLcovOptions = ProjectOptions;
|
||||
export type TextSummaryOptions = FileOptions;
|
||||
|
||||
export interface LinkMapper {
|
||||
getPath(node: string | Node): string;
|
||||
relativePath(source: string | Node, target: string | Node): string;
|
||||
assetPath(node: Node, name: string): string;
|
||||
}
|
31
node_modules/jest/node_modules/@types/istanbul-reports/package.json
generated
vendored
Normal file
31
node_modules/jest/node_modules/@types/istanbul-reports/package.json
generated
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"name": "@types/istanbul-reports",
|
||||
"version": "3.0.0",
|
||||
"description": "TypeScript definitions for istanbul-reports",
|
||||
"license": "MIT",
|
||||
"contributors": [
|
||||
{
|
||||
"name": "Jason Cheatham",
|
||||
"url": "https://github.com/jason0x43",
|
||||
"githubUsername": "jason0x43"
|
||||
},
|
||||
{
|
||||
"name": "Elena Shcherbakova",
|
||||
"url": "https://github.com/not-a-doctor",
|
||||
"githubUsername": "not-a-doctor"
|
||||
}
|
||||
],
|
||||
"main": "",
|
||||
"types": "index.d.ts",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git",
|
||||
"directory": "types/istanbul-reports"
|
||||
},
|
||||
"scripts": {},
|
||||
"dependencies": {
|
||||
"@types/istanbul-lib-report": "*"
|
||||
},
|
||||
"typesPublisherContentHash": "71342edcc57e7212d17e794fa519955e496dd3b6696e2738904679ef3aa59d70",
|
||||
"typeScriptVersion": "3.0"
|
||||
}
|
415
node_modules/jest/node_modules/chalk/index.d.ts
generated
vendored
Normal file
415
node_modules/jest/node_modules/chalk/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,415 @@
|
|||
/**
|
||||
Basic foreground colors.
|
||||
|
||||
[More colors here.](https://github.com/chalk/chalk/blob/master/readme.md#256-and-truecolor-color-support)
|
||||
*/
|
||||
declare type ForegroundColor =
|
||||
| 'black'
|
||||
| 'red'
|
||||
| 'green'
|
||||
| 'yellow'
|
||||
| 'blue'
|
||||
| 'magenta'
|
||||
| 'cyan'
|
||||
| 'white'
|
||||
| 'gray'
|
||||
| 'grey'
|
||||
| 'blackBright'
|
||||
| 'redBright'
|
||||
| 'greenBright'
|
||||
| 'yellowBright'
|
||||
| 'blueBright'
|
||||
| 'magentaBright'
|
||||
| 'cyanBright'
|
||||
| 'whiteBright';
|
||||
|
||||
/**
|
||||
Basic background colors.
|
||||
|
||||
[More colors here.](https://github.com/chalk/chalk/blob/master/readme.md#256-and-truecolor-color-support)
|
||||
*/
|
||||
declare type BackgroundColor =
|
||||
| 'bgBlack'
|
||||
| 'bgRed'
|
||||
| 'bgGreen'
|
||||
| 'bgYellow'
|
||||
| 'bgBlue'
|
||||
| 'bgMagenta'
|
||||
| 'bgCyan'
|
||||
| 'bgWhite'
|
||||
| 'bgGray'
|
||||
| 'bgGrey'
|
||||
| 'bgBlackBright'
|
||||
| 'bgRedBright'
|
||||
| 'bgGreenBright'
|
||||
| 'bgYellowBright'
|
||||
| 'bgBlueBright'
|
||||
| 'bgMagentaBright'
|
||||
| 'bgCyanBright'
|
||||
| 'bgWhiteBright';
|
||||
|
||||
/**
|
||||
Basic colors.
|
||||
|
||||
[More colors here.](https://github.com/chalk/chalk/blob/master/readme.md#256-and-truecolor-color-support)
|
||||
*/
|
||||
declare type Color = ForegroundColor | BackgroundColor;
|
||||
|
||||
declare type Modifiers =
|
||||
| 'reset'
|
||||
| 'bold'
|
||||
| 'dim'
|
||||
| 'italic'
|
||||
| 'underline'
|
||||
| 'inverse'
|
||||
| 'hidden'
|
||||
| 'strikethrough'
|
||||
| 'visible';
|
||||
|
||||
declare namespace chalk {
|
||||
/**
|
||||
Levels:
|
||||
- `0` - All colors disabled.
|
||||
- `1` - Basic 16 colors support.
|
||||
- `2` - ANSI 256 colors support.
|
||||
- `3` - Truecolor 16 million colors support.
|
||||
*/
|
||||
type Level = 0 | 1 | 2 | 3;
|
||||
|
||||
interface Options {
|
||||
/**
|
||||
Specify the color support for Chalk.
|
||||
|
||||
By default, color support is automatically detected based on the environment.
|
||||
|
||||
Levels:
|
||||
- `0` - All colors disabled.
|
||||
- `1` - Basic 16 colors support.
|
||||
- `2` - ANSI 256 colors support.
|
||||
- `3` - Truecolor 16 million colors support.
|
||||
*/
|
||||
level?: Level;
|
||||
}
|
||||
|
||||
/**
|
||||
Return a new Chalk instance.
|
||||
*/
|
||||
type Instance = new (options?: Options) => Chalk;
|
||||
|
||||
/**
|
||||
Detect whether the terminal supports color.
|
||||
*/
|
||||
interface ColorSupport {
|
||||
/**
|
||||
The color level used by Chalk.
|
||||
*/
|
||||
level: Level;
|
||||
|
||||
/**
|
||||
Return whether Chalk supports basic 16 colors.
|
||||
*/
|
||||
hasBasic: boolean;
|
||||
|
||||
/**
|
||||
Return whether Chalk supports ANSI 256 colors.
|
||||
*/
|
||||
has256: boolean;
|
||||
|
||||
/**
|
||||
Return whether Chalk supports Truecolor 16 million colors.
|
||||
*/
|
||||
has16m: boolean;
|
||||
}
|
||||
|
||||
interface ChalkFunction {
|
||||
/**
|
||||
Use a template string.
|
||||
|
||||
@remarks Template literals are unsupported for nested calls (see [issue #341](https://github.com/chalk/chalk/issues/341))
|
||||
|
||||
@example
|
||||
```
|
||||
import chalk = require('chalk');
|
||||
|
||||
log(chalk`
|
||||
CPU: {red ${cpu.totalPercent}%}
|
||||
RAM: {green ${ram.used / ram.total * 100}%}
|
||||
DISK: {rgb(255,131,0) ${disk.used / disk.total * 100}%}
|
||||
`);
|
||||
```
|
||||
|
||||
@example
|
||||
```
|
||||
import chalk = require('chalk');
|
||||
|
||||
log(chalk.red.bgBlack`2 + 3 = {bold ${2 + 3}}`)
|
||||
```
|
||||
*/
|
||||
(text: TemplateStringsArray, ...placeholders: unknown[]): string;
|
||||
|
||||
(...text: unknown[]): string;
|
||||
}
|
||||
|
||||
interface Chalk extends ChalkFunction {
|
||||
/**
|
||||
Return a new Chalk instance.
|
||||
*/
|
||||
Instance: Instance;
|
||||
|
||||
/**
|
||||
The color support for Chalk.
|
||||
|
||||
By default, color support is automatically detected based on the environment.
|
||||
|
||||
Levels:
|
||||
- `0` - All colors disabled.
|
||||
- `1` - Basic 16 colors support.
|
||||
- `2` - ANSI 256 colors support.
|
||||
- `3` - Truecolor 16 million colors support.
|
||||
*/
|
||||
level: Level;
|
||||
|
||||
/**
|
||||
Use HEX value to set text color.
|
||||
|
||||
@param color - Hexadecimal value representing the desired color.
|
||||
|
||||
@example
|
||||
```
|
||||
import chalk = require('chalk');
|
||||
|
||||
chalk.hex('#DEADED');
|
||||
```
|
||||
*/
|
||||
hex(color: string): Chalk;
|
||||
|
||||
/**
|
||||
Use keyword color value to set text color.
|
||||
|
||||
@param color - Keyword value representing the desired color.
|
||||
|
||||
@example
|
||||
```
|
||||
import chalk = require('chalk');
|
||||
|
||||
chalk.keyword('orange');
|
||||
```
|
||||
*/
|
||||
keyword(color: string): Chalk;
|
||||
|
||||
/**
|
||||
Use RGB values to set text color.
|
||||
*/
|
||||
rgb(red: number, green: number, blue: number): Chalk;
|
||||
|
||||
/**
|
||||
Use HSL values to set text color.
|
||||
*/
|
||||
hsl(hue: number, saturation: number, lightness: number): Chalk;
|
||||
|
||||
/**
|
||||
Use HSV values to set text color.
|
||||
*/
|
||||
hsv(hue: number, saturation: number, value: number): Chalk;
|
||||
|
||||
/**
|
||||
Use HWB values to set text color.
|
||||
*/
|
||||
hwb(hue: number, whiteness: number, blackness: number): Chalk;
|
||||
|
||||
/**
|
||||
Use a [Select/Set Graphic Rendition](https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters) (SGR) [color code number](https://en.wikipedia.org/wiki/ANSI_escape_code#3/4_bit) to set text color.
|
||||
|
||||
30 <= code && code < 38 || 90 <= code && code < 98
|
||||
For example, 31 for red, 91 for redBright.
|
||||
*/
|
||||
ansi(code: number): Chalk;
|
||||
|
||||
/**
|
||||
Use a [8-bit unsigned number](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit) to set text color.
|
||||
*/
|
||||
ansi256(index: number): Chalk;
|
||||
|
||||
/**
|
||||
Use HEX value to set background color.
|
||||
|
||||
@param color - Hexadecimal value representing the desired color.
|
||||
|
||||
@example
|
||||
```
|
||||
import chalk = require('chalk');
|
||||
|
||||
chalk.bgHex('#DEADED');
|
||||
```
|
||||
*/
|
||||
bgHex(color: string): Chalk;
|
||||
|
||||
/**
|
||||
Use keyword color value to set background color.
|
||||
|
||||
@param color - Keyword value representing the desired color.
|
||||
|
||||
@example
|
||||
```
|
||||
import chalk = require('chalk');
|
||||
|
||||
chalk.bgKeyword('orange');
|
||||
```
|
||||
*/
|
||||
bgKeyword(color: string): Chalk;
|
||||
|
||||
/**
|
||||
Use RGB values to set background color.
|
||||
*/
|
||||
bgRgb(red: number, green: number, blue: number): Chalk;
|
||||
|
||||
/**
|
||||
Use HSL values to set background color.
|
||||
*/
|
||||
bgHsl(hue: number, saturation: number, lightness: number): Chalk;
|
||||
|
||||
/**
|
||||
Use HSV values to set background color.
|
||||
*/
|
||||
bgHsv(hue: number, saturation: number, value: number): Chalk;
|
||||
|
||||
/**
|
||||
Use HWB values to set background color.
|
||||
*/
|
||||
bgHwb(hue: number, whiteness: number, blackness: number): Chalk;
|
||||
|
||||
/**
|
||||
Use a [Select/Set Graphic Rendition](https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters) (SGR) [color code number](https://en.wikipedia.org/wiki/ANSI_escape_code#3/4_bit) to set background color.
|
||||
|
||||
30 <= code && code < 38 || 90 <= code && code < 98
|
||||
For example, 31 for red, 91 for redBright.
|
||||
Use the foreground code, not the background code (for example, not 41, nor 101).
|
||||
*/
|
||||
bgAnsi(code: number): Chalk;
|
||||
|
||||
/**
|
||||
Use a [8-bit unsigned number](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit) to set background color.
|
||||
*/
|
||||
bgAnsi256(index: number): Chalk;
|
||||
|
||||
/**
|
||||
Modifier: Resets the current color chain.
|
||||
*/
|
||||
readonly reset: Chalk;
|
||||
|
||||
/**
|
||||
Modifier: Make text bold.
|
||||
*/
|
||||
readonly bold: Chalk;
|
||||
|
||||
/**
|
||||
Modifier: Emitting only a small amount of light.
|
||||
*/
|
||||
readonly dim: Chalk;
|
||||
|
||||
/**
|
||||
Modifier: Make text italic. (Not widely supported)
|
||||
*/
|
||||
readonly italic: Chalk;
|
||||
|
||||
/**
|
||||
Modifier: Make text underline. (Not widely supported)
|
||||
*/
|
||||
readonly underline: Chalk;
|
||||
|
||||
/**
|
||||
Modifier: Inverse background and foreground colors.
|
||||
*/
|
||||
readonly inverse: Chalk;
|
||||
|
||||
/**
|
||||
Modifier: Prints the text, but makes it invisible.
|
||||
*/
|
||||
readonly hidden: Chalk;
|
||||
|
||||
/**
|
||||
Modifier: Puts a horizontal line through the center of the text. (Not widely supported)
|
||||
*/
|
||||
readonly strikethrough: Chalk;
|
||||
|
||||
/**
|
||||
Modifier: Prints the text only when Chalk has a color support level > 0.
|
||||
Can be useful for things that are purely cosmetic.
|
||||
*/
|
||||
readonly visible: Chalk;
|
||||
|
||||
readonly black: Chalk;
|
||||
readonly red: Chalk;
|
||||
readonly green: Chalk;
|
||||
readonly yellow: Chalk;
|
||||
readonly blue: Chalk;
|
||||
readonly magenta: Chalk;
|
||||
readonly cyan: Chalk;
|
||||
readonly white: Chalk;
|
||||
|
||||
/*
|
||||
Alias for `blackBright`.
|
||||
*/
|
||||
readonly gray: Chalk;
|
||||
|
||||
/*
|
||||
Alias for `blackBright`.
|
||||
*/
|
||||
readonly grey: Chalk;
|
||||
|
||||
readonly blackBright: Chalk;
|
||||
readonly redBright: Chalk;
|
||||
readonly greenBright: Chalk;
|
||||
readonly yellowBright: Chalk;
|
||||
readonly blueBright: Chalk;
|
||||
readonly magentaBright: Chalk;
|
||||
readonly cyanBright: Chalk;
|
||||
readonly whiteBright: Chalk;
|
||||
|
||||
readonly bgBlack: Chalk;
|
||||
readonly bgRed: Chalk;
|
||||
readonly bgGreen: Chalk;
|
||||
readonly bgYellow: Chalk;
|
||||
readonly bgBlue: Chalk;
|
||||
readonly bgMagenta: Chalk;
|
||||
readonly bgCyan: Chalk;
|
||||
readonly bgWhite: Chalk;
|
||||
|
||||
/*
|
||||
Alias for `bgBlackBright`.
|
||||
*/
|
||||
readonly bgGray: Chalk;
|
||||
|
||||
/*
|
||||
Alias for `bgBlackBright`.
|
||||
*/
|
||||
readonly bgGrey: Chalk;
|
||||
|
||||
readonly bgBlackBright: Chalk;
|
||||
readonly bgRedBright: Chalk;
|
||||
readonly bgGreenBright: Chalk;
|
||||
readonly bgYellowBright: Chalk;
|
||||
readonly bgBlueBright: Chalk;
|
||||
readonly bgMagentaBright: Chalk;
|
||||
readonly bgCyanBright: Chalk;
|
||||
readonly bgWhiteBright: Chalk;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Main Chalk object that allows to chain styles together.
|
||||
Call the last one as a method with a string argument.
|
||||
Order doesn't matter, and later styles take precedent in case of a conflict.
|
||||
This simply means that `chalk.red.yellow.green` is equivalent to `chalk.green`.
|
||||
*/
|
||||
declare const chalk: chalk.Chalk & chalk.ChalkFunction & {
|
||||
supportsColor: chalk.ColorSupport | false;
|
||||
Level: chalk.Level;
|
||||
Color: Color;
|
||||
ForegroundColor: ForegroundColor;
|
||||
BackgroundColor: BackgroundColor;
|
||||
Modifiers: Modifiers;
|
||||
stderr: chalk.Chalk & {supportsColor: chalk.ColorSupport | false};
|
||||
};
|
||||
|
||||
export = chalk;
|
9
node_modules/jest/node_modules/chalk/license
generated
vendored
Normal file
9
node_modules/jest/node_modules/chalk/license
generated
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
68
node_modules/jest/node_modules/chalk/package.json
generated
vendored
Normal file
68
node_modules/jest/node_modules/chalk/package.json
generated
vendored
Normal file
|
@ -0,0 +1,68 @@
|
|||
{
|
||||
"name": "chalk",
|
||||
"version": "4.1.0",
|
||||
"description": "Terminal string styling done right",
|
||||
"license": "MIT",
|
||||
"repository": "chalk/chalk",
|
||||
"funding": "https://github.com/chalk/chalk?sponsor=1",
|
||||
"main": "source",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && nyc ava && tsd",
|
||||
"bench": "matcha benchmark.js"
|
||||
},
|
||||
"files": [
|
||||
"source",
|
||||
"index.d.ts"
|
||||
],
|
||||
"keywords": [
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"cli",
|
||||
"string",
|
||||
"str",
|
||||
"ansi",
|
||||
"style",
|
||||
"styles",
|
||||
"tty",
|
||||
"formatting",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"log",
|
||||
"logging",
|
||||
"command-line",
|
||||
"text"
|
||||
],
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"ava": "^2.4.0",
|
||||
"coveralls": "^3.0.7",
|
||||
"execa": "^4.0.0",
|
||||
"import-fresh": "^3.1.0",
|
||||
"matcha": "^0.7.0",
|
||||
"nyc": "^15.0.0",
|
||||
"resolve-from": "^5.0.0",
|
||||
"tsd": "^0.7.4",
|
||||
"xo": "^0.28.2"
|
||||
},
|
||||
"xo": {
|
||||
"rules": {
|
||||
"unicorn/prefer-string-slice": "off",
|
||||
"unicorn/prefer-includes": "off",
|
||||
"@typescript-eslint/member-ordering": "off",
|
||||
"no-redeclare": "off",
|
||||
"unicorn/string-content": "off",
|
||||
"unicorn/better-regex": "off"
|
||||
}
|
||||
}
|
||||
}
|
293
node_modules/jest/node_modules/chalk/readme.md
generated
vendored
Normal file
293
node_modules/jest/node_modules/chalk/readme.md
generated
vendored
Normal file
|
@ -0,0 +1,293 @@
|
|||
<h1 align="center">
|
||||
<br>
|
||||
<br>
|
||||
<img width="320" src="media/logo.svg" alt="Chalk">
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</h1>
|
||||
|
||||
> Terminal string styling done right
|
||||
|
||||
[](https://travis-ci.org/chalk/chalk) [](https://coveralls.io/github/chalk/chalk?branch=master) [](https://www.npmjs.com/package/chalk?activeTab=dependents) [](https://www.npmjs.com/package/chalk) [](https://www.youtube.com/watch?v=9auOCbH5Ns4) [](https://github.com/xojs/xo)  [](https://repl.it/github/chalk/chalk)
|
||||
|
||||
<img src="https://cdn.jsdelivr.net/gh/chalk/ansi-styles@8261697c95bf34b6c7767e2cbe9941a851d59385/screenshot.svg" width="900">
|
||||
|
||||
## Highlights
|
||||
|
||||
- Expressive API
|
||||
- Highly performant
|
||||
- Ability to nest styles
|
||||
- [256/Truecolor color support](#256-and-truecolor-color-support)
|
||||
- Auto-detects color support
|
||||
- Doesn't extend `String.prototype`
|
||||
- Clean and focused
|
||||
- Actively maintained
|
||||
- [Used by ~50,000 packages](https://www.npmjs.com/browse/depended/chalk) as of January 1, 2020
|
||||
|
||||
## Install
|
||||
|
||||
```console
|
||||
$ npm install chalk
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const chalk = require('chalk');
|
||||
|
||||
console.log(chalk.blue('Hello world!'));
|
||||
```
|
||||
|
||||
Chalk comes with an easy to use composable API where you just chain and nest the styles you want.
|
||||
|
||||
```js
|
||||
const chalk = require('chalk');
|
||||
const log = console.log;
|
||||
|
||||
// Combine styled and normal strings
|
||||
log(chalk.blue('Hello') + ' World' + chalk.red('!'));
|
||||
|
||||
// Compose multiple styles using the chainable API
|
||||
log(chalk.blue.bgRed.bold('Hello world!'));
|
||||
|
||||
// Pass in multiple arguments
|
||||
log(chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz'));
|
||||
|
||||
// Nest styles
|
||||
log(chalk.red('Hello', chalk.underline.bgBlue('world') + '!'));
|
||||
|
||||
// Nest styles of the same type even (color, underline, background)
|
||||
log(chalk.green(
|
||||
'I am a green line ' +
|
||||
chalk.blue.underline.bold('with a blue substring') +
|
||||
' that becomes green again!'
|
||||
));
|
||||
|
||||
// ES2015 template literal
|
||||
log(`
|
||||
CPU: ${chalk.red('90%')}
|
||||
RAM: ${chalk.green('40%')}
|
||||
DISK: ${chalk.yellow('70%')}
|
||||
`);
|
||||
|
||||
// ES2015 tagged template literal
|
||||
log(chalk`
|
||||
CPU: {red ${cpu.totalPercent}%}
|
||||
RAM: {green ${ram.used / ram.total * 100}%}
|
||||
DISK: {rgb(255,131,0) ${disk.used / disk.total * 100}%}
|
||||
`);
|
||||
|
||||
// Use RGB colors in terminal emulators that support it.
|
||||
log(chalk.keyword('orange')('Yay for orange colored text!'));
|
||||
log(chalk.rgb(123, 45, 67).underline('Underlined reddish color'));
|
||||
log(chalk.hex('#DEADED').bold('Bold gray!'));
|
||||
```
|
||||
|
||||
Easily define your own themes:
|
||||
|
||||
```js
|
||||
const chalk = require('chalk');
|
||||
|
||||
const error = chalk.bold.red;
|
||||
const warning = chalk.keyword('orange');
|
||||
|
||||
console.log(error('Error!'));
|
||||
console.log(warning('Warning!'));
|
||||
```
|
||||
|
||||
Take advantage of console.log [string substitution](https://nodejs.org/docs/latest/api/console.html#console_console_log_data_args):
|
||||
|
||||
```js
|
||||
const name = 'Sindre';
|
||||
console.log(chalk.green('Hello %s'), name);
|
||||
//=> 'Hello Sindre'
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### chalk.`<style>[.<style>...](string, [string...])`
|
||||
|
||||
Example: `chalk.red.bold.underline('Hello', 'world');`
|
||||
|
||||
Chain [styles](#styles) and call the last one as a method with a string argument. Order doesn't matter, and later styles take precedent in case of a conflict. This simply means that `chalk.red.yellow.green` is equivalent to `chalk.green`.
|
||||
|
||||
Multiple arguments will be separated by space.
|
||||
|
||||
### chalk.level
|
||||
|
||||
Specifies the level of color support.
|
||||
|
||||
Color support is automatically detected, but you can override it by setting the `level` property. You should however only do this in your own code as it applies globally to all Chalk consumers.
|
||||
|
||||
If you need to change this in a reusable module, create a new instance:
|
||||
|
||||
```js
|
||||
const ctx = new chalk.Instance({level: 0});
|
||||
```
|
||||
|
||||
| Level | Description |
|
||||
| :---: | :--- |
|
||||
| `0` | All colors disabled |
|
||||
| `1` | Basic color support (16 colors) |
|
||||
| `2` | 256 color support |
|
||||
| `3` | Truecolor support (16 million colors) |
|
||||
|
||||
### chalk.supportsColor
|
||||
|
||||
Detect whether the terminal [supports color](https://github.com/chalk/supports-color). Used internally and handled for you, but exposed for convenience.
|
||||
|
||||
Can be overridden by the user with the flags `--color` and `--no-color`. For situations where using `--color` is not possible, use the environment variable `FORCE_COLOR=1` (level 1), `FORCE_COLOR=2` (level 2), or `FORCE_COLOR=3` (level 3) to forcefully enable color, or `FORCE_COLOR=0` to forcefully disable. The use of `FORCE_COLOR` overrides all other color support checks.
|
||||
|
||||
Explicit 256/Truecolor mode can be enabled using the `--color=256` and `--color=16m` flags, respectively.
|
||||
|
||||
### chalk.stderr and chalk.stderr.supportsColor
|
||||
|
||||
`chalk.stderr` contains a separate instance configured with color support detected for `stderr` stream instead of `stdout`. Override rules from `chalk.supportsColor` apply to this too. `chalk.stderr.supportsColor` is exposed for convenience.
|
||||
|
||||
## Styles
|
||||
|
||||
### Modifiers
|
||||
|
||||
- `reset` - Resets the current color chain.
|
||||
- `bold` - Make text bold.
|
||||
- `dim` - Emitting only a small amount of light.
|
||||
- `italic` - Make text italic. *(Not widely supported)*
|
||||
- `underline` - Make text underline. *(Not widely supported)*
|
||||
- `inverse`- Inverse background and foreground colors.
|
||||
- `hidden` - Prints the text, but makes it invisible.
|
||||
- `strikethrough` - Puts a horizontal line through the center of the text. *(Not widely supported)*
|
||||
- `visible`- Prints the text only when Chalk has a color level > 0. Can be useful for things that are purely cosmetic.
|
||||
|
||||
### Colors
|
||||
|
||||
- `black`
|
||||
- `red`
|
||||
- `green`
|
||||
- `yellow`
|
||||
- `blue`
|
||||
- `magenta`
|
||||
- `cyan`
|
||||
- `white`
|
||||
- `blackBright` (alias: `gray`, `grey`)
|
||||
- `redBright`
|
||||
- `greenBright`
|
||||
- `yellowBright`
|
||||
- `blueBright`
|
||||
- `magentaBright`
|
||||
- `cyanBright`
|
||||
- `whiteBright`
|
||||
|
||||
### Background colors
|
||||
|
||||
- `bgBlack`
|
||||
- `bgRed`
|
||||
- `bgGreen`
|
||||
- `bgYellow`
|
||||
- `bgBlue`
|
||||
- `bgMagenta`
|
||||
- `bgCyan`
|
||||
- `bgWhite`
|
||||
- `bgBlackBright` (alias: `bgGray`, `bgGrey`)
|
||||
- `bgRedBright`
|
||||
- `bgGreenBright`
|
||||
- `bgYellowBright`
|
||||
- `bgBlueBright`
|
||||
- `bgMagentaBright`
|
||||
- `bgCyanBright`
|
||||
- `bgWhiteBright`
|
||||
|
||||
## Tagged template literal
|
||||
|
||||
Chalk can be used as a [tagged template literal](https://exploringjs.com/es6/ch_template-literals.html#_tagged-template-literals).
|
||||
|
||||
```js
|
||||
const chalk = require('chalk');
|
||||
|
||||
const miles = 18;
|
||||
const calculateFeet = miles => miles * 5280;
|
||||
|
||||
console.log(chalk`
|
||||
There are {bold 5280 feet} in a mile.
|
||||
In {bold ${miles} miles}, there are {green.bold ${calculateFeet(miles)} feet}.
|
||||
`);
|
||||
```
|
||||
|
||||
Blocks are delimited by an opening curly brace (`{`), a style, some content, and a closing curly brace (`}`).
|
||||
|
||||
Template styles are chained exactly like normal Chalk styles. The following three statements are equivalent:
|
||||
|
||||
```js
|
||||
console.log(chalk.bold.rgb(10, 100, 200)('Hello!'));
|
||||
console.log(chalk.bold.rgb(10, 100, 200)`Hello!`);
|
||||
console.log(chalk`{bold.rgb(10,100,200) Hello!}`);
|
||||
```
|
||||
|
||||
Note that function styles (`rgb()`, `hsl()`, `keyword()`, etc.) may not contain spaces between parameters.
|
||||
|
||||
All interpolated values (`` chalk`${foo}` ``) are converted to strings via the `.toString()` method. All curly braces (`{` and `}`) in interpolated value strings are escaped.
|
||||
|
||||
## 256 and Truecolor color support
|
||||
|
||||
Chalk supports 256 colors and [Truecolor](https://gist.github.com/XVilka/8346728) (16 million colors) on supported terminal apps.
|
||||
|
||||
Colors are downsampled from 16 million RGB values to an ANSI color format that is supported by the terminal emulator (or by specifying `{level: n}` as a Chalk option). For example, Chalk configured to run at level 1 (basic color support) will downsample an RGB value of #FF0000 (red) to 31 (ANSI escape for red).
|
||||
|
||||
Examples:
|
||||
|
||||
- `chalk.hex('#DEADED').underline('Hello, world!')`
|
||||
- `chalk.keyword('orange')('Some orange text')`
|
||||
- `chalk.rgb(15, 100, 204).inverse('Hello!')`
|
||||
|
||||
Background versions of these models are prefixed with `bg` and the first level of the module capitalized (e.g. `keyword` for foreground colors and `bgKeyword` for background colors).
|
||||
|
||||
- `chalk.bgHex('#DEADED').underline('Hello, world!')`
|
||||
- `chalk.bgKeyword('orange')('Some orange text')`
|
||||
- `chalk.bgRgb(15, 100, 204).inverse('Hello!')`
|
||||
|
||||
The following color models can be used:
|
||||
|
||||
- [`rgb`](https://en.wikipedia.org/wiki/RGB_color_model) - Example: `chalk.rgb(255, 136, 0).bold('Orange!')`
|
||||
- [`hex`](https://en.wikipedia.org/wiki/Web_colors#Hex_triplet) - Example: `chalk.hex('#FF8800').bold('Orange!')`
|
||||
- [`keyword`](https://www.w3.org/wiki/CSS/Properties/color/keywords) (CSS keywords) - Example: `chalk.keyword('orange').bold('Orange!')`
|
||||
- [`hsl`](https://en.wikipedia.org/wiki/HSL_and_HSV) - Example: `chalk.hsl(32, 100, 50).bold('Orange!')`
|
||||
- [`hsv`](https://en.wikipedia.org/wiki/HSL_and_HSV) - Example: `chalk.hsv(32, 100, 100).bold('Orange!')`
|
||||
- [`hwb`](https://en.wikipedia.org/wiki/HWB_color_model) - Example: `chalk.hwb(32, 0, 50).bold('Orange!')`
|
||||
- [`ansi`](https://en.wikipedia.org/wiki/ANSI_escape_code#3/4_bit) - Example: `chalk.ansi(31).bgAnsi(93)('red on yellowBright')`
|
||||
- [`ansi256`](https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit) - Example: `chalk.bgAnsi256(194)('Honeydew, more or less')`
|
||||
|
||||
## Windows
|
||||
|
||||
If you're on Windows, do yourself a favor and use [Windows Terminal](https://github.com/microsoft/terminal) instead of `cmd.exe`.
|
||||
|
||||
## Origin story
|
||||
|
||||
[colors.js](https://github.com/Marak/colors.js) used to be the most popular string styling module, but it has serious deficiencies like extending `String.prototype` which causes all kinds of [problems](https://github.com/yeoman/yo/issues/68) and the package is unmaintained. Although there are other packages, they either do too much or not enough. Chalk is a clean and focused alternative.
|
||||
|
||||
## chalk for enterprise
|
||||
|
||||
Available as part of the Tidelift Subscription.
|
||||
|
||||
The maintainers of chalk and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-chalk?utm_source=npm-chalk&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
|
||||
|
||||
## Related
|
||||
|
||||
- [chalk-cli](https://github.com/chalk/chalk-cli) - CLI for this module
|
||||
- [ansi-styles](https://github.com/chalk/ansi-styles) - ANSI escape codes for styling strings in the terminal
|
||||
- [supports-color](https://github.com/chalk/supports-color) - Detect whether a terminal supports color
|
||||
- [strip-ansi](https://github.com/chalk/strip-ansi) - Strip ANSI escape codes
|
||||
- [strip-ansi-stream](https://github.com/chalk/strip-ansi-stream) - Strip ANSI escape codes from a stream
|
||||
- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes
|
||||
- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes
|
||||
- [wrap-ansi](https://github.com/chalk/wrap-ansi) - Wordwrap a string with ANSI escape codes
|
||||
- [slice-ansi](https://github.com/chalk/slice-ansi) - Slice a string with ANSI escape codes
|
||||
- [color-convert](https://github.com/qix-/color-convert) - Converts colors between different models
|
||||
- [chalk-animation](https://github.com/bokub/chalk-animation) - Animate strings in the terminal
|
||||
- [gradient-string](https://github.com/bokub/gradient-string) - Apply color gradients to strings
|
||||
- [chalk-pipe](https://github.com/LitoMore/chalk-pipe) - Create chalk style schemes with simpler style strings
|
||||
- [terminal-link](https://github.com/sindresorhus/terminal-link) - Create clickable links in the terminal
|
||||
|
||||
## Maintainers
|
||||
|
||||
- [Sindre Sorhus](https://github.com/sindresorhus)
|
||||
- [Josh Junon](https://github.com/qix-)
|
229
node_modules/jest/node_modules/chalk/source/index.js
generated
vendored
Normal file
229
node_modules/jest/node_modules/chalk/source/index.js
generated
vendored
Normal file
|
@ -0,0 +1,229 @@
|
|||
'use strict';
|
||||
const ansiStyles = require('ansi-styles');
|
||||
const {stdout: stdoutColor, stderr: stderrColor} = require('supports-color');
|
||||
const {
|
||||
stringReplaceAll,
|
||||
stringEncaseCRLFWithFirstIndex
|
||||
} = require('./util');
|
||||
|
||||
const {isArray} = Array;
|
||||
|
||||
// `supportsColor.level` → `ansiStyles.color[name]` mapping
|
||||
const levelMapping = [
|
||||
'ansi',
|
||||
'ansi',
|
||||
'ansi256',
|
||||
'ansi16m'
|
||||
];
|
||||
|
||||
const styles = Object.create(null);
|
||||
|
||||
const applyOptions = (object, options = {}) => {
|
||||
if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
|
||||
throw new Error('The `level` option should be an integer from 0 to 3');
|
||||
}
|
||||
|
||||
// Detect level if not set manually
|
||||
const colorLevel = stdoutColor ? stdoutColor.level : 0;
|
||||
object.level = options.level === undefined ? colorLevel : options.level;
|
||||
};
|
||||
|
||||
class ChalkClass {
|
||||
constructor(options) {
|
||||
// eslint-disable-next-line no-constructor-return
|
||||
return chalkFactory(options);
|
||||
}
|
||||
}
|
||||
|
||||
const chalkFactory = options => {
|
||||
const chalk = {};
|
||||
applyOptions(chalk, options);
|
||||
|
||||
chalk.template = (...arguments_) => chalkTag(chalk.template, ...arguments_);
|
||||
|
||||
Object.setPrototypeOf(chalk, Chalk.prototype);
|
||||
Object.setPrototypeOf(chalk.template, chalk);
|
||||
|
||||
chalk.template.constructor = () => {
|
||||
throw new Error('`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.');
|
||||
};
|
||||
|
||||
chalk.template.Instance = ChalkClass;
|
||||
|
||||
return chalk.template;
|
||||
};
|
||||
|
||||
function Chalk(options) {
|
||||
return chalkFactory(options);
|
||||
}
|
||||
|
||||
for (const [styleName, style] of Object.entries(ansiStyles)) {
|
||||
styles[styleName] = {
|
||||
get() {
|
||||
const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);
|
||||
Object.defineProperty(this, styleName, {value: builder});
|
||||
return builder;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
styles.visible = {
|
||||
get() {
|
||||
const builder = createBuilder(this, this._styler, true);
|
||||
Object.defineProperty(this, 'visible', {value: builder});
|
||||
return builder;
|
||||
}
|
||||
};
|
||||
|
||||
const usedModels = ['rgb', 'hex', 'keyword', 'hsl', 'hsv', 'hwb', 'ansi', 'ansi256'];
|
||||
|
||||
for (const model of usedModels) {
|
||||
styles[model] = {
|
||||
get() {
|
||||
const {level} = this;
|
||||
return function (...arguments_) {
|
||||
const styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);
|
||||
return createBuilder(this, styler, this._isEmpty);
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
for (const model of usedModels) {
|
||||
const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1);
|
||||
styles[bgModel] = {
|
||||
get() {
|
||||
const {level} = this;
|
||||
return function (...arguments_) {
|
||||
const styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);
|
||||
return createBuilder(this, styler, this._isEmpty);
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const proto = Object.defineProperties(() => {}, {
|
||||
...styles,
|
||||
level: {
|
||||
enumerable: true,
|
||||
get() {
|
||||
return this._generator.level;
|
||||
},
|
||||
set(level) {
|
||||
this._generator.level = level;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
const createStyler = (open, close, parent) => {
|
||||
let openAll;
|
||||
let closeAll;
|
||||
if (parent === undefined) {
|
||||
openAll = open;
|
||||
closeAll = close;
|
||||
} else {
|
||||
openAll = parent.openAll + open;
|
||||
closeAll = close + parent.closeAll;
|
||||
}
|
||||
|
||||
return {
|
||||
open,
|
||||
close,
|
||||
openAll,
|
||||
closeAll,
|
||||
parent
|
||||
};
|
||||
};
|
||||
|
||||
const createBuilder = (self, _styler, _isEmpty) => {
|
||||
const builder = (...arguments_) => {
|
||||
if (isArray(arguments_[0]) && isArray(arguments_[0].raw)) {
|
||||
// Called as a template literal, for example: chalk.red`2 + 3 = {bold ${2+3}}`
|
||||
return applyStyle(builder, chalkTag(builder, ...arguments_));
|
||||
}
|
||||
|
||||
// Single argument is hot path, implicit coercion is faster than anything
|
||||
// eslint-disable-next-line no-implicit-coercion
|
||||
return applyStyle(builder, (arguments_.length === 1) ? ('' + arguments_[0]) : arguments_.join(' '));
|
||||
};
|
||||
|
||||
// We alter the prototype because we must return a function, but there is
|
||||
// no way to create a function with a different prototype
|
||||
Object.setPrototypeOf(builder, proto);
|
||||
|
||||
builder._generator = self;
|
||||
builder._styler = _styler;
|
||||
builder._isEmpty = _isEmpty;
|
||||
|
||||
return builder;
|
||||
};
|
||||
|
||||
const applyStyle = (self, string) => {
|
||||
if (self.level <= 0 || !string) {
|
||||
return self._isEmpty ? '' : string;
|
||||
}
|
||||
|
||||
let styler = self._styler;
|
||||
|
||||
if (styler === undefined) {
|
||||
return string;
|
||||
}
|
||||
|
||||
const {openAll, closeAll} = styler;
|
||||
if (string.indexOf('\u001B') !== -1) {
|
||||
while (styler !== undefined) {
|
||||
// Replace any instances already present with a re-opening code
|
||||
// otherwise only the part of the string until said closing code
|
||||
// will be colored, and the rest will simply be 'plain'.
|
||||
string = stringReplaceAll(string, styler.close, styler.open);
|
||||
|
||||
styler = styler.parent;
|
||||
}
|
||||
}
|
||||
|
||||
// We can move both next actions out of loop, because remaining actions in loop won't have
|
||||
// any/visible effect on parts we add here. Close the styling before a linebreak and reopen
|
||||
// after next line to fix a bleed issue on macOS: https://github.com/chalk/chalk/pull/92
|
||||
const lfIndex = string.indexOf('\n');
|
||||
if (lfIndex !== -1) {
|
||||
string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
|
||||
}
|
||||
|
||||
return openAll + string + closeAll;
|
||||
};
|
||||
|
||||
let template;
|
||||
const chalkTag = (chalk, ...strings) => {
|
||||
const [firstString] = strings;
|
||||
|
||||
if (!isArray(firstString) || !isArray(firstString.raw)) {
|
||||
// If chalk() was called by itself or with a string,
|
||||
// return the string itself as a string.
|
||||
return strings.join(' ');
|
||||
}
|
||||
|
||||
const arguments_ = strings.slice(1);
|
||||
const parts = [firstString.raw[0]];
|
||||
|
||||
for (let i = 1; i < firstString.length; i++) {
|
||||
parts.push(
|
||||
String(arguments_[i - 1]).replace(/[{}\\]/g, '\\$&'),
|
||||
String(firstString.raw[i])
|
||||
);
|
||||
}
|
||||
|
||||
if (template === undefined) {
|
||||
template = require('./templates');
|
||||
}
|
||||
|
||||
return template(chalk, parts.join(''));
|
||||
};
|
||||
|
||||
Object.defineProperties(Chalk.prototype, styles);
|
||||
|
||||
const chalk = Chalk(); // eslint-disable-line new-cap
|
||||
chalk.supportsColor = stdoutColor;
|
||||
chalk.stderr = Chalk({level: stderrColor ? stderrColor.level : 0}); // eslint-disable-line new-cap
|
||||
chalk.stderr.supportsColor = stderrColor;
|
||||
|
||||
module.exports = chalk;
|
134
node_modules/jest/node_modules/chalk/source/templates.js
generated
vendored
Normal file
134
node_modules/jest/node_modules/chalk/source/templates.js
generated
vendored
Normal file
|
@ -0,0 +1,134 @@
|
|||
'use strict';
|
||||
const TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
|
||||
const STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
|
||||
const STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
|
||||
const ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi;
|
||||
|
||||
const ESCAPES = new Map([
|
||||
['n', '\n'],
|
||||
['r', '\r'],
|
||||
['t', '\t'],
|
||||
['b', '\b'],
|
||||
['f', '\f'],
|
||||
['v', '\v'],
|
||||
['0', '\0'],
|
||||
['\\', '\\'],
|
||||
['e', '\u001B'],
|
||||
['a', '\u0007']
|
||||
]);
|
||||
|
||||
function unescape(c) {
|
||||
const u = c[0] === 'u';
|
||||
const bracket = c[1] === '{';
|
||||
|
||||
if ((u && !bracket && c.length === 5) || (c[0] === 'x' && c.length === 3)) {
|
||||
return String.fromCharCode(parseInt(c.slice(1), 16));
|
||||
}
|
||||
|
||||
if (u && bracket) {
|
||||
return String.fromCodePoint(parseInt(c.slice(2, -1), 16));
|
||||
}
|
||||
|
||||
return ESCAPES.get(c) || c;
|
||||
}
|
||||
|
||||
function parseArguments(name, arguments_) {
|
||||
const results = [];
|
||||
const chunks = arguments_.trim().split(/\s*,\s*/g);
|
||||
let matches;
|
||||
|
||||
for (const chunk of chunks) {
|
||||
const number = Number(chunk);
|
||||
if (!Number.isNaN(number)) {
|
||||
results.push(number);
|
||||
} else if ((matches = chunk.match(STRING_REGEX))) {
|
||||
results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape(escape) : character));
|
||||
} else {
|
||||
throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);
|
||||
}
|
||||
}
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
function parseStyle(style) {
|
||||
STYLE_REGEX.lastIndex = 0;
|
||||
|
||||
const results = [];
|
||||
let matches;
|
||||
|
||||
while ((matches = STYLE_REGEX.exec(style)) !== null) {
|
||||
const name = matches[1];
|
||||
|
||||
if (matches[2]) {
|
||||
const args = parseArguments(name, matches[2]);
|
||||
results.push([name].concat(args));
|
||||
} else {
|
||||
results.push([name]);
|
||||
}
|
||||
}
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
function buildStyle(chalk, styles) {
|
||||
const enabled = {};
|
||||
|
||||
for (const layer of styles) {
|
||||
for (const style of layer.styles) {
|
||||
enabled[style[0]] = layer.inverse ? null : style.slice(1);
|
||||
}
|
||||
}
|
||||
|
||||
let current = chalk;
|
||||
for (const [styleName, styles] of Object.entries(enabled)) {
|
||||
if (!Array.isArray(styles)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!(styleName in current)) {
|
||||
throw new Error(`Unknown Chalk style: ${styleName}`);
|
||||
}
|
||||
|
||||
current = styles.length > 0 ? current[styleName](...styles) : current[styleName];
|
||||
}
|
||||
|
||||
return current;
|
||||
}
|
||||
|
||||
module.exports = (chalk, temporary) => {
|
||||
const styles = [];
|
||||
const chunks = [];
|
||||
let chunk = [];
|
||||
|
||||
// eslint-disable-next-line max-params
|
||||
temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {
|
||||
if (escapeCharacter) {
|
||||
chunk.push(unescape(escapeCharacter));
|
||||
} else if (style) {
|
||||
const string = chunk.join('');
|
||||
chunk = [];
|
||||
chunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string));
|
||||
styles.push({inverse, styles: parseStyle(style)});
|
||||
} else if (close) {
|
||||
if (styles.length === 0) {
|
||||
throw new Error('Found extraneous } in Chalk template literal');
|
||||
}
|
||||
|
||||
chunks.push(buildStyle(chalk, styles)(chunk.join('')));
|
||||
chunk = [];
|
||||
styles.pop();
|
||||
} else {
|
||||
chunk.push(character);
|
||||
}
|
||||
});
|
||||
|
||||
chunks.push(chunk.join(''));
|
||||
|
||||
if (styles.length > 0) {
|
||||
const errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`;
|
||||
throw new Error(errMessage);
|
||||
}
|
||||
|
||||
return chunks.join('');
|
||||
};
|
39
node_modules/jest/node_modules/chalk/source/util.js
generated
vendored
Normal file
39
node_modules/jest/node_modules/chalk/source/util.js
generated
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
'use strict';
|
||||
|
||||
const stringReplaceAll = (string, substring, replacer) => {
|
||||
let index = string.indexOf(substring);
|
||||
if (index === -1) {
|
||||
return string;
|
||||
}
|
||||
|
||||
const substringLength = substring.length;
|
||||
let endIndex = 0;
|
||||
let returnValue = '';
|
||||
do {
|
||||
returnValue += string.substr(endIndex, index - endIndex) + substring + replacer;
|
||||
endIndex = index + substringLength;
|
||||
index = string.indexOf(substring, endIndex);
|
||||
} while (index !== -1);
|
||||
|
||||
returnValue += string.substr(endIndex);
|
||||
return returnValue;
|
||||
};
|
||||
|
||||
const stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {
|
||||
let endIndex = 0;
|
||||
let returnValue = '';
|
||||
do {
|
||||
const gotCR = string[index - 1] === '\r';
|
||||
returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? '\r\n' : '\n') + postfix;
|
||||
endIndex = index + 1;
|
||||
index = string.indexOf('\n', endIndex);
|
||||
} while (index !== -1);
|
||||
|
||||
returnValue += string.substr(endIndex);
|
||||
return returnValue;
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
stringReplaceAll,
|
||||
stringEncaseCRLFWithFirstIndex
|
||||
};
|
21
node_modules/jest/node_modules/jest-cli/LICENSE
generated
vendored
Normal file
21
node_modules/jest/node_modules/jest-cli/LICENSE
generated
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) Facebook, Inc. and its affiliates.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
11
node_modules/jest/node_modules/jest-cli/README.md
generated
vendored
Normal file
11
node_modules/jest/node_modules/jest-cli/README.md
generated
vendored
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Jest
|
||||
|
||||
🃏 Delightful JavaScript Testing
|
||||
|
||||
- **👩🏻💻 Developer Ready**: Complete and ready to set-up JavaScript testing solution. Works out of the box for any React project.
|
||||
|
||||
- **🏃🏽 Instant Feedback**: Failed tests run first. Fast interactive mode can switch between running all tests or only test files related to changed files.
|
||||
|
||||
- **📸 Snapshot Testing**: Jest can [capture snapshots](https://jestjs.io/docs/snapshot-testing.html) of React trees or other serializable values to simplify UI testing.
|
||||
|
||||
Read More: https://jestjs.io/
|
502
node_modules/jest/node_modules/jest-cli/build/cli/args.d.ts
generated
vendored
Normal file
502
node_modules/jest/node_modules/jest-cli/build/cli/args.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,502 @@
|
|||
/**
|
||||
* 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 { Config } from '@jest/types';
|
||||
export declare function check(argv: Config.Argv): true;
|
||||
export declare const usage = "Usage: $0 [--config=<pathToConfigFile>] [TestPathPattern]";
|
||||
export declare const docs = "Documentation: https://jestjs.io/";
|
||||
export declare const options: {
|
||||
readonly all: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly automock: {
|
||||
readonly default: undefined;
|
||||
readonly description: "Automock all files by default.";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly bail: {
|
||||
readonly alias: "b";
|
||||
readonly default: undefined;
|
||||
readonly description: "Exit the test suite immediately after `n` number of failing tests.";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly browser: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly cache: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly cacheDirectory: {
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly changedFilesWithAncestor: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly changedSince: {
|
||||
readonly description: string;
|
||||
readonly nargs: 1;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly ci: {
|
||||
readonly default: boolean;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly clearCache: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly clearMocks: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly collectCoverage: {
|
||||
readonly default: undefined;
|
||||
readonly description: "Alias for --coverage.";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly collectCoverageFrom: {
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly collectCoverageOnlyFrom: {
|
||||
readonly description: "Explicit list of paths coverage will be restricted to.";
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly color: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly colors: {
|
||||
readonly default: undefined;
|
||||
readonly description: "Alias for `--color`.";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly config: {
|
||||
readonly alias: "c";
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly coverage: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly coverageDirectory: {
|
||||
readonly description: "The directory where Jest should output its coverage files.";
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly coveragePathIgnorePatterns: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly coverageProvider: {
|
||||
readonly choices: readonly ["babel", "v8"];
|
||||
readonly description: "Select between Babel and V8 to collect coverage";
|
||||
};
|
||||
readonly coverageReporters: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly coverageThreshold: {
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly debug: {
|
||||
readonly default: undefined;
|
||||
readonly description: "Print debugging info about your jest config.";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly detectLeaks: {
|
||||
readonly default: false;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly detectOpenHandles: {
|
||||
readonly default: false;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly env: {
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly errorOnDeprecated: {
|
||||
readonly default: false;
|
||||
readonly description: "Make calling deprecated APIs throw helpful error messages.";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly expand: {
|
||||
readonly alias: "e";
|
||||
readonly default: undefined;
|
||||
readonly description: "Use this flag to show full diffs instead of a patch.";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly filter: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly findRelatedTests: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly forceExit: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly globalSetup: {
|
||||
readonly description: "The path to a module that runs before All Tests.";
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly globalTeardown: {
|
||||
readonly description: "The path to a module that runs after All Tests.";
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly globals: {
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly haste: {
|
||||
readonly description: "A JSON string with map of variables for the haste module system";
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly init: {
|
||||
readonly description: "Generate a basic configuration file";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly json: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly lastCommit: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly listTests: {
|
||||
readonly default: false;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly logHeapUsage: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly mapCoverage: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly maxConcurrency: {
|
||||
readonly default: 5;
|
||||
readonly description: string;
|
||||
readonly type: "number";
|
||||
};
|
||||
readonly maxWorkers: {
|
||||
readonly alias: "w";
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly moduleDirectories: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly moduleFileExtensions: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly moduleNameMapper: {
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly modulePathIgnorePatterns: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly modulePaths: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly noStackTrace: {
|
||||
readonly default: undefined;
|
||||
readonly description: "Disables stack trace in test results output";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly notify: {
|
||||
readonly default: undefined;
|
||||
readonly description: "Activates notifications for test results.";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly notifyMode: {
|
||||
readonly default: "failure-change";
|
||||
readonly description: "Specifies when notifications will appear for test results.";
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly onlyChanged: {
|
||||
readonly alias: "o";
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly onlyFailures: {
|
||||
readonly alias: "f";
|
||||
readonly default: undefined;
|
||||
readonly description: "Run tests that failed in the previous execution.";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly outputFile: {
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly passWithNoTests: {
|
||||
readonly default: false;
|
||||
readonly description: "Will not fail if no tests are found (for example while using `--testPathPattern`.)";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly preset: {
|
||||
readonly description: "A preset that is used as a base for Jest's configuration.";
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly prettierPath: {
|
||||
readonly default: undefined;
|
||||
readonly description: "The path to the \"prettier\" module used for inline snapshots.";
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly projects: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly reporters: {
|
||||
readonly description: "A list of custom reporters for the test suite.";
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly resetMocks: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly resetModules: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly resolver: {
|
||||
readonly description: "A JSON string which allows the use of a custom resolver.";
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly restoreMocks: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly rootDir: {
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly roots: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly runInBand: {
|
||||
readonly alias: "i";
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly runTestsByPath: {
|
||||
readonly default: false;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly runner: {
|
||||
readonly description: "Allows to use a custom runner instead of Jest's default test runner.";
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly selectProjects: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly setupFiles: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly setupFilesAfterEnv: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly showConfig: {
|
||||
readonly default: undefined;
|
||||
readonly description: "Print your jest config and then exits.";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly silent: {
|
||||
readonly default: undefined;
|
||||
readonly description: "Prevent tests from printing messages through the console.";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly skipFilter: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly snapshotSerializers: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly testEnvironment: {
|
||||
readonly description: "Alias for --env";
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly testEnvironmentOptions: {
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly testFailureExitCode: {
|
||||
readonly description: "Exit code of `jest` command if the test run failed";
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly testLocationInResults: {
|
||||
readonly default: false;
|
||||
readonly description: "Add `location` information to the test results";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly testMatch: {
|
||||
readonly description: "The glob patterns Jest uses to detect test files.";
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly testNamePattern: {
|
||||
readonly alias: "t";
|
||||
readonly description: "Run only tests with a name that matches the regex pattern.";
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly testPathIgnorePatterns: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly testPathPattern: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly testRegex: {
|
||||
readonly description: "A string or array of string regexp patterns that Jest uses to detect test files.";
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly testResultsProcessor: {
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly testRunner: {
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly testSequencer: {
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly testTimeout: {
|
||||
readonly description: "This option sets the default timeouts of test cases.";
|
||||
readonly type: "number";
|
||||
};
|
||||
readonly testURL: {
|
||||
readonly description: "This option sets the URL for the jsdom environment.";
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly timers: {
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly transform: {
|
||||
readonly description: string;
|
||||
readonly type: "string";
|
||||
};
|
||||
readonly transformIgnorePatterns: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly unmockedModulePathPatterns: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly updateSnapshot: {
|
||||
readonly alias: "u";
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly useStderr: {
|
||||
readonly default: undefined;
|
||||
readonly description: "Divert all output to stderr.";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly verbose: {
|
||||
readonly default: undefined;
|
||||
readonly description: "Display individual test results with the test suite hierarchy.";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly version: {
|
||||
readonly alias: "v";
|
||||
readonly default: undefined;
|
||||
readonly description: "Print the version and exit";
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly watch: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly watchAll: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
readonly watchPathIgnorePatterns: {
|
||||
readonly description: string;
|
||||
readonly string: true;
|
||||
readonly type: "array";
|
||||
};
|
||||
readonly watchman: {
|
||||
readonly default: undefined;
|
||||
readonly description: string;
|
||||
readonly type: "boolean";
|
||||
};
|
||||
};
|
775
node_modules/jest/node_modules/jest-cli/build/cli/args.js
generated
vendored
Normal file
775
node_modules/jest/node_modules/jest-cli/build/cli/args.js
generated
vendored
Normal file
|
@ -0,0 +1,775 @@
|
|||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', {
|
||||
value: true
|
||||
});
|
||||
exports.check = check;
|
||||
exports.options = exports.docs = exports.usage = void 0;
|
||||
|
||||
function _jestConfig() {
|
||||
const data = require('jest-config');
|
||||
|
||||
_jestConfig = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _isCi() {
|
||||
const data = _interopRequireDefault(require('is-ci'));
|
||||
|
||||
_isCi = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _interopRequireDefault(obj) {
|
||||
return obj && obj.__esModule ? obj : {default: obj};
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
function check(argv) {
|
||||
if (argv.runInBand && argv.hasOwnProperty('maxWorkers')) {
|
||||
throw new Error(
|
||||
'Both --runInBand and --maxWorkers were specified, but these two ' +
|
||||
'options do not make sense together. Which is it?'
|
||||
);
|
||||
}
|
||||
|
||||
for (const key of [
|
||||
'onlyChanged',
|
||||
'lastCommit',
|
||||
'changedFilesWithAncestor',
|
||||
'changedSince'
|
||||
]) {
|
||||
if (argv[key] && argv.watchAll) {
|
||||
throw new Error(
|
||||
`Both --${key} and --watchAll were specified, but these two ` +
|
||||
'options do not make sense together. Try the --watch option which ' +
|
||||
'reruns only tests related to changed files.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (argv.findRelatedTests && argv._.length === 0) {
|
||||
throw new Error(
|
||||
'The --findRelatedTests option requires file paths to be specified.\n' +
|
||||
'Example usage: jest --findRelatedTests ./src/source.js ' +
|
||||
'./src/index.js.'
|
||||
);
|
||||
}
|
||||
|
||||
if (argv.hasOwnProperty('maxWorkers') && argv.maxWorkers === undefined) {
|
||||
throw new Error(
|
||||
'The --maxWorkers (-w) option requires a number or string to be specified.\n' +
|
||||
'Example usage: jest --maxWorkers 2\n' +
|
||||
'Example usage: jest --maxWorkers 50%\n' +
|
||||
'Or did you mean --watch?'
|
||||
);
|
||||
}
|
||||
|
||||
if (argv.selectProjects && argv.selectProjects.length === 0) {
|
||||
throw new Error(
|
||||
'The --selectProjects option requires the name of at least one project to be specified.\n' +
|
||||
'Example usage: jest --selectProjects my-first-project my-second-project'
|
||||
);
|
||||
}
|
||||
|
||||
if (
|
||||
argv.config &&
|
||||
!(0, _jestConfig().isJSONString)(argv.config) &&
|
||||
!argv.config.match(
|
||||
new RegExp(
|
||||
`\\.(${_jestConfig()
|
||||
.constants.JEST_CONFIG_EXT_ORDER.map(e => e.substring(1))
|
||||
.join('|')})$`,
|
||||
'i'
|
||||
)
|
||||
)
|
||||
) {
|
||||
throw new Error(
|
||||
`The --config option requires a JSON string literal, or a file path with one of these extensions: ${_jestConfig().constants.JEST_CONFIG_EXT_ORDER.join(
|
||||
', '
|
||||
)}.\nExample usage: jest --config ./jest.config.js`
|
||||
);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
const usage = 'Usage: $0 [--config=<pathToConfigFile>] [TestPathPattern]';
|
||||
exports.usage = usage;
|
||||
const docs = 'Documentation: https://jestjs.io/';
|
||||
exports.docs = docs;
|
||||
const options = {
|
||||
all: {
|
||||
default: undefined,
|
||||
description:
|
||||
'The opposite of `onlyChanged`. If `onlyChanged` is set by ' +
|
||||
'default, running jest with `--all` will force Jest to run all tests ' +
|
||||
'instead of running only tests related to changed files.',
|
||||
type: 'boolean'
|
||||
},
|
||||
automock: {
|
||||
default: undefined,
|
||||
description: 'Automock all files by default.',
|
||||
type: 'boolean'
|
||||
},
|
||||
bail: {
|
||||
alias: 'b',
|
||||
default: undefined,
|
||||
description:
|
||||
'Exit the test suite immediately after `n` number of failing tests.',
|
||||
type: 'boolean'
|
||||
},
|
||||
browser: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Respect the "browser" field in package.json ' +
|
||||
'when resolving modules. Some packages export different versions ' +
|
||||
'based on whether they are operating in node.js or a browser.',
|
||||
type: 'boolean'
|
||||
},
|
||||
cache: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Whether to use the transform cache. Disable the cache ' +
|
||||
'using --no-cache.',
|
||||
type: 'boolean'
|
||||
},
|
||||
cacheDirectory: {
|
||||
description:
|
||||
'The directory where Jest should store its cached ' +
|
||||
' dependency information.',
|
||||
type: 'string'
|
||||
},
|
||||
changedFilesWithAncestor: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Runs tests related to the current changes and the changes made in the ' +
|
||||
'last commit. Behaves similarly to `--onlyChanged`.',
|
||||
type: 'boolean'
|
||||
},
|
||||
changedSince: {
|
||||
description:
|
||||
'Runs tests related to the changes since the provided branch. If the ' +
|
||||
'current branch has diverged from the given branch, then only changes ' +
|
||||
'made locally will be tested. Behaves similarly to `--onlyChanged`.',
|
||||
nargs: 1,
|
||||
type: 'string'
|
||||
},
|
||||
ci: {
|
||||
default: _isCi().default,
|
||||
description:
|
||||
'Whether to run Jest in continuous integration (CI) mode. ' +
|
||||
'This option is on by default in most popular CI environments. It will ' +
|
||||
'prevent snapshots from being written unless explicitly requested.',
|
||||
type: 'boolean'
|
||||
},
|
||||
clearCache: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Clears the configured Jest cache directory and then exits. ' +
|
||||
'Default directory can be found by calling jest --showConfig',
|
||||
type: 'boolean'
|
||||
},
|
||||
clearMocks: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Automatically clear mock calls and instances between every ' +
|
||||
'test. Equivalent to calling jest.clearAllMocks() between each test.',
|
||||
type: 'boolean'
|
||||
},
|
||||
collectCoverage: {
|
||||
default: undefined,
|
||||
description: 'Alias for --coverage.',
|
||||
type: 'boolean'
|
||||
},
|
||||
collectCoverageFrom: {
|
||||
description:
|
||||
'A glob pattern relative to <rootDir> matching the files that coverage ' +
|
||||
'info needs to be collected from.',
|
||||
type: 'string'
|
||||
},
|
||||
collectCoverageOnlyFrom: {
|
||||
description: 'Explicit list of paths coverage will be restricted to.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
color: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Forces test results output color highlighting (even if ' +
|
||||
'stdout is not a TTY). Set to false if you would like to have no colors.',
|
||||
type: 'boolean'
|
||||
},
|
||||
colors: {
|
||||
default: undefined,
|
||||
description: 'Alias for `--color`.',
|
||||
type: 'boolean'
|
||||
},
|
||||
config: {
|
||||
alias: 'c',
|
||||
description:
|
||||
'The path to a jest config file specifying how to find ' +
|
||||
'and execute tests. If no rootDir is set in the config, the directory ' +
|
||||
'containing the config file is assumed to be the rootDir for the project.' +
|
||||
'This can also be a JSON encoded value which Jest will use as configuration.',
|
||||
type: 'string'
|
||||
},
|
||||
coverage: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Indicates that test coverage information should be ' +
|
||||
'collected and reported in the output.',
|
||||
type: 'boolean'
|
||||
},
|
||||
coverageDirectory: {
|
||||
description: 'The directory where Jest should output its coverage files.',
|
||||
type: 'string'
|
||||
},
|
||||
coveragePathIgnorePatterns: {
|
||||
description:
|
||||
'An array of regexp pattern strings that are matched ' +
|
||||
'against all file paths before executing the test. If the file path' +
|
||||
'matches any of the patterns, coverage information will be skipped.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
coverageProvider: {
|
||||
choices: ['babel', 'v8'],
|
||||
description: 'Select between Babel and V8 to collect coverage'
|
||||
},
|
||||
coverageReporters: {
|
||||
description:
|
||||
'A list of reporter names that Jest uses when writing ' +
|
||||
'coverage reports. Any istanbul reporter can be used.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
coverageThreshold: {
|
||||
description:
|
||||
'A JSON string with which will be used to configure ' +
|
||||
'minimum threshold enforcement for coverage results',
|
||||
type: 'string'
|
||||
},
|
||||
debug: {
|
||||
default: undefined,
|
||||
description: 'Print debugging info about your jest config.',
|
||||
type: 'boolean'
|
||||
},
|
||||
detectLeaks: {
|
||||
default: false,
|
||||
description:
|
||||
'**EXPERIMENTAL**: Detect memory leaks in tests. After executing a ' +
|
||||
'test, it will try to garbage collect the global object used, and fail ' +
|
||||
'if it was leaked',
|
||||
type: 'boolean'
|
||||
},
|
||||
detectOpenHandles: {
|
||||
default: false,
|
||||
description:
|
||||
'Print out remaining open handles preventing Jest from exiting at the ' +
|
||||
'end of a test run. Implies `runInBand`.',
|
||||
type: 'boolean'
|
||||
},
|
||||
env: {
|
||||
description:
|
||||
'The test environment used for all tests. This can point to ' +
|
||||
'any file or node module. Examples: `jsdom`, `node` or ' +
|
||||
'`path/to/my-environment.js`',
|
||||
type: 'string'
|
||||
},
|
||||
errorOnDeprecated: {
|
||||
default: false,
|
||||
description: 'Make calling deprecated APIs throw helpful error messages.',
|
||||
type: 'boolean'
|
||||
},
|
||||
expand: {
|
||||
alias: 'e',
|
||||
default: undefined,
|
||||
description: 'Use this flag to show full diffs instead of a patch.',
|
||||
type: 'boolean'
|
||||
},
|
||||
filter: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Path to a module exporting a filtering function. This method receives ' +
|
||||
'a list of tests which can be manipulated to exclude tests from ' +
|
||||
'running. Especially useful when used in conjunction with a testing ' +
|
||||
'infrastructure to filter known broken tests.',
|
||||
type: 'string'
|
||||
},
|
||||
findRelatedTests: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Find related tests for a list of source files that were ' +
|
||||
'passed in as arguments. Useful for pre-commit hook integration to run ' +
|
||||
'the minimal amount of tests necessary.',
|
||||
type: 'boolean'
|
||||
},
|
||||
forceExit: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Force Jest to exit after all tests have completed running. ' +
|
||||
'This is useful when resources set up by test code cannot be ' +
|
||||
'adequately cleaned up.',
|
||||
type: 'boolean'
|
||||
},
|
||||
globalSetup: {
|
||||
description: 'The path to a module that runs before All Tests.',
|
||||
type: 'string'
|
||||
},
|
||||
globalTeardown: {
|
||||
description: 'The path to a module that runs after All Tests.',
|
||||
type: 'string'
|
||||
},
|
||||
globals: {
|
||||
description:
|
||||
'A JSON string with map of global variables that need ' +
|
||||
'to be available in all test environments.',
|
||||
type: 'string'
|
||||
},
|
||||
haste: {
|
||||
description:
|
||||
'A JSON string with map of variables for the haste module system',
|
||||
type: 'string'
|
||||
},
|
||||
init: {
|
||||
description: 'Generate a basic configuration file',
|
||||
type: 'boolean'
|
||||
},
|
||||
json: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Prints the test results in JSON. This mode will send all ' +
|
||||
'other test output and user messages to stderr.',
|
||||
type: 'boolean'
|
||||
},
|
||||
lastCommit: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Run all tests affected by file changes in the last commit made. ' +
|
||||
'Behaves similarly to `--onlyChanged`.',
|
||||
type: 'boolean'
|
||||
},
|
||||
listTests: {
|
||||
default: false,
|
||||
description:
|
||||
'Lists all tests Jest will run given the arguments and ' +
|
||||
'exits. Most useful in a CI system together with `--findRelatedTests` ' +
|
||||
'to determine the tests Jest will run based on specific files',
|
||||
type: 'boolean'
|
||||
},
|
||||
logHeapUsage: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Logs the heap usage after every test. Useful to debug ' +
|
||||
'memory leaks. Use together with `--runInBand` and `--expose-gc` in ' +
|
||||
'node.',
|
||||
type: 'boolean'
|
||||
},
|
||||
mapCoverage: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Maps code coverage reports against original source code ' +
|
||||
'when transformers supply source maps.\n\nDEPRECATED',
|
||||
type: 'boolean'
|
||||
},
|
||||
maxConcurrency: {
|
||||
default: 5,
|
||||
description:
|
||||
'Specifies the maximum number of tests that are allowed to run' +
|
||||
'concurrently. This only affects tests using `test.concurrent`.',
|
||||
type: 'number'
|
||||
},
|
||||
maxWorkers: {
|
||||
alias: 'w',
|
||||
description:
|
||||
'Specifies the maximum number of workers the worker-pool ' +
|
||||
'will spawn for running tests. This defaults to the number of the ' +
|
||||
'cores available on your machine. (its usually best not to override ' +
|
||||
'this default)',
|
||||
type: 'string'
|
||||
},
|
||||
moduleDirectories: {
|
||||
description:
|
||||
'An array of directory names to be searched recursively ' +
|
||||
"up from the requiring module's location.",
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
moduleFileExtensions: {
|
||||
description:
|
||||
'An array of file extensions your modules use. If you ' +
|
||||
'require modules without specifying a file extension, these are the ' +
|
||||
'extensions Jest will look for. ',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
moduleNameMapper: {
|
||||
description:
|
||||
'A JSON string with a map from regular expressions to ' +
|
||||
'module names or to arrays of module names that allow to stub ' +
|
||||
'out resources, like images or styles with a single module',
|
||||
type: 'string'
|
||||
},
|
||||
modulePathIgnorePatterns: {
|
||||
description:
|
||||
'An array of regexp pattern strings that are matched ' +
|
||||
'against all module paths before those paths are to be considered ' +
|
||||
'"visible" to the module loader.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
modulePaths: {
|
||||
description:
|
||||
'An alternative API to setting the NODE_PATH env variable, ' +
|
||||
'modulePaths is an array of absolute paths to additional locations to ' +
|
||||
'search when resolving modules.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
noStackTrace: {
|
||||
default: undefined,
|
||||
description: 'Disables stack trace in test results output',
|
||||
type: 'boolean'
|
||||
},
|
||||
notify: {
|
||||
default: undefined,
|
||||
description: 'Activates notifications for test results.',
|
||||
type: 'boolean'
|
||||
},
|
||||
notifyMode: {
|
||||
default: 'failure-change',
|
||||
description: 'Specifies when notifications will appear for test results.',
|
||||
type: 'string'
|
||||
},
|
||||
onlyChanged: {
|
||||
alias: 'o',
|
||||
default: undefined,
|
||||
description:
|
||||
'Attempts to identify which tests to run based on which ' +
|
||||
"files have changed in the current repository. Only works if you're " +
|
||||
'running tests in a git or hg repository at the moment.',
|
||||
type: 'boolean'
|
||||
},
|
||||
onlyFailures: {
|
||||
alias: 'f',
|
||||
default: undefined,
|
||||
description: 'Run tests that failed in the previous execution.',
|
||||
type: 'boolean'
|
||||
},
|
||||
outputFile: {
|
||||
description:
|
||||
'Write test results to a file when the --json option is ' +
|
||||
'also specified.',
|
||||
type: 'string'
|
||||
},
|
||||
passWithNoTests: {
|
||||
default: false,
|
||||
description:
|
||||
'Will not fail if no tests are found (for example while using `--testPathPattern`.)',
|
||||
type: 'boolean'
|
||||
},
|
||||
preset: {
|
||||
description: "A preset that is used as a base for Jest's configuration.",
|
||||
type: 'string'
|
||||
},
|
||||
prettierPath: {
|
||||
default: undefined,
|
||||
description: 'The path to the "prettier" module used for inline snapshots.',
|
||||
type: 'string'
|
||||
},
|
||||
projects: {
|
||||
description:
|
||||
'A list of projects that use Jest to run all tests of all ' +
|
||||
'projects in a single instance of Jest.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
reporters: {
|
||||
description: 'A list of custom reporters for the test suite.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
resetMocks: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Automatically reset mock state between every test. ' +
|
||||
'Equivalent to calling jest.resetAllMocks() between each test.',
|
||||
type: 'boolean'
|
||||
},
|
||||
resetModules: {
|
||||
default: undefined,
|
||||
description:
|
||||
'If enabled, the module registry for every test file will ' +
|
||||
'be reset before running each individual test.',
|
||||
type: 'boolean'
|
||||
},
|
||||
resolver: {
|
||||
description: 'A JSON string which allows the use of a custom resolver.',
|
||||
type: 'string'
|
||||
},
|
||||
restoreMocks: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Automatically restore mock state and implementation between every test. ' +
|
||||
'Equivalent to calling jest.restoreAllMocks() between each test.',
|
||||
type: 'boolean'
|
||||
},
|
||||
rootDir: {
|
||||
description:
|
||||
'The root directory that Jest should scan for tests and ' +
|
||||
'modules within.',
|
||||
type: 'string'
|
||||
},
|
||||
roots: {
|
||||
description:
|
||||
'A list of paths to directories that Jest should use to ' +
|
||||
'search for files in.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
runInBand: {
|
||||
alias: 'i',
|
||||
default: undefined,
|
||||
description:
|
||||
'Run all tests serially in the current process (rather than ' +
|
||||
'creating a worker pool of child processes that run tests). This ' +
|
||||
'is sometimes useful for debugging, but such use cases are pretty ' +
|
||||
'rare.',
|
||||
type: 'boolean'
|
||||
},
|
||||
runTestsByPath: {
|
||||
default: false,
|
||||
description:
|
||||
'Used when provided patterns are exact file paths. This avoids ' +
|
||||
'converting them into a regular expression and matching it against ' +
|
||||
'every single file.',
|
||||
type: 'boolean'
|
||||
},
|
||||
runner: {
|
||||
description:
|
||||
"Allows to use a custom runner instead of Jest's default test runner.",
|
||||
type: 'string'
|
||||
},
|
||||
selectProjects: {
|
||||
description:
|
||||
'Run only the tests of the specified projects.' +
|
||||
'Jest uses the attribute `displayName` in the configuration to identify each project.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
setupFiles: {
|
||||
description:
|
||||
'A list of paths to modules that run some code to configure or ' +
|
||||
'set up the testing environment before each test. ',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
setupFilesAfterEnv: {
|
||||
description:
|
||||
'A list of paths to modules that run some code to configure or ' +
|
||||
'set up the testing framework before each test ',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
showConfig: {
|
||||
default: undefined,
|
||||
description: 'Print your jest config and then exits.',
|
||||
type: 'boolean'
|
||||
},
|
||||
silent: {
|
||||
default: undefined,
|
||||
description: 'Prevent tests from printing messages through the console.',
|
||||
type: 'boolean'
|
||||
},
|
||||
skipFilter: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Disables the filter provided by --filter. Useful for CI jobs, or ' +
|
||||
'local enforcement when fixing tests.',
|
||||
type: 'boolean'
|
||||
},
|
||||
snapshotSerializers: {
|
||||
description:
|
||||
'A list of paths to snapshot serializer modules Jest should ' +
|
||||
'use for snapshot testing.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
testEnvironment: {
|
||||
description: 'Alias for --env',
|
||||
type: 'string'
|
||||
},
|
||||
testEnvironmentOptions: {
|
||||
description:
|
||||
'Test environment options that will be passed to the testEnvironment. ' +
|
||||
'The relevant options depend on the environment.',
|
||||
type: 'string' // Object
|
||||
},
|
||||
testFailureExitCode: {
|
||||
description: 'Exit code of `jest` command if the test run failed',
|
||||
type: 'string' // number
|
||||
},
|
||||
testLocationInResults: {
|
||||
default: false,
|
||||
description: 'Add `location` information to the test results',
|
||||
type: 'boolean'
|
||||
},
|
||||
testMatch: {
|
||||
description: 'The glob patterns Jest uses to detect test files.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
testNamePattern: {
|
||||
alias: 't',
|
||||
description: 'Run only tests with a name that matches the regex pattern.',
|
||||
type: 'string'
|
||||
},
|
||||
testPathIgnorePatterns: {
|
||||
description:
|
||||
'An array of regexp pattern strings that are matched ' +
|
||||
'against all test paths before executing the test. If the test path ' +
|
||||
'matches any of the patterns, it will be skipped.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
testPathPattern: {
|
||||
description:
|
||||
'A regexp pattern string that is matched against all tests ' +
|
||||
'paths before executing the test.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
testRegex: {
|
||||
description:
|
||||
'A string or array of string regexp patterns that Jest uses to detect test files.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
testResultsProcessor: {
|
||||
description:
|
||||
'Allows the use of a custom results processor. ' +
|
||||
'This processor must be a node module that exports ' +
|
||||
'a function expecting as the first argument the result object.',
|
||||
type: 'string'
|
||||
},
|
||||
testRunner: {
|
||||
description:
|
||||
'Allows to specify a custom test runner. The default is ' +
|
||||
' `jasmine2`. A path to a custom test runner can be provided: ' +
|
||||
'`<rootDir>/path/to/testRunner.js`.',
|
||||
type: 'string'
|
||||
},
|
||||
testSequencer: {
|
||||
description:
|
||||
'Allows to specify a custom test sequencer. The default is ' +
|
||||
'`@jest/test-sequencer`. A path to a custom test sequencer can be ' +
|
||||
'provided: `<rootDir>/path/to/testSequencer.js`',
|
||||
type: 'string'
|
||||
},
|
||||
testTimeout: {
|
||||
description: 'This option sets the default timeouts of test cases.',
|
||||
type: 'number'
|
||||
},
|
||||
testURL: {
|
||||
description: 'This option sets the URL for the jsdom environment.',
|
||||
type: 'string'
|
||||
},
|
||||
timers: {
|
||||
description:
|
||||
'Setting this value to fake allows the use of fake timers ' +
|
||||
'for functions such as setTimeout.',
|
||||
type: 'string'
|
||||
},
|
||||
transform: {
|
||||
description:
|
||||
'A JSON string which maps from regular expressions to paths ' +
|
||||
'to transformers.',
|
||||
type: 'string'
|
||||
},
|
||||
transformIgnorePatterns: {
|
||||
description:
|
||||
'An array of regexp pattern strings that are matched ' +
|
||||
'against all source file paths before transformation.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
unmockedModulePathPatterns: {
|
||||
description:
|
||||
'An array of regexp pattern strings that are matched ' +
|
||||
'against all modules before the module loader will automatically ' +
|
||||
'return a mock for them.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
updateSnapshot: {
|
||||
alias: 'u',
|
||||
default: undefined,
|
||||
description:
|
||||
'Use this flag to re-record snapshots. ' +
|
||||
'Can be used together with a test suite pattern or with ' +
|
||||
'`--testNamePattern` to re-record snapshot for test matching ' +
|
||||
'the pattern',
|
||||
type: 'boolean'
|
||||
},
|
||||
useStderr: {
|
||||
default: undefined,
|
||||
description: 'Divert all output to stderr.',
|
||||
type: 'boolean'
|
||||
},
|
||||
verbose: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Display individual test results with the test suite hierarchy.',
|
||||
type: 'boolean'
|
||||
},
|
||||
version: {
|
||||
alias: 'v',
|
||||
default: undefined,
|
||||
description: 'Print the version and exit',
|
||||
type: 'boolean'
|
||||
},
|
||||
watch: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Watch files for changes and rerun tests related to ' +
|
||||
'changed files. If you want to re-run all tests when a file has ' +
|
||||
'changed, use the `--watchAll` option.',
|
||||
type: 'boolean'
|
||||
},
|
||||
watchAll: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Watch files for changes and rerun all tests. If you want ' +
|
||||
'to re-run only the tests related to the changed files, use the ' +
|
||||
'`--watch` option.',
|
||||
type: 'boolean'
|
||||
},
|
||||
watchPathIgnorePatterns: {
|
||||
description:
|
||||
'An array of regexp pattern strings that are matched ' +
|
||||
'against all paths before trigger test re-run in watch mode. ' +
|
||||
'If the test path matches any of the patterns, it will be skipped.',
|
||||
string: true,
|
||||
type: 'array'
|
||||
},
|
||||
watchman: {
|
||||
default: undefined,
|
||||
description:
|
||||
'Whether to use watchman for file crawling. Disable using ' +
|
||||
'--no-watchman.',
|
||||
type: 'boolean'
|
||||
}
|
||||
};
|
||||
exports.options = options;
|
9
node_modules/jest/node_modules/jest-cli/build/cli/index.d.ts
generated
vendored
Normal file
9
node_modules/jest/node_modules/jest-cli/build/cli/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
/**
|
||||
* 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 { Config } from '@jest/types';
|
||||
export declare function run(maybeArgv?: Array<string>, project?: Config.Path): Promise<void>;
|
||||
export declare const buildArgv: (maybeArgv?: string[] | undefined) => Config.Argv;
|
273
node_modules/jest/node_modules/jest-cli/build/cli/index.js
generated
vendored
Normal file
273
node_modules/jest/node_modules/jest-cli/build/cli/index.js
generated
vendored
Normal file
|
@ -0,0 +1,273 @@
|
|||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', {
|
||||
value: true
|
||||
});
|
||||
exports.run = run;
|
||||
exports.buildArgv = void 0;
|
||||
|
||||
function path() {
|
||||
const data = _interopRequireWildcard(require('path'));
|
||||
|
||||
path = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _jestUtil() {
|
||||
const data = require('jest-util');
|
||||
|
||||
_jestUtil = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _jestValidate() {
|
||||
const data = require('jest-validate');
|
||||
|
||||
_jestValidate = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _jestConfig() {
|
||||
const data = require('jest-config');
|
||||
|
||||
_jestConfig = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _core() {
|
||||
const data = require('@jest/core');
|
||||
|
||||
_core = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _chalk() {
|
||||
const data = _interopRequireDefault(require('chalk'));
|
||||
|
||||
_chalk = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _exit() {
|
||||
const data = _interopRequireDefault(require('exit'));
|
||||
|
||||
_exit = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _yargs() {
|
||||
const data = _interopRequireDefault(require('yargs'));
|
||||
|
||||
_yargs = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _init() {
|
||||
const data = _interopRequireDefault(require('../init'));
|
||||
|
||||
_init = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
var args = _interopRequireWildcard(require('./args'));
|
||||
|
||||
function _interopRequireDefault(obj) {
|
||||
return obj && obj.__esModule ? obj : {default: obj};
|
||||
}
|
||||
|
||||
function _getRequireWildcardCache() {
|
||||
if (typeof WeakMap !== 'function') return null;
|
||||
var cache = new WeakMap();
|
||||
_getRequireWildcardCache = function () {
|
||||
return cache;
|
||||
};
|
||||
return cache;
|
||||
}
|
||||
|
||||
function _interopRequireWildcard(obj) {
|
||||
if (obj && obj.__esModule) {
|
||||
return obj;
|
||||
}
|
||||
if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) {
|
||||
return {default: obj};
|
||||
}
|
||||
var cache = _getRequireWildcardCache();
|
||||
if (cache && cache.has(obj)) {
|
||||
return cache.get(obj);
|
||||
}
|
||||
var newObj = {};
|
||||
var hasPropertyDescriptor =
|
||||
Object.defineProperty && Object.getOwnPropertyDescriptor;
|
||||
for (var key in obj) {
|
||||
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
||||
var desc = hasPropertyDescriptor
|
||||
? Object.getOwnPropertyDescriptor(obj, key)
|
||||
: null;
|
||||
if (desc && (desc.get || desc.set)) {
|
||||
Object.defineProperty(newObj, key, desc);
|
||||
} else {
|
||||
newObj[key] = obj[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
newObj.default = obj;
|
||||
if (cache) {
|
||||
cache.set(obj, newObj);
|
||||
}
|
||||
return newObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
async function run(maybeArgv, project) {
|
||||
try {
|
||||
const argv = buildArgv(maybeArgv);
|
||||
|
||||
if (argv.init) {
|
||||
await (0, _init().default)();
|
||||
return;
|
||||
}
|
||||
|
||||
const projects = getProjectListFromCLIArgs(argv, project);
|
||||
const {results, globalConfig} = await (0, _core().runCLI)(argv, projects);
|
||||
readResultsAndExit(results, globalConfig);
|
||||
} catch (error) {
|
||||
(0, _jestUtil().clearLine)(process.stderr);
|
||||
(0, _jestUtil().clearLine)(process.stdout);
|
||||
|
||||
if (error.stack) {
|
||||
console.error(_chalk().default.red(error.stack));
|
||||
} else {
|
||||
console.error(_chalk().default.red(error));
|
||||
}
|
||||
|
||||
(0, _exit().default)(1);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
const buildArgv = maybeArgv => {
|
||||
const version =
|
||||
(0, _core().getVersion)() +
|
||||
(__dirname.includes(`packages${path().sep}jest-cli`) ? '-dev' : '');
|
||||
const rawArgv = maybeArgv || process.argv.slice(2);
|
||||
const argv = (0, _yargs().default)(rawArgv)
|
||||
.usage(args.usage)
|
||||
.version(version)
|
||||
.alias('help', 'h')
|
||||
.options(args.options)
|
||||
.epilogue(args.docs)
|
||||
.check(args.check).argv;
|
||||
(0, _jestValidate().validateCLIOptions)(
|
||||
argv,
|
||||
{...args.options, deprecationEntries: _jestConfig().deprecationEntries}, // strip leading dashes
|
||||
Array.isArray(rawArgv)
|
||||
? rawArgv.map(rawArgv => rawArgv.replace(/^--?/, ''))
|
||||
: Object.keys(rawArgv)
|
||||
); // strip dashed args
|
||||
|
||||
return Object.keys(argv).reduce(
|
||||
(result, key) => {
|
||||
if (!key.includes('-')) {
|
||||
result[key] = argv[key];
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
{
|
||||
$0: argv.$0,
|
||||
_: argv._
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
exports.buildArgv = buildArgv;
|
||||
|
||||
const getProjectListFromCLIArgs = (argv, project) => {
|
||||
const projects = argv.projects ? argv.projects : [];
|
||||
|
||||
if (project) {
|
||||
projects.push(project);
|
||||
}
|
||||
|
||||
if (!projects.length && process.platform === 'win32') {
|
||||
try {
|
||||
projects.push((0, _jestUtil().tryRealpath)(process.cwd()));
|
||||
} catch {
|
||||
// do nothing, just catch error
|
||||
// process.binding('fs').realpath can throw, e.g. on mapped drives
|
||||
}
|
||||
}
|
||||
|
||||
if (!projects.length) {
|
||||
projects.push(process.cwd());
|
||||
}
|
||||
|
||||
return projects;
|
||||
};
|
||||
|
||||
const readResultsAndExit = (result, globalConfig) => {
|
||||
const code = !result || result.success ? 0 : globalConfig.testFailureExitCode; // Only exit if needed
|
||||
|
||||
process.on('exit', () => {
|
||||
if (typeof code === 'number' && code !== 0) {
|
||||
process.exitCode = code;
|
||||
}
|
||||
});
|
||||
|
||||
if (globalConfig.forceExit) {
|
||||
if (!globalConfig.detectOpenHandles) {
|
||||
console.warn(
|
||||
_chalk().default.bold('Force exiting Jest: ') +
|
||||
'Have you considered using `--detectOpenHandles` to detect ' +
|
||||
'async operations that kept running after all tests finished?'
|
||||
);
|
||||
}
|
||||
|
||||
(0, _exit().default)(code);
|
||||
} else if (!globalConfig.detectOpenHandles) {
|
||||
setTimeout(() => {
|
||||
console.warn(
|
||||
_chalk().default.yellow.bold(
|
||||
'Jest did not exit one second after the test run has completed.\n\n'
|
||||
) +
|
||||
_chalk().default.yellow(
|
||||
'This usually means that there are asynchronous operations that ' +
|
||||
"weren't stopped in your tests. Consider running Jest with " +
|
||||
'`--detectOpenHandles` to troubleshoot this issue.'
|
||||
)
|
||||
);
|
||||
}, 1000).unref();
|
||||
}
|
||||
};
|
7
node_modules/jest/node_modules/jest-cli/build/index.d.ts
generated
vendored
Normal file
7
node_modules/jest/node_modules/jest-cli/build/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
/**
|
||||
* 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.
|
||||
*/
|
||||
export { run } from './cli';
|
13
node_modules/jest/node_modules/jest-cli/build/index.js
generated
vendored
Normal file
13
node_modules/jest/node_modules/jest-cli/build/index.js
generated
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', {
|
||||
value: true
|
||||
});
|
||||
Object.defineProperty(exports, 'run', {
|
||||
enumerable: true,
|
||||
get: function () {
|
||||
return _cli.run;
|
||||
}
|
||||
});
|
||||
|
||||
var _cli = require('./cli');
|
12
node_modules/jest/node_modules/jest-cli/build/init/errors.d.ts
generated
vendored
Normal file
12
node_modules/jest/node_modules/jest-cli/build/init/errors.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* 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.
|
||||
*/
|
||||
export declare class NotFoundPackageJsonError extends Error {
|
||||
constructor(rootDir: string);
|
||||
}
|
||||
export declare class MalformedPackageJsonError extends Error {
|
||||
constructor(packageJsonPath: string);
|
||||
}
|
35
node_modules/jest/node_modules/jest-cli/build/init/errors.js
generated
vendored
Normal file
35
node_modules/jest/node_modules/jest-cli/build/init/errors.js
generated
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', {
|
||||
value: true
|
||||
});
|
||||
exports.MalformedPackageJsonError = exports.NotFoundPackageJsonError = void 0;
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
class NotFoundPackageJsonError extends Error {
|
||||
constructor(rootDir) {
|
||||
super(`Could not find a "package.json" file in ${rootDir}`);
|
||||
this.name = '';
|
||||
Error.captureStackTrace(this, () => {});
|
||||
}
|
||||
}
|
||||
|
||||
exports.NotFoundPackageJsonError = NotFoundPackageJsonError;
|
||||
|
||||
class MalformedPackageJsonError extends Error {
|
||||
constructor(packageJsonPath) {
|
||||
super(
|
||||
`There is malformed json in ${packageJsonPath}\n` +
|
||||
'Fix it, and then run "jest --init"'
|
||||
);
|
||||
this.name = '';
|
||||
Error.captureStackTrace(this, () => {});
|
||||
}
|
||||
}
|
||||
|
||||
exports.MalformedPackageJsonError = MalformedPackageJsonError;
|
8
node_modules/jest/node_modules/jest-cli/build/init/generate_config_file.d.ts
generated
vendored
Normal file
8
node_modules/jest/node_modules/jest-cli/build/init/generate_config_file.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
/**
|
||||
* 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.
|
||||
*/
|
||||
declare const generateConfigFile: (results: Record<string, unknown>, generateEsm?: boolean) => string;
|
||||
export default generateConfigFile;
|
93
node_modules/jest/node_modules/jest-cli/build/init/generate_config_file.js
generated
vendored
Normal file
93
node_modules/jest/node_modules/jest-cli/build/init/generate_config_file.js
generated
vendored
Normal file
|
@ -0,0 +1,93 @@
|
|||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
|
||||
function _jestConfig() {
|
||||
const data = require('jest-config');
|
||||
|
||||
_jestConfig = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
const stringifyOption = (option, map, linePrefix = '') => {
|
||||
const optionDescription = ` // ${_jestConfig().descriptions[option]}`;
|
||||
const stringifiedObject = `${option}: ${JSON.stringify(
|
||||
map[option],
|
||||
null,
|
||||
2
|
||||
)}`;
|
||||
return (
|
||||
optionDescription +
|
||||
'\n' +
|
||||
stringifiedObject
|
||||
.split('\n')
|
||||
.map(line => ' ' + linePrefix + line)
|
||||
.join('\n') +
|
||||
',\n'
|
||||
);
|
||||
};
|
||||
|
||||
const generateConfigFile = (results, generateEsm = false) => {
|
||||
const {coverage, coverageProvider, clearMocks, environment} = results;
|
||||
const overrides = {};
|
||||
|
||||
if (coverage) {
|
||||
Object.assign(overrides, {
|
||||
coverageDirectory: 'coverage'
|
||||
});
|
||||
}
|
||||
|
||||
if (coverageProvider === 'v8') {
|
||||
Object.assign(overrides, {
|
||||
coverageProvider: 'v8'
|
||||
});
|
||||
}
|
||||
|
||||
if (environment === 'node') {
|
||||
Object.assign(overrides, {
|
||||
testEnvironment: 'node'
|
||||
});
|
||||
}
|
||||
|
||||
if (clearMocks) {
|
||||
Object.assign(overrides, {
|
||||
clearMocks: true
|
||||
});
|
||||
}
|
||||
|
||||
const overrideKeys = Object.keys(overrides);
|
||||
const properties = [];
|
||||
|
||||
for (const option in _jestConfig().descriptions) {
|
||||
const opt = option;
|
||||
|
||||
if (overrideKeys.includes(opt)) {
|
||||
properties.push(stringifyOption(opt, overrides));
|
||||
} else {
|
||||
properties.push(stringifyOption(opt, _jestConfig().defaults, '// '));
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
'// For a detailed explanation regarding each configuration property, visit:\n' +
|
||||
'// https://jestjs.io/docs/en/configuration.html\n\n' +
|
||||
(generateEsm ? 'export default {\n' : 'module.exports = {\n') +
|
||||
properties.join('\n') +
|
||||
'};\n'
|
||||
);
|
||||
};
|
||||
|
||||
var _default = generateConfigFile;
|
||||
exports.default = _default;
|
8
node_modules/jest/node_modules/jest-cli/build/init/index.d.ts
generated
vendored
Normal file
8
node_modules/jest/node_modules/jest-cli/build/init/index.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
/**
|
||||
* 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.
|
||||
*/
|
||||
declare const _default: (rootDir?: string) => Promise<void>;
|
||||
export default _default;
|
252
node_modules/jest/node_modules/jest-cli/build/init/index.js
generated
vendored
Normal file
252
node_modules/jest/node_modules/jest-cli/build/init/index.js
generated
vendored
Normal file
|
@ -0,0 +1,252 @@
|
|||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
|
||||
function path() {
|
||||
const data = _interopRequireWildcard(require('path'));
|
||||
|
||||
path = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function fs() {
|
||||
const data = _interopRequireWildcard(require('graceful-fs'));
|
||||
|
||||
fs = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _chalk() {
|
||||
const data = _interopRequireDefault(require('chalk'));
|
||||
|
||||
_chalk = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _prompts() {
|
||||
const data = _interopRequireDefault(require('prompts'));
|
||||
|
||||
_prompts = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _jestConfig() {
|
||||
const data = require('jest-config');
|
||||
|
||||
_jestConfig = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
function _jestUtil() {
|
||||
const data = require('jest-util');
|
||||
|
||||
_jestUtil = function () {
|
||||
return data;
|
||||
};
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
var _questions = _interopRequireWildcard(require('./questions'));
|
||||
|
||||
var _errors = require('./errors');
|
||||
|
||||
var _generate_config_file = _interopRequireDefault(
|
||||
require('./generate_config_file')
|
||||
);
|
||||
|
||||
var _modify_package_json = _interopRequireDefault(
|
||||
require('./modify_package_json')
|
||||
);
|
||||
|
||||
function _interopRequireDefault(obj) {
|
||||
return obj && obj.__esModule ? obj : {default: obj};
|
||||
}
|
||||
|
||||
function _getRequireWildcardCache() {
|
||||
if (typeof WeakMap !== 'function') return null;
|
||||
var cache = new WeakMap();
|
||||
_getRequireWildcardCache = function () {
|
||||
return cache;
|
||||
};
|
||||
return cache;
|
||||
}
|
||||
|
||||
function _interopRequireWildcard(obj) {
|
||||
if (obj && obj.__esModule) {
|
||||
return obj;
|
||||
}
|
||||
if (obj === null || (typeof obj !== 'object' && typeof obj !== 'function')) {
|
||||
return {default: obj};
|
||||
}
|
||||
var cache = _getRequireWildcardCache();
|
||||
if (cache && cache.has(obj)) {
|
||||
return cache.get(obj);
|
||||
}
|
||||
var newObj = {};
|
||||
var hasPropertyDescriptor =
|
||||
Object.defineProperty && Object.getOwnPropertyDescriptor;
|
||||
for (var key in obj) {
|
||||
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
||||
var desc = hasPropertyDescriptor
|
||||
? Object.getOwnPropertyDescriptor(obj, key)
|
||||
: null;
|
||||
if (desc && (desc.get || desc.set)) {
|
||||
Object.defineProperty(newObj, key, desc);
|
||||
} else {
|
||||
newObj[key] = obj[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
newObj.default = obj;
|
||||
if (cache) {
|
||||
cache.set(obj, newObj);
|
||||
}
|
||||
return newObj;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
const {
|
||||
JEST_CONFIG_BASE_NAME,
|
||||
JEST_CONFIG_EXT_MJS,
|
||||
JEST_CONFIG_EXT_JS,
|
||||
JEST_CONFIG_EXT_ORDER,
|
||||
PACKAGE_JSON
|
||||
} = _jestConfig().constants;
|
||||
|
||||
const getConfigFilename = ext => JEST_CONFIG_BASE_NAME + ext;
|
||||
|
||||
var _default = async (
|
||||
rootDir = (0, _jestUtil().tryRealpath)(process.cwd())
|
||||
) => {
|
||||
// prerequisite checks
|
||||
const projectPackageJsonPath = path().join(rootDir, PACKAGE_JSON);
|
||||
|
||||
if (!fs().existsSync(projectPackageJsonPath)) {
|
||||
throw new _errors.NotFoundPackageJsonError(rootDir);
|
||||
}
|
||||
|
||||
const questions = _questions.default.slice(0);
|
||||
|
||||
let hasJestProperty = false;
|
||||
let projectPackageJson;
|
||||
|
||||
try {
|
||||
projectPackageJson = JSON.parse(
|
||||
fs().readFileSync(projectPackageJsonPath, 'utf-8')
|
||||
);
|
||||
} catch {
|
||||
throw new _errors.MalformedPackageJsonError(projectPackageJsonPath);
|
||||
}
|
||||
|
||||
if (projectPackageJson.jest) {
|
||||
hasJestProperty = true;
|
||||
}
|
||||
|
||||
const existingJestConfigExt = JEST_CONFIG_EXT_ORDER.find(ext =>
|
||||
fs().existsSync(path().join(rootDir, getConfigFilename(ext)))
|
||||
);
|
||||
const jestConfigPath = existingJestConfigExt
|
||||
? getConfigFilename(existingJestConfigExt)
|
||||
: path().join(
|
||||
rootDir,
|
||||
getConfigFilename(
|
||||
projectPackageJson.type === 'module'
|
||||
? JEST_CONFIG_EXT_MJS
|
||||
: JEST_CONFIG_EXT_JS
|
||||
)
|
||||
);
|
||||
|
||||
if (hasJestProperty || existingJestConfigExt) {
|
||||
const result = await (0, _prompts().default)({
|
||||
initial: true,
|
||||
message:
|
||||
'It seems that you already have a jest configuration, do you want to override it?',
|
||||
name: 'continue',
|
||||
type: 'confirm'
|
||||
});
|
||||
|
||||
if (!result.continue) {
|
||||
console.log();
|
||||
console.log('Aborting...');
|
||||
return;
|
||||
}
|
||||
} // Add test script installation only if needed
|
||||
|
||||
if (
|
||||
!projectPackageJson.scripts ||
|
||||
projectPackageJson.scripts.test !== 'jest'
|
||||
) {
|
||||
questions.unshift(_questions.testScriptQuestion);
|
||||
} // Start the init process
|
||||
|
||||
console.log();
|
||||
console.log(
|
||||
_chalk().default.underline(
|
||||
`The following questions will help Jest to create a suitable configuration for your project\n`
|
||||
)
|
||||
);
|
||||
let promptAborted = false; // @ts-expect-error: Return type cannot be object - faulty typings
|
||||
|
||||
const results = await (0, _prompts().default)(questions, {
|
||||
onCancel: () => {
|
||||
promptAborted = true;
|
||||
}
|
||||
});
|
||||
|
||||
if (promptAborted) {
|
||||
console.log();
|
||||
console.log('Aborting...');
|
||||
return;
|
||||
}
|
||||
|
||||
const shouldModifyScripts = results.scripts;
|
||||
|
||||
if (shouldModifyScripts || hasJestProperty) {
|
||||
const modifiedPackageJson = (0, _modify_package_json.default)({
|
||||
projectPackageJson,
|
||||
shouldModifyScripts
|
||||
});
|
||||
fs().writeFileSync(projectPackageJsonPath, modifiedPackageJson);
|
||||
console.log('');
|
||||
console.log(
|
||||
`✏️ Modified ${_chalk().default.cyan(projectPackageJsonPath)}`
|
||||
);
|
||||
}
|
||||
|
||||
const generatedConfig = (0, _generate_config_file.default)(
|
||||
results,
|
||||
projectPackageJson.type === 'module' ||
|
||||
jestConfigPath.endsWith(JEST_CONFIG_EXT_MJS)
|
||||
);
|
||||
fs().writeFileSync(jestConfigPath, generatedConfig);
|
||||
console.log('');
|
||||
console.log(
|
||||
`📝 Configuration file created at ${_chalk().default.cyan(jestConfigPath)}`
|
||||
);
|
||||
};
|
||||
|
||||
exports.default = _default;
|
12
node_modules/jest/node_modules/jest-cli/build/init/modify_package_json.d.ts
generated
vendored
Normal file
12
node_modules/jest/node_modules/jest-cli/build/init/modify_package_json.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* 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 { ProjectPackageJson } from './types';
|
||||
declare const modifyPackageJson: ({ projectPackageJson, shouldModifyScripts, }: {
|
||||
projectPackageJson: ProjectPackageJson;
|
||||
shouldModifyScripts: boolean;
|
||||
}) => string;
|
||||
export default modifyPackageJson;
|
28
node_modules/jest/node_modules/jest-cli/build/init/modify_package_json.js
generated
vendored
Normal file
28
node_modules/jest/node_modules/jest-cli/build/init/modify_package_json.js
generated
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
const modifyPackageJson = ({projectPackageJson, shouldModifyScripts}) => {
|
||||
if (shouldModifyScripts) {
|
||||
projectPackageJson.scripts
|
||||
? (projectPackageJson.scripts.test = 'jest')
|
||||
: (projectPackageJson.scripts = {
|
||||
test: 'jest'
|
||||
});
|
||||
}
|
||||
|
||||
delete projectPackageJson.jest;
|
||||
return JSON.stringify(projectPackageJson, null, 2) + '\n';
|
||||
};
|
||||
|
||||
var _default = modifyPackageJson;
|
||||
exports.default = _default;
|
10
node_modules/jest/node_modules/jest-cli/build/init/questions.d.ts
generated
vendored
Normal file
10
node_modules/jest/node_modules/jest-cli/build/init/questions.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
/**
|
||||
* 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 { PromptObject } from 'prompts';
|
||||
declare const defaultQuestions: Array<PromptObject>;
|
||||
export default defaultQuestions;
|
||||
export declare const testScriptQuestion: PromptObject;
|
69
node_modules/jest/node_modules/jest-cli/build/init/questions.js
generated
vendored
Normal file
69
node_modules/jest/node_modules/jest-cli/build/init/questions.js
generated
vendored
Normal file
|
@ -0,0 +1,69 @@
|
|||
'use strict';
|
||||
|
||||
Object.defineProperty(exports, '__esModule', {
|
||||
value: true
|
||||
});
|
||||
exports.testScriptQuestion = exports.default = void 0;
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
const defaultQuestions = [
|
||||
{
|
||||
choices: [
|
||||
{
|
||||
title: 'node',
|
||||
value: 'node'
|
||||
},
|
||||
{
|
||||
title: 'jsdom (browser-like)',
|
||||
value: 'jsdom'
|
||||
}
|
||||
],
|
||||
initial: 0,
|
||||
message: 'Choose the test environment that will be used for testing',
|
||||
name: 'environment',
|
||||
type: 'select'
|
||||
},
|
||||
{
|
||||
initial: false,
|
||||
message: 'Do you want Jest to add coverage reports?',
|
||||
name: 'coverage',
|
||||
type: 'confirm'
|
||||
},
|
||||
{
|
||||
choices: [
|
||||
{
|
||||
title: 'v8',
|
||||
value: 'v8'
|
||||
},
|
||||
{
|
||||
title: 'babel',
|
||||
value: 'babel'
|
||||
}
|
||||
],
|
||||
initial: 0,
|
||||
message: 'Which provider should be used to instrument code for coverage?',
|
||||
name: 'coverageProvider',
|
||||
type: 'select'
|
||||
},
|
||||
{
|
||||
initial: false,
|
||||
message: 'Automatically clear mock calls and instances between every test?',
|
||||
name: 'clearMocks',
|
||||
type: 'confirm'
|
||||
}
|
||||
];
|
||||
var _default = defaultQuestions;
|
||||
exports.default = _default;
|
||||
const testScriptQuestion = {
|
||||
initial: true,
|
||||
message:
|
||||
'Would you like to use Jest when running "test" script in "package.json"?',
|
||||
name: 'scripts',
|
||||
type: 'confirm'
|
||||
};
|
||||
exports.testScriptQuestion = testScriptQuestion;
|
12
node_modules/jest/node_modules/jest-cli/build/init/types.d.ts
generated
vendored
Normal file
12
node_modules/jest/node_modules/jest-cli/build/init/types.d.ts
generated
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* 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 { Config } from '@jest/types';
|
||||
export declare type ProjectPackageJson = {
|
||||
jest?: Partial<Config.InitialOptions>;
|
||||
scripts?: Record<string, string>;
|
||||
type?: 'commonjs' | 'module';
|
||||
};
|
1
node_modules/jest/node_modules/jest-cli/build/init/types.js
generated
vendored
Normal file
1
node_modules/jest/node_modules/jest-cli/build/init/types.js
generated
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
'use strict';
|
76
node_modules/jest/node_modules/jest-cli/package.json
generated
vendored
Normal file
76
node_modules/jest/node_modules/jest-cli/package.json
generated
vendored
Normal file
|
@ -0,0 +1,76 @@
|
|||
{
|
||||
"name": "jest-cli",
|
||||
"description": "Delightful JavaScript Testing.",
|
||||
"version": "26.4.2",
|
||||
"main": "build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
"dependencies": {
|
||||
"@jest/core": "^26.4.2",
|
||||
"@jest/test-result": "^26.3.0",
|
||||
"@jest/types": "^26.3.0",
|
||||
"chalk": "^4.0.0",
|
||||
"exit": "^0.1.2",
|
||||
"graceful-fs": "^4.2.4",
|
||||
"import-local": "^3.0.2",
|
||||
"is-ci": "^2.0.0",
|
||||
"jest-config": "^26.4.2",
|
||||
"jest-util": "^26.3.0",
|
||||
"jest-validate": "^26.4.2",
|
||||
"prompts": "^2.0.1",
|
||||
"yargs": "^15.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jest/test-utils": "^26.3.0",
|
||||
"@types/exit": "^0.1.30",
|
||||
"@types/graceful-fs": "^4.1.3",
|
||||
"@types/is-ci": "^2.0.0",
|
||||
"@types/prompts": "^2.0.1",
|
||||
"@types/yargs": "^15.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"jest": "./bin/jest.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.14.2"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/facebook/jest",
|
||||
"directory": "packages/jest-cli"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/facebook/jest/issues"
|
||||
},
|
||||
"homepage": "https://jestjs.io/",
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"ava",
|
||||
"babel",
|
||||
"coverage",
|
||||
"easy",
|
||||
"expect",
|
||||
"facebook",
|
||||
"immersive",
|
||||
"instant",
|
||||
"jasmine",
|
||||
"jest",
|
||||
"jsdom",
|
||||
"mocha",
|
||||
"mocking",
|
||||
"painless",
|
||||
"qunit",
|
||||
"runner",
|
||||
"sandboxed",
|
||||
"snapshot",
|
||||
"tap",
|
||||
"tape",
|
||||
"test",
|
||||
"testing",
|
||||
"typescript",
|
||||
"watch"
|
||||
],
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"gitHead": "2586a798260886c28b6d28256cdfe354e039d5d1"
|
||||
}
|
52
node_modules/jest/package.json
generated
vendored
Normal file
52
node_modules/jest/package.json
generated
vendored
Normal file
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"name": "jest",
|
||||
"description": "Delightful JavaScript Testing.",
|
||||
"version": "26.4.2",
|
||||
"main": "build/jest.js",
|
||||
"types": "build/jest.d.ts",
|
||||
"dependencies": {
|
||||
"@jest/core": "^26.4.2",
|
||||
"import-local": "^3.0.2",
|
||||
"jest-cli": "^26.4.2"
|
||||
},
|
||||
"bin": "./bin/jest.js",
|
||||
"engines": {
|
||||
"node": ">= 10.14.2"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/facebook/jest"
|
||||
},
|
||||
"homepage": "https://jestjs.io/",
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"ava",
|
||||
"babel",
|
||||
"coverage",
|
||||
"easy",
|
||||
"expect",
|
||||
"facebook",
|
||||
"immersive",
|
||||
"instant",
|
||||
"jasmine",
|
||||
"jest",
|
||||
"jsdom",
|
||||
"mocha",
|
||||
"mocking",
|
||||
"painless",
|
||||
"qunit",
|
||||
"runner",
|
||||
"sandboxed",
|
||||
"snapshot",
|
||||
"tap",
|
||||
"tape",
|
||||
"test",
|
||||
"testing",
|
||||
"typescript",
|
||||
"watch"
|
||||
],
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"gitHead": "2586a798260886c28b6d28256cdfe354e039d5d1"
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue