CommunityToolkit.Aspire.Hosting.NodeJS.Extensions 9.8.1-beta.424

Prefix Reserved
This is a prerelease version of CommunityToolkit.Aspire.Hosting.NodeJS.Extensions.
dotnet add package CommunityToolkit.Aspire.Hosting.NodeJS.Extensions --version 9.8.1-beta.424
                    
NuGet\Install-Package CommunityToolkit.Aspire.Hosting.NodeJS.Extensions -Version 9.8.1-beta.424
                    
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="CommunityToolkit.Aspire.Hosting.NodeJS.Extensions" Version="9.8.1-beta.424" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CommunityToolkit.Aspire.Hosting.NodeJS.Extensions" Version="9.8.1-beta.424" />
                    
Directory.Packages.props
<PackageReference Include="CommunityToolkit.Aspire.Hosting.NodeJS.Extensions" />
                    
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 CommunityToolkit.Aspire.Hosting.NodeJS.Extensions --version 9.8.1-beta.424
                    
#r "nuget: CommunityToolkit.Aspire.Hosting.NodeJS.Extensions, 9.8.1-beta.424"
                    
#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 CommunityToolkit.Aspire.Hosting.NodeJS.Extensions@9.8.1-beta.424
                    
#: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=CommunityToolkit.Aspire.Hosting.NodeJS.Extensions&version=9.8.1-beta.424&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=CommunityToolkit.Aspire.Hosting.NodeJS.Extensions&version=9.8.1-beta.424&prerelease
                    
Install as a Cake Tool

CommunityToolkit.Aspire.Hosting.NodeJS.Extensions library

This integration contains extensions for the Node.js hosting package for .NET Aspire, including support for alternative package managers (yarn and pnpm), frontend monorepos (Nx, Turborepo), as well as developer workflow improvements.

Getting Started

Install the package

In your AppHost project, install the package using the following command:

dotnet add package CommunityToolkit.Aspire.Hosting.NodeJS.Extensions

Example usage

Then, in the Program.cs file of AppHost, define a Node.js resource, then call AddYarnApp or AddPnpmApp:

builder.AddYarnApp("yarn-demo")
    .WithExternalHttpEndpoints();

builder.AddPnpmApp("pnpm-demo")
    .WithExternalHttpEndpoints();

Frontend Monorepo Support

For Nx and Turborepo monorepos, use the dedicated monorepo methods to avoid package installation race conditions:

// Nx workspace
var nx = builder.AddNxApp("nx", workingDirectory: "../frontend")
    .WithNpmPackageInstaller()
    .RunWithPackageManager(); // Automatically uses npm from installer

var app1 = nx.AddApp("app1");
var app2 = nx.AddApp("app2", appName: "my-app-2");

// Turborepo workspace  
var turbo = builder.AddTurborepoApp("turbo", workingDirectory: "../frontend")
    .WithYarnPackageInstaller()
    .RunWithPackageManager("yarn"); // Explicitly specify yarn

var turboApp1 = turbo.AddApp("app1");
var turboApp2 = turbo.AddApp("app2", filter: "custom-filter");

See MONOREPO.md for detailed documentation on monorepo support.

Configuring Package Manager for Monorepos

The RunWithPackageManager() method configures which package manager command is used when running individual apps in Nx or Turborepo workspaces:

// Auto-infer from package installer
var nx = builder.AddNxApp("nx", workingDirectory: "../frontend")
    .WithYarnPackageInstaller()
    .RunWithPackageManager(); // Uses 'yarn' command

// Explicitly specify package manager
var turbo = builder.AddTurborepoApp("turbo", workingDirectory: "../frontend")
    .WithNpmPackageInstaller()
    .RunWithPackageManager("pnpm"); // Uses 'pnpm' command despite npm installer

// Generated commands:
// Nx with yarn: yarn nx serve app1
// Turborepo with pnpm: pnpm turbo run dev --filter app1

Package installation with custom flags

You can pass additional flags to package managers during installation:

