Skip to content

Commit fddf439

Browse files
jeysalSimenB
authored andcommitted
decentralize resolve types (#7966)
1 parent 7baf5fc commit fddf439

File tree

7 files changed

+30
-32
lines changed

7 files changed

+30
-32
lines changed

e2e/__tests__/__snapshots__/moduleNameMapper.test.js.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@ FAIL __tests__/index.js
3030
12 | module.exports = () => 'test';
3131
13 |
3232
33-
at createNoMappedModuleFoundError (../../packages/jest-resolve/build/index.js:434:17)
33+
at createNoMappedModuleFoundError (../../packages/jest-resolve/build/index.js:435:17)
3434
at Object.require (index.js:10:1)
3535
`;

e2e/__tests__/__snapshots__/resolveNoFileExtensions.test.js.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,6 @@ FAIL __tests__/test.js
3333
| ^
3434
4 |
3535
36-
at Resolver.resolveModule (../../packages/jest-resolve/build/index.js:201:17)
36+
at Resolver.resolveModule (../../packages/jest-resolve/build/index.js:202:17)
3737
at Object.require (index.js:3:18)
3838
`;

packages/jest-haste-map/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ const getWhiteList = (list: Array<string> | undefined): RegExp | null => {
221221
* Worker processes can directly access the cache through `HasteMap.read()`.
222222
*
223223
*/
224+
/* eslint-disable-next-line no-redeclare */
224225
class HasteMap extends EventEmitter {
225226
private _buildPromise: Promise<HasteMapObject> | null;
226227
private _cachePath: Config.Path;

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

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,23 @@
55
* LICENSE file in the root directory of this source tree.
66
*/
77

8-
import {Config, Resolve, Snapshot} from '@jest/types';
8+
import {Config, Snapshot} from '@jest/types';
99
import {FS as HasteFS} from 'jest-haste-map';
1010
import Resolver from 'jest-resolve';
1111
import {isSnapshotPath} from 'jest-snapshot';
1212

13+
namespace DependencyResolver {
14+
export type ResolvedModule = {
15+
file: Config.Path;
16+
dependencies: Config.Path[];
17+
};
18+
}
19+
1320
/**
1421
* DependencyResolver is used to resolve the direct dependencies of a module or
1522
* to retrieve a list of all transitive inverse dependencies.
1623
*/
24+
/* eslint-disable-next-line no-redeclare */
1725
class DependencyResolver {
1826
private _hasteFS: HasteFS;
1927
private _resolver: Resolver;
@@ -31,7 +39,7 @@ class DependencyResolver {
3139

3240
resolve(
3341
file: Config.Path,
34-
options?: Resolve.ResolveModuleConfig,
42+
options?: Resolver.ResolveModuleConfig,
3543
): Array<Config.Path> {
3644
const dependencies = this._hasteFS.getDependencies(file);
3745
if (!dependencies) {
@@ -64,19 +72,19 @@ class DependencyResolver {
6472
resolveInverseModuleMap(
6573
paths: Set<Config.Path>,
6674
filter: (file: Config.Path) => boolean,
67-
options?: Resolve.ResolveModuleConfig,
68-
): Array<Resolve.ResolvedModule> {
75+
options?: Resolver.ResolveModuleConfig,
76+
): Array<DependencyResolver.ResolvedModule> {
6977
if (!paths.size) {
7078
return [];
7179
}
7280

7381
const collectModules = (
7482
related: Set<Config.Path>,
75-
moduleMap: Array<Resolve.ResolvedModule>,
83+
moduleMap: Array<DependencyResolver.ResolvedModule>,
7684
changed: Set<Config.Path>,
7785
) => {
7886
const visitedModules = new Set();
79-
const result: Array<Resolve.ResolvedModule> = [];
87+
const result: Array<DependencyResolver.ResolvedModule> = [];
8088
while (changed.size) {
8189
changed = new Set(
8290
moduleMap.reduce<Array<Config.Path>>((acc, module) => {
@@ -116,7 +124,7 @@ class DependencyResolver {
116124
}
117125
}
118126
}
119-
const modules: Array<Resolve.ResolvedModule> = [];
127+
const modules: Array<DependencyResolver.ResolvedModule> = [];
120128
for (const file of this._hasteFS.getAbsoluteFileIterator()) {
121129
modules.push({
122130
dependencies: this.resolve(file, options),
@@ -129,7 +137,7 @@ class DependencyResolver {
129137
resolveInverse(
130138
paths: Set<Config.Path>,
131139
filter: (file: Config.Path) => boolean,
132-
options?: Resolve.ResolveModuleConfig,
140+
options?: Resolver.ResolveModuleConfig,
133141
): Array<Config.Path> {
134142
return this.resolveInverseModuleMap(paths, filter, options).map(
135143
module => module.file,

packages/jest-resolve/src/index.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
*/
77

88
import path from 'path';
9-
import {Config, Resolve} from '@jest/types';
9+
import {Config} from '@jest/types';
1010
import {ModuleMap} from 'jest-haste-map';
1111
import {sync as realpath} from 'realpath-native';
1212
import chalk from 'chalk';
@@ -27,6 +27,13 @@ type FindNodeModuleConfig = {
2727

2828
type BooleanObject = {[key: string]: boolean};
2929

30+
namespace Resolver {
31+
export type ResolveModuleConfig = {
32+
skipNodeResolution?: boolean;
33+
paths?: Config.Path[];
34+
};
35+
}
36+
3037
const NATIVE_PLATFORM = 'native';
3138

3239
// We might be inside a symlink.
@@ -39,6 +46,7 @@ const nodePaths = process.env.NODE_PATH
3946
.map(p => path.resolve(resolvedCwd, p))
4047
: null;
4148

49+
/* eslint-disable-next-line no-redeclare */
4250
class Resolver {
4351
private readonly _options: ResolverConfig;
4452
private readonly _moduleMap: ModuleMap;
@@ -97,7 +105,7 @@ class Resolver {
97105
resolveModuleFromDirIfExists(
98106
dirname: Config.Path,
99107
moduleName: string,
100-
options?: Resolve.ResolveModuleConfig,
108+
options?: Resolver.ResolveModuleConfig,
101109
): Config.Path | null {
102110
const paths = (options && options.paths) || this._options.modulePaths;
103111
const moduleDirectory = this._options.moduleDirectories;
@@ -180,7 +188,7 @@ class Resolver {
180188
resolveModule(
181189
from: Config.Path,
182190
moduleName: string,
183-
options?: Resolve.ResolveModuleConfig,
191+
options?: Resolver.ResolveModuleConfig,
184192
): Config.Path {
185193
const dirname = path.dirname(from);
186194
const module = this.resolveModuleFromDirIfExists(

packages/jest-types/src/Resolve.ts

Lines changed: 0 additions & 17 deletions
This file was deleted.

packages/jest-types/src/index.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import * as Console from './Console';
1010
import * as Matchers from './Matchers';
1111
import * as Mocks from './Mocks';
1212
import * as PrettyFormat from './PrettyFormat';
13-
import * as Resolve from './Resolve';
1413
import * as Snapshot from './Snapshot';
1514
import * as SourceMaps from './SourceMaps';
1615
import * as TestResult from './TestResult';
@@ -23,7 +22,6 @@ export {
2322
Matchers,
2423
Mocks,
2524
PrettyFormat,
26-
Resolve,
2725
Snapshot,
2826
SourceMaps,
2927
TestResult,

0 commit comments

Comments
 (0)