Skip to content

Commit 9277bac

Browse files
committed
fixup! module: add some typings to internal/modules/esm/resolve
1 parent 4d4323f commit 9277bac

1 file changed

Lines changed: 51 additions & 45 deletions

File tree

lib/internal/modules/esm/resolve.js

Lines changed: 51 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,22 @@ const DEFAULT_CONDITIONS_SET = new SafeSet(DEFAULT_CONDITIONS);
6161

6262
/**
6363
* @typedef {string|string[]|Record<string,unknown>} Exports
64-
* @typedef {{exports:ExportConfig;name?: string;main?: string;type?:"module"|"commonjs";}} PackageConfig
64+
* @typedef {'module' | 'commonjs'} PackageType
65+
* @typedef {{
66+
* exports?: ExportConfig;
67+
* name?: string;
68+
* main?: string;
69+
* type?: PackageType;
70+
* }} PackageConfig
6571
*/
6672

6773
const emittedPackageWarnings = new SafeSet();
6874

6975
/**
70-
* @param {string} match
71-
* @param {URL} pjsonUrl
72-
* @param {boolean} isExports
73-
* @param {string | URL | undefined} base
76+
* @param {string} match
77+
* @param {URL} pjsonUrl
78+
* @param {boolean} isExports
79+
* @param {string | URL | undefined} base
7480
* @returns {void}
7581
*/
7682
function emitFolderMapDeprecation(match, pjsonUrl, isExports, base) {
@@ -90,11 +96,11 @@ function emitFolderMapDeprecation(match, pjsonUrl, isExports, base) {
9096
}
9197

9298
/**
93-
* @param {URL} url
94-
* @param {URL} packageJSONUrl
95-
* @param {string | URL | undefined} base
96-
* @param {string} main
97-
* @returns
99+
* @param {URL} url
100+
* @param {URL} packageJSONUrl
101+
* @param {string | URL | undefined} base
102+
* @param {string} main
103+
* @returns
98104
*/
99105
function emitLegacyIndexDeprecation(url, packageJSONUrl, base, main) {
100106
const { format } = defaultGetFormat(url);
@@ -143,16 +149,16 @@ const realpathCache = new SafeMap();
143149
const packageJSONCache = new SafeMap(); /* string -> PackageConfig */
144150

145151
/**
146-
* @param {string | URL} path
152+
* @param {string | URL} path
147153
* @returns {import('fs').Stats}
148154
*/
149155
const tryStatSync =
150156
(path) => statSync(path, { throwIfNoEntry: false }) ?? new Stats();
151157

152158
/**
153-
* @param {string} path
154-
* @param {string} specifier
155-
* @param {string | URL | undefined} base
159+
* @param {string} path
160+
* @param {string} specifier
161+
* @param {string | URL | undefined} base
156162
* @returns {PackageConfig}
157163
*/
158164
function getPackageConfig(path, specifier, base) {
@@ -208,7 +214,7 @@ function getPackageConfig(path, specifier, base) {
208214
}
209215

210216
/**
211-
* @param {URL | string} resolved
217+
* @param {URL | string} resolved
212218
* @returns {PackageConfig}
213219
*/
214220
function getPackageScopeConfig(resolved) {
@@ -304,7 +310,7 @@ function legacyMainResolve(packageJSONUrl, packageConfig, base) {
304310
}
305311

306312
/**
307-
* @param {URL} search
313+
* @param {URL} search
308314
* @returns {URL | undefined}
309315
*/
310316
function resolveExtensionsWithTryExactName(search) {
@@ -315,7 +321,7 @@ function resolveExtensionsWithTryExactName(search) {
315321
const extensions = ['.js', '.json', '.node', '.mjs'];
316322

317323
/**
318-
* @param {URL} search
324+
* @param {URL} search
319325
* @returns {URL | undefined}
320326
*/
321327
function resolveExtensions(search) {
@@ -328,7 +334,7 @@ function resolveExtensions(search) {
328334
}
329335

330336
/**
331-
* @param {URL} search
337+
* @param {URL} search
332338
* @returns {URL | undefined}
333339
*/
334340
function resolveDirectoryEntry(search) {
@@ -349,8 +355,8 @@ function resolveDirectoryEntry(search) {
349355

350356
const encodedSepRegEx = /%2F|%2C/i;
351357
/**
352-
* @param {URL} resolved
353-
* @param {string | URL | undefined} base
358+
* @param {URL} resolved
359+
* @param {string | URL | undefined} base
354360
* @returns {URL | undefined}
355361
*/
356362
function finalizeResolution(resolved, base) {
@@ -388,9 +394,9 @@ function finalizeResolution(resolved, base) {
388394
}
389395

390396
/**
391-
* @param {string} specifier
392-
* @param {URL} packageJSONUrl
393-
* @param {string | URL | undefined} base
397+
* @param {string} specifier
398+
* @param {URL} packageJSONUrl
399+
* @param {string | URL | undefined} base
394400
*/
395401
function throwImportNotDefined(specifier, packageJSONUrl, base) {
396402
throw new ERR_PACKAGE_IMPORT_NOT_DEFINED(
@@ -399,9 +405,9 @@ function throwImportNotDefined(specifier, packageJSONUrl, base) {
399405
}
400406

401407
/**
402-
* @param {string} specifier
403-
* @param {URL} packageJSONUrl
404-
* @param {string | URL | undefined} base
408+
* @param {string} specifier
409+
* @param {URL} packageJSONUrl
410+
* @param {string | URL | undefined} base
405411
*/
406412
function throwExportsNotFound(subpath, packageJSONUrl, base) {
407413
throw new ERR_PACKAGE_PATH_NOT_EXPORTED(
@@ -410,11 +416,11 @@ function throwExportsNotFound(subpath, packageJSONUrl, base) {
410416
}
411417

412418
/**
413-
*
414-
* @param {string | URL} subpath
415-
* @param {URL} packageJSONUrl
416-
* @param {boolean} internal
417-
* @param {string | URL | undefined} base
419+
*
420+
* @param {string | URL} subpath
421+
* @param {URL} packageJSONUrl
422+
* @param {boolean} internal
423+
* @param {string | URL | undefined} base
418424
*/
419425
function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) {
420426
const reason = `request is not a valid subpath for the "${internal ?
@@ -558,11 +564,11 @@ function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath,
558564
}
559565

560566
/**
561-
*
562-
* @param {Exports} exports
563-
* @param {URL} packageJSONUrl
564-
* @param {string | URL | undefined} base
565-
* @returns
567+
*
568+
* @param {Exports} exports
569+
* @param {URL} packageJSONUrl
570+
* @param {string | URL | undefined} base
571+
* @returns
566572
*/
567573
function isConditionalExportsMainSugar(exports, packageJSONUrl, base) {
568574
if (typeof exports === 'string' || ArrayIsArray(exports)) return true;
@@ -647,10 +653,10 @@ function packageExportsResolve(
647653
}
648654

649655
/**
650-
* @param {string} name
651-
* @param {string | URL | undefined} base
652-
* @param {Set<string>} conditions
653-
* @returns
656+
* @param {string} name
657+
* @param {string | URL | undefined} base
658+
* @param {Set<string>} conditions
659+
* @returns
654660
*/
655661
function packageImportsResolve(name, base, conditions) {
656662
if (name === '#' || StringPrototypeStartsWith(name, '#/')) {
@@ -708,17 +714,17 @@ function packageImportsResolve(name, base, conditions) {
708714
}
709715

710716
/**
711-
* @param {URL} url
712-
* @returns {string}
717+
* @param {URL} url
718+
* @returns {PackageType}
713719
*/
714720
function getPackageType(url) {
715721
const packageConfig = getPackageScopeConfig(url);
716722
return packageConfig.type;
717723
}
718724

719725
/**
720-
* @param {string} specifier
721-
* @param {string | URL | undefined} base
726+
* @param {string} specifier
727+
* @param {string | URL | undefined} base
722728
* @returns {{packageName: string, packageSubpath: string, isScoped: boolean}}
723729
*/
724730
function parsePackageName(specifier, base) {
@@ -814,7 +820,7 @@ function packageResolve(specifier, base, conditions) {
814820
}
815821

816822
/**
817-
* @param {string} specifier
823+
* @param {string} specifier
818824
* @returns {boolean}
819825
*/
820826
function isBareSpecifier(specifier) {

0 commit comments

Comments
 (0)