Skip to content

Commit

Permalink
Move all default values into jest-config (#9924)
Browse files Browse the repository at this point in the history
  • Loading branch information
ghostd committed May 16, 2021
1 parent db643a1 commit bdd6282
Show file tree
Hide file tree
Showing 9 changed files with 31 additions and 69 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Expand Up @@ -62,6 +62,7 @@
- `[jest-cli]` Print custom error if error thrown from global hooks is not an error already ([#11003](https://github.com/facebook/jest/pull/11003))
- `[jest-cli]` Allow running multiple "projects" from programmatic API ([#11307](https://github.com/facebook/jest/pull/11307))
- `[jest-cli]` Fix missing collectCoverage after init ([#11353](https://github.com/facebook/jest/pull/11353))
- `[jest-cli, jest-config, jest-types]` Move all default values into `jest-config` ([#9924](https://github.com/facebook/jest/pull/9924))
- `[jest-config]` [**BREAKING**] Change default file extension order by moving json behind ts and tsx ([10572](https://github.com/facebook/jest/pull/10572))
- `[jest-console]` `console.dir` now respects the second argument correctly ([#10638](https://github.com/facebook/jest/pull/10638))
- `[jest-core]` Don't report PerformanceObserver as open handle ([#11123](https://github.com/facebook/jest/pull/11123))
Expand Down
2 changes: 0 additions & 2 deletions packages/jest-cli/package.json
Expand Up @@ -17,7 +17,6 @@
"exit": "^0.1.2",
"graceful-fs": "^4.2.4",
"import-local": "^3.0.2",
"is-ci": "^3.0.0",
"jest-config": "^27.0.0-next.9",
"jest-util": "^27.0.0-next.9",
"jest-validate": "^27.0.0-next.9",
Expand All @@ -28,7 +27,6 @@
"@jest/test-utils": "^27.0.0-next.9",
"@types/exit": "^0.1.30",
"@types/graceful-fs": "^4.1.3",
"@types/is-ci": "^2.0.0",
"@types/prompts": "^2.0.1",
"@types/yargs": "^16.0.0"
},
Expand Down
51 changes: 1 addition & 50 deletions packages/jest-cli/src/cli/args.ts
Expand Up @@ -5,7 +5,6 @@
* LICENSE file in the root directory of this source tree.
*/

import isCI = require('is-ci');
import type {Config} from '@jest/types';
import {constants, isJSONString} from 'jest-config';

Expand Down Expand Up @@ -89,37 +88,33 @@ export const usage =
'Usage: $0 [--config=<pathToConfigFile>] [TestPathPattern]';
export const docs = 'Documentation: https://jestjs.io/';

// The default values are all set in jest-config
export 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.',
Expand All @@ -132,7 +127,6 @@ export const options = {
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`.',
Expand All @@ -147,29 +141,25 @@ export const options = {
type: 'string',
},
ci: {
default: isCI,
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',
},
Expand All @@ -185,14 +175,12 @@ export const options = {
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',
},
Expand All @@ -206,7 +194,6 @@ export const options = {
type: 'string',
},
coverage: {
default: undefined,
description:
'Indicates that test coverage information should be ' +
'collected and reported in the output.',
Expand Down Expand Up @@ -242,20 +229,17 @@ export const options = {
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`.',
Expand All @@ -269,18 +253,15 @@ export const options = {
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 ' +
Expand All @@ -289,15 +270,13 @@ export const options = {
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 ' +
Expand Down Expand Up @@ -332,37 +311,32 @@ export const options = {
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',
},
maxConcurrency: {
default: 5,
description:
'Specifies the maximum number of tests that are allowed to run' +
'concurrently. This only affects tests using `test.concurrent`.',
Expand Down Expand Up @@ -416,23 +390,19 @@ export const options = {
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 " +
Expand All @@ -441,7 +411,6 @@ export const options = {
},
onlyFailures: {
alias: 'f',
default: undefined,
description: 'Run tests that failed in the previous execution.',
type: 'boolean',
},
Expand All @@ -452,7 +421,6 @@ export const options = {
type: 'string',
},
passWithNoTests: {
default: false,
description:
'Will not fail if no tests are found (for example while using `--testPathPattern`.)',
type: 'boolean',
Expand All @@ -462,7 +430,6 @@ export const options = {
type: 'string',
},
prettierPath: {
default: undefined,
description: 'The path to the "prettier" module used for inline snapshots.',
type: 'string',
},
Expand All @@ -479,14 +446,12 @@ export const options = {
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.',
Expand All @@ -497,7 +462,6 @@ export const options = {
type: 'string',
},
restoreMocks: {
default: undefined,
description:
'Automatically restore mock state and implementation between every test. ' +
'Equivalent to calling jest.restoreAllMocks() between each test.',
Expand All @@ -518,7 +482,6 @@ export const options = {
},
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 ' +
Expand All @@ -527,7 +490,6 @@ export const options = {
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 ' +
Expand Down Expand Up @@ -561,17 +523,14 @@ export const options = {
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.',
Expand Down Expand Up @@ -599,7 +558,6 @@ export const options = {
type: 'string', // number
},
testLocationInResults: {
default: false,
description: 'Add `location` information to the test results',
type: 'boolean',
},
Expand Down Expand Up @@ -692,7 +650,6 @@ export const options = {
},
updateSnapshot: {
alias: 'u',
default: undefined,
description:
'Use this flag to re-record snapshots. ' +
'Can be used together with a test suite pattern or with ' +
Expand All @@ -701,32 +658,27 @@ export const options = {
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 ' +
Expand All @@ -742,7 +694,6 @@ export const options = {
type: 'array',
},
watchman: {
default: undefined,
description:
'Whether to use watchman for file crawling. Disable using ' +
'--no-watchman.',
Expand Down

0 comments on commit bdd6282

Please sign in to comment.