Skip to content

Commit 3d8a245

Browse files
committedNov 11, 2023
Switch to jiti in tryResolve
1 parent 3757140 commit 3d8a245

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed
 

‎src/util/require.ts

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
import { createRequire as nodeCreateRequire } from 'node:module';
22
import { pathToFileURL } from 'node:url';
3+
import createJITI from 'jiti';
34
import { debugLog } from './debug.js';
45
import { getPackageNameFromModuleSpecifier } from './modules.js';
56
import { cwd, toPosix, join } from './path.js';
67
import { timerify } from './Performance.js';
8+
import { jiti } from './register.js';
79

810
const createRequire = (path?: string) => nodeCreateRequire(pathToFileURL(path ?? cwd));
9-
1011
const require = createRequire();
12+
export const _require = timerify(require);
1113

12-
const resolve = (specifier: string) => toPosix(require.resolve(specifier));
14+
const resolve = (specifier: string) => toPosix(jiti.resolve(specifier));
1315

1416
const tryResolve = (specifier: string, from: string) => {
1517
try {
@@ -21,8 +23,9 @@ const tryResolve = (specifier: string, from: string) => {
2123

2224
const resolveSpecifier = (dir: string, specifier: string) => {
2325
try {
24-
const require = createRequire(join(dir, 'package.json'));
25-
return toPosix(require.resolve(specifier));
26+
// @ts-expect-error Our package.json has type=module (for globby, chalk, etc), but here it confuses TypeScript
27+
const jiti = createJITI(dir);
28+
return toPosix(jiti.resolve(specifier));
2629
} catch {
2730
const packageName = getPackageNameFromModuleSpecifier(specifier);
2831
if (packageName) {
@@ -32,8 +35,6 @@ const resolveSpecifier = (dir: string, specifier: string) => {
3235
}
3336
};
3437

35-
export const _require = timerify(require);
36-
3738
export const _resolve = timerify(resolve);
3839

3940
export const _tryResolve = timerify(tryResolve);

0 commit comments

Comments
 (0)
Please sign in to comment.