Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/frontend/config/redirects.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ export const redirects = {
'/integrations/devtools/mailpit/': '/integrations/devtools/mailpit/mailpit-get-started/',
'/integrations/frameworks/go/': '/integrations/frameworks/go/go-get-started/',
'/integrations/frameworks/go-apps/': '/integrations/frameworks/go/go-get-started/',
'/ja/integrations/frameworks/go-apps/': '/integrations/frameworks/go/go-get-started/',
'/integrations/frameworks/csharp-file-based-apps/': '/integrations/dotnet/csharp-file-based-apps/',
'/integrations/frameworks/maui/': '/integrations/dotnet/maui/',
'/fundamentals/service-defaults/': '/get-started/csharp-service-defaults/',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ The scaffolded `package.json` includes convenience scripts and the required Node
"lint": "eslint apphost.ts"
},
"engines": {
"node": "^20.19.0 || ^22.13.0 || >=24"
"node": "^22.13.0 || ^24.0.0"
}
}
```
Expand All @@ -191,16 +191,15 @@ Aspire 13.4 TypeScript AppHosts target the Node.js engine range that `aspire ini
```json title="package.json — supported engines.node"
{
"engines": {
"node": "^20.19.0 || ^22.13.0 || >=24"
"node": "^22.13.0 || ^24.0.0"
}
}
```

The supported ranges are:

- **Node.js 20.19+** (LTS) — supported.
- **Node.js 22.13+** (LTS) — supported.
- **Node.js 24+** — supported; this is the range the scaffolded `engines.node` constraint allows out of the box.
- **Node.js 22.13+** (22.x LTS) — supported.
- **Node.js 24.x** (LTS) — supported; this is the range the scaffolded `engines.node` constraint allows out of the box.

Older Node.js versions are not supported. Package managers may enforce `engines.node` on install (for example, pnpm does by default, while npm only does when `engine-strict` is configured), so unsupported runtimes are best treated as blocked even when a given toolchain only warns.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -725,7 +725,7 @@ The following table summarizes common framework outputs and the Aspire patterns
| Nuxt | `PublishAsNpmScript` | `node .output/server/index.mjs` (via `start`) | `NUXT_` prefix on `runtimeConfig` env vars |
| Astro SSR | `PublishAsNpmScript` | `node ./dist/server/entry.mjs` (via `start`) | `@astrojs/node`, `prerender: false` per page |
| Remix / React Router | `PublishAsNpmScript` | `react-router-serve` (via `start`) | None |
| Qwik City | `PublishAsNpmScript` | `node server/entry.node-server.js` (via `start`) | Node server adapter, Node 20+ |
| Qwik City | `PublishAsNpmScript` | `node server/entry.node-server.js` (via `start`) | Node server adapter, Node 22.x or 24.x LTS |

<LearnMore>
For per-framework AppHost snippets, see [JavaScript integration — Framework
Expand Down Expand Up @@ -1004,7 +1004,7 @@ export async function loader() {

#### Qwik City

- **Node version**: Qwik uses Vite 7, which requires Node 20+. Set `engines.node` in `package.json` accordingly.
- **Node version**: Qwik uses Vite 7. Set `engines.node` in `package.json` to a supported Node.js LTS release: 22.x or 24.x.
- **Server adapter**: Requires the [Qwik Node adapter](https://qwik.dev/docs/deployments/node/). Add `adaptors/node-server/vite.config.ts` with `nodeServerAdapter()` and a corresponding `src/entry.node-server.tsx`.
- **Build steps**: Requires both `npm run build.client` and `npm run build.server`. The default `npm run build` runs both via `qwik build`.
- **SSR data loading**: Use [`routeLoader$`](https://qwik.dev/docs/route-loader/) for server-side data loading. Read the backend URL via `process.env['API_URL']`.
Expand All @@ -1020,7 +1020,7 @@ await builder
```json title="Qwik City — package.json"
{
"engines": {
"node": "^20.19.0 || ^22.13.0 || >=24"
"node": "^22.13.0 || ^24.0.0"
},
"scripts": {
"build": "qwik build",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Before you begin, make sure you have:
</TabItem>
<TabItem id='typescript' label='TypeScript'>

- [Node.js 22 or later](https://nodejs.org/)
- [Node.js 22.x or 24.x LTS](https://nodejs.org/)
- npm, yarn, or pnpm

</TabItem>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Ready to dive into Aspire? Before you begin, make sure your development environm
</TabItem>
<TabItem id='typescript' label='TypeScript'>

Aspire's TypeScript AppHost requires [Node.js](https://nodejs.org/) **20.19+, 22.13+, or 24+** — the engine range that `aspire init` writes into the scaffolded `package.json` (`"engines": { "node": "^20.19.0 || ^22.13.0 || >=24" }`). It also requires a [supported AppHost-root package manager](/app-host/typescript-apphost/#package-managers): **npm** (default, included with Node.js), **pnpm**, **Yarn 4+** (Berry), or **Bun**. **Yarn Classic (v1) is not supported.** The Aspire CLI auto-detects the active toolchain from your `package.json` `packageManager` field or from lockfiles in your project directory or parent directories.
Aspire's TypeScript AppHost requires a supported [Node.js](https://nodejs.org/) LTS release: **22.x or 24.x** — the engine range that `aspire init` writes into the scaffolded `package.json` (`"engines": { "node": "^22.13.0 || ^24.0.0" }`). It also requires a [supported AppHost-root package manager](/app-host/typescript-apphost/#package-managers): **npm** (default, included with Node.js), **pnpm**, **Yarn 4+** (Berry), or **Bun**. **Yarn Classic (v1) is not supported.** The Aspire CLI auto-detects the active toolchain from your `package.json` `packageManager` field or from lockfiles in your project directory or parent directories.

Follow the [Node.js installation instructions](https://nodejs.org/) for your operating system (Windows, macOS, or Linux) to complete the setup. If you use an alternative package manager, install it separately:

Expand Down
Loading