Skip to content

Commit 96fa387

Browse files
guybedforddanielleadams
authored andcommittedMay 31, 2021
doc: document null target pattern
PR-URL: #38724 Reviewed-By: Antoine du Hamel <[email protected]> Reviewed-By: Derek Lewis <[email protected]> Reviewed-By: James M Snell <[email protected]>
1 parent 4131f94 commit 96fa387

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed
 

‎doc/api/packages.md

+23
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,9 @@ For these use cases, subpath export patterns can be used instead:
358358
}
359359
```
360360

361+
**`*` maps expose nested subpaths as it is a string replacement syntax
362+
only.**
363+
361364
The left hand matching pattern must always end in `*`. All instances of `*` on
362365
the right hand side will then be replaced with this value, including if it
363366
contains any `/` separators.
@@ -383,6 +386,26 @@ treating the right hand side target pattern as a `**` glob against the list of
383386
files within the package. Because `node_modules` paths are forbidden in exports
384387
targets, this expansion is dependent on only the files of the package itself.
385388

389+
To exclude private subfolders from patterns, `null` targets can be used:
390+
391+
```json
392+
// ./node_modules/es-module-package/package.json
393+
{
394+
"exports": {
395+
"./features/*": "./src/features/*.js",
396+
"./features/private-internal/*": null
397+
}
398+
}
399+
```
400+
401+
```js
402+
import featureInternal from 'es-module-package/features/private-internal/m';
403+
// Throws: ERR_PACKAGE_PATH_NOT_EXPORTED
404+
405+
import featureX from 'es-module-package/features/x';
406+
// Loads ./node_modules/es-module-package/src/features/x.js
407+
```
408+
386409
### Subpath folder mappings
387410
<!-- YAML
388411
changes:

0 commit comments

Comments
 (0)
Please sign in to comment.