#### Meeting from: January 12th, 2022 # Open RFC Meeting (npm) ### Attendees - Darcy Clarke (@darcyclarke) - Ruy Adorno (@ruyadorno) - Nathan LaFreniere (@nlf) - Nathan Fritz (@fritzy) - Nish Sinha (@nishnha) - John Caine (@jjcaine) - Owen Buckley (@thescientist13) - Jordan Harband (@ljharb) - Tierney Cyren (@bnb) - Steven (@styfle) ### Previously... - [2021-12-15](https://github.com/npm/rfcs/blob/main/meetings/2021-12-15.md) ### Agenda 1. **Housekeeping** 1. Introduction(s) 1. [Code of Conduct Acknowledgement](https://www.npmjs.com/policies/conduct) 1. Outline Intentions & Desired Outcomes 1. Announcements - overrides shipped - 2fa improvements - OpenJS World 2022 - https://events.linuxfoundation.org/openjs-world/ - CFP: https://events.linuxfoundation.org/openjs-world/program/cfp/ 1. **Issue**: [#509 [RRFC] Change the default save-prefix from ^ to none](https://github.com/npm/rfcs/issues/509) - @zkldi 1. **PR**: [#4227 Change the default save-prefix from ^ to none](https://github.com/npm/cli/pull/4227) - @zkldi 1. **PR**: [#4223 fix: npm update --save](https://github.com/npm/cli/pull/4223) - @ruyadorno 1. **PR**: [#4222 Dependabot: `npm audit <fix> --package`](https://github.com/npm/cli/pull/4222) - @Nishnha 1. **Issue**: [#499 [RRFC] Custom logging location](https://github.com/npm/rfcs/issues/499) - @EvanCarroll 1. **Issue**: [#497 [RRFC] Warn users when skipping alias/git deps during audit](https://github.com/npm/rfcs/issues/497) - @rotem-cider 1. **PR**: [#488 Make npm install scripts opt-in](https://github.com/npm/rfcs/pull/488) - @tolmasky 1. **PR**: [#481 RFC: Run `prepare` Scripts for Linked Bundled Dependencies](https://github.com/npm/rfcs/pull/481) - @mysterycommand 1. **PR**: [#375 Define which dependencies are shared among workspace projects](https://github.com/npm/rfcs/pull/375) - @isaacs ### Notes #### **Issue**: [#509 [RRFC] Change the default save-prefix from ^ to none](https://github.com/npm/rfcs/issues/509) - @zkldi #### **PR**: [#4227 Change the default save-prefix from ^ to none](https://github.com/npm/cli/pull/4227) - @zkldi - @darcyclarke - tl;dr we probably won't ever do this... - @ljharb - problem statements are accurate & need to be addressed - known bad actor in your dep tree - solution is not ideal & would cause other issues - there's several misconceptions around `npm install` mixed with what may be bugs in the cli - @thescientist13 - appreciate the balanced - seems like there's a need for better documentation - @ruyadorno - let's make sure we document these problem statements - @bnb - ... - @darcyclarke - package quality indicators - @mylesborins - lockfiles vs. shrinkwrap usecases - - cli vs libraries, what if it makes sense for a package with a bin to have lockfile but not look at that otherwise - maybe just a set of best practices around these with the tooling we have today #### **PR**: [#4223 fix: npm update --save](https://github.com/npm/cli/pull/4223) - @ruyadorno - @darcyclarke - this is one of the most asked for bugs/features that we lost in `npm@7` - @ruyadorno - we have implemented `npm update --save` which should function the same as `npm update` did back in `npm@6` where package specs can be saved back to `package.json` & not just `package-lock.json` - `save` config as a default has always been `true` - `no-save` (aka. `save=false`) is also a flag to be considered as it is used to *not* save back to `package-lock.json` - @fritzy - this may land next week - need consider if this was/is a bug #### **PR**: [#4222 Dependabot: `npm audit <fix> --package`](https://github.com/npm/cli/pull/4222) - @Nishnha - @darcyclarke - Draft PR from the dependabot team that provides a scoped `npm audit` - @Nishnha - hope is to be able to scope `npm audit fix` to a specific package - wip, still need work to support transitive dependencies - @ruyadorno - is the plan to also use overrides to replace transitive deps? - @Nishnha - Yes we want to be able to also replace any vulnerable transitive dep - There's some discrepancies between update and audit we need to look into - @darcyclarke - Stretch goal of providing info of a non-installed package - **Actions:** - [ ] @darcyclarke to identify DRI to work w/ Dependabot team to help #### **Issue**: [#499 [RRFC] Custom logging location](https://github.com/npm/rfcs/issues/499) - @EvanCarroll - @lukekarrys - - **Actions:** - [ ] @darcyclarke to backlog a ticket for adding this config #### **Issue**: [#497 [RRFC] Warn users when skipping alias/git deps during audit](https://github.com/npm/rfcs/issues/497) - @rotem-cider - @ljharb - should properly audit aliases and warn on git deps - basically audit as much things as possible, warn on anything we can not audit - **Actions:** - [ ] @darcyclarke to backlog a ticket for making `npm:` alias' & `overrides` autidble - [ ] @darcyclarke to backlog a ticket for improving output when packages are skipped from the audit process #### **PR**: [#488 Make npm install scripts opt-in](https://github.com/npm/rfcs/pull/488) - @tolmasky - @styfle - sounds like this is great in an ideal world, maybe not for a couple years - prebuilt binaries are one of the main reasons install scripts are necessary, if we could solve these two it would help a lot: - have a way to detect the correct prebuilt binary (musl vs glibc) for current platform - fallback to WASM if prebuilt binary not found for current platform - @darcyclarke - let's bring in more ideas/features that will enable the future in which scripts can be opt-out by default - this will probably not land in a few years, we need time for the ecosystem to adapt - @mylesborins - not convinced that getting rid of scripts is the right call - the fact that the ecosystem is using it for getting right prebuilt binaries is more of a symptom that we need to improve that story #### **PR**: [#481 RFC: Run `prepare` Scripts for Linked Bundled Dependencies](https://github.com/npm/rfcs/pull/481) - @mysterycommand - @darcyclarke - this is probably a bug that will get some eyes very soon as we tackle the backlog #### **PR**: [#375 Define which dependencies are shared among workspace projects](https://github.com/npm/rfcs/pull/375) - @isaacs - @ljharb - willing to help out with this