-
Notifications
You must be signed in to change notification settings - Fork 240
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9e38cbc
commit de24430
Showing
1 changed file
with
76 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
|
||
#### Wednesday, April 22, 2020, 2:00 PM EST | ||
# Open RFC Meeting - Deep Dive | ||
|
||
### Attendees | ||
|
||
- Darcy Clarke (@darcyclarke) | ||
- Wes Todd (@wesleytodd) | ||
- Claudia Hernández (@claudiahdz) | ||
- Ruy Adorno (@ruyadorno) | ||
- Isaac Z. Schlueter (@isaacs) | ||
- Jordan Harband (@ljharb) | ||
|
||
### Agenda | ||
|
||
1. **Housekeeping** | ||
1. Introduction(s) | ||
1. Code of Conduct Acknowledgement | ||
1. Outline Intentions & Desired Outcomes | ||
1. Announcements | ||
1. Topic: | ||
* **Resolutions/Overrides** | ||
1. References: | ||
* [**Legacy** Overrides RFC](https://github.com/npm/rfcs/blob/latest/accepted/0009-package-overrides.md) | ||
* [**New** Overrides RFC](https://github.com/npm/rfcs/pull/129) | ||
* [Previous: **Overrides Deep Dive - Agenda**](https://github.com/npm/rfcs/issues/124) | ||
* [Previous: **Overrides Deep Dive - Video Recording**](https://www.youtube.com/watch?v=GTocZoiiu4k&feature=youtu.be) | ||
* [Previous: **Overrides Deep Dive - Notes**](https://github.com/npm/rfcs/blob/latest/meetings/2020-04-08.md) | ||
|
||
|
||
### Notes: | ||
- Discussions on implementation: | ||
Find one override and we're done: once there's a match we will not apply any other overrides, whether is string or object values | ||
- String and object values like: | ||
|
||
```json | ||
{ | ||
"typescript@^3.8": "3.7", | ||
"react": "15", | ||
"react@15": { | ||
"loose-envify@1": "1.3.1" | ||
}, | ||
"tap": { | ||
"react": "16.13.1" | ||
} | ||
} | ||
``` | ||
|
||
Reference: https://github.com/npm/rfcs/blob/isaacs/overrides/accepted/0000-overrides.md#object-overrides | ||
|
||
- Isaac: We have to treat string and object overrides differently, this affects how we merge and deduplicate packages | ||
- Overrides field string structure on `package.json`: | ||
**left hand value**: a name package specifier, github repo link with at a particular branch/commit | ||
**right hand value**: an unnamed package specifier that uses alias specifiers | ||
- Examples: | ||
``` | ||
"foo": "npm:@fancy/foo@${VERSION}" | ||
"foo": "npm:@fancy/foo" | ||
"foo": "https://my-registry/foo/-/foo-${VERSION}.tgz" | ||
“foo”: “latest” | ||
``` | ||
- If you match the left hand value it gets overriden by the right side | ||
- Challanges: figure out which overrides are relevant at a given point of time in the code | ||
- Good aligntment of what should be included in v1 | ||
- - Wes talks about company/team wide package restrictions | ||
- shouldn't take the config out of the thing it is trying to config | ||
- npm has no concept of team-level configs | ||
- v1: npm install and then re-install to get overrides? We assume we get overrides from somewhere | ||
- Jordan: overrides on the packument? | ||
- Isaac to update the RFC with ideas discussed (version defaults, capture groups, sharing configs etc) | ||
|
||
|
||
|
||
|
||
|
||
|