~/talk

Server-Side Computation of Package Dependencies in Package-Management Systems

Talkat APLAS 2021 · 2021-10-17..10-22· [developer-experience, software-architecture]
links:none on file
links:none on file
slides:none on file

Server computes full dependency graphs for npm packages in advance and serves them so clients fetch each package graph with one request. Implementation includes fpms-server (Scala) and a TypeScript client fpms. Initialization parallelization cuts indirect-dependency computation from 30 minutes to 15 minutes. Adding a package triggers incremental recomputation whose cost scales with how many packages depend on that name (underscore and debug cause large updates). Experiments show client installs run more than two times faster than existing npm/yarn clients for dependency-heavy packages.

AI-written summary · about

  1. 0:00Package dependency computation
  2. 1:37Server-side dependency proposal
  3. 2:25Dependency graph updates
  4. 3:09Circular dependencies in graphs
  5. 3:51Scalability with millions of packages
  6. 4:13Server-side dependency algorithms
  7. 6:24Directly-dependent packages
  8. 6:44Indirectly-dependent packages
  9. 7:28Recomputing graphs on new package
  10. 8:10Implementation and performance
  11. 8:56Demo with fpms-server
  12. 9:19Dependency query and installation
  13. 10:16Comparison with yarn
  14. 10:57Server initialization times
  15. 12:12Summary and future work
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.