Skip to content

Create an explainer / hub page for unflagged require(ESM) support #35

Description

@JoshuaKGoldberg

Enter your suggestions in details:

The new unflagged require(ESM) support in Node.js is very exciting. It's starting to let a lot of tools move to ESM without feat of leaving dependents behind. 🚀

But, there isn't one single high-level, official resource I can find that users can be pointed to to understand the unflagged support.

Proposal: can the Node.js site have a page added dedicated to the unflagged require(ESM) support? I'd imagine it could contain:

  1. What "require(ESM)" is
  2. Quick examples of requiring an ES module from a CJS file
  3. What versions of Node.js have it
    • Edit: ^20.19.0 || >=22.12.0 seems to be the common support target post-18.x
  4. Quick FAQs such as TLA being unsupported
  5. Links to learn more on the official Node.js website

Sibling issue to #34, intentionally with as similar an issue body as possible.

Activity

  1. moved this to 🆕 New in Node.js Websiteon Feb 1, 2025
  2. joyeecheung commented on Feb 1, 2025

    @joyeecheung
    Member

    Thanks for opening the issue! I think this is what part of the package-examples aim to solve (e.g. in the Making ESM require-able chapter, the goal is to have some actual working examples there living side by side with the document), though this is still a WIP and I have not gotten to filling in the skeletons already laid out in there. Feel free to take a look at https://github.com/nodejs/package-examples/blob/main/CONTRIBUTING.md if anyone is interested ;)

  3. udaydevs commented on Apr 30, 2025

    @udaydevs

    @JoshuaKGoldberg please assign me this issue

  4. avivkeller commented on Apr 30, 2025

    @avivkeller
    Member

    Hi! You are more than welcome to work on resolving this issue, we'd actually really appreciate it!

    However, we don't typically assign issues to users.

  5. joyeecheung commented on Jan 6, 2026

    @joyeecheung
    Member

    FYI I opened nodejs/package-examples#16 to add a CJS->ESM migration guide in the package example guide, which, together with the chapter 3-4 landed there before, should include all the points suggested in the OP.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions