Jazor 0.1.25

dotnet add package Jazor --version 0.1.25
                    
NuGet\Install-Package Jazor -Version 0.1.25
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Jazor" Version="0.1.25" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Jazor" Version="0.1.25" />
                    
Directory.Packages.props
<PackageReference Include="Jazor" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Jazor --version 0.1.25
                    
#r "nuget: Jazor, 0.1.25"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Jazor@0.1.25
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Jazor&version=0.1.25
                    
Install as a Cake Addin
#tool nuget:?package=Jazor&version=0.1.25
                    
Install as a Cake Tool

Jazor

Write JavaScript in C#.

Jazor is a C#-to-JavaScript compiler that translates Roslyn IOperation semantics into standard ECMAScript AST. The Jazor package carries the core runtime, analyzer, source generator, emit tool, MSBuild integration, and the baseline Vue 3 authoring surface.

Features

  • C# → JS compilation — lowers Roslyn semantic model (IOperation) to ESTree-compliant JavaScript via Acornima, preserving evaluation order and side-effect semantics.
  • Whitelist-gated runtime surface — only explicitly mapped CLR APIs are emitted as JavaScript. The bundled analyzer enforces these boundaries at compile time.
  • Vue 3 authoring surface — write defineComponent(), h(), typed props/slots, and reactive setups in C#; emitted JS is standard Vue 3 component shapes with no private runtime wrapper.
  • Record structural lowering — C# records lower to plain JS objects with [Spread] flattening and static null omission, no runtime overhead.
  • Source Generator + MSBuild — whitelist generation, emit, and optional bundling run automatically during build. No extra toolchain required.
  • Source Maps — every emitted .mjs ships with an accompanying .mjs.map.

Install

<ItemGroup>
  <PackageReference Include="Jazor" Version="0.1.22" />
</ItemGroup>

Usage

Class libraries

Every project that declares [ECMAScriptModule] must reference Jazor:

<ItemGroup>
  <PackageReference Include="Jazor" Version="0.1.22" />
</ItemGroup>

Keep JazorEmit disabled (default) in library projects.

Optional frontend ecosystem packages

Jazor no longer bundles higher-level Vue ecosystem libraries by default. Add them explicitly when your authoring surface needs them:

<ItemGroup>
  <PackageReference Include="Jazor" Version="0.1.22" />
  <PackageReference Include="ECMAScript.VueRoute" Version="0.1.22" />
  <PackageReference Include="ECMAScript.Pinia" Version="0.1.22" />
  <PackageReference Include="ECMAScript.Vuetify" Version="0.1.22" />
  <PackageReference Include="ECMAScript.TDesign" Version="0.1.22" />
</ItemGroup>
  • ECMAScript.Vue3 remains part of the default Jazor package.
  • ECMAScript.Pinia.Testing is a separate opt-in testing package layered on top of ECMAScript.Pinia.

Host / executable projects

The final executable or web host project enables emit and optionally bundling:

<ItemGroup>
  <PackageReference Include="Jazor" Version="0.1.22" />
</ItemGroup>

<PropertyGroup>
  <JazorEmit>true</JazorEmit>
  <JazorOutDir>$(MSBuildProjectDirectory)\wwwroot\generated\</JazorOutDir>
  <JazorBundle>false</JazorBundle>
</PropertyGroup>
  • JazorEmit scans the host output and referenced assemblies, emitting all declared modules together.
  • JazorBundle=true bundles emitted modules through the bundled Deno runtime — no global Deno install needed on the consumer machine.
Product Compatible and additional computed target framework versions.
.NET net11.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net11.0

    • No dependencies.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on Jazor:

Package Downloads
ECMAScript.TDesign

TDesign Vue Next bindings and RazorVue authoring component stubs for ECMAScript.

ECMAScript.Vuetify

Vuetify bindings and RazorVue authoring component stubs for ECMAScript.

ECMAScript.Pinia

Pinia host bindings for ECMAScript runtime authoring.

ECMAScript.VueRoute

Vue Router 4 host bindings for ECMAScript runtime authoring.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.25 0 5/16/2026
0.1.24-alpha.0.1 31 5/14/2026
0.1.23 43 5/14/2026
0.1.22 83 5/12/2026
0.1.17 89 5/4/2026
0.1.15 95 4/30/2026
0.1.13 83 4/30/2026