jest-resolve
Advanced tools
Comparing version
@@ -21,4 +21,2 @@ /** | ||
declare const defaultResolver: SyncResolver; | ||
export declare type FindNodeModuleConfig = { | ||
@@ -199,3 +197,5 @@ basedir: string; | ||
/** Instance of default resolver. */ | ||
defaultResolver: typeof defaultResolver; | ||
defaultResolver: SyncResolver; | ||
/** Instance of default async resolver. */ | ||
defaultAsyncResolver: AsyncResolver; | ||
/** | ||
@@ -202,0 +202,0 @@ * List of directory names to be looked up for modules recursively. |
@@ -91,6 +91,6 @@ /*! | ||
})); | ||
exports["default"] = void 0; | ||
function _path() { | ||
const data = require("path"); | ||
_path = function () { | ||
exports.defaultResolver = exports.defaultAsyncResolver = exports["default"] = void 0; | ||
function _module() { | ||
const data = require("module"); | ||
_module = function () { | ||
return data; | ||
@@ -130,3 +130,14 @@ }; | ||
const defaultResolver = (path, options) => { | ||
const handleResolveResult = result => { | ||
if (result.error) { | ||
throw new Error(result.error); | ||
} | ||
return result.path; | ||
}; | ||
function baseResolver(path, options, async) { | ||
// https://github.com/oxc-project/oxc-resolver/issues/565 | ||
// https://github.com/jestjs/jest/issues/15676 | ||
if ((0, _module().isBuiltin)(path)) { | ||
return path; | ||
} | ||
if (process.versions.pnp && options.allowPnp !== false) { | ||
@@ -152,5 +163,2 @@ return (0, _jestPnpResolver().default)(path, options); | ||
} = options; | ||
// make sure that `basedir` is an absolute path | ||
basedir = (0, _path().resolve)(basedir); | ||
modules = modules || moduleDirectory; | ||
@@ -170,21 +178,31 @@ const resolveOptions = { | ||
(0, _fileWalkers.setResolver)(unrsResolver); | ||
let result = unrsResolver.sync(basedir, path); | ||
if (!result.path && paths?.length) { | ||
const modulesArr = modules == null || Array.isArray(modules) ? modules : [modules]; | ||
if (modulesArr?.length) { | ||
paths = paths.filter(p => !modulesArr.includes(p)); | ||
const finalResolver = resolve => { | ||
const resolveWithPathsFallback = result => { | ||
if (!result.path && paths?.length) { | ||
const modulesArr = modules == null || Array.isArray(modules) ? modules : [modules]; | ||
if (modulesArr?.length) { | ||
paths = paths.filter(p => !modulesArr.includes(p)); | ||
} | ||
if (paths.length > 0) { | ||
unrsResolver = unrsResolver.cloneWithOptions({ | ||
...resolveOptions, | ||
modules: paths | ||
}); | ||
(0, _fileWalkers.setResolver)(unrsResolver); | ||
return resolve(); | ||
} | ||
} | ||
return result; | ||
}; | ||
const result = resolve(); | ||
if ('then' in result) { | ||
return result.then(resolveWithPathsFallback).then(handleResolveResult); | ||
} | ||
if (paths.length > 0) { | ||
unrsResolver = unrsResolver.cloneWithOptions({ | ||
...resolveOptions, | ||
modules: paths | ||
}); | ||
result = unrsResolver.sync(basedir, path); | ||
} | ||
} | ||
if (result.error) { | ||
throw new Error(result.error); | ||
} | ||
return result.path; | ||
}; | ||
return handleResolveResult(resolveWithPathsFallback(result)); | ||
}; | ||
return finalResolver(() => async ? unrsResolver.async(basedir, path) : unrsResolver.sync(basedir, path)); | ||
} | ||
const defaultResolver = exports.defaultResolver = baseResolver; | ||
const defaultAsyncResolver = (path, options) => baseResolver(path, options, true); | ||
exports.defaultAsyncResolver = defaultAsyncResolver; | ||
var _default = exports["default"] = defaultResolver; | ||
@@ -382,33 +400,2 @@ | ||
/***/ "./src/isBuiltinModule.ts": | ||
/***/ ((__unused_webpack_module, exports) => { | ||
Object.defineProperty(exports, "__esModule", ({ | ||
value: true | ||
})); | ||
exports["default"] = isBuiltinModule; | ||
function _module2() { | ||
const data = _interopRequireDefault(require("module")); | ||
_module2 = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } | ||
/** | ||
* Copyright (c) Meta Platforms, Inc. and affiliates. | ||
* | ||
* This source code is licensed under the MIT license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
*/ | ||
const BUILTIN_MODULES = new Set(_module2().default.builtinModules); | ||
function isBuiltinModule(module) { | ||
return BUILTIN_MODULES.has(module); | ||
} | ||
/***/ }), | ||
/***/ "./src/nodeModulesPaths.ts": | ||
@@ -519,2 +506,9 @@ /***/ ((__unused_webpack_module, exports) => { | ||
exports["default"] = void 0; | ||
function _module() { | ||
const data = require("module"); | ||
_module = function () { | ||
return data; | ||
}; | ||
return data; | ||
} | ||
function path() { | ||
@@ -549,5 +543,4 @@ const data = _interopRequireWildcard(require("path")); | ||
var _ModuleNotFoundError = _interopRequireDefault(__webpack_require__("./src/ModuleNotFoundError.ts")); | ||
var _defaultResolver = _interopRequireDefault(__webpack_require__("./src/defaultResolver.ts")); | ||
var _defaultResolver = _interopRequireWildcard(__webpack_require__("./src/defaultResolver.ts")); | ||
var _fileWalkers = __webpack_require__("./src/fileWalkers.ts"); | ||
var _isBuiltinModule = _interopRequireDefault(__webpack_require__("./src/isBuiltinModule.ts")); | ||
var _nodeModulesPaths = _interopRequireWildcard(__webpack_require__("./src/nodeModulesPaths.ts")); | ||
@@ -627,2 +620,3 @@ var _shouldLoadAsEsm = _interopRequireWildcard(__webpack_require__("./src/shouldLoadAsEsm.ts")); | ||
conditions: options.conditions, | ||
defaultAsyncResolver: _defaultResolver.defaultAsyncResolver, | ||
defaultResolver: _defaultResolver.default, | ||
@@ -644,3 +638,3 @@ extensions: options.extensions, | ||
const resolverModule = loadResolver(options.resolver); | ||
let resolver = _defaultResolver.default; | ||
let resolver = _defaultResolver.defaultAsyncResolver; | ||
if (typeof resolverModule === 'function') { | ||
@@ -660,2 +654,3 @@ resolver = resolverModule; | ||
conditions: options.conditions, | ||
defaultAsyncResolver: _defaultResolver.defaultAsyncResolver, | ||
defaultResolver: _defaultResolver.default, | ||
@@ -893,3 +888,3 @@ extensions: options.extensions, | ||
isCoreModule(moduleName) { | ||
return this._options.hasCoreModules && ((0, _isBuiltinModule.default)(moduleName) || moduleName.startsWith('node:')) && !this._isAliasModule(moduleName); | ||
return this._options.hasCoreModules && (0, _module().isBuiltin)(moduleName) && !this._isAliasModule(moduleName); | ||
} | ||
@@ -896,0 +891,0 @@ normalizeCoreModuleSpecifier(specifier) { |
{ | ||
"name": "jest-resolve", | ||
"version": "30.0.0", | ||
"version": "30.0.1", | ||
"repository": { | ||
@@ -24,6 +24,6 @@ "type": "git", | ||
"graceful-fs": "^4.2.11", | ||
"jest-haste-map": "30.0.0", | ||
"jest-haste-map": "30.0.1", | ||
"jest-pnp-resolver": "^1.2.3", | ||
"jest-util": "30.0.0", | ||
"jest-validate": "30.0.0", | ||
"jest-util": "30.0.1", | ||
"jest-validate": "30.0.1", | ||
"slash": "^3.0.0", | ||
@@ -33,3 +33,4 @@ "unrs-resolver": "^1.7.11" | ||
"devDependencies": { | ||
"@types/graceful-fs": "^4.1.9" | ||
"@types/graceful-fs": "^4.1.9", | ||
"url": "^0.11.4" | ||
}, | ||
@@ -42,3 +43,3 @@ "engines": { | ||
}, | ||
"gitHead": "a383155cd5af4539b3c447cfa7184462ee32f418" | ||
"gitHead": "5ce865b4060189fe74cd486544816c079194a0f7" | ||
} |
60332
0.44%1672
0.18%2
100%7
16.67%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated
Updated
Updated