Accept firebase 13 in @angular/fire 22

未关闭
#3,830 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 3 天内回复

@armando-navarro 已经在做这个了。

开始于 2026年10月30日。

  • #3831 来自 @armando-navarro —— 未关闭

评估

难度
4/5
预计耗时
3-5 天
新手友好度
25/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
停滞
领域
tooling

调研方向

A linked pull request is already open, so check its status before starting. The proposal identifies the package peer dependencies, the ng add and v22 ng update migration, generated wrappers, and CI specs as the areas to review; done means Firebase 12 remains supported, Firebase 13 is accepted and tested, and migrations write the installed major's range.

由索引模型根据 Issue 内容生成。

描述

comp: core comp: schematics type: feature

firebase 13.1.0 is now npm latest, and @angular/fire 22.0.0-rc.0 declares firebase ^12.18.0 as a peer dependency (#3805). So on a new Angular 22 app, running npm install firebase before ng add @angular/fire@next fails:

npm error ERESOLVE unable to resolve dependency tree
npm error peer firebase@"^12.18.0" from @angular/[email protected]
Proposal

I'd like @angular/fire 22.0.0 to accept firebase ^12.18.0 || ^13.0.0:

  • Apps on firebase 12 keep working with no change.
  • rxfire moves to ^6.3.0, the first release whose peer range includes firebase 13.
  • When ng add or the v22 ng update migration writes a firebase entry, it writes the range of the major already installed:
    • ^13.0.0 when firebase 13 is installed.
    • ^12.18.0 otherwise.
  • The package keeps building against firebase 12, because the generated wrappers import each function by name from the installed firebase. A new CI job runs the specs against firebase 13.
Why the written range follows the installed major

On npm, ng add installs a missing firebase peer before its schematic runs, at the newest version the range allows. If the schematic then wrote ^12.18.0, the reinstall would downgrade firebase and leave two @firebase/app copies, and the app would fail at startup with "No Firebase App '[DEFAULT]' has been created".

What changes for an app that moves to firebase 13
  • @angular/fire/ai re-exports firebase/ai, so VertexAIBackend and the ChatSession class are no longer available.
    • AgentPlatformBackend replaces VertexAIBackend, and the v21 ng update migration already handles it.
  • firebase 13's packages declare Node 24.12 or newer.

If you're already on firebase 13 and run into something this doesn't cover, please comment here.

主要语言
TypeScript
星标
7.8k
派生
2.2k
平均合并
2 天 12 小时
30 天内合并 PR
24

环境准备

从这里开始

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

angular/angularfire 的其他 Issue

查看 angular/angularfire 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

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