Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: state that removing npm is a non-goal #51951

Merged
merged 8 commits into from Mar 15, 2024
27 changes: 13 additions & 14 deletions doc/contributing/technical-priorities.md
Expand Up @@ -161,17 +161,16 @@ As TypeScript usage continues to grow and gains more prominence in the
ecosystem, enhancing its support is essential for delivering an improved
developer experience for newcomers and experienced users alike.

## Non-goals

The following are not considered technical priorities for the project:

* **Unbundling `npm`**. When `npm` was included in the Node.js distribution, it
was the only JavaScript package manager available, and it was provided as a
way to help developers easily install other JavaScript software. `npm` is also
the reference implementation for the npm registry, which is the de facto
primary source for most JavaScript software. Today, `npm` is one of many
high-quality options. However, the potential removal of `npm` would be a very
disruptive breaking change, even as a semver-major change, and therefore it is
not a goal of the Node.js project to work toward such a goal. The `npm`
library included with the Node.js distribution can be freely used as a
dependency of other parts of the Node.js distribution.
## Package management

The ability to easily install and manage dependencies and development tools is a
key part of the developer experience, and therefore Node.js must provide a
GeoffreyBooth marked this conversation as resolved.
Show resolved Hide resolved
package manager as part of its distribution. Node.js includes npm for this
GeoffreyBooth marked this conversation as resolved.
Show resolved Hide resolved
purpose. This is for historical reasons—when npm was added in 2011, it was the
only JavaScript package manager—and because it is the reference implementation
GeoffreyBooth marked this conversation as resolved.
Show resolved Hide resolved
for the npm registry, which is the de facto primary source for most JavaScript
software. In accordance with our [policy][distribution-policy] of not including
multiple dependencies or tools that serve the same purpose, the Node.js project
does not include any other package managers.

[distribution-policy]: ./distribution.md