Skip to content

Commit 1d4c9ae

Browse files
committed
fix: FirebaseServerApp should initialize even if FinalizationRegistry is unsupported by runtime
FinalizationRegistry is required only if releaseOnDeref is provided in config; guard clause in initializeServerApp throws error if it's unsupported. firebase#8299
1 parent a90255a commit 1d4c9ae

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

.changeset/large-boats-admire.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@firebase/app': patch
3+
---
4+
5+
FirebaseServerApp should initialize even if FinalizationRegistry is unsupported by runtime

packages/app/src/firebaseServerApp.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export class FirebaseServerAppImpl
3232
implements FirebaseServerApp
3333
{
3434
private readonly _serverConfig: FirebaseServerAppSettings;
35-
private _finalizationRegistry: FinalizationRegistry<object>;
35+
private _finalizationRegistry!: FinalizationRegistry<object>;
3636
private _refCount: number;
3737

3838
constructor(
@@ -67,9 +67,11 @@ export class FirebaseServerAppImpl
6767
...serverConfig
6868
};
6969

70-
this._finalizationRegistry = new FinalizationRegistry(() => {
71-
this.automaticCleanup();
72-
});
70+
if (typeof FinalizationRegistry !== 'undefined') {
71+
this._finalizationRegistry = new FinalizationRegistry(() => {
72+
this.automaticCleanup();
73+
});
74+
}
7375

7476
this._refCount = 0;
7577
this.incRefCount(this._serverConfig.releaseOnDeref);

0 commit comments

Comments
 (0)