Giter VIP home page Giter VIP logo

rfcs's Introduction

RFC Process

This document describes the RFC process for the npm CLI, and provides a way for the npm CLI team and the wider community to have discussions about the features and direction of the package manager.

What is an RFC?

The name is a reference to the IETF's Request For Comments process, and 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.

Rough Consensus

The development of new features within the npm CLI follows a Rough Consensus model, similar to the IETF.

The following points are intended to help you understand and participate in this process productively.

Scope of This Process

This RFC process is limited to issues concerning the npm cli and the web services that support it.

Of course we operate within a broad community ecosystem, and will often choose to implement features in a way that is compatible with other package management tools in the JavaScript community. However, if a given proposal cannot or will not be implemented by other package managers, that is not in itself reason enough to abandon a proposal. We are here to make npm better.

Full Consensus is Not The Goal

It is not our intention, or within our ability, to accomodate every possible objection to any given proposal. It is our intention to surface all such objections, and make an informed decision as to whether the objection can be addressed, should be accepted, or is reason enough to abandon the proposal entirely.

We encourage you to participate in these discussions, and to feel free and comfortable bringing up any objections that you have or can imagine (even if you don't entirely agree with the objection!)

Our job together then, is to ensure that the objection is given a fair hearing, and is fully understood. Then (either in the pull request comments, or in our OpenRFC meetings), we will decide whether the proposal should be modified in light of the objection, or the objection should be ignored, or if the proposal should be abandoned.

If an objection is brought up a second time without any relevant changes, after having already been addressed, then it will be ignored. Only new objections merit new or continued consideration.

Iterate on Building Blocks

Frequently a feature will be proposed or even fully specified in an RFC, and upon analysis, the feedback might be to cut it into separate RFCs, or implement another proposal first.

This can be frustrating at times, but it ensures that we are taking care to improve npm iteratively, with thorough consideration of each step along the way.

Implementation as Exploration

Typically, RFCs are discussed and ratified prior to implementation. However, this is not always the case! Occasionally, we will develop a feature then write an RFC after the fact to describe and discuss it prior to merging into the latest npm release.

Very often, an RFC will be difficult to examine without running code. In those cases, we may opt to develop a proof of concept (or even fully production-ready implementation) of an RFC in process, in order to test it in reality before accepting it.

Even when an RFC is accepted, during implementation it is common to note additional objections, features, or decisions that need to be made. In these cases, we may propose an amendment to a previously ratified RFC.

Final Authority

The ultimate authority as to the ratification of any given RFC proposal is the npm CLI team, as they have ultimate authority over the direction and development of the actual thing these RFCs are about.

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, and all objections have been considered. At that point, it will be merged into the latest branch, and will be considered "ratified".

It is common for an RFC to require multiple rounds of editing to address concerns brought up in the discussion.

The RFC may be rejected altogether at the discretion of npm collaborators. Reasons for this may include, but are not limited to:

  • Objections are raised that are deemed to be relevant to the npm CLI, and cannot be reasonably addressed within the RFC.
  • The feature conflicts with another intended feature, or otherwise does not align with the future development direction of the npm CLI.
  • The feature described is prohibitively difficult to implement.
  • The feature described is better addressed by an alternate proposal.

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 intention to work in a given direction.

Actual development work on the npm CLI will be ordered based on priorities and resources that are well outside the scope of this RFC process.

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. The npm CLI team will provide guidance to ensure that the patch meets our standards and addresses the proposed RFC.

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 are typically only modified after ratification to address unanswered questions that may require implementation exploration.

More often, if an RFC has been previously ratified, and either cannot be implemented as described, or should be superceded by another proposal, it will be withdrawn as part of another RFC submitted through this process.


Open Office Hours

In our ongoing efforts to better listen to & collaborate with the community, we've started an open office hours call that helps to move conversations on RFCs forward as well as help answer broader community questions. It is notably a call without an agenda but provides a synchronous forum to engage with the community beyond the discussion/comment threads in issues & PRs.

When?

Wednesday's @ 2:00 PM EST UNTIL FURTHER NOTICE, OPEN OFFICE HOURS HAVE BEEN SUSPENDED

Cadence: This event is scheduled to take place weekly. Previous meetings (including "Open RFC" calls) agendas & notes can be found here or watched on YouTube.

How to join?

Add to your Calendar:

You can track all npm public events by adding/tracking our public events calendar:

Zoom Link: You can join the Public Open Offices hours Zoom calls here

rfcs's People

Contributors

aeschright avatar agorovyi avatar ben-rogerson avatar bterlson avatar claudiahdz avatar coreyfarrell avatar dandv avatar darcyclarke avatar dependabot[bot] avatar feelepxyz avatar felixfbecker avatar fharper avatar g-rath avatar greysteil avatar hzoo avatar iarna avatar isaacs avatar jefflembeck avatar jrylan avatar ljharb avatar lukekarrys avatar lumaxis avatar maistho avatar nlf avatar recuencojones avatar ruyadorno avatar strongbyte-es avatar thejaredwilcurt avatar wraithgar avatar zkat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rfcs's Issues

[RRFC] --save-peer flag

This was brought up by @ljharb during one of our conversations and I'm putting up this RRFC in order to collect early comments and see if anyone can expand upon it and submit a proper RFC in the future.

Essentially the idea here is that it would be nice for the cli to have a more robust or advanced support to saving peer deps ranges from the cli rather than manually handling the package.json file.

npm install [email protected] --save-peer
# would yield a "react": "16.0 || 16.2" in package.json as result
# in a diff package.json containing react as a dep with a range: `~16.0 || ~16.1`
npm install react@~16.5 —save-peer # appends the new range
# would yield a "react": "~16.0 || ~16.1 || ~16.5" in package.json as result

# in that same package.json now forces a diff version
npm install react@~16.5 —save-peer -f # forces semver range
# would  yield a "react": "react": "~16.5" as a result

This type of support can be handy within a workspaces/monorepo setup allowing users to easily manage ranges for peer deps of multiple packages at once.

/cc @npm/cli-team

Open RFC Meeting - Wednesday, February 5, 2020, 2:00 PM EST

When?

Wednesday, February 5, 2020, 2:00 PM EST

Note: This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

  1. Housekeeping (introductions, outlining intentions & desired outcomes)
  2. PR: #96 RFC: Add publish confirmation prompt
  3. PR: #92 RFC: Add staging workflow for CI and human interoperability
  4. PR: #90 RFC: reduce lifecycle script environment size
  5. PR: #81 remove --depth from npm update
  6. PR: #76 rfc: Signed Packuments
  7. Issue: #75 [FEATURE] prompt for module type as part of npm init
  8. PR: #46 feat(git): add support for ::subdir in #committish
  9. PR: #73 RFC for npm run to traverse directory tree up to the root before failing
  10. PR: #71 RFC: Verified Account Linking
  11. Issue: #506 [BUG] npm audit places false blame
  12. PR: #68 RFC: Multiple Funding Sources

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8

Add to your Calendar
You add this and all other public npm events with the following link:
https://calendar.google.com/calendar/embed?src=npmjs.com_oonluqt8oftrt0vmgrfbg6q6go%40group.calendar.google.com

Watch the livestream
https://www.youtube.com/channel/UCK71Wk0I45SLTSXQA23GdIw/videos

Open RFC Meeting - Wednesday, Oct 2nd @ 1:00pm EST

What is this?

In our ongoing efforts to better listen to and collaborate with the community, we're piloting an Open RFC call that helps to move conversations and initiatives forward. The focus should be on existing issues/PRs in this repository but can also touch on community/ecosystem-wide subjects.

When will this take place?

Currently, this meeting is scheduled to take place bi-weekly starting on: Wednesday, October 2nd @ 1:00pm EST. You can read more about the first meeting we had here.

What is on the agenda?

This agenda is based on the current open issues/PRs. Feel free to comment if you'd like a topic to be added (ideally, linking to an existing issue/PR):

  1. Housekeeping (introductions, outlining intentions & desired outcomes)
  2. Discuss proposals & ideas on the PRs/issues outlined
    1. Open PRs, Templates & labels
    2. npm support subcommand
    3. npm cache list
    4. docs: scoped names can begin with '.' & '_'
    5. #48 Link .hook scripts
    6. #1 Display package size information postinstall
    7. #51 Expose arborist metadata to lifecycle scripts
    8. #43 Peer dependencies installation
  3. Document the discussion & next steps

How can I join?

[Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8]

💬 We're Testing out Discussions

You'll see that we're moving some of our conversations around RFCs over to GitHub Discussions. I apologize beforehand as there will be some churn with respect to linking/discovery to start out with. We're hoping this will become the right home for conversations around npm, Questions & RRFCs.

Deep Dive Meeting - Wednesday, March 25, 2020, 2:00 PM EST

Why?

In our ongoing efforts to better listen to & collaborate with the community, we've started an Open RFC deep dive call that helps to move a specific conversation and/or initiative forward.

When?

Wednesday, March 25, 2020, 2:00 PM EST

Cadence:
This meeting is scheduled to take place bi-weekly alternating with our regular Open RFC calls. Previous meeting agendas and notes can be found here

Add to your Calendar:
You follow this & find other npm events by using our public events calendar

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

Invited Attendees

Agenda

  1. Housekeeping
    1. Introduction(s)
    2. Code of Conduct Acknowledgement
    3. Outline Intentions & Desired Outcomes
    4. Announcements
  2. PR: #92 RFC: Add staging workflow for CI and human interoperability
    1. Scope (initial support)
    2. Usecases
    3. Implementation details

How?

Join Zoom Meeting
https://npm.zoom.us/j/914742332

Meeting ID: 914 742 332

One tap mobile
+16465588656,,914742332# US (New York)
+16699006833,,914742332# US (San Jose)

Dial by your location
+1 646 558 8656 US (New York)
+1 669 900 6833 US (San Jose)
Meeting ID: 914 742 332
Find your local number: https://npm.zoom.us/u/abR8OFljr8

Meeting notes: https://hackmd.io/aGvwqCTrQmurw3v-XClFZg

Watch the livestream
https://youtu.be/nVZoknz8PWE

[RRFC] Optional install

Motivation ("The Why")

As a Continuous Integration maintainer, I'm highly interested in fast build jobs. Installing dependencies one of the key parts here.

Caching helps significantly speed up, but:

  1. it's not stale, dependencies can be updated pretty often, so cache invalidation as well
  2. not all dependencies are cachable

I highly appreciate that npm has --production flag feature, that allows us to avoid devDependcies installation, this technique significantly reduces install time for delivery jobs.

It would be so nice if such behavior could be more eloquent and we can define or exclude certain packages from being installed. Lemme give some example

Example

Let's say we running some test jobs in parallel, based on type:

  • static, uses eslint, stylelint, typescript, etc.
  • units, uses jest, redux-mock-store, etc.
  • end-to-end, that uses some dev-server, cypress, cypress plugin, etc.
{
  "devDependencies": {
    "cypress": "*",
    "eslint": "*",
    "express": "*",
    "jest": "*",
    "stylelint": "*",
    "redux-mock-store": "*",
    "typescript": "*",
  },
  "dependencies": {
    "react": "*",
    "redux": "*",
    "webpack": "*",
  }
}

How

Current Behaviour

Each of the jobs installs all dependencies. Hower "static" and "unit" don't need packages from end-to-end, but have to install it together with all "devDependencies".

Desired Behaviour

I have no strong vision of how API should look like in the end, but can give a couple of ideas:

Exclude packages

As an additional argument, that accepts list of package to be ignored upon install

npm i --exclude=express,cypress

Unique listing

Assemble own unique lists

{
  "staticDependencies": {
    "eslint": "*",
    "stylelint": "*",
    "typescript": "*",
  },
  "unitDependencies": {
    "jest": "*",
    "redux-mock-store": "*"
  },
  "e2eDependencies": {
    "cypress": "*",
    "express": "*",
  },
  "dependencies": {
    "react": "*",
    "redux": "*",
    "webpack": "*",
  }
}

Can follow the same rule as --production, and install packages from "dependencies" & unique list. For example

npm i --dependencies=static

or

npm i --staticDependencies

References

Sorry, I haven't found anything useful to ref

Deep Dive Meeting - Wednesday, April 22, 2020, 2:00 PM EST Meeting

Why?

In our ongoing efforts to better listen to & collaborate with the community, we've started an Open RFC deep dive call that helps to move a specific conversation and/or initiative forward.

When?

Wednesday, April 22, 2020, 2:00 PM EST

Cadence:
This meeting is scheduled to take place bi-weekly alternating with our regular Open RFC calls. Previous meeting agendas and notes can be found here

Add to your Calendar:
You follow this & find other npm events by using our public events calendar

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

Invited Attendees

  • Anyone interested in the idea of staging/stage publishes (please review the PRs beforehand)

Agenda

  1. Housekeeping
    1. Introduction(s)
    2. Code of Conduct Acknowledgement
    3. Outline Intentions & Desired Outcomes
    4. Announcements
  2. Topic:
    • Resolutions/Overrides
  3. References:

How?

Join Zoom Meeting
https://npm.zoom.us/j/914742332

Meeting ID: 914 742 332

One tap mobile
+16465588656,,914742332# US (New York)
+16699006833,,914742332# US (San Jose)

Dial by your location
+1 646 558 8656 US (New York)
+1 669 900 6833 US (San Jose)
Meeting ID: 914 742 332
Find your local number: https://npm.zoom.us/u/abR8OFljr8

Feature: Tuya Web Plugin

What:
Tuya Web Plugin

Current Behavior:
Only dims and on and off for e12 bulbs. ### Expected Behavior:
Should be able to properly control color changes
Belfos did a great job already, and this would make it perfect. Thanks

HI

Uriel
MX
SON

Deep Dive Meeting - Wednesday, March 10, 2020, 2:00 PM EST

Why?

In our ongoing efforts to better listen to & collaborate with the community, we've started an Open RFC deep dive call that helps to move a specific conversation and/or initiative forward.

When?

Wednesday, March 10, 2020, 2:00 PM EST

Cadence:
This meeting is scheduled to take place bi-weekly alternating with our regular Open RFC calls. Previous meeting agendas and notes can be found here

Add to your Calendar:
You follow this & find other npm events by using our public events calendar

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

Agenda

  1. Housekeeping
    1. Introduction(s)
    2. Code of Conduct Acknowledgement
    3. Outline Intentions & Desired Outcomes
    4. Announcements
  2. PR: #103 RFC: Add npm workspaces
    1. Scope (initial support and subsequent workspace-aware commands)
    2. Usecases (monorepos, multiple packages, etc)
    3. Install
    4. Subcommands
    5. Read configs

How?

Join Zoom Meeting
https://npm.zoom.us/j/914742332

Meeting ID: 914 742 332

One tap mobile
+16465588656,,914742332# US (New York)
+16699006833,,914742332# US (San Jose)

Dial by your location
+1 646 558 8656 US (New York)
+1 669 900 6833 US (San Jose)
Meeting ID: 914 742 332
Find your local number: https://npm.zoom.us/u/abR8OFljr8

Meeting notes: https://hackmd.io/1Rfh3UJdQJiZkjidOD6l3g

Watch the livestream
https://youtu.be/CaXPbZesRiQ

[RRFC] npm changes command

Motivation ("The Why")

This idea is derived from npm diff RFC in PR #144

I think many authors would appreciate an idea of what changes could affect the consumer, which would typically come from CHANGELOG.md.

I think this idea could be an interesting complement to PR #144.

Example

Contrived, not properly colorized:

% npm changes create-react-native-module 0.20.0..1.0.0

* bump minimum react-native version to 1.0.0
* drop support for Node.js pre-14

How

Current Behaviour

Consumer would check CHANGELOG.md on GitHub or wherever else.

Desired Behaviour

see contrived example above

References

  • PR #144 - add npm diff

Open RFC Meeting - Wednesday, April 29, 2020, 2:00 PM EST

Why?

In our ongoing efforts to better listen to & collaborate with the community, we've started an Open RFC call that helps to move conversations & initiatives forward.

When?

Wednesday, April 29, 2020, 2:00 PM EST

Cadence:
This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

Add to your Calendar:
You follow this & find other npm events by using our public events calendar

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

Agenda

  1. Housekeeping
    1. Introduction(s)
    2. Code of Conduct Acknowledgement
    3. Outline Intentions & Desired Outcomes
    4. Announcements
  2. PR: #117 RFC: npm workspaces - Running Commands
  3. PR: #129 RFC: overrides
  4. Issue: [RRFC] opt out of optional meta-dependency
  5. PR: #133 RFC: Remove --depth from npm outdated
  6. PR: #121 Added proposal for package version syntax

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8

Watch the livestream
https://www.youtube.com/channel/UCK71Wk0I45SLTSXQA23GdIw/videos

Open RFC Meeting - Wednesday, May 13, 2020, 2:00 PM EST

Why?

In our ongoing efforts to better listen to & collaborate with the community, we've started an Open RFC call that helps to move conversations & initiatives forward.

When?

Wednesday, May 13, 2020, 2:00 PM EST

Cadence:
This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

Add to your Calendar:
You follow this & find other npm events by using our public events calendar

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

Agenda

  1. Housekeeping
    1. Introduction(s)
    2. Code of Conduct Acknowledgement
    3. Outline Intentions & Desired Outcomes
    4. Announcements
  2. PR: #135 Clarify/Outline the RFC Withdrawal Process & Amendment
  3. PR: #133 RFC: Remove --depth from npm outdated
  4. PR: #129 RFC: overrides
  5. PR: #126 RFC: Adding types information to the Package JSON in the registry
  6. PR: #121 Added proposal for package version link#version syntax
  7. PR: #117 RFC: npm workspaces - Running Commands

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8

Watch the livestream
https://www.youtube.com/channel/UCK71Wk0I45SLTSXQA23GdIw/videos

Open RFC Meeting - Wednesday, Sept 4th @ 12:00pm EST

Hi folks!

We've been considering better ways to interact with the community to ensure that there is movement on the important issues/ideas that are being brought up here. We've landed on trying out a bi-weekly, potentially monthly, meeting that is open to anyone that would like to attend.

Similar to the Node & OpenJS foundation WG meetings, we'll be looking to source our agenda from existing issues & open PRs from this repository. Going forward, the agenda should be posted a week before the meeting to give everyone time to suggest talking points & express interest on attending.

Does this change the RFC Process?

This meeting does not change the existing RFC process or ratification criteria.

When will this take place?

The first meeting will be taking place on: Wednesday, September 4th @ 12:00pm EST

What is on the agenda?

This agenda is based on the current open issues/PRs. Feel free to comment if you'd like a topic to be added:

  • #43 Peer dependencies installation
  • #47 Unlisted dependency support
  • #48 Link .hook scripts
  • #27 Package overrides
  • #36 Script-shell config
  • #1 Display package size information postinstall
  • sustainability & support drafts

How can I join?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8

[RRFC] ability to run scripts standalone, without their pre- and post- associates

Motivation ("The Why")

To provide a way to run npm script without the pre- and/or post- scripts

When

When running npm run <script>

Where

npm cli

How

By passing flags for example:

  • npm run test --no-pre, or
  • npm run test --no-post, or
  • npm run test --no-pre-post

Current Behaviour

pre- and post- scripts cannot be skipped, workaround exist but clumsy, for example:

"scripts": {
    "rawtest": "mocha -r ts-node/register src/**/*.spec.ts",
    "pretest": "<some flow that isn't always desired>"
    "test": "npm run rawtest",
  }

Desired Behaviour

  • the pre- scripts should be skipped when run npm run <script> --no-pre
  • the post- scripts should be skipped when run npm run <script> --no-post
  • both pre- and post- scripts should be skipped when run npm run <script> --no-pre-post

References

Was added by @beenotung there npm/cli#484

Open RFC Meeting - Wednesday, Nov 13th @ 2:00pm EST

When?

Wednesday, November 13th @ 2:00pm EST

Note: This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

What?

  1. Housekeeping (introductions, outlining intentions & desired outcomes)
  2. Issue: #58 What day/time should the alternating Open RFC call be?
  3. PR: #24 Unpublished modules should return 410 Gone
  4. PR: #23 Add Singleton Packages RFC.
  5. PR: #22 Add feature to show dependencies of a particular dependency
  6. PR: #20 powershell scripts for installed binaries
  7. PR: #18 Interactive audit resolver
  8. Issue: #65 [RRFC] turn off file name scrubbing for your own private registry

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8]

