diff --git a/src/legacy/ts-jest-transformer.spec.ts b/src/legacy/ts-jest-transformer.spec.ts index 5b47e7660..167673e95 100644 --- a/src/legacy/ts-jest-transformer.spec.ts +++ b/src/legacy/ts-jest-transformer.spec.ts @@ -2,17 +2,13 @@ import fs from 'fs' import path from 'path' import { LogLevels } from 'bs-logger' -import { removeSync, writeFileSync } from 'fs-extra' +import { removeSync } from 'fs-extra' -import { createConfigSet } from '../__helpers__/fakers' import { logTargetMock } from '../__helpers__/mocks' -import type { DepGraphInfo } from '../types' -import { stringify } from '../utils' import { importer } from '../utils/importer' -import { sha1 } from '../utils/sha1' import { TsJestCompiler } from './compiler' -import { CACHE_KEY_EL_SEPARATOR, TsJestTransformer } from './ts-jest-transformer' +import { TsJestTransformer } from './ts-jest-transformer' const SOURCE_MAPPING_PREFIX = 'sourceMappingURL=' @@ -50,7 +46,6 @@ describe('TsJestTransformer', () => { "transformerCfgStr", "compiler", "depGraphs", - "tsResolvedModulesCachePath", "watchMode", ] `) @@ -79,72 +74,6 @@ describe('TsJestTransformer', () => { expect(cs2).toBe(cs1) }) - - test(`should not read disk cache with isolatedModules true`, () => { - const tr = new TsJestTransformer() - const cs = createConfigSet({ - jestConfig: { - globals: { 'ts-jest': { isolatedModules: true } }, - }, - }) - const readFileSyncSpy = jest.spyOn(fs, 'readFileSync') - - // @ts-expect-error testing purpose - tr._getFsCachedResolvedModules(cs) - - expect(readFileSyncSpy).not.toHaveBeenCalled() - - readFileSyncSpy.mockRestore() - }) - - test(`should not read disk cache with isolatedModules false and no jest cache`, () => { - const tr = new TsJestTransformer() - const cs = createConfigSet({ - jestConfig: { - globals: { 'ts-jest': { isolatedModules: false } }, - }, - }) - const readFileSyncSpy = jest.spyOn(fs, 'readFileSync') - - // @ts-expect-error testing purpose - tr._getFsCachedResolvedModules(cs) - - expect(readFileSyncSpy).not.toHaveBeenCalled() - - readFileSyncSpy.mockRestore() - }) - - test(`should read disk cache with isolatedModules false and use jest cache`, () => { - const readFileSyncSpy = jest.spyOn(fs, 'readFileSync') - const fileName = 'foo.ts' - const tr = new TsJestTransformer() - const cs = createConfigSet({ - jestConfig: { - cache: true, - cacheDirectory: cacheDir, - globals: { 'ts-jest': { isolatedModules: false } }, - }, - }) - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const tsCacheDir = cs.tsCacheDir! - const depGraphs: Map = new Map() - depGraphs.set(fileName, { - fileContent: 'const foo = 1', - resolvedModuleNames: [], - }) - const resolvedModulesCacheDir = path.join(tsCacheDir, sha1('ts-jest-resolved-modules', CACHE_KEY_EL_SEPARATOR)) - fs.mkdirSync(tsCacheDir, { recursive: true }) - writeFileSync(resolvedModulesCacheDir, stringify([...depGraphs])) - - // @ts-expect-error testing purpose - tr._getFsCachedResolvedModules(cs) - - // @ts-expect-error testing purpose - expect(tr._depGraphs.has(fileName)).toBe(true) - expect(readFileSyncSpy.mock.calls).toEqual(expect.arrayContaining([[resolvedModulesCacheDir, 'utf-8']])) - - removeSync(cacheDir) - }) }) describe('getCacheKey', () => { diff --git a/src/legacy/ts-jest-transformer.ts b/src/legacy/ts-jest-transformer.ts index a92cda873..ffbfe846f 100644 --- a/src/legacy/ts-jest-transformer.ts +++ b/src/legacy/ts-jest-transformer.ts @@ -1,4 +1,4 @@ -import { existsSync, readFileSync, statSync, writeFileSync, mkdirSync } from 'fs' +import { existsSync, statSync } from 'fs' import path from 'path' import type { SyncTransformer, TransformedSource } from '@jest/transform' @@ -12,7 +12,7 @@ import type { TsJestTransformerOptions, TsJestTransformOptions, } from '../types' -import { parse, stringify, JsonableValue, rootLogger } from '../utils' +import { stringify, JsonableValue, rootLogger } from '../utils' import { importer } from '../utils/importer' import { Deprecations, Errors, interpolate } from '../utils/messages' import { sha1 } from '../utils/sha1' @@ -27,7 +27,6 @@ interface CachedConfigSet { transformerCfgStr: string compiler: CompilerInstance depGraphs: Map - tsResolvedModulesCachePath: string | undefined watchMode: boolean } @@ -50,7 +49,6 @@ export class TsJestTransformer implements SyncTransformer = new Map() private _watchMode = false @@ -81,7 +79,6 @@ export class TsJestTransformer implements SyncTransformer { constructingCacheKeyElements.push( @@ -368,20 +361,4 @@ export class TsJestTransformer implements SyncTransformer { return Promise.resolve(this.getCacheKey(sourceText, sourcePath, transformOptions)) } - - /** - * Subclasses extends `TsJestTransformer` can call this method to get resolved module disk cache - */ - private _getFsCachedResolvedModules(configSet: ConfigSet): void { - const cacheDir = configSet.tsCacheDir - if (!configSet.isolatedModules && cacheDir) { - // Make sure the cache directory exists before continuing. - mkdirSync(cacheDir, { recursive: true }) - this._tsResolvedModulesCachePath = path.join(cacheDir, sha1('ts-jest-resolved-modules', CACHE_KEY_EL_SEPARATOR)) - try { - const cachedTSResolvedModules = readFileSync(this._tsResolvedModulesCachePath, 'utf-8') - this._depGraphs = new Map(parse(cachedTSResolvedModules)) - } catch (e) {} - } - } }