Skip to content
20 changes: 14 additions & 6 deletions doc/contributing/collaborator-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -392,13 +392,21 @@ metadata. Raise a pull request like any other change.

Treat commits that introduce new core modules with extra care.

Check if the module's name conflicts with an existing ecosystem module. If it
does, choose a different name unless the module owner has agreed in writing to
transfer it.
New modules must be added with the `node:` prefix.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line is a little ambiguous. Are you saying based on the TSC vote that new modules should be available only with the node: prefix? If so, I think we should clarify that point (since core modules are already available with the node: prefix by default).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cjihrig thanks, incorporated this and your other comments.


If the new module name is free, register a placeholder in the module registry as
soon as possible. Link to the pull request that introduces the new core module
in the placeholder's `README`.
When adding promises to an existing API, add `/promises` (`inspector/promises`, etc.).
Apply the `semver-major` label to the addition.

If the new module name without the `node:` prefix is free, register
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need to call out node: here since it is never available on npm. What about this?

If the new module name is available in the module registry, reserve it as soon as possible.

a placeholder in the module registry as soon as possible. Link to the pull
request that introduces the new core module in the placeholder's `README`.

If the module name without the `node:` prefix is not free and the module is
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment here about not needing to mention node:.

not widely used, contact the owner to see if they would be willing to transfer
it to the project.

We try to register a placeholder without the `node:` prefix whenever
possible to avoid confusion and typosquatting attacks.

For pull requests introducing new core modules:

Expand Down