Add to your Calendar
You add this and all other public npm events with the following link:
https://calendar.google.com/calendar/embed?src=npmjs.com_oonluqt8oftrt0vmgrfbg6q6go%40group.calendar.google.com

Watch the livestream
https://www.youtube.com/channel/UCK71Wk0I45SLTSXQA23GdIw/videos

ℹ️ Re. Cancelling today's Open RFC Call - Wednesday, June 3⋅2:00 – 3:00pm ET

Note: We will be skipping today's Open RFC call but hope to be back next week. Please follow the npm Public Events Calendar &/or our Twitter (@npmjs) for any updates:

Ways to add this event to your Calendar:

What time should we run the Open RFC calls?

What?

We're looking to try and widen the audience that attends our Open RFC calls and want to suggest a few other options for the time of day it takes place (currently the next call is scheduled for Wednesday, October 30th @ 1pm ET).

Please select what you think would be the ideal time for you to attend based on the following options:




Depending on the results, we may decide to follow up with a different poll for days & times if we don't see a lot of consensus.

As always, feedback is welcome/appreciated!

Open RFC Meeting - Wednesday, April 1, 2020, 2:00 PM EST

Why?

In our ongoing efforts to better listen to & collaborate with the community, we've started an Open RFC call that helps to move conversations & initiatives forward.

