npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, πŸ‘‹, I’m Ryan HefnerΒ  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you πŸ™

Β© 2026 – Pkg Stats / Ryan Hefner

wasm-wizard

v0.1.4

Published

A CLI tool that makes WebAssembly Component Model ridiculously easy to use πŸ§™β€β™‚οΈ

Readme

πŸ§™β€β™‚οΈ WASM Wizard

A CLI tool that makes WebAssembly Component Model ridiculously easy to use

Crates.io NPM License

Why WASM Wizard?

WebAssembly Component Model is the future of portable, composable software. But the tooling is complex and the learning curve is steep. WASM Wizard solves this by providing:

  • πŸ—οΈ Project scaffolding with battle-tested templates
  • ⚑ Smart build optimization and size reduction
  • πŸ”— Component composition and linking made simple
  • πŸ› οΈ Developer-friendly tooling with hot reload
  • πŸ“Š Component analysis and performance insights

Quick Start

Install via npm (recommended)

npm install -g wasm-wizard

Install via cargo

cargo install wasm-wizard

Create your first component

# Create a new Rust component
wasm-wizard new my-component --language rust

# Or create a JavaScript component
wasm-wizard new my-js-component --language javascript

# Or TypeScript
wasm-wizard new my-ts-component --language typescript

# Or create a minimal demo (no language needed)
wasm-wizard new my-demo --template minimal

Build and optimize

cd my-component
wasm-wizard build --optimize

Start development server

wasm-wizard dev --hot-reload

πŸš€ Minimal Template - 7x Performance in <12KB

The minimal template creates ultra-lightweight demos that prove WebAssembly's performance:

wasm-wizard new perf-demo --template minimal
cd perf-demo
python3 -m http.server

Features:

  • βœ… Real WebAssembly bytecode embedded in HTML
  • βœ… 7x+ performance gains vs naive JavaScript
  • βœ… Total file size under 12KB
  • βœ… Zero dependencies, zero build steps
  • βœ… Perfect for demos and proof-of-concepts

Features

πŸ—οΈ Project Scaffolding

Create new WebAssembly components with opinionated, production-ready templates:

wasm-wizard new my-component --template basic --language rust

Available templates:

  • minimal - Ultra-lightweight <12KB demo with 7x performance
  • basic - Simple component with common patterns
  • http - HTTP service component
  • crypto - Cryptographic utilities
  • data - Data processing component

Supported languages:

  • Rust (primary)
  • JavaScript/TypeScript
  • Go (coming soon)
  • Python (coming soon)

⚑ Smart Build Optimization

Build and optimize your components with intelligent defaults:

# Build with optimization
wasm-wizard build --optimize

# Target specific size
wasm-wizard optimize my-component.wasm --size 50kb

# Experimental optimizations
wasm-wizard optimize my-component.wasm --experimental

πŸ”— Component Composition

Compose multiple components into a single, optimized component:

wasm-wizard compose auth.wasm storage.wasm api.wasm --output app.wasm

πŸ› οΈ Developer Experience

  • Hot reload development server
  • Automatic toolchain management
  • Component health checks
  • Language bindings generation
# Start dev server with hot reload
wasm-wizard dev --hot-reload

# Install all required tools
wasm-wizard install --all

# Check component health
wasm-wizard check --fix

# Generate JavaScript bindings
wasm-wizard bindings my-component.wasm --language javascript

πŸ“Š Component Analysis

Get insights into your components:

wasm-wizard analyze my-component.wasm --detailed

Commands

| Command | Description | |---------|-------------| | new | Create a new WASM component project | | build | Build and optimize WASM components | | compose | Compose multiple components | | optimize | Optimize existing WASM components | | dev | Start development server | | install | Install toolchain dependencies | | check | Health check for components | | bindings | Generate language bindings | | analyze | Analyze component performance |

Configuration

WASM Wizard uses a wasm-wizard.toml file for project configuration:

[project]
name = "my-component"
language = "rust"
template = "basic"
version = "0.1.0"

[build]
target = "wasm32-wasip1"
optimization_level = 3
strip_debug = true

[dev]
port = 8080
hot_reload = true
watch_paths = ["src/**/*", "wit/**/*"]

[composition]
output_format = "component"
enable_optimization = true

Real-World Examples

Microservice Architecture

# Create individual services
wasm-wizard new auth-service --template http
wasm-wizard new user-service --template http
wasm-wizard new payment-service --template http

# Build each service
wasm-wizard build --optimize

# Compose into a single deployment
wasm-wizard compose auth.wasm user.wasm payment.wasm --output app.wasm

Data Processing Pipeline

# Create data processing components
wasm-wizard new data-ingestion --template data
wasm-wizard new data-transform --template data
wasm-wizard new data-export --template data

# Compose the pipeline
wasm-wizard compose ingestion.wasm transform.wasm export.wasm --output pipeline.wasm

Performance

WASM Wizard optimizes for both developer experience and runtime performance:

  • 50-80% size reduction through smart optimization
  • Sub-second builds with incremental compilation
  • Hot reload in under 100ms
  • Zero-copy composition for large components

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

Licensed under either of

at your option.

Inspiration

Built for the Fireship community to make WebAssembly accessible to everyone. Special thanks to the Bytecode Alliance for their work on the Component Model.


Made with πŸ§™β€β™‚οΈ by the WebAssembly community