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

The `ANGULARFIRE2_VERSION` build placeholder ships unreplaced in the library, and `versions.json` never reaches the compiled schematics

Offen
#3,715 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

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

Rechercherichtung

Beginne mit src/core.ts und tools/build.ts, untersuche anschließend src/schematics/versions.json und addDependencies() in src/schematics/common.ts. Vergleiche die Behandlung von Platzhaltern zur Build-Zeit in PRs #3709 und #3711 und verfolge, wann das JSON gebündelt wird. Als abgeschlossen gilt die Arbeit, wenn die veröffentlichte VERSION die installierte Version meldet und die ausgelieferten Schematics nutzbare Abhängigkeitsversionsdaten enthalten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Version info

Angular: 21.2.x Firebase: 12.x AngularFire: 21.0.0-rc.0

How to reproduce these conditions
  1. npm pack @angular/fire@next and inspect fesm2022/angular-fire.mjs — search for ANGULARFIRE2_VERSION.
  2. Or in an app: import { VERSION } from '@angular/fire'; console.log(VERSION.full);
Expected behavior

VERSION.full (and the underlying Version object in src/core.ts) should report the real installed version, e.g. 21.0.0-rc.0.

Actual behavior

VERSION is constructed as new Version('ANGULARFIRE2_VERSION') - the build-time placeholder that's supposed to be replaced with the real version before publishing, but isn't for this occurrence. The published package ships the literal string.

A related mechanism is also broken: src/schematics/versions.json's peerDependencies/firebaseFunctionsDependencies data is filled in by tools/build.ts after the schematics are bundled with esbuild, which has already inlined the JSON import from the unfilled source file at compile time.

  • The post-build edit to versions.json on disk is never read by the shipped schematic code.
  • One concrete effect: addDependencies() in src/schematics/common.ts never has real version data to check against, so it can't detect or warn about conflicting dependency versions the way it appears designed to.

Will need a decision on one of these approaches:

  • string-replace with a build-time guard, matching what PR #3709/#3711 just did for the schematics' own version placeholder, or
  • reworking the versions.json inlining - the fix touches tools/build.ts and possibly src/core.ts, so I wanted to flag it and get a read before picking a direction.
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.