CommunityToolkit.Aspire.Hosting.NodeJS.Extensions 9.8.0

Prefix Reserved
dotnet add package CommunityToolkit.Aspire.Hosting.NodeJS.Extensions --version 9.8.0
                    
NuGet\Install-Package CommunityToolkit.Aspire.Hosting.NodeJS.Extensions -Version 9.8.0
                    
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.0" />
                    
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.0" />
                    
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.0
                    
#r "nuget: CommunityToolkit.Aspire.Hosting.NodeJS.Extensions, 9.8.0"
                    
#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.0
                    
#: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.0
                    
Install as a Cake Addin
#tool nuget:?package=CommunityToolkit.Aspire.Hosting.NodeJS.Extensions&version=9.8.0
                    
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.0 3,730 9/26/2025
9.8.0-beta.402 119 9/29/2025
9.8.0-beta.401 117 9/29/2025
9.8.0-beta.399 115 9/26/2025
9.8.0-beta.398 121 9/25/2025
9.8.0-beta.397 121 9/25/2025
9.8.0-beta.395 141 9/24/2025
9.8.0-beta.394 160 9/23/2025
9.8.0-beta.393 122 9/23/2025
9.8.0-beta.392 119 9/23/2025
9.8.0-beta.389 338 9/18/2025
9.8.0-beta.388 289 9/16/2025
9.8.0-beta.386 222 9/15/2025
9.8.0-beta.385 198 9/15/2025
9.8.0-beta.384 50 9/13/2025
9.8.0-beta.376 164 9/8/2025
9.8.0-beta.375 61 9/6/2025
9.8.0-beta.373 152 9/5/2025
9.8.0-beta.372 137 9/4/2025
9.8.0-beta.370 134 9/2/2025
9.8.0-beta.364 123 9/1/2025
9.7.2 15,137 8/29/2025
9.7.2-beta.362 163 8/29/2025
9.7.2-beta.361 165 8/29/2025
9.7.2-beta.360 168 8/29/2025
9.7.2-beta.359 164 8/28/2025
9.7.2-beta.358 163 8/28/2025
9.7.2-beta.357 168 8/28/2025
9.7.1 1,836 8/27/2025
9.7.1-beta.355 171 8/27/2025
9.7.1-beta.354 164 8/27/2025
9.7.1-beta.353 165 8/27/2025
9.7.1-beta.352 166 8/27/2025
9.7.1-beta.351 166 8/27/2025
9.7.1-beta.348 381 8/14/2025
9.7.1-beta.344 256 8/10/2025
9.7.1-beta.343 214 8/8/2025
9.7.1-beta.342 216 8/7/2025
9.7.1-beta.341 201 8/6/2025
9.7.1-beta.340 199 8/5/2025
9.7.1-beta.339 184 8/5/2025
9.7.0 11,888 8/1/2025
9.7.0-beta.337 84 8/1/2025
9.7.0-beta.336 99 8/1/2025
9.7.0-beta.335 88 8/1/2025
9.7.0-beta.333 104 7/30/2025
9.6.1-beta.332 97 7/30/2025
9.6.1-beta.331 96 7/30/2025
9.6.1-beta.330 101 7/30/2025
9.6.1-beta.329 98 7/30/2025
9.6.1-beta.328 108 7/29/2025
9.6.1-beta.327 120 7/28/2025
9.6.1-beta.326 115 7/28/2025
9.6.0 14,172 7/10/2025
9.6.0-beta.324 125 7/10/2025
9.5.1-beta.323 127 7/10/2025
9.5.1-beta.322 123 7/10/2025
9.5.1-beta.321 126 7/10/2025
9.5.1-beta.320 131 7/9/2025
9.5.1-beta.319 129 7/8/2025
9.5.1-beta.318 165 7/2/2025
9.5.1-beta.317 186 6/30/2025
9.5.1-beta.315 405 6/26/2025
9.5.1-beta.314 148 6/23/2025
9.5.1-beta.313 114 6/20/2025
9.5.1-beta.312 118 6/20/2025
9.5.1-beta.311 239 6/18/2025
9.5.1-beta.310 148 6/17/2025
9.5.1-beta.309 134 6/17/2025
9.5.1-beta.308 163 6/17/2025
9.5.1-beta.307 130 6/16/2025
9.5.1-beta.306 449 6/11/2025
9.5.1-beta.305 124 6/7/2025
9.5.1-beta.304 124 6/6/2025
9.5.1-beta.303 144 6/4/2025
9.5.1-beta.302 138 6/4/2025
9.5.1-beta.301 151 6/2/2025
9.5.1-beta.300 147 5/28/2025
9.5.0 22,899 5/27/2025
9.5.0-beta.299 151 5/27/2025
9.5.0-beta.298 155 5/26/2025
9.5.0-beta.297 107 5/24/2025
9.5.0-beta.296 106 5/24/2025
9.5.0-beta.295 62 5/24/2025
9.4.1-beta.291 166 5/19/2025
9.4.1-beta.289 183 5/16/2025
9.4.1-beta.288 226 5/16/2025
9.4.1-beta.287 215 5/16/2025
9.4.1-beta.286 212 5/16/2025
9.4.1-beta.285 277 5/14/2025
9.4.1-beta.284 229 5/13/2025
9.4.1-beta.283 246 5/12/2025
9.4.1-beta.282 171 5/7/2025
9.4.1-beta.280 174 5/2/2025
9.4.1-beta.279 135 5/2/2025
9.4.1-beta.277 392 4/23/2025
9.4.1-beta.276 175 4/23/2025
9.4.1-beta.275 166 4/23/2025
9.4.1-beta.274 153 4/23/2025
9.4.1-beta.273 162 4/23/2025
9.4.1-beta.272 139 4/23/2025
9.4.1-beta.271 156 4/23/2025
9.4.1-beta.270 164 4/20/2025
9.4.0 32,832 4/20/2025
9.4.0-beta.269 158 4/20/2025
9.4.0-beta.268 156 4/20/2025
9.3.1-beta.267 157 4/20/2025
9.3.1-beta.266 84 4/19/2025
9.3.1-beta.265 217 4/15/2025
9.3.1-beta.264 186 4/15/2025
9.3.1-beta.263 197 4/15/2025
9.3.1-beta.262 182 4/15/2025
9.3.1-beta.260 198 4/10/2025
9.3.1-beta.259 172 4/8/2025
9.3.1-beta.258 160 4/8/2025
9.3.1-beta.257 161 4/8/2025
9.3.1-beta.256 164 4/8/2025
9.3.1-beta.255 164 4/8/2025
9.3.1-beta.254 165 4/8/2025
9.3.1-beta.253 159 4/1/2025
9.3.1-beta.252 142 3/27/2025
9.3.1-beta.250 143 3/27/2025
9.3.1-beta.249 137 3/27/2025
9.3.1-beta.248 143 3/27/2025
9.3.1-beta.247 142 3/27/2025
9.3.1-beta.244 494 3/25/2025
9.3.1-beta.242 487 3/24/2025
9.3.1-beta.241 143 3/19/2025
9.3.0 19,052 3/19/2025
9.3.0-beta.239 159 3/19/2025
9.2.2-beta.237 150 3/19/2025
9.2.2-beta.236 109 3/14/2025
9.2.2-beta.230 160 3/13/2025
9.2.2-beta.229 147 3/13/2025
9.2.2-beta.228 181 3/11/2025
9.2.2-beta.227 173 3/11/2025
9.2.2-beta.226 159 3/11/2025
9.2.2-beta.225 167 3/11/2025
9.2.2-beta.224 164 3/11/2025
9.2.2-beta.223 155 3/10/2025
9.2.2-beta.222 165 3/10/2025
9.2.2-beta.220 164 3/9/2025
9.2.2-beta.218 152 3/9/2025
9.2.2-beta.217 203 3/7/2025
9.2.2-beta.216 200 3/7/2025
9.2.2-beta.215 200 3/7/2025
9.2.2-beta.214 204 3/5/2025
9.2.2-beta.213 192 3/5/2025
9.2.2-beta.212 197 3/5/2025
9.2.2-beta.211 200 3/4/2025
9.2.2-beta.210 200 3/4/2025
9.2.2-beta.208 101 3/3/2025
9.2.1 4,042 3/3/2025
9.2.1-beta.207 130 3/2/2025
9.2.1-beta.206 99 3/1/2025
9.2.1-beta.205 96 2/27/2025
9.2.1-beta.204 75 2/26/2025
9.2.1-beta.203 86 2/26/2025
9.2.0 2,215 2/26/2025
9.2.0-beta.202 94 2/26/2025
9.2.0-beta.201 93 2/26/2025
9.2.0-beta.199 98 2/26/2025
9.2.0-beta.198 75 2/26/2025
9.1.1-beta.197 91 2/25/2025
9.1.1-beta.196 103 2/25/2025
9.1.1-beta.195 98 2/25/2025
9.1.1-beta.194 88 2/25/2025
9.1.1-beta.193 94 2/25/2025
9.1.1-beta.192 90 2/24/2025
9.1.1-beta.191 97 2/24/2025
9.1.1-beta.190 91 2/19/2025
9.1.1-beta.189 93 2/19/2025
9.1.1-beta.188 167 2/19/2025
9.1.1-beta.187 112 2/19/2025
9.1.1-beta.183 104 2/18/2025
9.1.1-beta.182 95 2/18/2025
9.1.1-beta.181 106 2/18/2025
9.1.1-beta.180 95 2/17/2025
9.1.1-beta.178 98 2/17/2025
9.1.1-beta.177 88 2/12/2025
9.1.1-beta.176 103 2/11/2025
9.1.1-beta.175 91 2/11/2025
9.1.1-beta.173 111 2/10/2025
9.1.1-beta.169 126 2/6/2025
9.1.1-beta.168 80 2/5/2025
9.1.1-beta.166 103 2/5/2025
9.1.1-beta.165 88 2/5/2025
9.1.1-beta.164 102 2/3/2025
9.1.1-beta.162 97 2/3/2025
9.1.1-beta.155 105 1/30/2025
9.1.1-beta.154 81 1/30/2025
9.1.1-beta.153 102 1/30/2025
9.1.1-beta.152 84 1/29/2025
9.1.1-beta.150 102 1/29/2025
9.1.1-beta.148 106 1/26/2025
9.1.1-beta.147 87 1/26/2025
9.1.1-beta.146 96 1/23/2025
9.1.1-beta.145 88 1/22/2025
9.1.1-beta.144 90 1/22/2025
9.1.1-beta.142 69 1/22/2025
9.1.1-beta.140 95 1/22/2025
9.1.1-beta.139 96 1/21/2025
9.1.1-beta.138 85 1/20/2025
9.1.1-beta.137 88 1/17/2025
9.1.1-beta.136 81 1/15/2025
9.1.1-beta.135 62 1/15/2025
9.1.1-beta.134 59 1/15/2025
9.1.1-beta.128 125 1/9/2025
9.1.1-beta.127 81 1/9/2025
9.1.1-beta.126 77 1/9/2025
9.1.1-beta.125 65 1/9/2025
9.1.1-beta.124 79 1/9/2025
9.1.0 12,700 12/12/2024
9.1.0-beta.123 86 1/3/2025
9.1.0-beta.122 97 1/3/2025
9.1.0-beta.121 96 1/2/2025
9.1.0-beta.120 98 12/30/2024
9.1.0-beta.119 94 12/30/2024
9.1.0-beta.118 92 12/30/2024
9.1.0-beta.116 98 12/30/2024
9.1.0-beta.114 95 12/30/2024
9.1.0-beta.113 94 12/30/2024
9.1.0-beta.112 86 12/18/2024
9.1.0-beta.110 91 12/16/2024
9.1.0-beta.109 81 12/12/2024
9.0.1-beta.108 96 12/12/2024
9.0.1-beta.107 89 12/11/2024
9.0.1-beta.106 91 12/12/2024
9.0.1-beta.104 88 12/11/2024
9.0.1-beta.102 100 12/6/2024
9.0.1-beta.99 94 12/6/2024
9.0.1-beta.98 99 12/6/2024
9.0.1-beta.95 84 12/5/2024
9.0.1-beta.94 90 12/5/2024
9.0.1-beta.93 95 12/2/2024
9.0.1-beta.92 102 11/30/2024
9.0.1-beta.91 96 11/30/2024
9.0.1-beta.90 103 11/29/2024
9.0.1-beta.89 87 11/29/2024
9.0.1-beta.88 82 11/27/2024
9.0.1-beta.87 89 11/27/2024
9.0.1-beta.86 98 11/27/2024
9.0.1-beta.84 93 11/24/2024
9.0.1-beta.83 90 11/22/2024
9.0.1-beta.82 99 11/21/2024
9.0.1-beta.81 87 11/19/2024
9.0.1-beta.80 87 11/19/2024
9.0.1-beta.79 91 11/19/2024
9.0.1-beta.77 779 11/15/2024
9.0.0 7,091 11/15/2024
9.0.0-beta.76 94 11/14/2024
9.0.0-beta.75 90 11/14/2024
9.0.0-beta.74 85 11/14/2024
9.0.0-beta.73 82 11/14/2024
9.0.0-beta.72 84 11/14/2024
9.0.0-beta.71 94 11/13/2024
9.0.0-beta.70 92 11/13/2024
9.0.0-beta.69 99 11/13/2024
9.0.0-beta.68 73 11/13/2024
9.0.0-beta.67 100 11/13/2024
9.0.0-beta.66 100 11/13/2024
9.0.0-beta.63 100 11/12/2024
9.0.0-beta.54 99 10/31/2024
9.0.0-beta.53 86 10/29/2024
8.3.0 450 10/29/2024
8.3.0-beta.51 82 10/29/2024
8.3.0-beta.50 84 10/28/2024
8.3.0-beta.49 91 10/28/2024
8.3.0-beta.48 84 10/28/2024
8.3.0-beta.47 94 10/28/2024
8.3.0-beta.46 106 10/27/2024
8.3.0-beta.45 91 10/25/2024
8.3.0-beta.44 123 10/25/2024
8.3.0-beta.43 94 10/25/2024
8.3.0-beta.42 87 10/24/2024
8.2.1 337 10/23/2024
8.2.1-beta.40 84 10/23/2024
8.2.1-beta.39 91 10/23/2024
8.2.1-beta.38 93 10/23/2024
8.2.1-beta.37 73 10/23/2024
8.2.1-beta.36 91 10/23/2024
8.2.1-beta.35 97 10/23/2024
8.2.0-beta.34 95 10/23/2024
8.2.0-beta.33 85 10/23/2024
8.2.0-beta.32 91 10/22/2024
1.0.0-beta.60 102 11/11/2024
1.0.0-beta.58 98 11/4/2024
1.0.0-beta.57 91 11/1/2024
1.0.0-beta.56 73 11/1/2024
1.0.0-beta.55 77 11/1/2024