Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/api/modules.md')
-rw-r--r--doc/api/modules.md13
1 files changed, 9 insertions, 4 deletions
diff --git a/doc/api/modules.md b/doc/api/modules.md
index 8715218b32c..d6856629210 100644
--- a/doc/api/modules.md
+++ b/doc/api/modules.md
@@ -232,12 +232,17 @@ RESOLVE_BARE_SPECIFIER(DIR, X)
2. If X matches this pattern and DIR/name/package.json is a file:
a. Parse DIR/name/package.json, and look for "exports" field.
b. If "exports" is null or undefined, GOTO 3.
- c. Find the longest key in "exports" that the subpath starts with.
- d. If no such key can be found, throw "not found".
- e. let RESOLVED_URL =
+ c. If "exports" is an object with some keys starting with "." and some keys
+ not starting with ".", throw "invalid config".
+ c. If "exports" is a string, or object with no keys starting with ".", treat
+ it as having that value as its "." object property.
+ d. If subpath is "." and "exports" does not have a "." entry, GOTO 3.
+ e. Find the longest key in "exports" that the subpath starts with.
+ f. If no such key can be found, throw "not found".
+ g. let RESOLVED_URL =
PACKAGE_EXPORTS_TARGET_RESOLVE(pathToFileURL(DIR/name), exports[key],
subpath.slice(key.length)), as defined in the esm resolver.
- f. return fileURLToPath(RESOLVED_URL)
+ h. return fileURLToPath(RESOLVED_URL)
3. return DIR/X
```