Skip to content

Files

Latest commit

 

History

History
29 lines (27 loc) · 1.19 KB

outline.md

File metadata and controls

29 lines (27 loc) · 1.19 KB

Presentation Outline

This is an overview of topics/sections from which the slides are derived.

  • Intro
    • Title
    • Introduce Self
    • Introduce Topic
  • Motivation
    • Background on problem (e.g. dependency resolution on web, no server, etc)
    • What was attempted before
    • Performance is a concern
    • Lots of node-side tooling not available in web-compatible JS libraries (e.g. tar)
    • Eventual ability to work against private registries
  • Solution
    • Use WebAssembly to run package manager directly on the edgiest of edges (browser itself)
    • Use a "systems" language that already has native libraries (Rust in this case)
    • Use a package manager that is already written (Orogene)
  • Details
    • Package up its dependency resolution algorithm in a WASM module
    • Use tsify to extract TypeScript types from Rust code
    • wasm-bindgen/wasm-pack to build publishable NPM packages
    • js_sys, wasm_streams, others for compatibility with foreign types
    • Big caveat: BYOGC
    • Give brief tour of node_maintainer::wasm module
    • Give brief tour of what compilation and output look like
  • Put a Bow On it
    • Show what the consuming wrapper looks like
    • Video of package manager working in vscode.dev