All Projects → npm → Rfcs

npm / Rfcs

Public change requests/proposals & ideation

Programming Languages

proposal
26 projects

Projects that are alternatives of or similar to Rfcs

Pnpm
Fast, disk space efficient package manager -- 快速的,节省磁盘空间的包管理工具
Stars: ✭ 14,219 (+3222.2%)
Mutual labels:  npm, package-manager
Ni
💡 Use the right package manager
Stars: ✭ 179 (-58.18%)
Mutual labels:  npm, package-manager
Tiny Package Manager
Learn how npm or Yarn v1 works.
Stars: ✭ 125 (-70.79%)
Mutual labels:  npm, package-manager
Awesome Npm
Awesome npm resources and tips
Stars: ✭ 3,894 (+809.81%)
Mutual labels:  npm, package-manager
Rfcs
This repository contains proposals, standards and documentations related to Nervos Network.
Stars: ✭ 154 (-64.02%)
Mutual labels:  rfc, discussion
Npm Git Install
Clones and (re)installs packages from remote git repos. See npm/npm#3055
Stars: ✭ 49 (-88.55%)
Mutual labels:  npm, package-manager
Bolt
⚡️ Super-powered JavaScript project management
Stars: ✭ 2,134 (+398.6%)
Mutual labels:  npm, package-manager
Tbify
使用淘宝镜像运行命令: tbify [nvm|npm|npx|yarn|pnpm|...]
Stars: ✭ 153 (-64.25%)
Mutual labels:  npm, package-manager
Npx
execute npm package binaries (moved)
Stars: ✭ 2,634 (+515.42%)
Mutual labels:  npm, package-manager
Asset Packagist
Asset Packagist
Stars: ✭ 235 (-45.09%)
Mutual labels:  npm, package-manager
Npq
🎖safely* install packages with npm or yarn by auditing them as part of your install process
Stars: ✭ 513 (+19.86%)
Mutual labels:  npm, package-manager
Benchmarks Of Javascript Package Managers
Benchmarks of JavaScript Package Managers
Stars: ✭ 388 (-9.35%)
Mutual labels:  npm, package-manager
Cli
the package manager for JavaScript
Stars: ✭ 5,277 (+1132.94%)
Mutual labels:  npm, package-manager
Yarn
The 1.x line is frozen - features and bugfixes now happen on https://github.com/yarnpkg/berry
Stars: ✭ 40,325 (+9321.73%)
Mutual labels:  npm, package-manager
Tink
a dependency unwinder for javascript
Stars: ✭ 2,176 (+408.41%)
Mutual labels:  npm, package-manager
Website
Yarn package manager website
Stars: ✭ 374 (-12.62%)
Mutual labels:  npm, package-manager
Npminstall
Make `npm install` fast and easy.
Stars: ✭ 374 (-12.62%)
Mutual labels:  npm, package-manager
Disposable
A list of disposable/temporary email address domains
Stars: ✭ 407 (-4.91%)
Mutual labels:  npm
Npm Consider
Check package dependencies before installing it
Stars: ✭ 386 (-9.81%)
Mutual labels:  npm
Jsdelivr
A free, fast, and reliable Open Source CDN for npm, GitHub, Javascript, and ESM
Stars: ✭ 4,052 (+846.73%)
Mutual labels:  npm

RFC Process

This document describes the RFC process for the npm CLI, and provides a way for the Community & Open Source Team and the wider community to have discussions about the features and direction of the package manager! It is based on the WeAllJS RFC process and the Rust RFC process, and, by extension, the Yarn RFC process

What's an RFC?

The name itself is a reference to the IETF's Request For Comments process, and basically involves a document or series of documents which are drafted, reviewed, and eventually ratified (approved) by the npm team through discussion among those interested, both within and outside of the npm team.

An RFC can propose any change to the npm CLI itself, and may include npm registry changes meant to support that CLI change.

This RFC process replaces feature requests in the main npm repository, and feature requests made there will be redirected to the RFCs repository.

How do I create an RFC?

  • Fork https://github.com/npm/rfcs
  • Copy accepted/0000-template.md into accepted/0000-your-rfc-name.md
  • Fill in and edit the template with your proposal
  • Submit a PR to the npm/rfcs repo

How does review work?

The official place for discussion for a proposed RFC is its pull request. Anyone, both npm collaborators and non-collaborators, may participate in the discussion and ask questions and provide (constructive) feedback. Keep in mind that only npm collaborators are able to ratify the RFC itself, even if other users can comment.

All discussions surrounding an RFC are covered by the npm Code of Conduct. Please keep conversations constructive, civil, and low-temperature. If tensions flare during discussion, the npm team may, at its own discretion, moderate, remove, or edit posts, as well as locking the discussion on that PR or the entire RFCs repository.

How do RFCs get ratified?

An RFC is ratified when there is consensus among npm collaborators that it should be accepted. Once all collaborators have become aware of the RFC and had a chance to comment on it, the PR, along with the RFC, will be merged and the RFC will be considered ratified.

Until an RFC is ratified, it's expected that its original author continue discussing it and integrating feedback into the document until it's ready.

RFCs have a minimum 24 hour waiting period before being accepted or rejected. Once an RFC has been reviewed on GitHub, with all interested collaborators having an opportunity to review it, and at least one npm collaborator has signed off on the changes, the PR will be accepted and all its connected changes merged. There are two exceptions to the collaborator rule:

  • @isaacs is considered an npm collaborator even if not an active code contributor, and thus has the ability to veto any proposal.
  • The npm registry team has complete control over what registry changes happen and are not subject to the consensus process: they get to decide whether the registry side of a feature gets implemented, where, and how, but they otherwise are not considered collaborators.

If it's specifically requested, or if the npm team determines that the topic of the RFC demands extra attention and care because of its potential impact, an RFC's "ratification period" may be extended for as long as the participants and admins feel is a reasonable length of time for consideration.

The RFC may be rejected altogether at the discretion of npm collaborators. They may also be rejected if consensus has not been reached and discussion and progress on the RFC itself remain inactive for too long.

What happens after ratification?

Once an RFC is ratified, the npm team agrees to merge a corresponding PR implementing the described changes, provided it passes a standard code review by the maintainers. It is not a guarantee of implementation, nor does it obligate the npm team itself to implement the requested changes. Actual integration into the CLI may also be deferred to a later date, or a later semver-major CLI release, at the npm collaborators' discretion. All the RFC does is communicate the team's consensus to accept a change.

Implementation

When the changes described in an RFC have been implemented and merged into the relevant repository (and thus, due to be released), the corresponding RFC will be moved from accepted/ to implemented/. If you'd like to implement an accepted RFC, please make a PR in the appropriate repo and mention the RFC in the PR. Feel free to do this even for work-in-progress code.

Withdrawal

From time to time npm collaborators will review RFCs awaiting implementation to ensure their accuracy and relevance. In cases where a previously ratified RFC is deemed to no longer be a viable candidate for implementation, an amendment section will be added to the top of the document outlining the reason for repeal and subsequently moved to the withdrawn/ section of this repository.

How do I change an RFC after ratification?

RFCs themselves cannot be modified after ratification, but new RFCs can be proposed and ratified to amend or remove a change previously ratified through the RFC process. These amendments will involve the exact same process as a regular RFC.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].