`ng add @angular/fire` stops with `Cannot read properties of undefined (reading 'email')` on firebase-tools 15
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 76/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- angular, firebase, typescript
- Ambito
- cli
Direzione di ricerca
Start with src/schematics/setup/prompts.ts:110 and src/schematics/setup/index.ts:95, then inspect src/schematics/firebaseTools.ts:30 and reproduce with firebase-tools 15. Add coverage for the version 15 login shape and ensure setup proceeds through the account, project and app questions without writing errors.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
ng add @angular/fire fails for anyone whose Firebase CLI is version 15, which is what npm installs today.
Reproduction
In an Angular 21 application with firebase-tools 15.28.1 resolvable, run ng add @angular/fire@next and pick any feature. Setup prints:
Using firebase-tools version 15.28.1
Cannot read properties of undefined (reading 'email')
It stops there, before the account, project and app questions, so nothing is written to the workspace.
Cause
userPrompt in src/schematics/setup/prompts.ts:110 reads defaultUser.email, where defaultUser comes from await firebaseTools.login(options).
- Called inside a terminal, that call returns an object carrying
emailon firebase-tools 14.27.0 and returnsundefinedon 15.28.1, so the read throws. src/schematics/setup/index.ts:95readsuser.emailfrom the same source and has the same exposure.
Who hits it
Everyone with firebase-tools 15 installed, and everyone with no Firebase CLI at all:
src/schematics/firebaseTools.ts:30installs the newest version (npm i --location=global firebase-tools), which is 15.30.2 today.- The declared range accepts it (
firebase-tools: ^14.0.0 || ^15.0.0, widened in #3701). - Installing firebase-tools 14 makes the whole flow complete.
Directions for a fix
Read the account from login.list() rather than from login(), or treat an undefined return as "no default account" instead of reading a property from it. A spec covering the version 15 shape would be worth adding, since nothing exercises this path today.
- Lingua principale
- TypeScript
- Stelle
- 7.8k
- Fork
- 2.2k
- Merge medio
- 3g 6h
- PR unite (30g)
- 5
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di angular/angularfire
-
comp: build/pipeline type: bug version: current (v17+)
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
angular/angularfire#3766 ·
-
comp: docs type: chore version: current (v17+)
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
angular/angularfire#3764 ·
-
comp: firestore comp: ssr priority: P0 (critical) type: feature version: current (v17+)
angular/angularfire#3757 · 1 assegnatario ·
-
Six `firebase` entry points have no `@angular/fire` equivalent, so their exports are unreachable Apertacomp: core type: feature
angular/angularfire#3755 · 1 assegnatario ·
-
comp: auth comp: ssr comp: zones type: bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
angular/angularfire#3748 ·
Tutte le issue di angular/angularfire
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
safetrustcr/dApp-SafeTrust#426 ·
-
area:workflow bug ready-for-agent
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
fil-donadoni/tolaria#4409 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Fission-AI/OpenSpec#1960 ·
-
Add dependabot Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
corsairdev/corsair#1764 ·