Skip to content

Commit 8b6be3f

Browse files
joyeecheungaduh95
authored andcommitted
module: mark require(esm) as stable
This has been released to all active LTS release lines and many popular packages have been shipping ESM-only distributions based on the existence of this feature on active LTS. The current documented behaviors are unlikely to change in a breaking manner within a major release - as everything with the module loaders, there can always be subtle changes to undocumented surface that can break edge cases that assume undocumented behaviors, due to Hyrum's law; but the stability of this feature is now not different than any other stable parts of the module loader. It's time to mark it as stable. PR-URL: #60959 Reviewed-By: Jacob Smith <jacob@frende.me> Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com> Reviewed-By: Jordan Harband <ljharb@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
1 parent 83c3867 commit 8b6be3f

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

doc/api/cli.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1913,6 +1913,10 @@ added:
19131913
- v22.0.0
19141914
- v20.17.0
19151915
changes:
1916+
- version:
1917+
- REPLACEME
1918+
pr-url: https://github.com/nodejs/node/pull/60959
1919+
description: This flag is no longer experimental.
19161920
- version:
19171921
- REPLACEME
19181922
pr-url: https://github.com/nodejs/node/pull/60959
@@ -1926,8 +1930,6 @@ changes:
19261930
description: This is now false by default.
19271931
-->
19281932

1929-
> Stability: 1.2 - Release Candidate
1930-
19311933
Disable support for loading a synchronous ES module graph in `require()`.
19321934

19331935
See [Loading ECMAScript modules using `require()`][].

doc/api/errors.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2657,8 +2657,6 @@ A QUIC session failed because version negotiation is required.
26572657

26582658
### `ERR_REQUIRE_ASYNC_MODULE`
26592659

2660-
> Stability: 1 - Experimental
2661-
26622660
When trying to `require()` a [ES Module][], the module turns out to be asynchronous.
26632661
That is, it contains top-level await.
26642662

@@ -2670,8 +2668,6 @@ before looking for the top-level awaits).
26702668

26712669
### `ERR_REQUIRE_CYCLE_MODULE`
26722670

2673-
> Stability: 1 - Experimental
2674-
26752671
When trying to `require()` a [ES Module][], a CommonJS to ESM or ESM to CommonJS edge
26762672
participates in an immediate cycle.
26772673
This is not allowed because ES Modules cannot be evaluated while they are

doc/api/modules.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,10 @@ added:
175175
- v22.0.0
176176
- v20.17.0
177177
changes:
178+
- version:
179+
- REPLACEME
180+
pr-url: https://github.com/nodejs/node/pull/60959
181+
description: This feature is no longer experimental.
178182
- version:
179183
- v23.5.0
180184
- v22.13.0
@@ -195,8 +199,6 @@ changes:
195199
description: Support `'module.exports'` interop export in `require(esm)`.
196200
-->
197201

198-
> Stability: 1.2 - Release candidate
199-
200202
The `.mjs` extension is reserved for [ECMAScript Modules][].
201203
See [Determining module system][] section for more info
202204
regarding which files are parsed as ECMAScript modules.

0 commit comments

Comments
 (0)