#### Meeting from: July 13th, 2022
# Open RFC Meeting (npm)
### Attendees
- Darcy Clarke (@darcyclarke)
- Gar (@wraithgar)
- Jon Jensen (@jenseng)
- Nathan Fritz (@fritzy)
- David Zearing (@dzearing (dzearing@microsoft.com))
- Jordan Harband (@ljharb)
### Agenda
1. **Housekeeping**
1. Introduction(s)
1. Code of Conduct Acknowledgement
1. Outline Intentions & Desired Outcomes
1. Announcements
1. **PR**: [#5000 feat: add npm query cmd](https://github.com/npm/cli/pull/5000) - @ruyadorno
1. **PR**: [#595 Propose backwards-compatible improvements to compression](https://github.com/npm/rfcs/pull/595) - @EvanHahn
1. **PR**: [#593 Only Registry Tarballs](https://github.com/npm/rfcs/pull/593) - @thescientist13
1. **PR**: [#591 RFC: Registry-scoped keyfile / certfile credential options](https://github.com/npm/rfcs/pull/591) - @jenseng
1. **Issue**: [#489 Initiative: `v8.x`](https://github.com/npm/statusboard/issues/489) - @darcyclarke
1. **Issue**: [#487 Initiative: `v10.x`](https://github.com/npm/statusboard/issues/487) - @darcyclarke
1. **PR**: [#564 RFC: Dependency Selector Syntax & `npm query`](https://github.com/npm/rfcs/pull/564) - @darcyclarke
1. **Issue**: [#443 Initiative: `v9.x`](https://github.com/npm/statusboard/issues/443) - @darcyclarke
1. **Issue**: [#438 [RRFC] Add libc fields to select optionalDependencies should be installed or skipped](https://github.com/npm/rfcs/issues/438) - @Brooooooklyn
1. **PR**: [#165 RFC for parent package.json](https://github.com/npm/rfcs/pull/165) - @Christian24
### Notes
#### **PR**: [#5000 feat: add npm query cmd](https://github.com/npm/cli/pull/5000) - @ruyadorno
- @wraithgar
- added `from` field to resulting json from `npm query`
- @darcyclarke
- will add updates back to the RFC & ratify
#### **PR**: [#595 Propose backwards-compatible improvements to compression](https://github.com/npm/rfcs/pull/595) - @EvanHahn
- No update
#### **PR**: [#593 Only Registry Tarballs](https://github.com/npm/rfcs/pull/593) - @thescientist13
- No update
#### **PR**: [#591 RFC: Registry-scoped keyfile / certfile credential options](https://github.com/npm/rfcs/pull/591) - @jenseng
- @jenseng
- open three PRs (under review)
- notably implementation uses sync operation
- @ljharb
- `fs.readFileSync` is totaly fine to use
- @darcyclarke
- ratify
#### **Issue**: [#489 Initiative: `v8.x`](https://github.com/npm/statusboard/issues/489) - @darcyclarke
#### **Issue**: [#443 Initiative: `v9.x`](https://github.com/npm/statusboard/issues/443) - @darcyclarke
#### **Issue**: [#487 Initiative: `v10.x`](https://github.com/npm/statusboard/issues/487) - @darcyclarke
#### **PR**: [#564 RFC: Dependency Selector Syntax & `npm query`](https://github.com/npm/rfcs/pull/564) - @darcyclarke
- @darcyclarke
- Update based on WIP PR (case sensitive attributes & `from` field) & ratify (including spec for programmatic usage & returned values)
#### **Issue**: [#438 [RRFC] Add libc fields to select optionalDependencies should be installed or skipped](https://github.com/npm/rfcs/issues/438) - @Brooooooklyn
- @darcyclarke
- this would be the last priveledged top-level field for conditional packages beyond more holistic enhancements to distributions
#### **PR**: [#165 RFC for parent package.json](https://github.com/npm/rfcs/pull/165) - @Christian24
- @darcyclarke
- Waiting on @wesleytodd's feedback/input
#### `singleton` https://github.com/npm/rfcs/pull/23
- @dzearing
- 4 problems to address:
- producer packages can't declare themselves singletons, leaving it up to others to decide via peers
- hosts can't declare dependencies as singletons, so the tools end up duplicating singletons and bulky things that would be best installed once
- peers aren't well enforced, the term "peer" does not imply "singleton" so there is clear understanding of when something should be listed as a dependency or dev dependency
- when duplicates show up, no error messaging explains how to fix. If there is a way for producers to declare singleton expecetations, and a way for consumers to override either default or singleton policies, error messages can explain much more easily how to resolve.
- MS is looking to do this as a prototype
- tool to read policy metadata and run after post install to clearly list the problems and potential resolutions
- learn from experiment; if it is a viable replacement to peers, we should consider moving it into cli
- @ljharb
- this is definitely a problem
- there's an education problem with the community
- peer dependencies are basically a hoised requirement
- used to use `npm ls` to highlight issues with projects
- maintainers are not allows accurately understanding usage
- @wraithgar
- still have to declare peer dependency (even if your dep denotes it's a singleton)