When?

Wednesday, April 1, 2020, 2:00 PM EST

Cadence:
This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

Add to your Calendar:
You follow this & find other npm events by using our public events calendar

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

Agenda

  1. Housekeeping
    1. Introduction(s)
    2. Code of Conduct Acknowledgement
    3. Outline Intentions & Desired Outcomes
    4. Announcements
  2. Issue: #118 [RRFC] Reevaluate usage of update-notifier
  3. Issue: #115 [RRFC] Add top level `binDependencies` to package.json
  4. PR: #114 RFC: Expand list of ignored files
  5. Issue: #95 [RRFC] --save-peer flag
  6. Issue: #56 [FEATURE] Create RFC for Yarn Resolutions
  7. PR: #103 RFC: Add npm workspaces
  8. PR: #92 RFC: Add staging workflow for CI and human interoperability

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8

Watch the livestream
https://www.youtube.com/channel/UCK71Wk0I45SLTSXQA23GdIw/videos

Meetings Notes:
https://hackmd.io/EiU7fEvfSxKWqRJABBeq5w

Is there a migration guide for moving OpenLayers code under npm?

I am not asking for a new document, just haven't found one, and the search is becoming frustrating.

We implemented an OpenLayers solution some years ago using ol2 (http://www.nufosmatic.com). The results were very satisfactory, and the new mapping capabilities allowed us to expand beyond what our circa 2004 primitive maps allowed.

However, like anything, ol2 will become stale and unusable. But, the leap to ol3+ is a big one, and some of the features of ol2 we settled upon are just simply not there.

We have found some ol3+ examples that seem to address our needs, but the v6.1.1 examples all seem to be abstracted to NPM. Now, we find some features of NPM very interesting (the development server/code and test process is really very nice), but there is this nasty bit of having to re-code all of the function names because of the NPM import process. OK, we've got a lot of re-coding to do anyway, and that's probably not no big a problem.

We have also found some third-party ol3+ examples that address missing features in ol2 that are NOT addressed in the ol3+ examples. However, bringing these examples under NPM has been most frustrating. It seems that eventually we get to "X is not a constructor" or "X is undefined" on examples that clearly work outside of NPM (especially when 'X' is something in ol3 that should be visible and correct).

Is there a doc that gives guidance on migrating a non-NPM ol3+ codebase under NPM?

[RRFC] <title>

Motivation ("The Why")

Example

How

Current Behaviour

Desired Behaviour

References

  • n/a

Open RFC Meeting - Wednesday, April 15, 2020, 2:00 PM EST

Why?

In our ongoing efforts to better listen to & collaborate with the community, we've started an Open RFC call that helps to move conversations & initiatives forward.

When?

Wednesday, April 15, 2020, 2:00 PM EST

Cadence:
This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

Add to your Calendar:
You follow this & find other npm events by using our public events calendar

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

Agenda

  1. Housekeeping
    1. Introduction(s)
    2. Code of Conduct Acknowledgement
    3. Outline Intentions & Desired Outcomes
    4. Announcements
  2. Issue: #125 [RRFC] Expose dependents API
  3. Issue: #115 [RRFC] Add top level `binDependencies` to package.json
  4. PR: #114 RFC: Expand list of ignored files
  5. PR: #103 RFC: Add npm workspaces
  6. PR: #92 RFC: Add staging workflow for CI and human interoperability
  7. Issue: #56 [FEATURE] Create RFC for Yarn Resolutions
  8. PR: #129 RFC: Overrides
  9. PR: #121 RFC: Add link#[version](comment) syntax to version
  10. PR: #126 RFC: Add types information to the Packument

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8

Watch the livestream
https://youtu.be/TFpCVxo9p1s

Meeting notes:
https://hackmd.io/7ePK4i1QQQm0fHojVBEsew

[RRFC] <title>

@#mybillserv[RRFC]() <!--

Before Opening Please...

  • Search for an existing/duplicate RRFC which might be relevant to your RRFC
    -->

Motivation ("The Why")

Example

How

Current Behaviour

Desired Behaviour

References

  • n/a

[RRFC] Remove --depth from npm outdated

Remove --depth from npm outdated

Summary

Remove --depth in favor of a new option flag named --all that shows all outdated packages in the tree.

Motivation ("The Why")

Currently on npm v6 npm outdated has an optional depth flag to configure the maximum depth for checking outdated packages on the dependency tree. As it is right now, it takes an integer value that represents the amount of nested levels deep it goes.

In practice, what most users care about is --depth 9999 which should display a list of all outdated dependencies on the tree. Also, npm v7 has already recently removed the --depth flag from npm update in favor of updating all nodes in the tree at every depth, which defeats the purpose of having the functionality to inspect outdated packages at specific depths if they are all going to be updated either way.

Removing --depth in favor of a new option flag named --all that will display all outdated dependencies on the tree makes for a clearer and more obvious output.

Detailed Explanation

Going any level deep further than the top-level deps opens a complex scenario where a single dependency might need different versions to satisfy requirements from different packages depending on it. Basically, what this means is that the "wanted" version of a nested dependency could be either a single semver range or a set of semver ranges.

When --depth is used on v6, the same dependency and its "wanted" value will be displayed and repeated on console with their location as the sole way of differentiating its level of nesting. This current output can tend to clog the console since the command doesn't tell appart deduped dependencies and we end up with a lot of noise that could be summarized differently.

Ex.

➜  arborist git:(master) npm outdated --depth 9999 tar
Package  Current  Wanted  Latest  Location
tar       4.4.13  4.4.13   6.0.2  @npmcli/arborist > @npmcli/run-script > node-gyp
tar        6.0.1   6.0.2   6.0.2  @npmcli/arborist > pacote > cacache
tar        6.0.1   6.0.2   6.0.2  @npmcli/arborist > pacote > npm-registry-fetch > make-fetch-happen > cacache
tar        6.0.1   6.0.2   6.0.2  @npmcli/arborist > pacote

➜  arborist git:(master) npm ls tar
@npmcli/[email protected] /Users/claudiahdz/npm/arborist
├─┬ @npmcli/[email protected]
│ └─┬ [email protected]
│   └── [email protected]
└─┬ [email protected]
  ├─┬ [email protected]
  │ └── [email protected]  deduped
  └── [email protected]

In this example, we only care about two versions of tar, 4.4.13 and 6.0.2. Instead we are shown 4 lines of output.

Moreover, npm v6 currently has inconsistent behavior. Doing npm outdated --depth 9999 displays all outdated packages that are direct children of the root package, missing out dependencies that are nested at other levels. This gives a wrong impression since we are not really displaying all outdated dependencies of the tree. However, doing npm outdated foo --depth 9999, will indeed display all appearances of foo on the tree no matter if they are direct children of the root package or not. This is precisely the functionality that displaying all deps should have too (npm outdated with no flags).

Finally, dropping --depth in favor of --all that will actually display all outdated packages per dependency on the tree seems clearer and more useful to the end user than the original --depth flag.

Ex. npm outdated --all

For the tree:

With these dependencies for root:

{
  "foo": "^1.0.0",
  "bar": "^2.0.0"
}

and for foo:

{
  "bar": "^1.0.0",
}

Output:

Package                        Current   Wanted   Latest  Location
foo                              1.0.0    1.6.0    1.6.0  root
bar                              1.0.0    1.5.0    2.1.0  root > foo
bar                              2.0.0    2.1.0    2.1.0  root

Implementation

Using Arborist, inspecting all nodes under a given root is straight-forward using tree.inventory. Looping through them and inspecting each node's edgesIn can easily give us access to said node dependants. This will simplify the current algorithm and avoid having to use recursion.

Finally, we could remove from the list duplicated dependencies that have the same wanted version to avoid clogging the terminal.

Rationale and Alternatives

Since npm update will go ahead and update everything at any level, maybe there's no need to know in detail which nested dependencies are outdated and we could just show a message that certain top-level dependency has outdated deps.

We could also remove all-together the functionality if people are not paying much attention to outdated nested deps.

Open RFC Meeting - Wednesday, Oct 16th @ 1:00pm EST

When?

Wednesday, October 16th @ 1:00pm EST

Note: This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

What?

  1. Housekeeping (introductions, outlining intentions & desired outcomes)
  2. Funding Package Maintainers (note: this needs RFC, Issue or PR)
  3. #51 Expose arborist metadata to lifecycle scripts
  4. npm cache list
  5. #43 Peer dependencies installation
  6. docs: scoped names can begin with '.' & '_'
  7. #48 Link .hook scripts

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8]

