Six `firebase` entry points have no `@angular/fire` equivalent, so their exports are unreachable
@armando-navarro is already working on this.
Since Aug 31, 2026.
Assessment
This issue has not been assessed yet.
Description
Summary
firebase 12.18.0 publishes 20 importable paths that are not compat. tools/build.ts re-exports 14 of them. Anything exported from the other six is unreachable through @angular/fire, so an app that needs it has to import from firebase directly and give up the Angular behavior AngularFire adds for that part of its code.
The six unreachable paths
firebase/firestore/pipelinesfirebase/firestore/lite/pipelinesfirebase/auth/cordovafirebase/auth/web-extensionfirebase/installationsfirebase/messaging/sw
The two pipelines paths are recent: firebase 12.4.0 publishes no path containing pipelines, and 12.8.0 publishes two. The other four exist in 12.4.0 and so have been unreachable for as long as that has been the version the package is built against.
Why this is separate from a wrapped module missing symbols
A missing symbol inside a path AngularFire already ships is fixed by re-running tools/build.ts, which regenerates that path's src/<module>/firebase.ts from the installed firebase and picks the new symbol up.
A missing path is not fixed that way, because there is nothing for the generator to regenerate. tools/build.ts only writes the firebase.ts file inside a directory that already exists, and the rest of that directory is written by hand. src/firestore/lite/ is 8 files and 269 lines, of which only firebase.ts is generated.
Things to consider
This is not a single mechanical change, and I do not think all six should be treated the same way:
- Whether to ship each path at all.
firebase/messaging/swruns in a service worker andfirebase/auth/cordovatargets a platform Angular apps rarely use, so an Angular wrapper may not be the right home for either. - For each path that ships, every function in it has to be classified for wrapping, the same way the existing modules were.
- The cost is per path, roughly six or seven hand-written files each, so this may be better done a path at a time than as one change.
If you are blocked on one of these specifically, saying which one and what you are trying to do would help order the work. firebase/firestore/pipelines is the one with a request already attached to it, in #3693.
- Dominant language
- TypeScript
- Stars
- 7.8k
- Forks
- 2.2k
- Avg merge
- 3d 6h
- Merged PRs (30d)
- 5
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from angular/angularfire
-
comp: build/pipeline type: bug version: current (v17+)
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
angular/angularfire#3766 ·
-
comp: schematics type: bug version: current (v17+)
Difficulty 3/5 1-2 days Newbie friendliness 76/100
angular/angularfire#3768 ·
-
comp: docs type: chore version: current (v17+)
Difficulty 4/5 3-5 days Newbie friendliness 58/100
angular/angularfire#3764 ·
-
comp: firestore comp: ssr priority: P0 (critical) type: feature version: current (v17+)
angular/angularfire#3757 · 1 assignee ·
-
comp: auth comp: ssr comp: zones type: bug
Difficulty 3/5 1-2 days Newbie friendliness 76/100
angular/angularfire#3748 ·
All issues in angular/angularfire
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
safetrustcr/dApp-SafeTrust#426 ·
-
area:workflow bug ready-for-agent
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
fil-donadoni/tolaria#4409 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Fission-AI/OpenSpec#1960 ·
-
Add dependabot Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
corsairdev/corsair#1764 ·