#### Meeting from: April 6th, 2022
# Open RFC Meeting (npm)
### Attendees
- Darcy Clarke (@darcyclarke)
- Nathan Fritz (@fritzy)
- Ruy Adorno (@ruyadorno)
- Jordan Harband (@ljharb)
- Bogi Wennerstrøm (@boginw)
- Owen Buckley (@thescientist13)
- Caleb Everett (@everett1992)
- Gar (@wraithgar)
### Previously...
- [2022-02-23](https://github.com/npm/rfcs/blob/main/meetings/2022-02-23.md)
### Agenda
1. **Housekeeping**
1. Introduction(s)
1. Code of Conduct Acknowledgement
1. Outline Intentions & Desired Outcomes
1. Announcements
- [**v9 Roadmap**](https://github.com/npm/statusboard/issues/443)
#### ℹ️ Updates:
1. **Improving Output:**
- **Issue**: [#482 [RRFC] npm should use stderr for errors](https://github.com/npm/rfcs/issues/482) - @exx8
- @lukekarrys wip: streaming log file, progress bar improvements, we can take out of the agenda for now
2. **Respecting returned registry `resolve` fields:**
- **PR**: [#486 Resolved registry overrides](https://github.com/npm/rfcs/pull/486) - @everett1992
- **PR**: [#4264 implement options affecting `resolved` value in lock files.](https://github.com/npm/cli/pull/4264) - @everett1992
- @fritzy `replace registry host` can be either `default` (https://registry.npmjs.org), `always` (replacing with `registry` value) or `avoid` replacing at all. ref: https://github.com/npm/pacote/pull/143
- @everett1992 an important feature needed is to skip storing the custom registry value back to the lockfile (interesting usecase with rotating registries)
3. **`npm copy`:**
- **PR**: [#493 docs: add npm copy rfc](https://github.com/npm/rfcs/pull/493) - @everett1992
- https://github.com/npm/cli/pull/4082
4. **Package Distributions:**
- **PR**: [#519 RFC: Package Distributions](https://github.com/npm/rfcs/pull/519) - @darcyclarke
- TBD: Schedule a separate call to discuss the proposal
5. **Shared Version Specifications**:
- **PR**: [#528 RFC: Shared Version Specifications](https://github.com/npm/rfcs/pull/528) - @boginw
- https://github.com/npm/rfcs/pull/528#issuecomment-1068424777
- @darcyclarke a way to work around this is to use `overrides` to tie various semver ranges declared for a given package in the installed graph to a specific version of a package
6. **Improving Workspaces:**
- **Issue**: [#556 [RRFC] improving the workspaces symlinking experience](https://github.com/npm/rfcs/issues/556) - @bnb
- @ruyadorno
- this has been implemented for `npm version`
- can now map the same functionality to other commands (like the example, `npm init`)
#### ⭐️ New Items:
#### 1. **Issue**: [#4236 BREAKING CHANGE(bin): command should not return non-existent paths](https://github.com/npm/statusboard/issues/479) - @lineus
- @ljharb
- many people abuse `npm bin` & have put it in their path
- should be encouraged to use `npx`
- @darcyclarke
- this has been added to the `v9` backlog of breaking changes
- @wraithgar
- should we just deprecate this command? what is the use for it these days?
#### 2. **Issue**: [#3806 [FEATURE] run-script with workspaces should short-circuit on script error](https://github.com/npm/cli/issues/3806) - @johndiiorio
- @wraithgar
- this was discussed previously and was a deliberate decision when we first implemented support to workspaces
- @darcyclarke
- adding a `--fast-fail` or `--bail` option sounds like a reasonable decision
#### 3. **Issue**: [#539 [RRFC] Security: audit lockfiles for injection](https://github.com/npm/rfcs/issues/539) - @fritzy
- @fritzy
- arguments have been made that if someone can modify files in your repo
- @darcyclarke
- could shove this check in `npm doctor`
#### 4. **PR**: [#547 add "obey user specifier" RFC](https://github.com/npm/rfcs/pull/547) - @ljharb
- @ljharb
- this came up because of a breakage
- `npm install =` resolves to `^`
- `npm` has always behaved this way (ie. drops all prefixes & uses the `save-prefix`)
- @wraithgar
- this is a bug
#### 5. **Issue**: [#548 [RRFC] Add flag for running NPM commands in transitive dependencies](https://github.com/npm/rfcs/issues/548) - @zgriesinger
- @zgriesinger
- currently use lerna for this (topological order for building)
- respecting dependencies and running
- @darcyclarke
- https://turborepo.org/docs/features/pipelines
- @ljharb
- current tooling do not deviate from the regular dependency graph
- @wraithgar
- seem weird to have these magic/special relationships when running scripts (ex. `npm test` should not, by default, run the tests of dependants)
- @ruyadorno
- we've tried this awhile back with `postinstall` scripts for `.reify()`
- we can probably fix
#### 6. **Issue**: [#549 [RRFC] support different `--before` policy per package prefix/pattern](https://github.com/npm/rfcs/issues/549) - @osher
#### 7. **Issue**: [#559 [RRFC] expanding behavior of `--before` to support date adjustment and setting via config](https://github.com/npm/rfcs/issues/559) - @MylesBorins
#### 8. **Issue**: [#4558 [BUG] Cannot work on FAT32 USB drive](https://github.com/npm/cli/issues/4558) - @szatanjl
#### 9. **PR**: [#564 RFC: Dependency Selector Syntax & `npm query`](https://github.com/npm/rfcs/pull/564) - @darcyclarke
#### 10. **PR**: [#566 RFC: Command Specific Configuration](https://github.com/npm/rfcs/pull/566) - @darcyclarke
#### 11. **PR**: [#550 RFC: Improve signature verification](https://github.com/npm/rfcs/pull/550) - @feelepxyz
#### 12. **Issue**: [#546 [RRFC] Clean up file ownership story](https://github.com/npm/rfcs/issues/546) - @ruyadorno