Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

`ng add @angular/fire` stops with `Cannot read properties of undefined (reading 'email')` on firebase-tools 15

Đang mở
#3,768 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
76/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
angular, firebase, typescript
Lĩnh vực
cli

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

comp: schematics type: bug version: current (v17+)

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 email on firebase-tools 14.27.0 and returns undefined on 15.28.1, so the read throws.
  • src/schematics/setup/index.ts:95 reads user.email from 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:30 installs 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.

Ngôn ngữ chính
TypeScript
Star
7.8k
Fork
2.2k
Merge trung bình
3 ngày 6 giờ
Pull request đã merge (30 ngày)
5

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của angular/angularfire

Tất cả issue của angular/angularfire

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.