Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

The convience observables provided by the Auth module are no longer type safe

Offen
#3,541 3 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
angular, firebase, typescript

Rechercherichtung

Beginne mit den in docs/auth.md dokumentierten Convenience-Observables und verfolge den vom Auth-Modul verwendeten rxfire/auth-Import. Vergleiche die Auflösung unter Angular CLI 18s tsconfig.json moduleResolution "bundler" mit v17.1.0 und dem verknüpften Angular CLI-Commit; abgeschlossen ist die Aufgabe, wenn die Observables unter dem aktuellen Setup ihre erwarteten Typen beibehalten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Version info

Angular CLI: 18.0.2
Node: 22.2.0
Package Manager: npm 10.8.0
OS: linux x64

Angular: 18.0.1
... animations, common, compiler, compiler-cli, core, fire
... forms, platform-browser, platform-browser-dynamic, router

Package Version

@angular-devkit/architect 0.1800.2
@angular-devkit/build-angular 18.0.2
@angular-devkit/core 18.0.2
@angular-devkit/schematics 18.0.2
@angular/cli 18.0.2
@schematics/angular 18.0.2
rxjs 7.8.1
typescript 5.4.5
zone.js 0.14.6

How to reproduce these conditions

Failing test unit, Stackblitz demonstrating the problem
n/a

Steps to set up and reproduce

  • Create a new angular app using the latest version of the cli
    ng new angular18-firebase-test
  • Add AngularFire
    ng add @angular/fire
  • Follow the guidance here to add the convenience observables

Sample data and security rules
n/a

Debug output

** Output from firebase.database().enableLogging(true); **
n/a

** Screenshots **
typing-issue

Expected behavior

The convenience observables should be properly typed as they were in v17.1.0
Note in this screenshot how the IDE properly recognizes the types when using the previous release:
properly-typed

Actual behavior

The observables are cast as any (see screenshot).

Edit 1
Upon further investigation, it appears the problem is related to how the rxfire/auth module in this file is imported. Following the import through to the definition of the module takes me to a type definition file in v17 but instead goes to an esm module in v18. See related screenshot here:
imports
Still unsure why this is happening.

Edit 2
Eureka! It appears in this commit the AngularCLI now defaults to setting the moduleResolution compiler option in the tsconfig.json file to "bundler" by default thus causing the module to get resolved differently. Switching back to the value of "node" allows for the proper import of typed entities but likely causes problems with the areas targeted in that aforementioned commit.

Vorherrschende Sprache
TypeScript
Sterne
7.8k
Forks
2.2k
Ø Merge
3 T. 6 Std.
Gemergte PRs (30 T.)
5

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus angular/angularfire

Alle Issues in angular/angularfire

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.