Add to your Calendar
You add this and all other public npm events with the following link:
https://calendar.google.com/calendar/embed?src=npmjs.com_oonluqt8oftrt0vmgrfbg6q6go%40group.calendar.google.com

What day/time should the alternating Open RFC call be?

Currently, we have agreed to move one of our bi-weekly meeting's to happen on Wednesday's at 2:00pm ET; We'd like to propose another option in terms of days & times that may accommodate others for the alternating call.

Pick your ideal day:





Pick your ideal time (all times are in Eastern):






[FEATURE] Allow customizing packages on install

What / Why

Currently running npm install fetches and installs a package as-is. However it would be more flexible to be able to specify a patch to apply at installation time to customize a package. One use case is to modify the package source to remove donation banners in install logs.

This is complementary to -- and more general than -- #80.

When

At install time, with the presence of a new flag.

How

Add a --patch /path/to/my.patch option to npm install. NPM would then fetch the source as usual, run patch -p0 < /path/to/my.patch to apply the customization, and continue with the normal installation process.

Example

Suppose you want to install core-js without its donation banner breaking your continuous integration. You can already use npm install --loglevel silent, but this will silence other potentially useful messages.

Instead, the user could create a patch file, e.g. nobanner.patch:

--- packages/core-js/postinstall.js
+++ packages/core-js/postinstall.js
@@ -52,5 +52,3 @@
   // eslint-disable-next-line no-console,no-control-regex
   console.log(COLOR ? BANNER : BANNER.replace(/\u001B\[\d+m/g, ''));
 }
