diff --git a/doc/api/errors.md b/doc/api/errors.md
index 95ad3c9c671954..89048c6485df0f 100644
--- a/doc/api/errors.md
+++ b/doc/api/errors.md
@@ -1759,7 +1759,8 @@ added:
- v16.14.0
-->
-An import assertion has failed, preventing the specified module to be imported.
+An import `type` attribute was provided, but the specified module is of a
+different type.
@@ -1771,7 +1772,7 @@ added:
- v16.14.0
-->
-An import assertion is missing, preventing the specified module to be imported.
+An import attribute is missing, preventing the specified module to be imported.
@@ -1783,7 +1784,17 @@ added:
- v16.14.0
-->
-An import assertion is not supported by this version of Node.js.
+An import attribute is not supported by this version of Node.js.
+
+
+
+### `ERR_IMPORT_ATTRIBUTE_UNSUPPORTED`
+
+
+
+An import attribute is not supported by this version of Node.js.
diff --git a/doc/api/esm.md b/doc/api/esm.md
index b40b4ccb6f0865..a96badcf91b55d 100644
--- a/doc/api/esm.md
+++ b/doc/api/esm.md
@@ -7,6 +7,9 @@
-> Stability: 1 - Experimental
+> Stability: 1.1 - Active development
+
+> This feature was previously named "Import assertions", and using the `assert`
+> keyword instead of `with`. Any uses in code of the prior `assert` keyword
+> should be updated to use `with` instead.
-The [Import Assertions proposal][] adds an inline syntax for module import
+The [Import Attributes proposal][] adds an inline syntax for module import
statements to pass on more information alongside the module specifier.
```js
-import fooData from './foo.json' assert { type: 'json' };
+import fooData from './foo.json' with { type: 'json' };
const { default: barData } =
- await import('./bar.json', { assert: { type: 'json' } });
+ await import('./bar.json', { with: { type: 'json' } });
```
-Node.js supports the following `type` values, for which the assertion is
+Node.js supports the following `type` values, for which the attribute is
mandatory:
-| Assertion `type` | Needed for |
+| Attribute `type` | Needed for |
| ---------------- | ---------------- |
| `'json'` | [JSON modules][] |
@@ -544,10 +557,10 @@ separate cache.
JSON files can be referenced by `import`:
```js
-import packageConfig from './package.json' assert { type: 'json' };
+import packageConfig from './package.json' with { type: 'json' };
```
-The `assert { type: 'json' }` syntax is mandatory; see [Import Assertions][].
+The `with { type: 'json' }` syntax is mandatory; see [Import Attributes][].
The imported JSON only exposes a `default` export. There is no support for named
exports. A cache entry is created in the CommonJS cache to avoid duplication.
@@ -1050,8 +1063,8 @@ resolution for ESM specifiers is [commonjs-extension-resolution-loader][].
[Determining module system]: packages.md#determining-module-system
[Dynamic `import()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import
[ES Module Integration Proposal for WebAssembly]: https://github.com/webassembly/esm-integration
-[Import Assertions]: #import-assertions
-[Import Assertions proposal]: https://github.com/tc39/proposal-import-assertions
+[Import Attributes]: #import-attributes
+[Import Attributes proposal]: https://github.com/tc39/proposal-import-attributes
[JSON modules]: #json-modules
[Module customization hooks]: module.md#customization-hooks
[Node.js Module Resolution And Loading Algorithm]: #resolution-algorithm-specification
diff --git a/doc/api/module.md b/doc/api/module.md
index 8bf5c09041a41a..857c02142b199f 100644
--- a/doc/api/module.md
+++ b/doc/api/module.md
@@ -458,6 +458,11 @@ register('./path-to-my-hooks.js', {