1
votes

Comment mettre à jour la configuration d'eslint après la mise à niveau de Angular 9 vers 10

Après avoir mis à niveau angular de 9 à 10 et exécuté npm run lint , j'ai eu cette expérience> ng lint --fix

error  Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser.
The file does not match your project config: tsconfig.app.json.
The extension for the file (.json) is non-standard. You should add "parserOptions.extraFileExtensions" to your config

Mon angular.json est:

..."@angular-devkit/build-angular": "~0.1001.1",
"@angular-eslint/builder": "0.3.0-beta.1",
"@angular-eslint/eslint-plugin": "0.0.1-alpha.32",
"@angular-eslint/eslint-plugin-template": "0.0.1-alpha.32",
"@angular-eslint/template-parser": "0.0.1-alpha.32",
"@angular/cli": "~10.1.0",
"@angular/compiler-cli": "~10.1.1",
"@angular/language-service": "~10.1.1",
"@types/file-saver": "^2.0.1",
"@types/google-libphonenumber": "^7.4.19",
"@types/jasmine": "~3.3.8",
"@types/jasminewd2": "~2.0.3",
"@typescript-eslint/eslint-plugin": "2.31.0",
"@typescript-eslint/parser": "2.31.0",
"codelyzer": "^5.2.2",
"eslint": "^7.6.0",
"eslint-config-airbnb-typescript": "^8.0.2",
"eslint-config-prettier": "^6.11.0",
"eslint-plugin-import": "^2.21.2",
"eslint-plugin-prettier": "^3.1.4",...

Voici mon package.json - devDependencies:

    ..."lint": {
      "builder": "@angular-eslint/builder:lint",
      "options": {
        "eslintConfig": ".eslintrc.js",
        "tsConfig": [
          "tsconfig.app.json",
          "tsconfig.spec.json",
          "e2e/tsconfig.json"
        ],
        "exclude": ["**/node_modules/**"]
      }
    },...

quand je remplace 'tsConfig' par 'lintFilePatterns', le cli dit:

Schema validation failed with the following errors:
  Data path "" should NOT have additional properties(tsConfig).

Que dois-je mettre à jour?


8 commentaires

Pourriez-vous fournir l'intégralité de votre angular.json et de votre package.json? Peut-être une incompatibilité de version.


Oui, je l'ai mis à jour. :RÉ


Essayez de mettre à niveau votre @angular-devkit/build-angular vers la version 0.13.0


Malheureusement, cela ne fonctionne pas. :(


Pourriez-vous fournir l'ensemble angular.json?


Impossible, mais la version angulaire que j'utilise est "^ 10.1.1" et la version dactylographiée "~ 4.0.2"


S'il existe, essayez de supprimer "es5BrowserSupport": true de votre angular.json


Non, je ne l'ai pas configuré


3 Réponses :


0
votes

Tenez-vous-en au document https://github.com/angular-eslint/angular-eslint , le problème vient de la version d'angular.

Actuellement, angular-eslint supporte l'ancien typecript (<= 3.10), nous devons donc utiliser la version angulaire <10.0.6 (le 10.1.x utilise le typecript 4.0).

Je pense que je dois attendre la compatibilité, je mettrai à jour lorsque je pourrai résoudre ce conflit. Si vous rencontrez le même problème que moi, vous pouvez essayer de rétrograder l'angular vers la v10.0.6, si vous pouvez le résoudre, je suis tellement heureux si vous pouvez mettre la solution ici. :RÉ


0 commentaires

3
votes

J'ai le même problème avec Angular 8. Le problème est que le générateur dans angular-eslint ne prend pas en charge l'option tsConfig: https://github.com/angular-eslint/angular-eslint/blob/master/packages/builder/ src / schema.d.ts

Ma solution était de supprimer tsConfig juste pour le peluchage et de copier les fichiers "include" jusqu'à "lintFilePatterns". J'ai créé .eslintignore à la racine de mon projet où je répertorie tous les fichiers "d'exclusion" que j'avais (à savoir node_modules).

Mon angular.json:

node_modules/*

puis .eslintignore

  ..."lint": {
      "builder": "@angular-eslint/builder:lint",
      "options": {
        "eslintConfig": ".eslintrc.js",
        "lintFilePatterns": [
          "**/*.spec.ts",
          "**/*.d.ts"
        ]
      }
    },...

Cela fait travailler les peluches pour moi


0 commentaires

0
votes

vous devez lancer la commande suivante:

ng g @angular-eslint/schematics:convert-tslint-to-eslint {{YOUR_PROJECT_NAME_GOES_HERE}}

il fera beaucoup de choses mais ici où réside votre erreur: entrez la description de l'image ici

doc: https://github.com/angular-eslint/angular-eslint


0 commentaires