-
-if (isBannerRequired()) showBanner();

Then, using the proposed feature, run:

npm install --patch nobanner.patch core-js

Open RFC Meeting - Wednesday, Oct 30th @ 1:00pm EST

When?

Wednesday, October 30th @ 1:00pm EST

Note: This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

What?

  1. Housekeeping (introductions, outlining intentions & desired outcomes)
  2. Review results of meeting time change poll #55
  3. Review Standardizing Labeling Issues & PRs as "Agenda" items
  4. Issue: #56 [FEATURE] Create RFC for Yarn Resolutions
  5. Issue: #14 Fix up & improve statusboard
  6. Issue: #55 What time should we run the Open RFC calls?
  7. Issue: #3 Add settings.yml file and extend from npm defaults
  8. Issue: #3 Add monitoring/benchmarking tools
  9. Issue: #2 Add funding to package.json
  10. Issue: #1 Default template files for projects
  11. PR: #43 Let's install peer deps again!
  12. PR: #36 Allow script-shell config in package.json
  13. PR: #35 rfc: @pika/pack available in stock npm
  14. PR: #34 RFC for dependencies change script addition
  15. PR: #24 Unpublished modules should return 410 Gone
  16. PR: #23 Add Singleton Packages RFC.
  17. PR: #22 Add feature to show dependencies of a particular dependency
  18. PR: #20 powershell scripts for installed binaries
  19. PR: #18 Interactive audit resolver

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8]

