From 2672af42c6d7ae33b888e14958fcc3f1f99068dc Mon Sep 17 00:00:00 2001 From: Simen Bekkhus Date: Wed, 23 Dec 2020 13:36:27 +0100 Subject: [PATCH] chore(runtime): make arguments mandatory --- .../src/legacy-code-todo-rewrite/jestAdapter.ts | 2 +- .../legacy-code-todo-rewrite/jestAdapterInit.ts | 8 +++----- packages/jest-repl/src/cli/runtime-cli.ts | 9 ++++++++- .../jest-runtime/src/__mocks__/createRuntime.js | 9 ++++++++- packages/jest-runtime/src/index.ts | 16 ++++------------ packages/jest-test-result/src/types.ts | 3 +-- 6 files changed, 25 insertions(+), 22 deletions(-) diff --git a/packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapter.ts b/packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapter.ts index 14daeec22f59..e9b38908ce63 100644 --- a/packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapter.ts +++ b/packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapter.ts @@ -37,7 +37,7 @@ const jestAdapter = async ( localRequire: runtime.requireModule.bind(runtime), parentProcess: process, sendMessageToJest, - setGlobalsForRuntime: runtime.setGlobalsForRuntime?.bind(runtime), + setGlobalsForRuntime: runtime.setGlobalsForRuntime.bind(runtime), testPath, }); diff --git a/packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapterInit.ts b/packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapterInit.ts index 61c68b332117..fa984e7f3cb9 100644 --- a/packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapterInit.ts +++ b/packages/jest-circus/src/legacy-code-todo-rewrite/jestAdapterInit.ts @@ -59,7 +59,7 @@ export const initialize = async ({ testPath: Config.Path; parentProcess: Process; sendMessageToJest?: TestFileEvent; - setGlobalsForRuntime?: (globals: JestGlobals) => void; + setGlobalsForRuntime: (globals: JestGlobals) => void; }): Promise<{ globals: Global.TestFrameworkGlobals; snapshotState: SnapshotStateType; @@ -126,11 +126,9 @@ export const initialize = async ({ ...globalsObject, expect: createExpect(globalConfig), }; - // TODO: `jest-circus` might be newer than `jest-runtime` - remove `?.` for Jest 27 - setGlobalsForRuntime?.(runtimeGlobals); + setGlobalsForRuntime(runtimeGlobals); - // TODO: `jest-circus` might be newer than `jest-config` - remove `??` for Jest 27 - if (config.injectGlobals ?? true) { + if (config.injectGlobals) { Object.assign(environment.global, runtimeGlobals); } diff --git a/packages/jest-repl/src/cli/runtime-cli.ts b/packages/jest-repl/src/cli/runtime-cli.ts index be0eda03c153..3615ceca806b 100644 --- a/packages/jest-repl/src/cli/runtime-cli.ts +++ b/packages/jest-repl/src/cli/runtime-cli.ts @@ -92,7 +92,14 @@ export async function run( environment, hasteMap.resolver, new Map(), - undefined, + { + changedFiles: undefined, + collectCoverage: false, + collectCoverageFrom: [], + collectCoverageOnlyFrom: undefined, + coverageProvider: 'v8', + sourcesRelatedToTestsInChangedFiles: undefined, + }, filePath, ); diff --git a/packages/jest-runtime/src/__mocks__/createRuntime.js b/packages/jest-runtime/src/__mocks__/createRuntime.js index ff87494d2212..3d8b016a607e 100644 --- a/packages/jest-runtime/src/__mocks__/createRuntime.js +++ b/packages/jest-runtime/src/__mocks__/createRuntime.js @@ -95,7 +95,14 @@ module.exports = async function createRuntime(filename, config) { environment, Runtime.createResolver(config, hasteMap.moduleMap), new Map(), - undefined, + { + changedFiles: undefined, + collectCoverage: false, + collectCoverageFrom: [], + collectCoverageOnlyFrom: undefined, + coverageProvider: 'v8', + sourcesRelatedToTestsInChangedFiles: undefined, + }, filename, ); diff --git a/packages/jest-runtime/src/index.ts b/packages/jest-runtime/src/index.ts index ecd7fb6e3aac..1c720944581c 100644 --- a/packages/jest-runtime/src/index.ts +++ b/packages/jest-runtime/src/index.ts @@ -166,7 +166,7 @@ export default class Runtime { private _isolatedModuleRegistry: ModuleRegistry | null; private _moduleRegistry: ModuleRegistry; private readonly _esmoduleRegistry: Map; - private readonly _testPath: Config.Path | undefined; + private readonly _testPath: Config.Path; private readonly _resolver: Resolver; private _shouldAutoMock: boolean; private readonly _shouldMockModuleCache: Map; @@ -191,20 +191,12 @@ export default class Runtime { environment: JestEnvironment, resolver: Resolver, cacheFS: Map, - coverageOptions?: ShouldInstrumentOptions, - // TODO: Make mandatory in Jest 27 - testPath?: Config.Path, + coverageOptions: ShouldInstrumentOptions, + testPath: Config.Path, ) { this._cacheFS = cacheFS; this._config = config; - this._coverageOptions = coverageOptions || { - changedFiles: undefined, - collectCoverage: false, - collectCoverageFrom: [], - collectCoverageOnlyFrom: undefined, - coverageProvider: 'babel', - sourcesRelatedToTestsInChangedFiles: undefined, - }; + this._coverageOptions = coverageOptions; this._currentlyExecutingModulePath = ''; this._environment = environment; this._explicitShouldMock = new Map(); diff --git a/packages/jest-test-result/src/types.ts b/packages/jest-test-result/src/types.ts index b75b3846a4c4..b6410c5f9750 100644 --- a/packages/jest-test-result/src/types.ts +++ b/packages/jest-test-result/src/types.ts @@ -11,8 +11,7 @@ import type {ConsoleBuffer} from '@jest/console'; import type {Config, TestResult, TransformTypes} from '@jest/types'; export interface RuntimeTransformResult extends TransformTypes.TransformResult { - // TODO: Make mandatory in Jest 27 - wrapperLength?: number; + wrapperLength: number; } export type V8CoverageResult = Array<{