diff --git a/packages/babel-jest/src/index.ts b/packages/babel-jest/src/index.ts index 5a23c4fdb1d9..705502120562 100644 --- a/packages/babel-jest/src/index.ts +++ b/packages/babel-jest/src/index.ts @@ -10,7 +10,7 @@ import * as path from 'path'; import * as fs from 'graceful-fs'; import type { TransformOptions as JestTransformOptions, - Transformer, + SyncTransformer, } from '@jest/transform'; import type {Config} from '@jest/types'; import { @@ -29,7 +29,7 @@ const jestPresetPath = require.resolve('babel-preset-jest'); const babelIstanbulPlugin = require.resolve('babel-plugin-istanbul'); // Narrow down the types -interface BabelJestTransformer extends Transformer { +interface BabelJestTransformer extends SyncTransformer { canInstrument: true; } interface BabelJestTransformOptions extends TransformOptions { diff --git a/packages/jest-repl/src/cli/repl.ts b/packages/jest-repl/src/cli/repl.ts index 0b49eb045d39..579e91ae527e 100644 --- a/packages/jest-repl/src/cli/repl.ts +++ b/packages/jest-repl/src/cli/repl.ts @@ -24,7 +24,7 @@ const evalCommand: repl.REPLEval = ( ) => { let result; try { - if (transformer) { + if (transformer && transformer.process) { const transformResult = transformer.process( cmd, jestGlobalConfig.replname || 'jest.js', diff --git a/packages/jest-transform/src/ScriptTransformer.ts b/packages/jest-transform/src/ScriptTransformer.ts index acb4d0108024..8334b787f35f 100644 --- a/packages/jest-transform/src/ScriptTransformer.ts +++ b/packages/jest-transform/src/ScriptTransformer.ts @@ -34,6 +34,7 @@ import type { } from './types'; import shouldInstrument from './shouldInstrument'; import handlePotentialSyntaxError from './enhanceUnexpectedTokenMessage'; +import VERSION from './version'; type ProjectCache = { configString: string; @@ -42,8 +43,6 @@ type ProjectCache = { transformedFiles: Map; }; -// Use `require` to avoid TS rootDir -const {version: VERSION} = require('../package.json'); // This data structure is used to avoid recalculating some data every time that // we need to transform a file. Since ScriptTransformer is instantiated for each diff --git a/packages/jest-transform/src/index.ts b/packages/jest-transform/src/index.ts index a104f5197968..de3fb66a3bfb 100644 --- a/packages/jest-transform/src/index.ts +++ b/packages/jest-transform/src/index.ts @@ -13,6 +13,8 @@ export {default as shouldInstrument} from './shouldInstrument'; export type { CacheKeyOptions, Transformer, + SyncTransformer, + AsyncTransformer, ShouldInstrumentOptions, Options as TransformationOptions, TransformOptions, diff --git a/packages/jest-transform/src/version.ts b/packages/jest-transform/src/version.ts new file mode 100644 index 000000000000..4da7e89ed84d --- /dev/null +++ b/packages/jest-transform/src/version.ts @@ -0,0 +1,4 @@ +// Use `require` to avoid TS rootDir +const {version: VERSION} = require('../package.json'); + +export default VERSION; \ No newline at end of file diff --git a/packages/jest-transform/tsconfig.json b/packages/jest-transform/tsconfig.json index 86498ca1e5cf..c3c126149d3f 100644 --- a/packages/jest-transform/tsconfig.json +++ b/packages/jest-transform/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../tsconfig.json", "compilerOptions": { - "outDir": "build" + "outDir": "build", + "rootDir": "src", }, "references": [ {"path": "../jest-haste-map"}, @@ -9,5 +10,4 @@ {"path": "../jest-types"}, {"path": "../jest-util"} ], - "include": ["src/**/*", "package.json"], }