Add to your Calendar
You add this and all other public npm events with the following link:
https://calendar.google.com/calendar/embed?src=npmjs.com_oonluqt8oftrt0vmgrfbg6q6go%40group.calendar.google.com

Open RFC Meeting - Wednesday, November 27, 2019, 2:00 PM EST

When?

Wednesday, November 27, 2019, 2:00 PM EST

Note: This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

What?

  1. Housekeeping (introductions, outlining intentions & desired outcomes)
  2. PR: #68 RFC: Multiple Funding Sources
  3. PR: #527 Reverting "windows: Add preliminary WSL support for npm and npx"
  4. Issue: #470 [QUESTION] Necessity of Powershell Script Support for Global Packages
  5. PR: #24 Unpublished modules should return 410 Gone
  6. PR: #22 Add feature to show dependencies of a particular dependency
  7. PR: #20 powershell scripts for installed binaries
  8. PR: #18 Interactive audit resolver
  9. Open RFC @ Collaborator Summit in Montreal - Dec. 13th & 14th

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445

https://npm.zoom.us/j/584504445

Add to your Calendar
You add this and all other public npm events with the following link:
https://calendar.google.com/calendar/embed?src=npmjs.com_oonluqt8oftrt0vmgrfbg6q6go%40group.calendar.google.com

Watch the livestream
https://youtu.be/_nUVxf97LQY

Deep Dive Meeting - Wednesday, April 8, 2020, 2:00 PM EST

Why?

In our ongoing efforts to better listen to & collaborate with the community, we've started an Open RFC deep dive call that helps to move a specific conversation and/or initiative forward.

When?

Wednesday, April 8, 2020, 2:00 PM EST

Cadence:
This meeting is scheduled to take place bi-weekly alternating with our regular Open RFC calls. Previous meeting agendas and notes can be found here

Add to your Calendar:
You follow this & find other npm events by using our public events calendar

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

Invited Attendees

  • Anyone interested in the idea of staging/stage publishes (please review the PRs beforehand)

Agenda

  1. Housekeeping
    1. Introduction(s)
    2. Code of Conduct Acknowledgement
    3. Outline Intentions & Desired Outcomes
    4. Announcements
  2. Topic: Dependency Resolutions (install, audit, etc.)
    1. Why? What? How?
    2. Identify use cases
    3. Identify initial vs. long-term scopes
    4. Ref: Issue for "what to do w/ unlisted deps"
    5. Ref: RFC for Yarn resolutions
    6. Ref: RFC for interactive audit resolving

How?

Join Zoom Meeting
https://npm.zoom.us/j/914742332

Meeting ID: 914 742 332

One tap mobile
+16465588656,,914742332# US (New York)
+16699006833,,914742332# US (San Jose)

Dial by your location
+1 646 558 8656 US (New York)
+1 669 900 6833 US (San Jose)
Meeting ID: 914 742 332
Find your local number: https://npm.zoom.us/u/abR8OFljr8

[RRFC] Support a src package companion to main one

Motivation ("The Why")

