The `ANGULARFIRE2_VERSION` build placeholder ships unreplaced in the library, and `versions.json` never reaches the compiled schematics
Maintainers usually reply within 3 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 52/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- angular, firebase, typescript
- Domain
- build-system, release, tooling
Research direction
Start with src/core.ts and tools/build.ts, then inspect src/schematics/versions.json and addDependencies() in src/schematics/common.ts. Compare the build-time placeholder handling in PRs #3709 and #3711 and trace when the JSON is bundled. Done means the published VERSION reports the installed version and shipped schematics contain usable dependency version data.
Written by the indexing model from the issue text.
Description
Version info
Angular: 21.2.x Firebase: 12.x AngularFire: 21.0.0-rc.0
How to reproduce these conditions
npm pack @angular/fire@nextand inspectfesm2022/angular-fire.mjs— search forANGULARFIRE2_VERSION.- 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.jsonon disk is never read by the shipped schematic code. - One concrete effect:
addDependencies()insrc/schematics/common.tsnever 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.jsoninlining - the fix touchestools/build.tsand possiblysrc/core.ts, so I wanted to flag it and get a read before picking a direction.
- Dominant language
- TypeScript
- Stars
- 7.8k
- Forks
- 2.1k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 25
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from angular/angularfire
-
comp: compat comp: firestore comp: storage type: chore
Difficulty 4/5 3-5 days Newbie friendliness 48/100
angular/angularfire#3822 ·
Maintainers usually reply within 3 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 55/100
angular/angularfire#3800 · 1 reaction ·
Maintainers usually reply within 3 days
-
Use `TransferState` to hand server-rendered Firestore data to the browser, instead of reading every document twiceMay be free again @armando-navarro claimed this 74 days ago, and no pull request is open. Opencomp: firestore comp: ssr priority: P0 (critical) type: feature version: current (v17+)
angular/angularfire#3757 · 1 assignee ·
Maintainers usually reply within 3 days
-
Six `firebase` entry points have no `@angular/fire` equivalent, so their exports are unreachableMay be free again @armando-navarro claimed this 74 days ago, and no pull request is open. Opencomp: core type: feature
angular/angularfire#3755 · 1 assignee ·
Maintainers usually reply within 3 days
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
angular/angularfire#3737 · 4 comments · 26 reactions ·
Maintainers usually reply within 3 days
All issues in angular/angularfire
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
jeanibarz/knowledge-base-mcp-server#1268 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Koenkk/zigbee-herdsman-converters#13820 ·
Maintainers usually reply within 2 days
-
[prefer-expect-resolves] autofix leaves a stray ")" when the awaited expression is parenthesizedOpen
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
jest-community/eslint-plugin-jest#2052 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Wallet functions throws TypeError when the wallet has no account IDPossibly taken @Medhansh-741 claimed this today. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
hiero-ledger/hiero-sdk-js#4781 · 1 comment ·
Maintainers usually reply within 1 day