Commit 036ea36
Add DeltaCalculator graph invalidation for package exports (experimental)
Summary:
Implements invalidation of dependencies (marks all graphs as dirty) whenever a `package.json` file is changed.
The reasoning for this is that:
- A package.json update that changes `"exports"` can change resolutions by entirely swapping out modules.
- "Phantom dependencies" can exist when an `"exports"` subpath redirects an apparent subpath to another target file. If `"exports"` is updated to remove this mapping, any file(s) at the apparent subpath would need to be watched.
**This is not a final approach, but is acceptable while the Package Exports feature is `unstable`**.
Changelog: [Internal]
Reviewed By: robhogan
Differential Revision: D43394192
fbshipit-source-id: 0ba2c393d8e2b78144c5991d5f48eadd6c47204a1 parent f0119a4 commit 036ea36
10 files changed
Lines changed: 212 additions & 102 deletions
File tree
- packages/metro/src
- DeltaBundler
- __tests__
- Server/__tests__
- lib
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
36 | | - | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
104 | 105 | | |
105 | 106 | | |
106 | 107 | | |
107 | | - | |
108 | | - | |
| 108 | + | |
| 109 | + | |
109 | 110 | | |
110 | | - | |
| 111 | + | |
111 | 112 | | |
112 | 113 | | |
113 | | - | |
| 114 | + | |
114 | 115 | | |
115 | 116 | | |
116 | 117 | | |
| |||
207 | 208 | | |
208 | 209 | | |
209 | 210 | | |
210 | | - | |
211 | | - | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
212 | 217 | | |
213 | | - | |
214 | 218 | | |
215 | 219 | | |
216 | 220 | | |
| |||
281 | 285 | | |
282 | 286 | | |
283 | 287 | | |
284 | | - | |
| 288 | + | |
285 | 289 | | |
286 | 290 | | |
287 | 291 | | |
288 | 292 | | |
289 | | - | |
290 | | - | |
| 293 | + | |
| 294 | + | |
291 | 295 | | |
292 | 296 | | |
293 | 297 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
41 | 42 | | |
42 | 43 | | |
43 | 44 | | |
| |||
0 commit comments