Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Firebase throws Error: Module not found: Error: Default condition should be last one

I've been using AngularCrashlytics(from @angular/fire) for a while interestingly since this morning I became unable to get either build or ng serve which throws error as below.Can someone help me to get rid of this?

enter image description here

On the app.module I've already added @angular/fire releated configuration steps as below(taken from https://github.com/angular/angularfire/blob/master/docs/analytics/getting-started.md)

import { AngularFireModule } from '@angular/fire/compat';
import { AngularFireAnalyticsModule } from '@angular/fire/compat/analytics';

imports:[
AngularFireModule.initializeApp(environment.Tools.Firebase)//firebase releated config,
AngularFireAnalyticsModule
]

I have configuration mentioned as below, with ng version enter image description here

Dependency versions from package.json

"firebase": "^9.14.0",
"@angular/fire": "^7.4.1"

Additional Note : Already cloned project from scratch many times have tried deleting node modules folder and npm install besides tried to upgrade both firebase and @angular/fire to the latest versions which didn't fix the issue.

like image 953
Timuçin Çiçek Avatar asked Apr 09 '26 11:04

Timuçin Çiçek


2 Answers

This morning I updated Angular from 15.1.2 to 15.1.3:

enter image description here

This threw 34 errors, all involving AngularFire:

Error: export 'GoogleAuthProvider' (imported as 'GoogleAuthProvider') was not found in '@angular/fire/auth'

./node_modules/@angular/fire/fesm2015/angular-fire-analytics.js:7:0-47 - Error: Module not found: Error: Default condition should be last one

I tried using overrides in package.json but npm install refused to run the overrides, throwing EOVERRIDE errors. npm install --force didn't help.

I fixed it by not using overrides but instead changing "^15.0.0" to "15.1.2" and then running npm install --force.

I don't understand why overrides didn't work. I might ask a question about this.

I'll wait until a new version of AngularFire is released before updating to the latest Angular.

like image 121
Thomas David Kehoe Avatar answered Apr 12 '26 01:04

Thomas David Kehoe


I guess the issue comes from the dependency here: node_modules/@angular/fire/package.json

"dependencies": {
  "firebase": "^9.8.0",

As stated here: https://github.com/firebase/firebase-js-sdk/issues/7005#issuecomment-1415807037

Removing the ^ within the version solved it for me.

I did this in my projects package.json to override it:

{
  "name": "myproject",
  "version": "0.0.0",
  "scripts": ...
  "dependencies": ...
  "devDependencies": {
    ...
  },  
  "overrides": {
    "@angular/fire": {
      "firebase": "9.8.0"
    }
  },

Then run "npm install" to apply this.

Should be fixed in the next release of "@angular/fire".

like image 44
daheadcracker Avatar answered Apr 11 '26 23:04

daheadcracker