From 245a58278ce189019e4af3537b0f987bf9ff210e Mon Sep 17 00:00:00 2001 From: Simen Bekkhus Date: Thu, 26 Nov 2020 20:18:31 +0100 Subject: [PATCH] chore: migrate jest-resolve-dependencies to ESM (#10876) --- CHANGELOG.md | 3 ++- packages/jest-core/src/SearchSource.ts | 2 +- .../src/__tests__/dependency_resolver.test.ts | 4 ++-- .../jest-resolve-dependencies/src/index.ts | 22 ++++++++----------- 4 files changed, 14 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92078e6ab849..3cfecb820074 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,8 +36,9 @@ - `[jest-config]` [**BREAKING**] Remove `enabledTestsMap` config, use `filter` instead ([#10787](https://github.com/facebook/jest/pull/10787)) - `[jest-console]` [**BREAKING**] Move `root` into `config` and take `GlobalConfig` as mandatory parameter for `getConsoleOutput` ([#10126](https://github.com/facebook/jest/pull/10126)) - `[jest-fake-timers]` Clarify global behavior of `jest.useFakeTimers` and `jest.useRealTimers` ([#10867](https://github.com/facebook/jest/pull/10867)) -- `[jest-resolve]` [**BREAKING**] Migrate to ESM ([#10688](https://github.com/facebook/jest/pull/10688)) - `[jest-repl, jest-runtime]` [**BREAKING**] Move the `jest-runtime` CLI into `jest-repl` ([#10016](https://github.com/facebook/jest/pull/10016)) +- `[jest-resolve]` [**BREAKING**] Migrate to ESM ([#10688](https://github.com/facebook/jest/pull/10688)) +- `[jest-resolve-dependencies]` [**BREAKING**] Migrate to ESM ([#10876](https://github.com/facebook/jest/pull/10876)) - `[jest-util]` No longer checking `enumerable` when adding `process.domain` ([#10862](https://github.com/facebook/jest/pull/10862)) ### Performance diff --git a/packages/jest-core/src/SearchSource.ts b/packages/jest-core/src/SearchSource.ts index e473732e5dc4..e5c705b04510 100644 --- a/packages/jest-core/src/SearchSource.ts +++ b/packages/jest-core/src/SearchSource.ts @@ -12,7 +12,7 @@ import type {Config} from '@jest/types'; import type {ChangedFiles} from 'jest-changed-files'; import {replaceRootDirInPath} from 'jest-config'; import {escapePathForRegex} from 'jest-regex-util'; -import DependencyResolver = require('jest-resolve-dependencies'); +import {DependencyResolver} from 'jest-resolve-dependencies'; import type {Test} from 'jest-runner'; import type {Context} from 'jest-runtime'; import {buildSnapshotResolver} from 'jest-snapshot'; diff --git a/packages/jest-resolve-dependencies/src/__tests__/dependency_resolver.test.ts b/packages/jest-resolve-dependencies/src/__tests__/dependency_resolver.test.ts index 6198e25d39f3..229c0c3dff8a 100644 --- a/packages/jest-resolve-dependencies/src/__tests__/dependency_resolver.test.ts +++ b/packages/jest-resolve-dependencies/src/__tests__/dependency_resolver.test.ts @@ -9,9 +9,9 @@ import {tmpdir} from 'os'; import * as path from 'path'; import {makeProjectConfig} from '@jest/test-utils'; import type {Config} from '@jest/types'; -import Resolver from 'jest-resolve'; +import type Resolver from 'jest-resolve'; import {buildSnapshotResolver} from 'jest-snapshot'; -import DependencyResolver from '../index'; +import {DependencyResolver} from '../index'; const maxWorkers = 1; let dependencyResolver: DependencyResolver; diff --git a/packages/jest-resolve-dependencies/src/index.ts b/packages/jest-resolve-dependencies/src/index.ts index 64bc1a406130..32fce32dbe54 100644 --- a/packages/jest-resolve-dependencies/src/index.ts +++ b/packages/jest-resolve-dependencies/src/index.ts @@ -11,18 +11,16 @@ import type {FS as HasteFS} from 'jest-haste-map'; import type {ResolveModuleConfig, default as Resolver} from 'jest-resolve'; import {SnapshotResolver, isSnapshotPath} from 'jest-snapshot'; -declare namespace DependencyResolver { - export type ResolvedModule = { - file: Config.Path; - dependencies: Array; - }; -} +export type ResolvedModule = { + file: Config.Path; + dependencies: Array; +}; /** * DependencyResolver is used to resolve the direct dependencies of a module or * to retrieve a list of all transitive inverse dependencies. */ -class DependencyResolver { +export class DependencyResolver { private _hasteFS: HasteFS; private _resolver: Resolver; private _snapshotResolver: SnapshotResolver; @@ -106,18 +104,18 @@ class DependencyResolver { paths: Set, filter: (file: Config.Path) => boolean, options?: ResolveModuleConfig, - ): Array { + ): Array { if (!paths.size) { return []; } const collectModules = ( related: Set, - moduleMap: Array, + moduleMap: Array, changed: Set, ) => { const visitedModules = new Set(); - const result: Array = []; + const result: Array = []; while (changed.size) { changed = new Set( moduleMap.reduce>((acc, module) => { @@ -157,7 +155,7 @@ class DependencyResolver { } } } - const modules: Array = []; + const modules: Array = []; for (const file of this._hasteFS.getAbsoluteFileIterator()) { modules.push({ dependencies: this.resolve(file, options), @@ -177,5 +175,3 @@ class DependencyResolver { ); } } - -export = DependencyResolver;