Skip to content

Commit 5bc0a0d

Browse files
aduh95targos
authored andcommitted
doc: add version metadata for packages features
PR-URL: #37289 Reviewed-By: Guy Bedford <[email protected]> Reviewed-By: Luigi Pinca <[email protected]>
1 parent b485a3e commit 5bc0a0d

File tree

1 file changed

+49
-1
lines changed

1 file changed

+49
-1
lines changed

doc/api/packages.md

+49-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ changes:
88
- v14.13.0
99
pr-url: https://github.com/nodejs/node/pull/34718
1010
description: Add support for `"exports"` patterns.
11-
- version: v14.6.0
11+
- version:
12+
- v14.6.0
13+
- v12.19.0
1214
pr-url: https://github.com/nodejs/node/pull/34117
1315
description: Add package `"imports"` field.
1416
- version:
@@ -135,6 +137,9 @@ package:
135137
`"commonjs"` package).
136138

137139
### `--input-type` flag
140+
<!-- YAML
141+
added: v12.0.0
142+
-->
138143

139144
Strings passed in as an argument to `--eval` (or `-e`), or piped to `node` via
140145
`STDIN`, are treated as [ES modules][] when the `--input-type=module` flag
@@ -252,6 +257,9 @@ absolute subpath of the package such as
252257
`require('/path/to/node_modules/pkg/subpath.js')` will still load `subpath.js`.
253258

254259
### Subpath exports
260+
<!-- YAML
261+
added: v12.7.0
262+
-->
255263

256264
When using the [`"exports"`][] field, custom subpaths can be defined along
257265
with the main entry point by treating the main entry point as the
@@ -282,6 +290,11 @@ import submodule from 'es-module-package/private-module.js';
282290
```
283291

284292
### Subpath imports
293+
<!--YAML
294+
added:
295+
- v14.6.0
296+
- v12.19.0
297+
-->
285298

286299
In addition to the [`"exports"`][] field, it is possible to define internal
287300
package import maps that only apply to import specifiers from within the package
@@ -319,6 +332,11 @@ The resolution rules for the imports field are otherwise
319332
analogous to the exports field.
320333

321334
### Subpath patterns
335+
<!--YAML
336+
added:
337+
- v14.13.0
338+
- v12.19.0
339+
-->
322340

323341
For packages with a small number of exports or imports, we recommend
324342
explicitly listing each exports subpath entry. But for packages that have
@@ -365,6 +383,9 @@ files within the package. Because `node_modules` paths are forbidden in exports
365383
targets, this expansion is dependent on only the files of the package itself.
366384

367385
### Exports sugar
386+
<!--YAML
387+
added: v12.11.0
388+
-->
368389

369390
If the `"."` export is the only export, the [`"exports"`][] field provides sugar
370391
for this case being the direct [`"exports"`][] field value.
@@ -389,6 +410,17 @@ can be written:
389410
```
390411

391412
### Conditional exports
413+
<!--YAML
414+
added:
415+
- v13.2.0
416+
- v12.16.0
417+
changes:
418+
- version:
419+
- v13.7.0
420+
- v12.16.0
421+
pr-url: https://github.com/nodejs/node/pull/31001
422+
description: Unflag conditional exports.
423+
-->
392424

393425
Conditional exports provide a way to map to different paths depending on
394426
certain conditions. They are supported for both CommonJS and ES module imports.
@@ -487,6 +519,11 @@ the remaining conditions of the parent condition. In this way nested
487519
conditions behave analogously to nested JavaScript `if` statements.
488520

489521
### Resolving user conditions
522+
<!-- YAML
523+
added:
524+
- v14.9.0
525+
- v12.19.0
526+
-->
490527

491528
When running Node.js, custom user conditions can be added with the
492529
`--conditions` flag:
@@ -548,6 +585,17 @@ The above definitions may be moved to a dedicated conditions registry in due
548585
course.
549586

550587
### Self-referencing a package using its name
588+
<!--YAML
589+
added:
590+
- v13.1.0
591+
- v12.16.0
592+
changes:
593+
- version:
594+
- v13.6.0
595+
- v12.16.0
596+
pr-url: https://github.com/nodejs/node/pull/31002
597+
description: Unflag self-referencing a package using its name.
598+
-->
551599

552600
Within a package, the values defined in the package’s
553601
`package.json` [`"exports"`][] field can be referenced via the package’s name.

0 commit comments

Comments
 (0)