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

@miden-sdk/vite-plugin

v0.17.3

Published

Vite plugin for Miden dApps: WASM dedup, COOP/COEP headers and a gRPC-web proxy. Run `npm create @miden-sdk@latest` to set up agent guidance.

Readme

@miden-sdk/vite-plugin

Start here

npm create @miden-sdk@latest

Run that once in your project. Miden is pre-1.0 and its API moves between minor versions, so an AI coding agent working from training data will write code for a version you are not on. Every @miden-sdk/* package ships an AGENTS.md and task-scoped skills/ inside its tarball, matched to the exact version in your lockfile - this command is what points your agent at them, by writing the pointers into your own AGENTS.md and CLAUDE.md. It is idempotent, so re-run it after an upgrade.

Prefer to wire it up by hand? The block to paste is below.

Starting from nothing rather than adding to an existing app? 0xMiden/agentic-template scaffolds the whole stack with this already done.

Vite plugin for Miden dApps. Automates WASM deduplication, cross-origin isolation headers, and gRPC-web proxy configuration.

Installation

npm install @miden-sdk/vite-plugin --save-dev
# or
pnpm add @miden-sdk/vite-plugin --dev

For AI coding agents

This package ships AGENTS.md and a skills/vite-wasm-setup/ guide inside the tarball, version-matched to the code you installed. Agents do not read node_modules unprompted, so paste this into your project's root AGENTS.md or CLAUDE.md:

<!-- BEGIN:miden-agent-rules -->
## Miden

This project uses the Miden web SDK. Your training data is likely out of date:
Miden is pre-1.0 and its API changes between minor versions.

Before writing or reviewing Miden code, read the version-matched guide that
ships inside the package you are touching:

- `node_modules/@miden-sdk/<package>/AGENTS.md`, for any `@miden-sdk/*` package
  you import. Start with `miden-sdk` (core client), `react` (hooks) and
  `vite-plugin` (bundler setup).

Each guide indexes task-specific skills in that package's `skills/` directory.
Read the relevant skill before implementing, not after.

These files ship in the published tarball, so they describe the exact version
you have installed. The version is in the same directory's `package.json`; if a
guide disagrees with what you expected, the guide is right and your assumption
is stale.
<!-- END:miden-agent-rules -->

Usage

// vite.config.ts
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import { midenVitePlugin } from "@miden-sdk/vite-plugin";

export default defineConfig({
  plugins: [
    midenVitePlugin(), // zero-config: all defaults
    react(),
  ],
});

With Options

midenVitePlugin({
  rpcProxyTarget: "https://rpc.testnet.miden.io", // default
  rpcProxyPath: "/rpc.Api",                        // default
  crossOriginIsolation: false,                     // default
  wasmPackages: ["@miden-sdk/miden-sdk"],           // default
});

What It Does

| Config | Purpose | |--------|---------| | resolve.alias | Force single copy of WASM module (avoids class identity issues) | | resolve.dedupe | Vite deduplication hint | | resolve.preserveSymlinks | Monorepo/symlink support | | optimizeDeps.exclude | Don't pre-bundle WASM packages | | server.headers (COOP/COEP) | SharedArrayBuffer for WASM workers | | server.proxy | gRPC-web CORS bypass in dev | | build.target: "esnext" | Top-level await for WASM | | worker.format: "es" | ES module workers for WASM |

Options

wasmPackages

  • Type: string[]
  • Default: ["@miden-sdk/miden-sdk"]
  • Packages to deduplicate and exclude from pre-bundling.

crossOriginIsolation

  • Type: boolean
  • Default: false
  • Adds Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers to the dev server. Required for SharedArrayBuffer, which the multi-threaded build's WASM workers need, so turn it on when you import from @miden-sdk/miden-sdk/mt. It is off by default because the headers change how the whole page behaves: once they are set, third-party embeds, images and scripts served without the matching CORS headers stop loading, and the breakage usually shows up far from this config.

rpcProxyTarget

  • Type: string | false
  • Default: "https://rpc.testnet.miden.io"
  • gRPC-web proxy target URL for the dev server. Set to false to disable.

rpcProxyPath

  • Type: string
  • Default: "/rpc.Api"
  • Path prefix for gRPC-web proxy requests.

Requirements

  • Vite 5.x or 6.x

License

MIT