explaingit

arcademode/unplugin-dotnet-wasm

Analysis updated 2026-05-18

1TypeScriptAudience · developerComplexity · 3/5Setup · moderate

TLDR

A build tool plugin that lets developers import .NET WebAssembly browser apps directly into a JavaScript project without manual copy steps.

Mindmap

mindmap
  root((unplugin-dotnet-wasm))
    What it does
      Imports .NET WASM apps
      Skips manual copy steps
      Uses fast dotnet build
    Tech stack
      TypeScript
      unplugin
      Vite and other bundlers
    Use cases
      Mixed .NET and JS projects
      Blazor style WASM apps
      Faster dev builds
    Audience
      Developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Import a compiled .NET WebAssembly app straight into a JavaScript bundler's build.

USE CASE 2

Avoid manually copying .NET build output into a public folder for JS projects.

USE CASE 3

Speed up development by using dotnet build instead of dotnet publish during iteration.

USE CASE 4

Combine JavaScript tooling with a .NET browser app across many different bundlers.

What is it built with?

TypeScriptunpluginViteWebpackRollup.NET

How does it compare?

arcademode/unplugin-dotnet-wasm0xkinno/neuralvault0xmayurrr/ai-contractauditor
Stars111
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatehardeasy
Complexity3/54/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Node 24+, the .NET 10 SDK, and pnpm installed before running the sample.

The README does not state a license for the project.

In plain English

This tool lets developers import a .NET web app, compiled to WebAssembly, directly into a JavaScript project as if it were any other dependency. Normally, getting a .NET browser app to work alongside JavaScript code means manually copying build output files into a public folder and wiring things up by hand. This plugin removes that manual copy step by hooking into the JavaScript bundler's own build process, so the .NET files just become part of the normal build. It also uses the faster dotnet build command during development, rather than the slower dotnet publish command, which is only needed when actually shipping the finished app. This should make the everyday development loop quicker. The project is built on top of a library called unplugin, which is a shared foundation that many different JavaScript build tools already support. Because of that, this one plugin works across a wide range of popular bundlers, including Vite, Webpack, Rollup, Rolldown, Rspack, Rsbuild, esbuild, Farm, and Bun, without needing separate versions for each. The README points to a companion project called TypeShim for smoother interaction between .NET and JavaScript code, and links out to a package README and an architecture document for setup instructions per bundler and for the reasoning behind its design. To try the included sample project, a developer needs Node 24 or newer, the .NET 10 SDK, and the pnpm package manager, after which they can build and preview a sample built with Vite. Other bundler examples live in the repository's test fixtures folder. The README does not state a license for the project.

Copy-paste prompts

Prompt 1
Help me install and configure unplugin-dotnet-wasm for my Vite project.
Prompt 2
Explain how this plugin hooks .NET WASM output into a JavaScript bundler's module graph.
Prompt 3
Walk me through building and previewing this repo's sample Vite project.
Prompt 4
What is the difference between dotnet build and dotnet publish in the context of this plugin?

Frequently asked questions

What is unplugin-dotnet-wasm?

A build tool plugin that lets developers import .NET WebAssembly browser apps directly into a JavaScript project without manual copy steps.

What language is unplugin-dotnet-wasm written in?

Mainly TypeScript. The stack also includes TypeScript, unplugin, Vite.

What license does unplugin-dotnet-wasm use?

The README does not state a license for the project.

How hard is unplugin-dotnet-wasm to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is unplugin-dotnet-wasm for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.