.netangulartypescriptnpmoctopus-deploy

Angular 17: How to resolve dependency when Conflicting peer dependency?


I upgraded angular to version 17 by using npm --force, the application is working well in local but when I try to deploy it (octopus deploy), the npm install is automatically executed by .Net and the execution stops with a list of conflicts. I tried to replace the command npm install by npm install --force but it didn't work.

Can someone explain how to fix these kind of conflicts in general or share some documentation, please?

How can I fix the conflict below, please?

# npm resolution error report

While resolving: @angular-eslint/builder@17.4.0
Found: eslint@9.2.0
node_modules/eslint
  dev eslint@"^9.2.0" from the root project
  peer eslint@"^6.0.0 || ^7.0.0 || >=8.0.0" from @eslint-community/eslint-utils@4.4.0
  node_modules/@eslint-community/eslint-utils
    @eslint-community/eslint-utils@"^4.4.0" from @typescript-eslint/utils@7.8.0
    node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/utils
      @typescript-eslint/utils@"7.8.0" from @angular-eslint/eslint-plugin@17.4.0
      node_modules/@angular-eslint/eslint-plugin
        dev @angular-eslint/eslint-plugin@"17.4.0" from the root project
        @angular-eslint/eslint-plugin@"17.4.0" from @angular-eslint/schematics@17.4.0
        node_modules/@angular-eslint/schematics
          dev @angular-eslint/schematics@"17.4.0" from the root project
      @typescript-eslint/utils@"7.8.0" from @angular-eslint/utils@17.4.0
      node_modules/@angular-eslint/eslint-plugin/node_modules/@angular-eslint/utils
        @angular-eslint/utils@"17.4.0" from @angular-eslint/eslint-plugin@17.4.0
        node_modules/@angular-eslint/eslint-plugin
          dev @angular-eslint/eslint-plugin@"17.4.0" from the root project
          @angular-eslint/eslint-plugin@"17.4.0" from @angular-eslint/schematics@17.4.0
          node_modules/@angular-eslint/schematics
            dev @angular-eslint/schematics@"17.4.0" from the root project
    @eslint-community/eslint-utils@"^4.4.0" from @typescript-eslint/utils@7.8.0
    node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/utils
      @typescript-eslint/utils@"7.8.0" from @angular-eslint/eslint-plugin-template@17.4.0
      node_modules/@angular-eslint/eslint-plugin-template
        dev @angular-eslint/eslint-plugin-template@"17.4.0" from the root project
        @angular-eslint/eslint-plugin-template@"17.4.0" from @angular-eslint/schematics@17.4.0
        node_modules/@angular-eslint/schematics
          dev @angular-eslint/schematics@"17.4.0" from the root project
      @typescript-eslint/utils@"7.8.0" from @angular-eslint/utils@17.4.0
      node_modules/@angular-eslint/eslint-plugin-template/node_modules/@angular-eslint/utils
        @angular-eslint/utils@"17.4.0" from @angular-eslint/eslint-plugin-template@17.4.0
        node_modules/@angular-eslint/eslint-plugin-template
          dev @angular-eslint/eslint-plugin-template@"17.4.0" from the root project
          @angular-eslint/eslint-plugin-template@"17.4.0" from @angular-eslint/schematics@17.4.0
          node_modules/@angular-eslint/schematics
            dev @angular-eslint/schematics@"17.4.0" from the root project
      @typescript-eslint/utils@"7.8.0" from @typescript-eslint/type-utils@7.8.0
      node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/type-utils
        @typescript-eslint/type-utils@"7.8.0" from @angular-eslint/eslint-plugin-template@17.4.0
        node_modules/@angular-eslint/eslint-plugin-template
          dev @angular-eslint/eslint-plugin-template@"17.4.0" from the root project
          @angular-eslint/eslint-plugin-template@"17.4.0" from @angular-eslint/schematics@17.4.0
          node_modules/@angular-eslint/schematics
            dev @angular-eslint/schematics@"17.4.0" from the root project
    @eslint-community/eslint-utils@"^4.4.0" from @typescript-eslint/utils@7.8.0
    node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils
      @typescript-eslint/utils@"7.8.0" from @typescript-eslint/eslint-plugin@7.8.0
      node_modules/@typescript-eslint/eslint-plugin
        dev @typescript-eslint/eslint-plugin@"^7.8.0" from the root project
      @typescript-eslint/utils@"7.8.0" from @typescript-eslint/type-utils@7.8.0
      node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils
        @typescript-eslint/type-utils@"7.8.0" from @typescript-eslint/eslint-plugin@7.8.0
        node_modules/@typescript-eslint/eslint-plugin
          dev @typescript-eslint/eslint-plugin@"^7.8.0" from the root project
    @eslint-community/eslint-utils@"^4.2.0" from eslint@9.2.0

Could not resolve dependency:
peer eslint@"^7.20.0 || ^8.0.0" from @angular-eslint/builder@17.4.0
node_modules/@angular-eslint/builder
  dev @angular-eslint/builder@"17.4.0" from the root project

