voidzero-dev / voidzero-dev/oxc-angular-compiler

Angular 21.2.0 + @oxc-angular/vite 0.0.7 SSR: AngularNodeAppEngine is unusable (missing app-engine manifest)

未关闭
#60 4 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

@Brooooooklyn 已经在做这个了。

开始于 2026年3月4日。

主要语言
Rust
星标
228
派生
20
平均合并
1 天 15 小时
30 天内合并 PR
36

描述

Summary

With Angular 21.2.0 and @oxc-angular/vite 0.0.7, OXC SSR build artifacts can be generated, but SSR cannot use AngularNodeAppEngine from @angular/ssr/node because Angular app-engine manifest data is missing in the OXC output.

This makes OXC SSR currently dependent on CommonEngine fallback in our app.

Environment

  • OS: macOS 15.7.4 (Darwin 24.6.0)
  • Arch: x86_64 (darwin-x64)
  • Node: v22.20.0
  • npm: 10.9.3

Versions

  • @angular/core: ^21.2.0
  • @angular/ssr: ^21.2.0
  • @angular/cli: ^21.2.0
  • @angular-devkit/build-angular: ^21.2.0
  • @oxc-angular/vite: ^0.0.7
  • vite: ^8.0.0-beta.16
  • typescript: ~5.9

Reproduction (project-level)

  1. Build OXC browser + server bundles:
    npm run build:oxc:ssr
    

Start SSR server with AngularNodeAppEngine path enabled.
Error observed from Angular SSR internals:
txt

Error: Angular app engine manifest is not set. Please ensure you are using the '@angular/build:application' builder to build your server application.
at getAngularAppEngineManifest (...)
at new AngularAppEngine (...)
at new AngularNodeAppEngine (...)
Actual behavior
OXC SSR build completes successfully.
Runtime AngularNodeAppEngine path fails due to missing Angular app-engine manifest.
We had to switch to CommonEngine for OXC SSR runtime.
Expected behavior
Either:
OXC SSR output should include/manually register the manifest required by AngularNodeAppEngine, or
official guidance should clearly state that AngularNodeAppEngine is not currently supported for OXC SSR and CommonEngine is the intended runtime path.
Dist output observation
From OXC SSR artifacts, we get entries like:

dist/.../browser/src/index.oxc.html
dist/.../server/server.mjs
But no Angular app-engine manifest setup compatible with AngularNodeAppEngine.

What we already tried
Upgraded to @oxc-angular/vite@0.0.7 (darwin-x64 binding issue appears resolved).
Kept separate client/server OXC Vite configs.
Forced AngularNodeAppEngine path for verification.
Added fallback to CommonEngine with explicit document resolution.
Added host allowlist handling for SSR to rule out host validation noise.
Verified runtime routes work under CommonEngine (including SSR login callback path).
Additional SSR parity notes (secondary)
Before our app-side shims, we also saw OXC SSR runtime DI/parity issues around:

RouterLinkActive
Forms (NgControlStatus / FormControlName) on SSR route rendering
We can open a separate issue for these if you prefer one issue per problem.

Request
Please confirm:

Is AngularNodeAppEngine support expected with @oxc-angular/vite@0.0.7 + Angular 21.2.0?
If yes, can you share the expected manifest contract/output and recommended config?
If not, please document current SSR support scope and preferred runtime path (CommonEngine only) with known limitations.

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。