diff --git a/e2e/__tests__/findRelatedFiles.test.ts b/e2e/__tests__/findRelatedFiles.test.ts index f84b88bc56c0..a5999d5d4536 100644 --- a/e2e/__tests__/findRelatedFiles.test.ts +++ b/e2e/__tests__/findRelatedFiles.test.ts @@ -162,8 +162,7 @@ describe('--findRelatedTests flag', () => { expect(stderr).toMatch('PASS __tests__/test.test.js'); expect(stderr).not.toMatch('PASS __tests__/test-skip-deps.test.js'); - const summaryMsg = - 'Ran all test suites related to files matching /a.js/i.'; + const summaryMsg = 'Ran all test suites related to files matching /a.js/i.'; expect(stderr).toMatch(summaryMsg); }); diff --git a/packages/jest-haste-map/src/index.ts b/packages/jest-haste-map/src/index.ts index 244e37eb80cc..00f83247d93c 100644 --- a/packages/jest-haste-map/src/index.ts +++ b/packages/jest-haste-map/src/index.ts @@ -30,6 +30,7 @@ import normalizePathSep from './lib/normalizePathSep'; import type { ChangeEvent, CrawlerOptions, + DependencyExtractor, EventsQueue, FileData, FileMetaData, @@ -316,10 +317,11 @@ export default class HasteMap extends EventEmitter { } if (options.dependencyExtractor) { - const dependencyExtractor = await requireOrImportModule( - options.dependencyExtractor, - false, - ); + const dependencyExtractor = + await requireOrImportModule( + options.dependencyExtractor, + false, + ); if (dependencyExtractor.getCacheKey) { dependencyExtractorHash = String(dependencyExtractor.getCacheKey()); } diff --git a/packages/jest-haste-map/src/types.ts b/packages/jest-haste-map/src/types.ts index 314348955655..767d1ca2bedd 100644 --- a/packages/jest-haste-map/src/types.ts +++ b/packages/jest-haste-map/src/types.ts @@ -154,3 +154,12 @@ export type ChangeEvent = { hasteFS: HasteFS; moduleMap: ModuleMap; }; + +export type DependencyExtractor = { + extract: ( + code: string, + filePath: string, + defaultExtract: DependencyExtractor['extract'], + ) => Set; + getCacheKey?: () => string; +}; diff --git a/packages/jest-haste-map/src/worker.ts b/packages/jest-haste-map/src/worker.ts index 3f584ca18eab..fb1d38b77a5a 100644 --- a/packages/jest-haste-map/src/worker.ts +++ b/packages/jest-haste-map/src/worker.ts @@ -12,7 +12,12 @@ import {requireOrImportModule} from 'jest-util'; import blacklist from './blacklist'; import H from './constants'; import * as dependencyExtractor from './lib/dependencyExtractor'; -import type {HasteImpl, WorkerMessage, WorkerMetadata} from './types'; +import type { + DependencyExtractor, + HasteImpl, + WorkerMessage, + WorkerMetadata, +} from './types'; const PACKAGE_JSON = path.sep + 'package.json'; @@ -75,7 +80,10 @@ export async function worker(data: WorkerMessage): Promise { dependencies = Array.from( data.dependencyExtractor ? ( - await requireOrImportModule(data.dependencyExtractor, false) + await requireOrImportModule( + data.dependencyExtractor, + false, + ) ).extract(content, filePath, dependencyExtractor.extract) : dependencyExtractor.extract(content), );