Naming

Name Published on npm Imported by developers Follow semver Use cases API naming Notes
“public” ✅ ✅ ✅ Our product. Nothing special.
“unstable” ✅ ✅ No API we want to try out with the community. They could become stable. Same as above, but have modules exported with a prefix: unstable_ . A stable dependency that use an unstable API of another dependency must pin the version used. It's important so breaking changes don't propagate from one package to another.
“internal” ✅ No No Avoid duplication of code between our npm packages. - internal APIs for packages: @product/internals , can be dependency of public packages, must be pinned.

Rules

package.json "engines" field

node

For versions see https://nodejs.org/en/about/previous-releases

In CI