A prototype web-based tool for exploring and analyzing WebAssembly modules. Built with React, TypeScript, and Rust using WebAssembly Components.
- Interactive Explorer: Navigate through WebAssembly module structure with a virtualized tree view
- Rich Text Format Viewer: View WebAssembly Text format with syntax highlighting and semantic coloring
- Real-time Navigation: Click on items in the navigator to jump to specific sections in the text format
- Cross-Reference Navigation: Click on function names and references to navigate between related items
- Search Functionality: Find and navigate to specific items within modules
- Frontend: React + TypeScript application with Tailwind CSS
- WASM Tools Integration: Leverages
wasmparser
,wasmprinter
, andwat
crates for module analysis using the wasm component-model.
- URL proxy server: Dedicated server to proxy URL requests to workaround CORS restrictions.
- Sharing server: Simple server or P2P code for sharing a loaded module with someone else.
- Faster virtualization: Upstream changes to wasmprinter to filter displayed range, instead of the current hack.
- Component support
- Find callers of functions
- Full text search of module
- Optional folding mode
- Node.js (for frontend build tools)
- Rust with
cargo component
installed wasm32-wasip1
target for Rust
- Clone the repository:
git clone https://github.com/eqrion/wasm-explorer.git
cd wasm-explorer
- Install dependencies:
npm install
- Build the project:
npm run build
To start development with file watching:
npm run watch
This will rebuild the project automatically when files change.
This project is licensed under multiple licenses:
- Apache License 2.0
- Apache License 2.0 with LLVM Exception
- MIT License
See the respective LICENSE files for details.