diff --git a/packages/firebase_core/firebase_core_web/lib/src/firebase_core_web.dart b/packages/firebase_core/firebase_core_web/lib/src/firebase_core_web.dart index 66538bf77e95..b70f503d9ff3 100644 --- a/packages/firebase_core/firebase_core_web/lib/src/firebase_core_web.dart +++ b/packages/firebase_core/firebase_core_web/lib/src/firebase_core_web.dart @@ -227,6 +227,11 @@ class FirebaseCoreWeb extends FirebasePlatform { /// Returns all created [FirebaseAppPlatform] instances. @override List get apps { + // Check if Firebase core module is loaded before accessing firebase.apps + if (globalContext.getProperty('firebase_core'.toJS) == null) { + return []; + } + try { return firebase.apps.map(_createFromJsApp).toList(growable: false); } catch (exception, stackTrace) { diff --git a/packages/firebase_core/firebase_core_web/test/firebase_core_web_exceptions_test.dart b/packages/firebase_core/firebase_core_web/test/firebase_core_web_exceptions_test.dart index e72ade85e3c1..4eec2d70b073 100644 --- a/packages/firebase_core/firebase_core_web/test/firebase_core_web_exceptions_test.dart +++ b/packages/firebase_core/firebase_core_web/test/firebase_core_web_exceptions_test.dart @@ -39,4 +39,14 @@ void main() { }); }); }); + + group('apps getter', () { + setUp(() async { + FirebasePlatform.instance = FirebaseCoreWeb(); + }); + + test('should return empty list when Firebase is not initialized', () { + expect(FirebasePlatform.instance.apps, isEmpty); + }); + }); }