Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte
#3,715 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
52/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Calme
Stack technique
angular, firebase, typescript

Piste de recherche

Commencez par src/core.ts et tools/build.ts, puis examinez src/schematics/versions.json et addDependencies() dans src/schematics/common.ts. Comparez la gestion des marqueurs d’emplacement au moment du build dans les PRs #3709 et #3711, et retracez le moment où le JSON est inclus dans le bundle. Le travail est terminé lorsque la VERSION publiée indique la version installée et que les schematics livrés contiennent des données de version des dépendances utilisables.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.
Langage dominant
TypeScript
Étoiles
7.8k
Forks
2.2k
Merge moyen
3 j 6 h
PR mergées (30 j)
5

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de angular/angularfire

Toutes les issues de angular/angularfire

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.