Conflicting peer dependency: eslint@8.57.0
node_modules/eslint
  peer eslint@"^7.20.0 || ^8.0.0" from @angular-eslint/builder@17.4.0
  node_modules/@angular-eslint/builder
    dev @angular-eslint/builder@"17.4.0" from the root project

Fix the upstream dependency conflict, or retry
this command with --force or --legacy-peer-deps
to accept an incorrect (and potentially broken) dependency resolution.

Here is package.json

"dependencies": {
    "@angular/animations": "~17.3.8",
    "@angular/cdk": "^17.3.9",
    "@angular/common": "~17.3.8",
    "@angular/compiler": "~17.3.8",
    "@angular/core": "~17.3.8",
    "@angular/forms": "~17.3.8",
    "@angular/localize": "~17.3.8",
    "@angular/platform-browser": "~17.3.8",
    "@angular/platform-browser-dynamic": "~17.3.8",
    "@angular/platform-server": "~17.3.8",
    "@angular/router": "~17.3.8",
    "@fortawesome/angular-fontawesome": "^0.14.1",
    "@fortawesome/fontawesome-common-types": "^6.5.2",
    "@fortawesome/fontawesome-svg-core": "^6.5.2",
    "@ngx-translate/core": "^15.0.0",
    "@ngx-translate/http-loader": "^8.0.0",
    "@progress/kendo-angular-buttons": "^15.5.0",
    "@progress/kendo-angular-common": "^15.5.0",
    "@progress/kendo-angular-dateinputs": "^15.5.0",
    "@progress/kendo-angular-dialog": "^15.5.0",
    "@progress/kendo-angular-dropdowns": "^15.5.0",
    "@progress/kendo-angular-excel-export": "^15.5.0",
    "@progress/kendo-angular-grid": "^15.5.0",
    "@progress/kendo-angular-icons": "^15.5.0",
    "@progress/kendo-angular-indicators": "^15.5.0",
    "@progress/kendo-angular-inputs": "^15.5.0",
    "@progress/kendo-angular-intl": "^15.5.0",
    "@progress/kendo-angular-l10n": "^15.5.0",
    "@progress/kendo-angular-label": "^15.5.0",
    "@progress/kendo-angular-layout": "^15.5.0",
    "@progress/kendo-angular-listview": "^15.5.0",
    "@progress/kendo-angular-menu": "^15.5.0",
    "@progress/kendo-angular-navigation": "^15.5.0",
    "@progress/kendo-angular-notification": "^15.5.0",
    "@progress/kendo-angular-pager": "^15.5.0",
    "@progress/kendo-angular-pdf-export": "^15.5.0",
    "@progress/kendo-angular-popup": "^15.5.0",
    "@progress/kendo-angular-progressbar": "^15.5.0",
    "@progress/kendo-angular-ripple": "^15.5.0",
    "@progress/kendo-angular-tooltip": "^15.5.0",
    "@progress/kendo-angular-treeview": "^15.5.0",
    "@progress/kendo-data-query": "^1.7.0",
    "@progress/kendo-drawing": "^1.20.1",
    "@progress/kendo-font-icons": "^3.0.0",
    "@progress/kendo-licensing": "^1.3.5",
    "@progress/kendo-svg-icons": "^3.0.0",
    "@progress/kendo-theme-default": "^8.0.1",
    "@types/lodash": "^4.17.1",
    "angular-oauth2-oidc": "^17.0.2",
    "bootstrap": "^5.3.3",
    "cldr-core": "^45.0.0",
    "cldr-dates-full": "^45.0.0",
    "cldr-numbers-full": "^45.0.0",
    "jquery": "^3.7.1",
    "kendo-ui-license": "^1.0.1",
    "locale-codes": "^1.3.1",
    "npm-check-updates": "^16.14.20",
    "oidc-client": "^1.11.5",
    "popper.js": "^1.16.0",
    "run-script-os": "^1.1.6",
    "rxjs": "~7.8.1",
    "zone.js": "~0.14.5"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~17.3.7",
    "@angular-eslint/builder": "17.4.0",
    "@angular-eslint/eslint-plugin": "17.4.0",
    "@angular-eslint/eslint-plugin-template": "17.4.0",
    "@angular-eslint/schematics": "17.4.0",
    "@angular-eslint/template-parser": "17.4.0",
    "@angular/cli": "~17.3.7",
    "@angular/compiler-cli": "~17.3.8",
    "@types/jasmine": "~5.1.4",
    "@types/jasminewd2": "~2.0.13",
    "@types/jquery": "^3.5.30",
    "@types/node": "^20.12.11",
    "@typescript-eslint/eslint-plugin": "^7.8.0",
    "@typescript-eslint/parser": "^7.8.0",
    "eslint": "^9.2.0",
    "jasmine-core": "~5.1.2",
    "karma": "~6.4.3",
    "karma-chrome-launcher": "~3.2.0",
    "karma-coverage": "~2.2.1",
    "karma-jasmine": "~5.1.0",
    "karma-jasmine-html-reporter": "^2.1.0",
    "ngx-translate-testing": "^7.0.0",
    "tslib": "^2.6.2",
    "typescript": "^5.4.5"
  }
}

Solution

  • @angular-eslint doesn't support eslint v9 yet. (see here)

    Downgrade your eslint dependency to 8 and you should be fine.