Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#3,715 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
52/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
angular, firebase, typescript

調査の方向性

src/core.ts と tools/build.ts から始め、次に src/schematics/versions.json と src/schematics/common.ts の addDependencies() を調べてください。PR #3709 と #3711 におけるビルド時のプレースホルダー処理を比較し、JSON がいつバンドルされるのかを追跡してください。公開された VERSION がインストール済みのバージョンを示し、同梱された schematics に利用可能な依存関係のバージョンデータが含まれていれば完了です。

索引モデルが issue の本文から書いたものです。

説明

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.
主要言語
TypeScript
スター
7.8k
フォーク
2.2k
平均マージ
3日 6時間
マージ済み PR(30日)
5

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

angular/angularfire のほかの issue

angular/angularfire の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。