diff --git a/lib/internal/modules/esm/resolve.js b/lib/internal/modules/esm/resolve.js index 95527da22d91ff..54aff2d2ec6b7a 100644 --- a/lib/internal/modules/esm/resolve.js +++ b/lib/internal/modules/esm/resolve.js @@ -61,16 +61,22 @@ const DEFAULT_CONDITIONS_SET = new SafeSet(DEFAULT_CONDITIONS); /** * @typedef {string|string[]|Record} Exports - * @typedef {{exports:ExportConfig;name?: string;main?: string;type?:"module"|"commonjs";}} PackageConfig + * @typedef {'module' | 'commonjs'} PackageType + * @typedef {{ + * exports?: ExportConfig; + * name?: string; + * main?: string; + * type?: PackageType; + * }} PackageConfig */ const emittedPackageWarnings = new SafeSet(); /** - * @param {string} match - * @param {URL} pjsonUrl - * @param {boolean} isExports - * @param {string | URL | undefined} base + * @param {string} match + * @param {URL} pjsonUrl + * @param {boolean} isExports + * @param {string | URL | undefined} base * @returns {void} */ function emitFolderMapDeprecation(match, pjsonUrl, isExports, base) { @@ -90,11 +96,11 @@ function emitFolderMapDeprecation(match, pjsonUrl, isExports, base) { } /** - * @param {URL} url - * @param {URL} packageJSONUrl - * @param {string | URL | undefined} base - * @param {string} main - * @returns + * @param {URL} url + * @param {URL} packageJSONUrl + * @param {string | URL | undefined} base + * @param {string} main + * @returns */ function emitLegacyIndexDeprecation(url, packageJSONUrl, base, main) { const { format } = defaultGetFormat(url); @@ -143,16 +149,16 @@ const realpathCache = new SafeMap(); const packageJSONCache = new SafeMap(); /* string -> PackageConfig */ /** - * @param {string | URL} path + * @param {string | URL} path * @returns {import('fs').Stats} */ const tryStatSync = (path) => statSync(path, { throwIfNoEntry: false }) ?? new Stats(); /** - * @param {string} path - * @param {string} specifier - * @param {string | URL | undefined} base + * @param {string} path + * @param {string} specifier + * @param {string | URL | undefined} base * @returns {PackageConfig} */ function getPackageConfig(path, specifier, base) { @@ -208,7 +214,7 @@ function getPackageConfig(path, specifier, base) { } /** - * @param {URL | string} resolved + * @param {URL | string} resolved * @returns {PackageConfig} */ function getPackageScopeConfig(resolved) { @@ -304,7 +310,7 @@ function legacyMainResolve(packageJSONUrl, packageConfig, base) { } /** - * @param {URL} search + * @param {URL} search * @returns {URL | undefined} */ function resolveExtensionsWithTryExactName(search) { @@ -315,7 +321,7 @@ function resolveExtensionsWithTryExactName(search) { const extensions = ['.js', '.json', '.node', '.mjs']; /** - * @param {URL} search + * @param {URL} search * @returns {URL | undefined} */ function resolveExtensions(search) { @@ -328,7 +334,7 @@ function resolveExtensions(search) { } /** - * @param {URL} search + * @param {URL} search * @returns {URL | undefined} */ function resolveDirectoryEntry(search) { @@ -349,8 +355,8 @@ function resolveDirectoryEntry(search) { const encodedSepRegEx = /%2F|%2C/i; /** - * @param {URL} resolved - * @param {string | URL | undefined} base + * @param {URL} resolved + * @param {string | URL | undefined} base * @returns {URL | undefined} */ function finalizeResolution(resolved, base) { @@ -388,9 +394,9 @@ function finalizeResolution(resolved, base) { } /** - * @param {string} specifier - * @param {URL} packageJSONUrl - * @param {string | URL | undefined} base + * @param {string} specifier + * @param {URL} packageJSONUrl + * @param {string | URL | undefined} base */ function throwImportNotDefined(specifier, packageJSONUrl, base) { throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( @@ -399,9 +405,9 @@ function throwImportNotDefined(specifier, packageJSONUrl, base) { } /** - * @param {string} specifier - * @param {URL} packageJSONUrl - * @param {string | URL | undefined} base + * @param {string} specifier + * @param {URL} packageJSONUrl + * @param {string | URL | undefined} base */ function throwExportsNotFound(subpath, packageJSONUrl, base) { throw new ERR_PACKAGE_PATH_NOT_EXPORTED( @@ -410,11 +416,11 @@ function throwExportsNotFound(subpath, packageJSONUrl, base) { } /** - * - * @param {string | URL} subpath - * @param {URL} packageJSONUrl - * @param {boolean} internal - * @param {string | URL | undefined} base + * + * @param {string | URL} subpath + * @param {URL} packageJSONUrl + * @param {boolean} internal + * @param {string | URL | undefined} base */ function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { const reason = `request is not a valid subpath for the "${internal ? @@ -558,11 +564,11 @@ function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, } /** - * - * @param {Exports} exports - * @param {URL} packageJSONUrl - * @param {string | URL | undefined} base - * @returns + * + * @param {Exports} exports + * @param {URL} packageJSONUrl + * @param {string | URL | undefined} base + * @returns */ function isConditionalExportsMainSugar(exports, packageJSONUrl, base) { if (typeof exports === 'string' || ArrayIsArray(exports)) return true; @@ -647,10 +653,10 @@ function packageExportsResolve( } /** - * @param {string} name - * @param {string | URL | undefined} base - * @param {Set} conditions - * @returns + * @param {string} name + * @param {string | URL | undefined} base + * @param {Set} conditions + * @returns */ function packageImportsResolve(name, base, conditions) { if (name === '#' || StringPrototypeStartsWith(name, '#/')) { @@ -708,8 +714,8 @@ function packageImportsResolve(name, base, conditions) { } /** - * @param {URL} url - * @returns {string} + * @param {URL} url + * @returns {PackageType} */ function getPackageType(url) { const packageConfig = getPackageScopeConfig(url); @@ -717,8 +723,8 @@ function getPackageType(url) { } /** - * @param {string} specifier - * @param {string | URL | undefined} base + * @param {string} specifier + * @param {string | URL | undefined} base * @returns {{packageName: string, packageSubpath: string, isScoped: boolean}} */ function parsePackageName(specifier, base) { @@ -814,7 +820,7 @@ function packageResolve(specifier, base, conditions) { } /** - * @param {string} specifier + * @param {string} specifier * @returns {boolean} */ function isBareSpecifier(specifier) {