* Fix some abbreviated wording, a typo and a link.
* Wrap long lines at 80 characters.
PR-URL: https://github.com/nodejs/node/pull/15315
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Only the CLI argument for the main entry point to the program can be an entry point into an ESM graph. In the future `import()` can be used to create entry points into ESM graphs at run time.
Only the CLI argument for the main entry point to the program can be an entry
point into an ESM graph. In the future `import()` can be used to create entry
points into ESM graphs at run time.
### Unsupported
@ -43,11 +49,13 @@ Only the CLI argument for the main entry point to the program can be an entry po
### No NODE_PATH
`NODE_PATH` is not part of resolving `import` specifiers. Please use symlinks if this behavior is desired.
`NODE_PATH` is not part of resolving `import` specifiers. Please use symlinks
if this behavior is desired.
### No `require.extensions`
`require.extensions` is not used by `import`. The expectation is that loader hooks can provide this workflow in the future.
`require.extensions` is not used by `import`. The expectation is that loader
hooks can provide this workflow in the future.
### No `require.cache`
@ -55,9 +63,12 @@ Only the CLI argument for the main entry point to the program can be an entry po
### URL based paths
ESM are resolved and cached based upon [URL](url.spec.whatwg.org) semantics. This means that files containing special characters such as `#` and `?` need to be escaped.
ESM are resolved and cached based upon [URL](https://url.spec.whatwg.org/)
semantics. This means that files containing special characters such as `#` and
`?` need to be escaped.
Modules will be loaded multiple times if the `import` specifier used to resolve them have a different query or fragment.
Modules will be loaded multiple times if the `import` specifier used to resolve
them have a different query or fragment.
```js
import './foo?query=1'; // loads ./foo with query of "?query=1"
@ -70,9 +81,11 @@ For now, only modules using the `file:` protocol can be loaded.
All CommonJS, JSON, and C++ modules can be used with `import`.
Modules loaded this way will only be loaded once, even if their query or fragment string differs between `import` statements.
Modules loaded this way will only be loaded once, even if their query
or fragment string differs between `import` statements.
When loaded via `import` these modules will provide a single `default` export representing the value of `module.exports` at the time they finished evaluating.
When loaded via `import` these modules will provide a single `default` export
representing the value of `module.exports` at the time they finished evaluating.