diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml index 16f831fb611f..eae01938f0d3 100644 --- a/.github/workflows/nodejs.yml +++ b/.github/workflows/nodejs.yml @@ -55,7 +55,7 @@ jobs: run: yarn build - name: test typings run: yarn test-types - - name: verify TypeScript@4.2 compatibility + - name: verify TypeScript@4.3 compatibility run: yarn verify-old-ts lint: diff --git a/CHANGELOG.md b/CHANGELOG.md index 79a416b988a1..55e39de6c6ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -81,7 +81,7 @@ ### Chore & Maintenance - `[*]` [**BREAKING**] Drop support for Node v10 and v15 and target first LTS `16.13.0` ([#12220](https://github.com/facebook/jest/pull/12220)) -- `[*]` [**BREAKING**] Drop support for `typescript@3.8`, minimum version is now `4.2` ([#11142](https://github.com/facebook/jest/pull/11142)) +- `[*]` [**BREAKING**] Drop support for `typescript@3.8`, minimum version is now `4.3` ([#11142](https://github.com/facebook/jest/pull/11142), [#12648](https://github.com/facebook/jest/pull/12648)) - `[*]` Bundle all `.d.ts` files into a single `index.d.ts` per module ([#12345](https://github.com/facebook/jest/pull/12345)) - `[*]` Use `globalThis` instead of `global` ([#12447](https://github.com/facebook/jest/pull/12447)) - `[babel-jest]` [**BREAKING**] Only export `createTransformer` ([#12407](https://github.com/facebook/jest/pull/12407)) diff --git a/packages/expect/src/asymmetricMatchers.ts b/packages/expect/src/asymmetricMatchers.ts index 9af6ce60c2a7..58390fc11421 100644 --- a/packages/expect/src/asymmetricMatchers.ts +++ b/packages/expect/src/asymmetricMatchers.ts @@ -131,7 +131,7 @@ class Any extends AsymmetricMatcher { return 'Any'; } - getExpectedType() { + override getExpectedType() { if (this.sample == String) { return 'string'; } @@ -155,7 +155,7 @@ class Any extends AsymmetricMatcher { return fnNameFor(this.sample); } - toAsymmetricMatcher() { + override toAsymmetricMatcher() { return `Any<${fnNameFor(this.sample)}>`; } } @@ -171,7 +171,7 @@ class Anything extends AsymmetricMatcher { // No getExpectedType method, because it matches either null or undefined. - toAsymmetricMatcher() { + override toAsymmetricMatcher() { return 'Anything'; } } @@ -203,7 +203,7 @@ class ArrayContaining extends AsymmetricMatcher> { return `Array${this.inverse ? 'Not' : ''}Containing`; } - getExpectedType() { + override getExpectedType() { return 'array'; } } @@ -240,7 +240,7 @@ class ObjectContaining extends AsymmetricMatcher> { return `Object${this.inverse ? 'Not' : ''}Containing`; } - getExpectedType() { + override getExpectedType() { return 'object'; } } @@ -263,7 +263,7 @@ class StringContaining extends AsymmetricMatcher { return `String${this.inverse ? 'Not' : ''}Containing`; } - getExpectedType() { + override getExpectedType() { return 'string'; } } @@ -286,7 +286,7 @@ class StringMatching extends AsymmetricMatcher { return `String${this.inverse ? 'Not' : ''}Matching`; } - getExpectedType() { + override getExpectedType() { return 'string'; } } @@ -326,7 +326,7 @@ class CloseTo extends AsymmetricMatcher { return `Number${this.inverse ? 'Not' : ''}CloseTo`; } - getExpectedType() { + override getExpectedType() { return 'number'; } } diff --git a/packages/expect/src/jestMatchersObject.ts b/packages/expect/src/jestMatchersObject.ts index 121a3116f26d..090434d66f60 100644 --- a/packages/expect/src/jestMatchersObject.ts +++ b/packages/expect/src/jestMatchersObject.ts @@ -94,11 +94,11 @@ export const setMatchers = ( return `${this.inverse ? 'not.' : ''}${key}`; } - getExpectedType() { + override getExpectedType() { return 'any'; } - toAsymmetricMatcher() { + override toAsymmetricMatcher() { return `${this.toString()}<${this.sample.map(String).join(', ')}>`; } } diff --git a/packages/jest-console/src/BufferedConsole.ts b/packages/jest-console/src/BufferedConsole.ts index f65874209f8c..f30f5829a623 100644 --- a/packages/jest-console/src/BufferedConsole.ts +++ b/packages/jest-console/src/BufferedConsole.ts @@ -24,7 +24,7 @@ export default class BufferedConsole extends Console { private _timers: LogTimers = {}; private _groupDepth = 0; - Console: typeof Console = Console; + override Console: typeof Console = Console; constructor() { super({ @@ -71,7 +71,7 @@ export default class BufferedConsole extends Console { ); } - assert(value: unknown, message?: string | Error): void { + override assert(value: unknown, message?: string | Error): void { try { assert(value, message); } catch (error: any) { @@ -79,7 +79,7 @@ export default class BufferedConsole extends Console { } } - count(label: string = 'default'): void { + override count(label: string = 'default'): void { if (!this._counters[label]) { this._counters[label] = 0; } @@ -87,28 +87,28 @@ export default class BufferedConsole extends Console { this._log('count', format(`${label}: ${++this._counters[label]}`)); } - countReset(label: string = 'default'): void { + override countReset(label: string = 'default'): void { this._counters[label] = 0; } - debug(firstArg: unknown, ...rest: Array): void { + override debug(firstArg: unknown, ...rest: Array): void { this._log('debug', format(firstArg, ...rest)); } - dir(firstArg: unknown, options: InspectOptions = {}): void { + override dir(firstArg: unknown, options: InspectOptions = {}): void { const representation = inspect(firstArg, options); this._log('dir', formatWithOptions(options, representation)); } - dirxml(firstArg: unknown, ...rest: Array): void { + override dirxml(firstArg: unknown, ...rest: Array): void { this._log('dirxml', format(firstArg, ...rest)); } - error(firstArg: unknown, ...rest: Array): void { + override error(firstArg: unknown, ...rest: Array): void { this._log('error', format(firstArg, ...rest)); } - group(title?: string, ...rest: Array): void { + override group(title?: string, ...rest: Array): void { this._groupDepth++; if (title || rest.length > 0) { @@ -116,7 +116,7 @@ export default class BufferedConsole extends Console { } } - groupCollapsed(title?: string, ...rest: Array): void { + override groupCollapsed(title?: string, ...rest: Array): void { this._groupDepth++; if (title || rest.length > 0) { @@ -124,21 +124,21 @@ export default class BufferedConsole extends Console { } } - groupEnd(): void { + override groupEnd(): void { if (this._groupDepth > 0) { this._groupDepth--; } } - info(firstArg: unknown, ...rest: Array): void { + override info(firstArg: unknown, ...rest: Array): void { this._log('info', format(firstArg, ...rest)); } - log(firstArg: unknown, ...rest: Array): void { + override log(firstArg: unknown, ...rest: Array): void { this._log('log', format(firstArg, ...rest)); } - time(label: string = 'default'): void { + override time(label: string = 'default'): void { if (this._timers[label]) { return; } @@ -146,7 +146,7 @@ export default class BufferedConsole extends Console { this._timers[label] = new Date(); } - timeEnd(label: string = 'default'): void { + override timeEnd(label: string = 'default'): void { const startTime = this._timers[label]; if (startTime) { @@ -157,7 +157,7 @@ export default class BufferedConsole extends Console { } } - timeLog(label = 'default', ...data: Array): void { + override timeLog(label = 'default', ...data: Array): void { const startTime = this._timers[label]; if (startTime) { @@ -167,7 +167,7 @@ export default class BufferedConsole extends Console { } } - warn(firstArg: unknown, ...rest: Array): void { + override warn(firstArg: unknown, ...rest: Array): void { this._log('warn', format(firstArg, ...rest)); } diff --git a/packages/jest-console/src/CustomConsole.ts b/packages/jest-console/src/CustomConsole.ts index a02850252d31..a363ad939c3b 100644 --- a/packages/jest-console/src/CustomConsole.ts +++ b/packages/jest-console/src/CustomConsole.ts @@ -22,7 +22,7 @@ export default class CustomConsole extends Console { private _timers: LogTimers = {}; private _groupDepth = 0; - Console: typeof Console = Console; + override Console: typeof Console = Console; constructor( stdout: NodeJS.WriteStream, @@ -49,7 +49,7 @@ export default class CustomConsole extends Console { ); } - assert(value: unknown, message?: string | Error): asserts value { + override assert(value: unknown, message?: string | Error): asserts value { try { assert(value, message); } catch (error: any) { @@ -57,7 +57,7 @@ export default class CustomConsole extends Console { } } - count(label: string = 'default'): void { + override count(label: string = 'default'): void { if (!this._counters[label]) { this._counters[label] = 0; } @@ -65,28 +65,28 @@ export default class CustomConsole extends Console { this._log('count', format(`${label}: ${++this._counters[label]}`)); } - countReset(label: string = 'default'): void { + override countReset(label: string = 'default'): void { this._counters[label] = 0; } - debug(firstArg: unknown, ...args: Array): void { + override debug(firstArg: unknown, ...args: Array): void { this._log('debug', format(firstArg, ...args)); } - dir(firstArg: unknown, options: InspectOptions = {}): void { + override dir(firstArg: unknown, options: InspectOptions = {}): void { const representation = inspect(firstArg, options); this._log('dir', formatWithOptions(options, representation)); } - dirxml(firstArg: unknown, ...args: Array): void { + override dirxml(firstArg: unknown, ...args: Array): void { this._log('dirxml', format(firstArg, ...args)); } - error(firstArg: unknown, ...args: Array): void { + override error(firstArg: unknown, ...args: Array): void { this._logError('error', format(firstArg, ...args)); } - group(title?: string, ...args: Array): void { + override group(title?: string, ...args: Array): void { this._groupDepth++; if (title || args.length > 0) { @@ -94,7 +94,7 @@ export default class CustomConsole extends Console { } } - groupCollapsed(title?: string, ...args: Array): void { + override groupCollapsed(title?: string, ...args: Array): void { this._groupDepth++; if (title || args.length > 0) { @@ -102,21 +102,21 @@ export default class CustomConsole extends Console { } } - groupEnd(): void { + override groupEnd(): void { if (this._groupDepth > 0) { this._groupDepth--; } } - info(firstArg: unknown, ...args: Array): void { + override info(firstArg: unknown, ...args: Array): void { this._log('info', format(firstArg, ...args)); } - log(firstArg: unknown, ...args: Array): void { + override log(firstArg: unknown, ...args: Array): void { this._log('log', format(firstArg, ...args)); } - time(label: string = 'default'): void { + override time(label: string = 'default'): void { if (this._timers[label]) { return; } @@ -124,7 +124,7 @@ export default class CustomConsole extends Console { this._timers[label] = new Date(); } - timeEnd(label: string = 'default'): void { + override timeEnd(label: string = 'default'): void { const startTime = this._timers[label]; if (startTime) { @@ -135,7 +135,7 @@ export default class CustomConsole extends Console { } } - timeLog(label = 'default', ...data: Array): void { + override timeLog(label = 'default', ...data: Array): void { const startTime = this._timers[label]; if (startTime) { @@ -145,7 +145,7 @@ export default class CustomConsole extends Console { } } - warn(firstArg: unknown, ...args: Array): void { + override warn(firstArg: unknown, ...args: Array): void { this._logError('warn', format(firstArg, ...args)); } diff --git a/packages/jest-console/src/NullConsole.ts b/packages/jest-console/src/NullConsole.ts index 002e3a9738ff..de8d3e2ba5e2 100644 --- a/packages/jest-console/src/NullConsole.ts +++ b/packages/jest-console/src/NullConsole.ts @@ -8,18 +8,18 @@ import CustomConsole from './CustomConsole'; export default class NullConsole extends CustomConsole { - assert(): void {} - debug(): void {} - dir(): void {} - error(): void {} - info(): void {} - log(): void {} - time(): void {} - timeEnd(): void {} - timeLog(): void {} - trace(): void {} - warn(): void {} - group(): void {} - groupCollapsed(): void {} - groupEnd(): void {} + override assert(): void {} + override debug(): void {} + override dir(): void {} + override error(): void {} + override info(): void {} + override log(): void {} + override time(): void {} + override timeEnd(): void {} + override timeLog(): void {} + override trace(): void {} + override warn(): void {} + override group(): void {} + override groupCollapsed(): void {} + override groupEnd(): void {} } diff --git a/packages/jest-core/src/TestNamePatternPrompt.ts b/packages/jest-core/src/TestNamePatternPrompt.ts index 426a8bc45956..0449eaa8a653 100644 --- a/packages/jest-core/src/TestNamePatternPrompt.ts +++ b/packages/jest-core/src/TestNamePatternPrompt.ts @@ -18,7 +18,7 @@ export default class TestNamePatternPrompt extends PatternPrompt { super(pipe, prompt, 'tests'); } - protected _onChange(pattern: string, options: ScrollOptions): void { + protected override _onChange(pattern: string, options: ScrollOptions): void { super._onChange(pattern, options); this._printPrompt(pattern); } diff --git a/packages/jest-core/src/TestPathPatternPrompt.ts b/packages/jest-core/src/TestPathPatternPrompt.ts index 6c9d948da346..86875cc1b3d4 100644 --- a/packages/jest-core/src/TestPathPatternPrompt.ts +++ b/packages/jest-core/src/TestPathPatternPrompt.ts @@ -18,7 +18,7 @@ export default class TestPathPatternPrompt extends PatternPrompt { super(pipe, prompt, 'filenames'); } - protected _onChange(pattern: string, options: ScrollOptions): void { + protected override _onChange(pattern: string, options: ScrollOptions): void { super._onChange(pattern, options); this._printPrompt(pattern); } diff --git a/packages/jest-core/src/plugins/FailedTestsInteractive.ts b/packages/jest-core/src/plugins/FailedTestsInteractive.ts index 8fcb9b3f9c88..fa0853be55ff 100644 --- a/packages/jest-core/src/plugins/FailedTestsInteractive.ts +++ b/packages/jest-core/src/plugins/FailedTestsInteractive.ts @@ -19,7 +19,7 @@ export default class FailedTestsInteractivePlugin extends BaseWatchPlugin { private _failedTestAssertions?: Array; private readonly _manager = new FailedTestsInteractiveMode(this._stdout); - apply(hooks: JestHookSubscriber): void { + override apply(hooks: JestHookSubscriber): void { hooks.onTestRunComplete(results => { this._failedTestAssertions = this.getFailedTestAssertions(results); @@ -27,7 +27,7 @@ export default class FailedTestsInteractivePlugin extends BaseWatchPlugin { }); } - getUsageInfo(): UsageData | null { + override getUsageInfo(): UsageData | null { if (this._failedTestAssertions?.length) { return {key: 'i', prompt: 'run failing tests interactively'}; } @@ -35,13 +35,13 @@ export default class FailedTestsInteractivePlugin extends BaseWatchPlugin { return null; } - onKey(key: string): void { + override onKey(key: string): void { if (this._manager.isActive()) { this._manager.put(key); } } - run( + override run( _: Config.GlobalConfig, updateConfigAndRun: UpdateConfigCallback, ): Promise { diff --git a/packages/jest-core/src/plugins/Quit.ts b/packages/jest-core/src/plugins/Quit.ts index ac4c0646351e..c35e654565d5 100644 --- a/packages/jest-core/src/plugins/Quit.ts +++ b/packages/jest-core/src/plugins/Quit.ts @@ -15,7 +15,7 @@ class QuitPlugin extends BaseWatchPlugin { this.isInternal = true; } - async run(): Promise { + override async run(): Promise { if (typeof this._stdin.setRawMode === 'function') { this._stdin.setRawMode(false); } @@ -23,7 +23,7 @@ class QuitPlugin extends BaseWatchPlugin { process.exit(0); } - getUsageInfo(): UsageData { + override getUsageInfo(): UsageData { return { key: 'q', prompt: 'quit watch mode', diff --git a/packages/jest-core/src/plugins/TestNamePattern.ts b/packages/jest-core/src/plugins/TestNamePattern.ts index 34e61f3c30c3..ea3ff104ac88 100644 --- a/packages/jest-core/src/plugins/TestNamePattern.ts +++ b/packages/jest-core/src/plugins/TestNamePattern.ts @@ -25,18 +25,18 @@ class TestNamePatternPlugin extends BaseWatchPlugin { this.isInternal = true; } - getUsageInfo(): UsageData { + override getUsageInfo(): UsageData { return { key: 't', prompt: 'filter by a test name regex pattern', }; } - onKey(key: string): void { + override onKey(key: string): void { this._prompt.put(key); } - run( + override run( globalConfig: Config.GlobalConfig, updateConfigAndRun: UpdateConfigCallback, ): Promise { diff --git a/packages/jest-core/src/plugins/TestPathPattern.ts b/packages/jest-core/src/plugins/TestPathPattern.ts index b02b74b62443..d0866db9b27f 100644 --- a/packages/jest-core/src/plugins/TestPathPattern.ts +++ b/packages/jest-core/src/plugins/TestPathPattern.ts @@ -25,18 +25,18 @@ class TestPathPatternPlugin extends BaseWatchPlugin { this.isInternal = true; } - getUsageInfo(): UsageData { + override getUsageInfo(): UsageData { return { key: 'p', prompt: 'filter by a filename regex pattern', }; } - onKey(key: string): void { + override onKey(key: string): void { this._prompt.put(key); } - run( + override run( globalConfig: Config.GlobalConfig, updateConfigAndRun: UpdateConfigCallback, ): Promise { diff --git a/packages/jest-core/src/plugins/UpdateSnapshots.ts b/packages/jest-core/src/plugins/UpdateSnapshots.ts index 1a637895d500..d783a091bd99 100644 --- a/packages/jest-core/src/plugins/UpdateSnapshots.ts +++ b/packages/jest-core/src/plugins/UpdateSnapshots.ts @@ -23,7 +23,7 @@ class UpdateSnapshotsPlugin extends BaseWatchPlugin { this._hasSnapshotFailure = false; } - run( + override run( _globalConfig: Config.GlobalConfig, updateConfigAndRun: UpdateConfigCallback, ): Promise { @@ -31,13 +31,13 @@ class UpdateSnapshotsPlugin extends BaseWatchPlugin { return Promise.resolve(false); } - apply(hooks: JestHookSubscriber): void { + override apply(hooks: JestHookSubscriber): void { hooks.onTestRunComplete(results => { this._hasSnapshotFailure = results.snapshot.failure; }); } - getUsageInfo(): UsageData | null { + override getUsageInfo(): UsageData | null { if (this._hasSnapshotFailure) { return { key: 'u', diff --git a/packages/jest-core/src/plugins/UpdateSnapshotsInteractive.ts b/packages/jest-core/src/plugins/UpdateSnapshotsInteractive.ts index 63f52ff5cfcd..1961a13611cc 100644 --- a/packages/jest-core/src/plugins/UpdateSnapshotsInteractive.ts +++ b/packages/jest-core/src/plugins/UpdateSnapshotsInteractive.ts @@ -42,7 +42,7 @@ class UpdateSnapshotInteractivePlugin extends BaseWatchPlugin { return failedTestPaths; } - apply(hooks: JestHookSubscriber): void { + override apply(hooks: JestHookSubscriber): void { hooks.onTestRunComplete(results => { this._failedSnapshotTestAssertions = this.getFailedSnapshotTestAssertions(results); @@ -52,13 +52,13 @@ class UpdateSnapshotInteractivePlugin extends BaseWatchPlugin { }); } - onKey(key: string): void { + override onKey(key: string): void { if (this._snapshotInteractiveMode.isActive()) { this._snapshotInteractiveMode.put(key); } } - run( + override run( _globalConfig: Config.GlobalConfig, updateConfigAndRun: Function, ): Promise { @@ -85,7 +85,7 @@ class UpdateSnapshotInteractivePlugin extends BaseWatchPlugin { } } - getUsageInfo(): UsageData | null { + override getUsageInfo(): UsageData | null { if (this._failedSnapshotTestAssertions?.length > 0) { return { key: 'i', diff --git a/packages/jest-reporters/src/CoverageReporter.ts b/packages/jest-reporters/src/CoverageReporter.ts index 63da91389719..2390029f90b6 100644 --- a/packages/jest-reporters/src/CoverageReporter.ts +++ b/packages/jest-reporters/src/CoverageReporter.ts @@ -64,7 +64,7 @@ export default class CoverageReporter extends BaseReporter { this._options = options || {}; } - onTestResult(_test: Test, testResult: TestResult): void { + override onTestResult(_test: Test, testResult: TestResult): void { if (testResult.v8Coverage) { this._v8CoverageResults.push(testResult.v8Coverage); return; @@ -75,7 +75,7 @@ export default class CoverageReporter extends BaseReporter { } } - async onRunComplete( + override async onRunComplete( contexts: Set, aggregatedResults: AggregatedResult, ): Promise { diff --git a/packages/jest-reporters/src/DefaultReporter.ts b/packages/jest-reporters/src/DefaultReporter.ts index 19a46dac5ab0..3af42784283e 100644 --- a/packages/jest-reporters/src/DefaultReporter.ts +++ b/packages/jest-reporters/src/DefaultReporter.ts @@ -127,22 +127,22 @@ export default class DefaultReporter extends BaseReporter { } } - onRunStart( + override onRunStart( aggregatedResults: AggregatedResult, options: ReporterOnStartOptions, ): void { this._status.runStarted(aggregatedResults, options); } - onTestStart(test: Test): void { + override onTestStart(test: Test): void { this._status.testStarted(test.path, test.context.config); } - onTestCaseResult(test: Test, testCaseResult: TestCaseResult): void { + override onTestCaseResult(test: Test, testCaseResult: TestCaseResult): void { this._status.addTestCaseResult(test, testCaseResult); } - onRunComplete(): void { + override onRunComplete(): void { this.forceFlushBufferedOutput(); this._status.runFinished(); process.stdout.write = this._out; @@ -150,7 +150,7 @@ export default class DefaultReporter extends BaseReporter { clearLine(process.stderr); } - onTestResult( + override onTestResult( test: Test, testResult: TestResult, aggregatedResults: AggregatedResult, diff --git a/packages/jest-reporters/src/GitHubActionsReporter.ts b/packages/jest-reporters/src/GitHubActionsReporter.ts index dd63977df91d..b9188e701b7b 100644 --- a/packages/jest-reporters/src/GitHubActionsReporter.ts +++ b/packages/jest-reporters/src/GitHubActionsReporter.ts @@ -23,7 +23,7 @@ function replaceEntities(s: string): string { } export default class GitHubActionsReporter extends BaseReporter { - onRunComplete( + override onRunComplete( _contexts?: Set, aggregatedResults?: AggregatedResult, ): void { diff --git a/packages/jest-reporters/src/NotifyReporter.ts b/packages/jest-reporters/src/NotifyReporter.ts index 4bc77ac48999..63d8a218ea2b 100644 --- a/packages/jest-reporters/src/NotifyReporter.ts +++ b/packages/jest-reporters/src/NotifyReporter.ts @@ -37,7 +37,10 @@ export default class NotifyReporter extends BaseReporter { this._context = context; } - onRunComplete(contexts: Set, result: AggregatedResult): void { + override onRunComplete( + contexts: Set, + result: AggregatedResult, + ): void { const success = result.numFailedTests === 0 && result.numRuntimeErrorTestSuites === 0; diff --git a/packages/jest-reporters/src/SummaryReporter.ts b/packages/jest-reporters/src/SummaryReporter.ts index c46854a4b83f..36e59aae3bb3 100644 --- a/packages/jest-reporters/src/SummaryReporter.ts +++ b/packages/jest-reporters/src/SummaryReporter.ts @@ -70,7 +70,7 @@ export default class SummaryReporter extends BaseReporter { } } - onRunStart( + override onRunStart( aggregatedResults: AggregatedResult, options: ReporterOnStartOptions, ): void { @@ -78,7 +78,7 @@ export default class SummaryReporter extends BaseReporter { this._estimatedTime = options.estimatedTime; } - onRunComplete( + override onRunComplete( contexts: Set, aggregatedResults: AggregatedResult, ): void { diff --git a/packages/jest-reporters/src/VerboseReporter.ts b/packages/jest-reporters/src/VerboseReporter.ts index 4476e895d98d..919767dbdf9b 100644 --- a/packages/jest-reporters/src/VerboseReporter.ts +++ b/packages/jest-reporters/src/VerboseReporter.ts @@ -20,9 +20,9 @@ import type {Test} from './types'; const {ICONS} = specialChars; export default class VerboseReporter extends DefaultReporter { - protected _globalConfig: Config.GlobalConfig; + protected override _globalConfig: Config.GlobalConfig; - static readonly filename = __filename; + static override readonly filename = __filename; constructor(globalConfig: Config.GlobalConfig) { super(globalConfig); @@ -31,7 +31,7 @@ export default class VerboseReporter extends DefaultReporter { // Verbose mode is for debugging. Buffering of output is undesirable. // See https://github.com/facebook/jest/issues/8208 - protected __wrapStdio( + protected override __wrapStdio( stream: NodeJS.WritableStream | NodeJS.WriteStream, ): void { const write = stream.write.bind(stream); @@ -71,7 +71,7 @@ export default class VerboseReporter extends DefaultReporter { return root; } - onTestResult( + override onTestResult( test: Test, result: TestResult, aggregatedResults: AggregatedResult, diff --git a/packages/jest-validate/src/utils.ts b/packages/jest-validate/src/utils.ts index e327bce87f7e..d6890f7914cd 100644 --- a/packages/jest-validate/src/utils.ts +++ b/packages/jest-validate/src/utils.ts @@ -25,8 +25,8 @@ export const formatPrettyObject = (value: unknown): string => : JSON.stringify(value, null, 2).split('\n').join('\n '); export class ValidationError extends Error { - name: string; - message: string; + override name: string; + override message: string; constructor(name: string, message: string, comment?: string | null) { super(); diff --git a/packages/jest-worker/src/WorkerPool.ts b/packages/jest-worker/src/WorkerPool.ts index 0bf2a72c3ed1..694858b9a863 100644 --- a/packages/jest-worker/src/WorkerPool.ts +++ b/packages/jest-worker/src/WorkerPool.ts @@ -27,7 +27,7 @@ class WorkerPool extends BaseWorkerPool implements WorkerPoolInterface { this.getWorkerById(workerId).send(request, onStart, onEnd, onCustomMessage); } - createWorker(workerOptions: WorkerOptions): WorkerInterface { + override createWorker(workerOptions: WorkerOptions): WorkerInterface { let Worker; if (this._options.enableWorkerThreads) { Worker = require('./workers/NodeThreadsWorker').default; diff --git a/scripts/verifyOldTs.mjs b/scripts/verifyOldTs.mjs index 481c500ad49e..9ad40b74fe6a 100644 --- a/scripts/verifyOldTs.mjs +++ b/scripts/verifyOldTs.mjs @@ -33,7 +33,7 @@ const tsConfig = { }; /* eslint-enable */ -const tsVersion = '4.2'; +const tsVersion = '4.3'; function smoketest() { const jestDirectory = path.resolve( diff --git a/tsconfig.json b/tsconfig.json index cff2131d1fb2..574e1e6ec482 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,6 +12,7 @@ /* Additional Checks */ "noUnusedLocals": true, "noUnusedParameters": true, + "noImplicitOverride": true, "noImplicitReturns": true, "noFallthroughCasesInSwitch": true,