// npm with legacy peer deps support
builder.AddNpmApp("npm-app", "./path/to/app")
    .WithNpmPackageInstallation(useCI: false, configureInstaller =>
    {
        configureInstaller.WithArgs("--legacy-peer-deps");
    })
    .WithExternalHttpEndpoints();

// yarn with frozen lockfile
builder.AddYarnApp("yarn-app", "./path/to/app")  
    .WithYarnPackageInstallation(configureInstaller =>
    {
        configureInstaller.WithArgs("--frozen-lockfile", "--verbose");
    })
    .WithExternalHttpEndpoints();

// pnpm with frozen lockfile
builder.AddPnpmApp("pnpm-app", "./path/to/app")
    .WithPnpmPackageInstallation(configureInstaller =>
    {
        configureInstaller.WithArgs("--frozen-lockfile");
    })
    .WithExternalHttpEndpoints();

Additional Information

https://learn.microsoft.com/dotnet/aspire/community-toolkit/hosting-nodejs-extensions

Feedback & contributing

https://github.com/CommunityToolkit/Aspire

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on CommunityToolkit.Aspire.Hosting.NodeJS.Extensions:

Repository Stars
microsoft/semantic-kernel
Integrate cutting-edge LLM technology quickly and easily into your apps
davidfowl/aspire-ai-chat-demo
Aspire AI Chat is a full-stack chat sample that combines modern technologies to deliver a ChatGPT-like experience.
Version Downloads Last Updated
9.8.1-beta.424 45 10/28/2025
9.8.1-beta.420 39 10/27/2025
9.8.1-beta.419 35 10/27/2025
9.8.1-beta.417 36 10/27/2025
9.8.1-beta.414 127 10/24/2025
9.8.1-beta.413 128 10/22/2025
9.8.1-beta.410 150 10/16/2025
9.8.1-beta.408 109 10/16/2025
9.8.1-beta.407 110 10/16/2025
9.8.1-beta.406 121 10/15/2025
9.8.0 18,529 9/26/2025
9.8.0-beta.405 121 10/15/2025
9.8.0-beta.404 123 10/13/2025
9.8.0-beta.402 128 9/29/2025
9.8.0-beta.401 127 9/29/2025
9.8.0-beta.399 122 9/26/2025
9.8.0-beta.398 129 9/25/2025
9.8.0-beta.397 128 9/25/2025
9.8.0-beta.395 146 9/24/2025
9.8.0-beta.394 241 9/23/2025
9.8.0-beta.393 127 9/23/2025
9.8.0-beta.392 123 9/23/2025
9.8.0-beta.389 397 9/18/2025
9.8.0-beta.388 298 9/16/2025
9.8.0-beta.386 228 9/15/2025
9.8.0-beta.385 203 9/15/2025
9.8.0-beta.384 53 9/13/2025
9.8.0-beta.376 183 9/8/2025
9.8.0-beta.375 64 9/6/2025
9.8.0-beta.373 162 9/5/2025
9.8.0-beta.372 141 9/4/2025
9.8.0-beta.370 137 9/2/2025
9.8.0-beta.364 130 9/1/2025
9.7.2 18,664 8/29/2025
9.7.2-beta.362 168 8/29/2025
9.7.2-beta.361 169 8/29/2025
9.7.2-beta.360 175 8/29/2025
9.7.2-beta.359 168 8/28/2025
9.7.2-beta.358 167 8/28/2025
9.7.2-beta.357 170 8/28/2025
9.7.1 2,066 8/27/2025
9.7.1-beta.355 175 8/27/2025
9.7.1-beta.354 167 8/27/2025
9.7.1-beta.353 170 8/27/2025
9.7.1-beta.352 171 8/27/2025
9.7.1-beta.351 168 8/27/2025
9.7.1-beta.348 390 8/14/2025
9.7.1-beta.344 268 8/10/2025
9.7.1-beta.343 216 8/8/2025
9.7.1-beta.342 222 8/7/2025
9.7.1-beta.341 208 8/6/2025
9.7.1-beta.340 203 8/5/2025
9.7.1-beta.339 189 8/5/2025
9.7.0 14,070 8/1/2025
9.7.0-beta.337 86 8/1/2025
9.7.0-beta.336 105 8/1/2025
9.7.0-beta.335 93 8/1/2025
9.7.0-beta.333 106 7/30/2025
9.6.1-beta.332 100 7/30/2025
9.6.1-beta.331 98 7/30/2025
9.6.1-beta.330 106 7/30/2025
9.6.1-beta.329 102 7/30/2025
9.6.1-beta.328 110 7/29/2025
9.6.1-beta.327 122 7/28/2025
9.6.1-beta.326 119 7/28/2025
9.6.0 14,940 7/10/2025
9.6.0-beta.324 127 7/10/2025
9.5.1-beta.323 130 7/10/2025
9.5.1-beta.322 126 7/10/2025
9.5.1-beta.321 129 7/10/2025
9.5.1-beta.320 136 7/9/2025
9.5.1-beta.319 132 7/8/2025
9.5.1-beta.318 169 7/2/2025
9.5.1-beta.317 192 6/30/2025
9.5.1-beta.315 469 6/26/2025
9.5.1-beta.314 158 6/23/2025
9.5.1-beta.313 118 6/20/2025
9.5.1-beta.312 123 6/20/2025
9.5.1-beta.311 280 6/18/2025
9.5.1-beta.310 158 6/17/2025
9.5.1-beta.309 140 6/17/2025
9.5.1-beta.308 171 6/17/2025
9.5.1-beta.307 140 6/16/2025
9.5.1-beta.306 505 6/11/2025
9.5.1-beta.305 138 6/7/2025
9.5.1-beta.304 134 6/6/2025
9.5.1-beta.303 151 6/4/2025
9.5.1-beta.302 147 6/4/2025
9.5.1-beta.301 160 6/2/2025
9.5.1-beta.300 154 5/28/2025
9.5.0 24,677 5/27/2025
9.5.0-beta.299 155 5/27/2025
9.5.0-beta.298 160 5/26/2025
9.5.0-beta.297 121 5/24/2025
9.5.0-beta.296 118 5/24/2025
9.5.0-beta.295 72 5/24/2025
9.4.1-beta.291 168 5/19/2025
9.4.1-beta.289 193 5/16/2025
9.4.1-beta.288 236 5/16/2025
9.4.1-beta.287 220 5/16/2025
9.4.1-beta.286 218 5/16/2025
9.4.1-beta.285 285 5/14/2025
9.4.1-beta.284 240 5/13/2025
9.4.1-beta.283 258 5/12/2025
9.4.1-beta.282 178 5/7/2025
9.4.1-beta.280 181 5/2/2025
9.4.1-beta.279 143 5/2/2025
9.4.1-beta.277 411 4/23/2025
9.4.1-beta.276 186 4/23/2025
9.4.1-beta.275 178 4/23/2025
9.4.1-beta.274 155 4/23/2025
9.4.1-beta.273 172 4/23/2025
9.4.1-beta.272 146 4/23/2025
9.4.1-beta.271 167 4/23/2025
9.4.1-beta.270 168 4/20/2025
9.4.0 35,650 4/20/2025
9.4.0-beta.269 166 4/20/2025
9.4.0-beta.268 166 4/20/2025
9.3.1-beta.267 168 4/20/2025
9.3.1-beta.266 92 4/19/2025
9.3.1-beta.265 224 4/15/2025
9.3.1-beta.264 197 4/15/2025
9.3.1-beta.263 205 4/15/2025
9.3.1-beta.262 190 4/15/2025
9.3.1-beta.260 207 4/10/2025
9.3.1-beta.259 186 4/8/2025
9.3.1-beta.258 171 4/8/2025
9.3.1-beta.257 174 4/8/2025
9.3.1-beta.256 176 4/8/2025
9.3.1-beta.255 173 4/8/2025
9.3.1-beta.254 174 4/8/2025
9.3.1-beta.253 173 4/1/2025
9.3.1-beta.252 151 3/27/2025
9.3.1-beta.250 153 3/27/2025
9.3.1-beta.249 144 3/27/2025
9.3.1-beta.248 151 3/27/2025
9.3.1-beta.247 153 3/27/2025
9.3.1-beta.244 502 3/25/2025
9.3.1-beta.242 499 3/24/2025
9.3.1-beta.241 148 3/19/2025
9.3.0 23,495 3/19/2025
9.3.0-beta.239 168 3/19/2025
9.2.2-beta.237 155 3/19/2025
9.2.2-beta.236 113 3/14/2025
9.2.2-beta.230 171 3/13/2025
9.2.2-beta.229 158 3/13/2025
9.2.2-beta.228 185 3/11/2025
9.2.2-beta.227 180 3/11/2025
9.2.2-beta.226 169 3/11/2025
9.2.2-beta.225 177 3/11/2025
9.2.2-beta.224 176 3/11/2025
9.2.2-beta.223 165 3/10/2025
9.2.2-beta.222 175 3/10/2025
9.2.2-beta.220 173 3/9/2025
9.2.2-beta.218 161 3/9/2025
9.2.2-beta.217 221 3/7/2025
9.2.2-beta.216 207 3/7/2025
9.2.2-beta.215 211 3/7/2025
9.2.2-beta.214 211 3/5/2025
9.2.2-beta.213 203 3/5/2025
9.2.2-beta.212 209 3/5/2025
9.2.2-beta.211 206 3/4/2025
9.2.2-beta.210 208 3/4/2025
9.2.2-beta.208 111 3/3/2025
9.2.1 4,099 3/3/2025
9.2.1-beta.207 138 3/2/2025
9.2.1-beta.206 105 3/1/2025
9.2.1-beta.205 106 2/27/2025
9.2.1-beta.204 79 2/26/2025
9.2.1-beta.203 91 2/26/2025
9.2.0 2,230 2/26/2025
9.2.0-beta.202 101 2/26/2025
9.2.0-beta.201 97 2/26/2025
9.2.0-beta.199 107 2/26/2025
9.2.0-beta.198 80 2/26/2025
9.1.1-beta.197 100 2/25/2025
9.1.1-beta.196 117 2/25/2025
9.1.1-beta.195 108 2/25/2025
9.1.1-beta.194 94 2/25/2025
9.1.1-beta.193 103 2/25/2025
9.1.1-beta.192 102 2/24/2025
9.1.1-beta.191 109 2/24/2025
9.1.1-beta.190 102 2/19/2025
9.1.1-beta.189 101 2/19/2025
9.1.1-beta.188 182 2/19/2025
9.1.1-beta.187 119 2/19/2025
9.1.1-beta.183 113 2/18/2025
9.1.1-beta.182 104 2/18/2025
9.1.1-beta.181 115 2/18/2025
9.1.1-beta.180 104 2/17/2025
9.1.1-beta.178 105 2/17/2025
9.1.1-beta.177 91 2/12/2025
9.1.1-beta.176 111 2/11/2025
9.1.1-beta.175 98 2/11/2025
9.1.1-beta.173 117 2/10/2025
9.1.1-beta.169 140 2/6/2025
9.1.1-beta.168 85 2/5/2025
9.1.1-beta.166 116 2/5/2025
9.1.1-beta.165 99 2/5/2025
9.1.1-beta.164 112 2/3/2025
9.1.1-beta.162 111 2/3/2025
9.1.1-beta.155 112 1/30/2025
9.1.1-beta.154 88 1/30/2025
9.1.1-beta.153 112 1/30/2025
9.1.1-beta.152 92 1/29/2025
9.1.1-beta.150 114 1/29/2025
9.1.1-beta.148 114 1/26/2025
9.1.1-beta.147 101 1/26/2025
9.1.1-beta.146 107 1/23/2025
9.1.1-beta.145 92 1/22/2025
9.1.1-beta.144 101 1/22/2025
9.1.1-beta.142 73 1/22/2025
9.1.1-beta.140 99 1/22/2025
9.1.1-beta.139 104 1/21/2025
9.1.1-beta.138 94 1/20/2025
9.1.1-beta.137 93 1/17/2025
9.1.1-beta.136 88 1/15/2025
9.1.1-beta.135 74 1/15/2025
9.1.1-beta.134 69 1/15/2025
9.1.1-beta.128 139 1/9/2025
9.1.1-beta.127 92 1/9/2025
9.1.1-beta.126 91 1/9/2025
9.1.1-beta.125 68 1/9/2025
9.1.1-beta.124 90 1/9/2025
9.1.0 13,125 12/12/2024
9.1.0-beta.123 91 1/3/2025
9.1.0-beta.122 106 1/3/2025
9.1.0-beta.121 99 1/2/2025
9.1.0-beta.120 106 12/30/2024
9.1.0-beta.119 100 12/30/2024
9.1.0-beta.118 104 12/30/2024
9.1.0-beta.116 107 12/30/2024
9.1.0-beta.114 101 12/30/2024
9.1.0-beta.113 107 12/30/2024
9.1.0-beta.112 95 12/18/2024
9.1.0-beta.110 101 12/16/2024
9.1.0-beta.109 83 12/12/2024
9.0.1-beta.108 106 12/12/2024
9.0.1-beta.107 94 12/11/2024
9.0.1-beta.106 100 12/12/2024
9.0.1-beta.104 98 12/11/2024
9.0.1-beta.102 108 12/6/2024
9.0.1-beta.99 107 12/6/2024
9.0.1-beta.98 107 12/6/2024
9.0.1-beta.95 93 12/5/2024
9.0.1-beta.94 99 12/5/2024
9.0.1-beta.93 107 12/2/2024
9.0.1-beta.92 114 11/30/2024
9.0.1-beta.91 106 11/30/2024
9.0.1-beta.90 111 11/29/2024
9.0.1-beta.89 98 11/29/2024
9.0.1-beta.88 89 11/27/2024
9.0.1-beta.87 97 11/27/2024
9.0.1-beta.86 105 11/27/2024
9.0.1-beta.84 99 11/24/2024
9.0.1-beta.83 100 11/22/2024
9.0.1-beta.82 107 11/21/2024
9.0.1-beta.81 95 11/19/2024
9.0.1-beta.80 102 11/19/2024
9.0.1-beta.79 102 11/19/2024
9.0.1-beta.77 796 11/15/2024
9.0.0 7,634 11/15/2024
9.0.0-beta.76 106 11/14/2024
9.0.0-beta.75 100 11/14/2024
9.0.0-beta.74 98 11/14/2024
9.0.0-beta.73 86 11/14/2024
9.0.0-beta.72 95 11/14/2024
9.0.0-beta.71 102 11/13/2024
9.0.0-beta.70 104 11/13/2024
9.0.0-beta.69 108 11/13/2024
9.0.0-beta.68 77 11/13/2024
9.0.0-beta.67 109 11/13/2024
9.0.0-beta.66 111 11/13/2024
9.0.0-beta.63 108 11/12/2024
9.0.0-beta.54 105 10/31/2024
9.0.0-beta.53 94 10/29/2024
8.3.0 468 10/29/2024
8.3.0-beta.51 89 10/29/2024
8.3.0-beta.50 90 10/28/2024
8.3.0-beta.49 102 10/28/2024
8.3.0-beta.48 94 10/28/2024
8.3.0-beta.47 103 10/28/2024
8.3.0-beta.46 118 10/27/2024
8.3.0-beta.45 100 10/25/2024
8.3.0-beta.44 135 10/25/2024
8.3.0-beta.43 105 10/25/2024
8.3.0-beta.42 99 10/24/2024
8.2.1 364 10/23/2024
8.2.1-beta.40 95 10/23/2024
8.2.1-beta.39 96 10/23/2024
8.2.1-beta.38 103 10/23/2024
8.2.1-beta.37 75 10/23/2024
8.2.1-beta.36 102 10/23/2024
8.2.1-beta.35 107 10/23/2024
8.2.0-beta.34 105 10/23/2024
8.2.0-beta.33 88 10/23/2024
8.2.0-beta.32 100 10/22/2024
1.0.0-beta.60 113 11/11/2024
1.0.0-beta.58 108 11/4/2024
1.0.0-beta.57 95 11/1/2024
1.0.0-beta.56 75 11/1/2024
1.0.0-beta.55 81 11/1/2024