Search code examples
angulartypescriptfirebasenode-modulesangularfire2

error TS2300: Duplicate identifier 'type' in Angular. while running ng build


Error: node_modules/@firebase/auth-compat/dist/auth-compat/index.d.ts:53:10 - error TS2300: Duplicate identifier 'type'.

Try to build angular code, i am getting below error in cmd.

 import { type User, type Unsubscribe, type ActionCodeInfo, type UserCredential, type Auth, type IdTokenResult, type MultiFactorError, type MultiFactorResolver, type PopupRedirectResolver, type Dependencies, type AuthCredential, type ApplicationVerifier, type ConfirmationResult, type AuthProvider, type MultiFactorUser, type NextOrObserver, type ErrorFn, type CompleteFn, type ActionCodeSettings, type Persistence, type PhoneAuthCredential } from "@firebase/auth";
            ~~~~


Error: node_modules/@firebase/auth-compat/dist/auth-compat/index.d.ts:53:10 - error TS2300: Duplicate identifier 'type'.

Some times i get error in all firebase compat file like database-compat, storage-compat, etc.

This is my package.json file

"dependencies": {
    "@angular/animations": "^11.2.9",
    "@angular/cdk": "^13.0.2",
    "@angular/common": "~12.2.0",
    "@angular/compiler": "~12.2.0",
    "@angular/core": "~12.2.0",
    "@angular/fire": "^7.2.0",
    "@angular/forms": "~12.2.0",
    "@angular/material": "^11.2.12",
    "@angular/platform-browser": "~12.2.0",
    "@angular/platform-browser-dynamic": "~12.2.0",
    "@angular/router": "~12.2.0",
    "@ng-bootstrap/ng-bootstrap": "^10.0.0",
    "angularfire2": "^5.4.2",
    "aws-sdk": "^2.1081.0",
    "bootstrap": "^5.1.3",
    "concurrently": "^6.2.1",
    "cors": "^2.8.5",
    "file-saver": "^2.0.5",
    "firebase": "^9.4.1",
    "http": "0.0.1-security",
    "http-client": "^4.3.1",
    "http-server": "^13.0.2",
    "karma-chai": "^0.1.0",
    "karma-mocha": "^2.0.1",
    "karma-spec-reporter": "0.0.32",
    "karma-viewport": "^1.0.8",
    "mocha": "^9.1.1",
    "ngx-toastr": "^14.1.4",
    "rxjs": "~6.6.0",
    "tslib": "^2.3.0",
    "util": "^0.12.4",
    "uuid-generator-ts": "^1.1.0",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~12.2.6",
    "@angular/cli": "~12.2.6",
    "@angular/compiler-cli": "~12.2.0",
    "@types/file-saver": "^2.0.5",
    "@types/jasmine": "~3.8.0",
    "@types/node": "^12.20.46",
    "@types/uuid": "^8.3.4",
    "jasmine-core": "~3.8.0",
    "karma": "~6.3.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.0.3",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "~1.7.0",
    "typescript": "~4.3.5"
  }

This is my tsconfig.json file

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2017",
    "module": "es2020",
    "lib": [
      "es2018",
      "dom"
    ]
  },
  "angularCompilerOptions": {
    "enableI18nLegacyMessageIdFormat": false,
    "strictInjectionParameters": true,
    "strictInputAccessModifiers": true,
    "strictTemplates": false
  }
}

I try to reduce firebase and @angular/fire version in 9.0.0 and ^7.0.0 based on Angular version. But this is not working.

I ref this link to change version. https://www.npmjs.com/package/@angular/fire

Help to solve this problem.

I try to solve that problem in many ways, but i can't solve this.

I expecting to solve the problem as soon as possible.

When install all dependencies in my angular application using npm install, after that automatically type can add infornt of all firebase modules like Unsubscribe, User, ActionCodeInfo, etc. Below i add the firebase node modules index.d.ts code.

import { type User, type Unsubscribe, type ActionCodeInfo, type UserCredential, type Auth, type IdTokenResult, type MultiFactorError, type MultiFactorResolver, type PopupRedirectResolver, type Dependencies, type AuthCredential, type ApplicationVerifier, type ConfirmationResult, type AuthProvider, type MultiFactorUser, type NextOrObserver, type ErrorFn, type CompleteFn, type ActionCodeSettings, type Persistence, type PhoneAuthCredential } from "@firebase/auth";

After install all dependencies, try to build the application. i get the above mentioned error (node_modules/@firebase/auth-compat/dist/auth-compat/index.d.ts:53:10 - error TS2300: Duplicate identifier 'type'.).

My question is how to solve the error in my application?.

One month ago above mentioned firebase and @angular/fire version is working. But last one month it through the error.


Solution

  • Update Angular version 12 to 13. Using below command.

    ng update @angular/core@13 @angular/cli@13 --force

    Then update typescript 4.3.5 to 4.6.2. Using below command.

    npm i [email protected]

    After these two update, the above mentioned problem is solved.