denoland / denoland/deno_graph
WASM dependency analysis
- Dominant language
- Rust
- Stars
- 137
- Forks
- 47
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 4
Description
To unblock https://github.com/denoland/deno/issues/2552, `deno_graph` needs to be able to represent WASM modules in a module graph. To do this, we need to parse out the [`import`](https://webassembly.github.io/spec/core/syntax/modules.html#syntax-import) sections in a module, because with the ESM-WASM integration, these can reference other JS / WASM modules (and thus they need to be part of the module graph).
To do the analysis of the WASM modules we can probably use [`wasmparser`](https://crates.io/crates/wasmparser). It is a streaming parser, so we don't waste compute cycles and memory getting an entire WASM AST just to extract the imports.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading deno_graph's existing module-graph representation and the wasmparser import-section API. Confirm how WASM modules and their imported JS/WASM references should be represented, then add coverage showing those imports are extracted into the graph.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, wasm
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100