Skip to content

Commit 35b62ef

Browse files
bmeckdanielleadams
authored andcommitted
doc: importable node protocol URLs
PR-URL: #35434 Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jan Krems <jan.krems@gmail.com>
1 parent f36476d commit 35b62ef

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

doc/api/esm.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,27 @@ There are four types of specifiers:
105105
Bare specifiers, and the bare specifier portion of deep import specifiers, are
106106
strings; but everything else in a specifier is a URL.
107107

108-
Only `file:` and `data:` URLs are supported. A specifier like
108+
`file:`, `node:`, and `data:` URLs are supported. A specifier like
109109
`'https://example.com/app.js'` may be supported by browsers but it is not
110110
supported in Node.js.
111111

112112
Specifiers may not begin with `/` or `//`. These are reserved for potential
113113
future use. The root of the current volume may be referenced via `file:///`.
114114

115+
#### `node:` Imports
116+
117+
<!-- YAML
118+
added: REPLACEME
119+
-->
120+
121+
`node:` URLs are supported as a means to load Node.js builtin modules. This
122+
URL scheme allows for builtin modules to be referenced by valid absolute URL
123+
strings.
124+
125+
```js
126+
import fs from 'node:fs/promises';
127+
```
128+
115129
#### `data:` Imports
116130

117131
<!-- YAML

0 commit comments

Comments
 (0)