There is a significant trend in thinning the size of npm packages by removing:

  1. source files (in case it's transpiled)
  2. test files
  3. build files
  4. docs (including GOVERNANCE and CODE_OF_CONDUCT files)

However it's important that those files are available along side the release in an immutable fashion (in case the main repo is unavailable for example) as they will be needed to recreate the project.

This is a common concept for Linux distributions as they ship both source and binary package as part of the same release.

Example

I propose we add another field in package.json:

{
  ...
  "source" : [
    "src",
    "build",
    ...
   ]
}

And then a command npm source <pkg> that downloads the source tarball.
A config lag that always installs the full tarball inside node_modules would be nice.

[RRFC] yarn's upgrade-interactive equivalent in npm

Motivation ("The Why")

It's super useful, in npm we have to run npx npm-check -u that's a third party package.

Example

Try it in yarn.

How

Current Behaviour

Seems like doesn't have this feature in npm

Desired Behaviour

Like yarn's upgrade-interactive command

References

  • n/a

[RRFC] Deprecated packages: automatically display dependents, to ease notifying maintainers

Motivation ("The Why")

Very often when users install a package, they see warnings about deprecated dependencies, and don't know what to do about them.

Example

Here are some examples from StackOverflow of user confused by this:

How

Current Behaviour

image

Desired Behaviour

npm could automatically integrate the output of npm ls <deprecated-package:

$ npm install
npm WARN deprecated [email protected]: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
└─┬ @material-ui/[email protected]
  └── [email protected] 

Open RFC Meeting - Wednesday, June 10, 2020, 2:00 PM EST

Why?

In our ongoing efforts to better listen to & collaborate with the community, we've started an Open RFC call that helps to move conversations & initiatives forward.

When?

Wednesday, June 10, 2020, 2:00 PM EST

Cadence:
This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

Add to your Calendar:
You follow this & find other npm events by using our public events calendar

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

Agenda

  1. Housekeeping
    1. Introduction(s)
    2. Code of Conduct Acknowledgement
    3. Outline Intentions & Desired Outcomes
    4. Announcements
  2. PR: #152 RFC: npm fund depth
  3. PR: #150 RFC: Add file+pack dependency protocol
  4. PR: #138 RFC: Add `npm-app-id` HTTP header
  5. PR: #129 RFC: overrides
  6. PR: #126 RFC: Adding types information to the Package JSON in the registry
  7. PR: #121 Added proposal for package version `link#[version](comment)` syntax
  8. PR: #117 RFC: npm workspaces - Running Commands
  9. PR: #18 npm audit resolve

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8

Watch the livestream
https://www.youtube.com/channel/UCK71Wk0I45SLTSXQA23GdIw/videos

[POLL] Scheduling bi-weekly deep-dive (Wednesday, March 11th 2020)

After getting some feedback in our most recent Open RFC call we've decided to schedule a bi-weekly "deep-dive" call that will take on one RFC, PR, issue or overall topic of discussion to allow for more in-depth conversations to happen.

The deep-dive topic will be chosen at the preceding Open RFC call for visibility (notably, the first call will be focused around "Workspaces").

With that in mind, we'd like to poll the community to help choose the timing of this call. Unfortunately, our team has limited availability beyond the existing Wednesdsay 2pm ET timeslot.

Here are the current options:



This poll will be closed this Friday March 6th & an agenda issue/placeholder will be created along w/ a corresponding event in our public events calendar.

Open RFC Meeting - Wednesday, January 22, 2020, 2:00 PM EST

When?

Wednesday, January 22, 2020, 2:00 PM EST

Note: This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

What?

  1. Housekeeping (introductions, outlining intentions & desired outcomes)
  2. PR: #68 RFC: Multiple Funding Sources
  3. PR: #90 RFC: reduce lifecycle script environment size
  4. Issue: #506 [BUG] npm audit places false blame
  5. PR: #71 RFC: Verified Account Linking
  6. PR: #46 feat(git): add support for ::subdir in #committish
  7. PR: #73 RFC for npm run to traverse directory tree up to the root before failing
  8. PR: #76 rfc: Signed Packuments
  9. Issue: #75 [FEATURE] prompt for module type as part of npm init

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8

Add to your Calendar
You add this and all other public npm events with the following link:
https://calendar.google.com/calendar/embed?src=npmjs.com_oonluqt8oftrt0vmgrfbg6q6go%40group.calendar.google.com

Watch the livestream
https://www.youtube.com/channel/UCK71Wk0I45SLTSXQA23GdIw/videos

Open RFC Meeting - Wednesday, March 4, 2020, 2:00 PM EST

Why?

In our ongoing efforts to better listen to & collaborate with the community, we've started an Open RFC call that helps to move conversations & initiatives forward.

When?

Wednesday, March 4, 2020, 2:00 PM EST

Cadence:
This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

Add to your Calendar:
You follow this & find other npm events by using our public events calendar

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

Agenda

  1. Housekeeping
    1. Introduction(s)
    2. Code of Conduct Acknowledgement
    3. Outline Intentions & Desired Outcomes
    4. Announcements
  2. PR: #103 RFC: Add npm workspaces
  3. PR: #96 RFC: Add publish confirmation prompt
  4. Issue: #95 [RRFC] --save-peer flag
  5. Issue: #93 [FEATURE] Standardised Browser-based Login Mechanism
  6. PR: #92 RFC: Add staging workflow for CI and human interoperability
  7. PR: #90 RFC: reduce lifecycle script environment size
  8. PR: #76 rfc: Signed Packuments
  9. Issue: #75 [FEATURE] prompt for module type as part of npm init
  10. PR: #72 acceptDependencies package.json field
  11. PR: #71 RFC: Verified Account Linking
  12. Issue: #513 [FEATURE] Support for monorepo dependency installations with NPM
  13. Issue: #506 [BUG] npm audit places false blame

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8

Watch the livestream
https://www.youtube.com/channel/UCK71Wk0I45SLTSXQA23GdIw/videos

Open RFC Meeting - Wednesday, March 18, 2020, 2:00 PM EST

Why?

In our ongoing efforts to better listen to & collaborate with the community, we've started an Open RFC call that helps to move conversations & initiatives forward.

When?

Wednesday, March 18, 2020, 2:00 PM EST

Cadence:
This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

Add to your Calendar:
You follow this & find other npm events by using our public events calendar

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

Agenda

  1. Housekeeping
    1. Introduction(s)
    2. Code of Conduct Acknowledgement
    3. Outline Intentions & Desired Outcomes
    4. Announcements
  2. issue: #113 Retro and cleanup
  3. Issue: #110 Remove .DS_Store
  4. Issue: #105 [POLL] Scheduling bi-weekly deep-dive (Wednesday, March 11th 2020)
  5. PR: #103 RFC: Add npm workspaces
  6. PR: #96 RFC: Add publish confirmation prompt
  7. Issue: #95 [RRFC] --save-peer flag
  8. PR: #92 RFC: Add staging workflow for CI and human interoperability
  9. PR: #76 rfc: Signed Packuments
  10. Issue: #75 [FEATURE] prompt for module type as part of npm init
  11. PR: #71 RFC: Verified Account Linking
  12. Issue: #506 [BUG] npm audit places false blame

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8

Watch the livestream
https://www.youtube.com/channel/UCK71Wk0I45SLTSXQA23GdIw/videos

[FEATURE] Create RFC for Yarn Resolutions

What / Why

Not sure if this is the right way to do this, but I wanted to create a placeholder issue for the eventual creation an RFC for Yarn Resolutions.

As @isaacs mentioned in #39 (comment) (emphasis mine):

I think a pretty good plan is maybe to ratify this, de-ratify the current overrides, and instead add a new RFC to implement yarn's resolutions with the same syntax and logic as yarn uses. Better to walk the existing cowpath than create another one.

References

OpenRFC Meeting - Wednesday, May 20, 2020, 2:00 PM EST

Why?

In our ongoing efforts to better listen to & collaborate with the community, we've started an Open RFC deep dive call that helps to move a specific conversation and/or initiative forward.

When?

Wednesday, May 20, 2020, 2:00 PM EST

Cadence:
This meeting is scheduled to take place bi-weekly alternating with our regular Open RFC calls. Previous meeting agendas and notes can be found here

Add to your Calendar:
You follow this & find other npm events by using our public events calendar

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

Invited Attendees

  • Anyone interested in the idea of staging/stage publishes (please review the PRs beforehand)

Agenda

  1. Housekeeping
    1. Introduction(s)
    2. Code of Conduct Acknowledgement
    3. Outline Intentions & Desired Outcomes
    4. Announcements
  2. Topic(s):
  3. PR: #135 Clarify/Outline the RFC Withdrawal Process & Amendment
  4. PR: #133 RFC: Remove --depth from npm outdated
  5. PR: #135 RFC: Add npm-app-id HTTP header
  6. PR: #144 RFC: npm diff
  7. PR: #146 RFC: Notification system for cli updates
  8. PR: #126 RFC: Adding types information to the Package JSON in the registry
  9. PR: #18 RFC: audit resolve
  10. PR: #121 Added proposal for package version link#[version] syntax
  11. PR: #117 RFC: npm workspaces - Running Commands

How?

Join Zoom Meeting
https://npm.zoom.us/j/914742332

Meeting ID: 914 742 332

One tap mobile
+16465588656,,914742332# US (New York)
+16699006833,,914742332# US (San Jose)

Dial by your location
+1 646 558 8656 US (New York)
+1 669 900 6833 US (San Jose)
Meeting ID: 914 742 332
Find your local number: https://npm.zoom.us/u/abR8OFljr8

[QUESTION] <peerDependencies tips should be error>

What / Why

when i my package need an other package, i use peerDependencies to statement this point. to hope others to install that package and install right version. but the result is, they install wrong version just a warnging . its so Ignored。 i think the tips should be obviously error. beacuase if the packages need right peerDependencies. or i can defined the tips level to remind people to note that

image

really to ignore...

Open RFC Meeting - Wednesday, May 27, 2020, 2:00 PM EST

Why?

In our ongoing efforts to better listen to & collaborate with the community, we've started an Open RFC call that helps to move conversations & initiatives forward.

When?

Wednesday, May 27, 2020, 2:00 PM EST

Cadence:
This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

Add to your Calendar:
You follow this & find other npm events by using our public events calendar

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

Agenda

  1. Housekeeping
    1. Introduction(s)
    2. Code of Conduct Acknowledgement
    3. Outline Intentions & Desired Outcomes
    4. Announcements
  2. PR: #138 RFC: Add `npm-app-id` HTTP header
  3. PR: #135 Clarify/Outline the RFC Withdrawal Process & Amendment
  4. PR: #133 RFC: Remove --depth from npm outdated
  5. PR: #18 RFC: npm audit resolve
  6. PR: #129 RFC: overrides
  7. PR: #126 RFC: Adding types information to the Package JSON in the registry
  8. PR: #121 Added proposal for package version link[version](comment) syntax
  9. PR: #117 RFC: npm workspaces - Running Commands
  10. PR: #152 npm fund depth
  11. PR: #150 file+pack protocol

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8

Watch the livestream
https://www.youtube.com/channel/UCK71Wk0I45SLTSXQA23GdIw/videos

[TODO] Retro and cleanup

Several RFCs are sitting in the "accepted" folder, but actually are not slated for implementation, changed implementation, or just no longer make sense.

Let's go through all of those and identify which accepted RFCs to move to the implemented folder, which should be removed/updated, and which should be left where they are. We need to identify a good process for removal. Eg, does it take a new ratified RFC? or can we just agree to un-ratify something? I'd prefer it not be too much make-work, but also don't want to make it seem like we're not making good on a commitment, as that reduces our credibility when we do ratify RFCs.

As part of the same process, we can revisit some very old PRs that aren't going to happen for whatever reason, and close those out as well.

Open RFC Meeting - Wednesday, February 19, 2020, 2:00 PM EST

When?

Wednesday, February 19, 2020, 2:00 PM EST

Note: This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

What?

All discussions surrounding RFCs are covered by the npm Code of Conduct. Please keep conversations constructive, civil & be mindful of when others are speaking. As is tradition, "raise your hand" when requesting to comment on a topic or request to comment asynchronously within the chat. The npm team may, at its own discretion, moderate, mute &/or remove a person from an Open RFC call for any reason.

  1. Housekeeping
    1. Introduction(s)
    2. Code of Conduct Acknowledgement
    3. Outline Intentions & Desired Outcomes
    4. Announcements
  2. PR: #96 RFC: Add publish confirmation prompt
  3. PR: #92 RFC: Add staging workflow for CI and human interoperability
  4. PR #93 RFC: Standardised Browser-based Login Mechanism
  5. PR: #71 RFC: Verified Account Linking
  6. Issue: #506 [BUG] npm audit places false blame
  7. PR: #90 RFC: reduce lifecycle script environment size
  8. Issue: #75 [FEATURE] prompt for module type as part of npm init
  9. PR: #76 rfc: Signed Packuments

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8

Add to your Calendar
You add this and all other public npm events with the following link:
https://calendar.google.com/calendar/embed?src=npmjs.com_oonluqt8oftrt0vmgrfbg6q6go%40group.calendar.google.com

Watch the livestream
https://youtu.be/wR0XZs6OFaA

Open RFC Meeting - Wednesday, January 8, 2020, 2:00 PM EST

When?

Wednesday, January 8, 2020, 2:00 PM EST

Note: This meeting is scheduled to take place bi-weekly. Previous meeting agendas and notes can be found here

What?

  1. Housekeeping (introductions, outlining intentions & desired outcomes)
  2. Issue: #48 [FEATURE] Expand the list of default ignored files
  3. PR: #77 Quiet down or silence non-errors in npm install
  4. PR: #76 rfc: Signed Packuments
  5. PR: #46 fix: A files list should not exclude bundled dependencies
  6. PR: #46 feat(git): add support for ::subdir in #committish
  7. PR: #73 RFC for npm run to traverse directory tree up to the root before failing
  8. PR: #71 RFC: Verified Account Linking
  9. Issue: #70 Open RFC Meeting - Wednesday, November 27, 2019, 2:00 PM EST
  10. PR: #68 RFC: Multiple Funding Sources

How?

Join Zoom Meeting
https://npm.zoom.us/j/584504445

Dial by your location
+1 669 900 6833 US (San Jose)
+1 646 558 8656 US (New York)

Meeting ID: 584 504 445
Find your local number: https://zoom.us/u/abR8OFljr8

Add to your Calendar
You add this and all other public npm events with the following link:
https://calendar.google.com/calendar/embed?src=npmjs.com_oonluqt8oftrt0vmgrfbg6q6go%40group.calendar.google.com

Watch the livestream
https://www.youtube.com/channel/UCK71Wk0I45SLTSXQA23GdIw/videos

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.