Skip to content

Commit 245a582

Browse files
authored
chore: migrate jest-resolve-dependencies to ESM (#10876)
1 parent 034cd34 commit 245a582

4 files changed

Lines changed: 14 additions & 17 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,9 @@
3636
- `[jest-config]` [**BREAKING**] Remove `enabledTestsMap` config, use `filter` instead ([#10787](https://github.com/facebook/jest/pull/10787))
3737
- `[jest-console]` [**BREAKING**] Move `root` into `config` and take `GlobalConfig` as mandatory parameter for `getConsoleOutput` ([#10126](https://github.com/facebook/jest/pull/10126))
3838
- `[jest-fake-timers]` Clarify global behavior of `jest.useFakeTimers` and `jest.useRealTimers` ([#10867](https://github.com/facebook/jest/pull/10867))
39-
- `[jest-resolve]` [**BREAKING**] Migrate to ESM ([#10688](https://github.com/facebook/jest/pull/10688))
4039
- `[jest-repl, jest-runtime]` [**BREAKING**] Move the `jest-runtime` CLI into `jest-repl` ([#10016](https://github.com/facebook/jest/pull/10016))
40+
- `[jest-resolve]` [**BREAKING**] Migrate to ESM ([#10688](https://github.com/facebook/jest/pull/10688))
41+
- `[jest-resolve-dependencies]` [**BREAKING**] Migrate to ESM ([#10876](https://github.com/facebook/jest/pull/10876))
4142
- `[jest-util]` No longer checking `enumerable` when adding `process.domain` ([#10862](https://github.com/facebook/jest/pull/10862))
4243

4344
### Performance

packages/jest-core/src/SearchSource.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import type {Config} from '@jest/types';
1212
import type {ChangedFiles} from 'jest-changed-files';
1313
import {replaceRootDirInPath} from 'jest-config';
1414
import {escapePathForRegex} from 'jest-regex-util';
15-
import DependencyResolver = require('jest-resolve-dependencies');
15+
import {DependencyResolver} from 'jest-resolve-dependencies';
1616
import type {Test} from 'jest-runner';
1717
import type {Context} from 'jest-runtime';
1818
import {buildSnapshotResolver} from 'jest-snapshot';

packages/jest-resolve-dependencies/src/__tests__/dependency_resolver.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import {tmpdir} from 'os';
99
import * as path from 'path';
1010
import {makeProjectConfig} from '@jest/test-utils';
1111
import type {Config} from '@jest/types';
12-
import Resolver from 'jest-resolve';
12+
import type Resolver from 'jest-resolve';
1313
import {buildSnapshotResolver} from 'jest-snapshot';
14-
import DependencyResolver from '../index';
14+
import {DependencyResolver} from '../index';
1515

1616
const maxWorkers = 1;
1717
let dependencyResolver: DependencyResolver;

packages/jest-resolve-dependencies/src/index.ts

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,16 @@ import type {FS as HasteFS} from 'jest-haste-map';
1111
import type {ResolveModuleConfig, default as Resolver} from 'jest-resolve';
1212
import {SnapshotResolver, isSnapshotPath} from 'jest-snapshot';
1313

14-
declare namespace DependencyResolver {
15-
export type ResolvedModule = {
16-
file: Config.Path;
17-
dependencies: Array<Config.Path>;
18-
};
19-
}
14+
export type ResolvedModule = {
15+
file: Config.Path;
16+
dependencies: Array<Config.Path>;
17+
};
2018

2119
/**
2220
* DependencyResolver is used to resolve the direct dependencies of a module or
2321
* to retrieve a list of all transitive inverse dependencies.
2422
*/
25-
class DependencyResolver {
23+
export class DependencyResolver {
2624
private _hasteFS: HasteFS;
2725
private _resolver: Resolver;
2826
private _snapshotResolver: SnapshotResolver;
@@ -106,18 +104,18 @@ class DependencyResolver {
106104
paths: Set<Config.Path>,
107105
filter: (file: Config.Path) => boolean,
108106
options?: ResolveModuleConfig,
109-
): Array<DependencyResolver.ResolvedModule> {
107+
): Array<ResolvedModule> {
110108
if (!paths.size) {
111109
return [];
112110
}
113111

114112
const collectModules = (
115113
related: Set<Config.Path>,
116-
moduleMap: Array<DependencyResolver.ResolvedModule>,
114+
moduleMap: Array<ResolvedModule>,
117115
changed: Set<Config.Path>,
118116
) => {
119117
const visitedModules = new Set();
120-
const result: Array<DependencyResolver.ResolvedModule> = [];
118+
const result: Array<ResolvedModule> = [];
121119
while (changed.size) {
122120
changed = new Set(
123121
moduleMap.reduce<Array<Config.Path>>((acc, module) => {
@@ -157,7 +155,7 @@ class DependencyResolver {
157155
}
158156
}
159157
}
160-
const modules: Array<DependencyResolver.ResolvedModule> = [];
158+
const modules: Array<ResolvedModule> = [];
161159
for (const file of this._hasteFS.getAbsoluteFileIterator()) {
162160
modules.push({
163161
dependencies: this.resolve(file, options),
@@ -177,5 +175,3 @@ class DependencyResolver {
177175
);
178176
}
179177
}
180-
181-
export = DependencyResolver;

0 commit comments

Comments
 (0)