簡體   English   中英

angular 項目中 ng lint 期間未處理的異常

[英]Unhandled exception during ng lint in angular project

我正在嘗試在我的 angular 項目上運行ng lint 我將 Angular 項目從 TSLint 遷移到 ESLint,但是當我運行ng lint時,我收到以下錯誤消息:

An unhandled exception occurred: Invalid lint configuration. Nothing to lint.

配置可能出了什么問題?

ng 版本:Angular CLI:11.2.9,Angular:11.2.0

.eslintrc.json

{
  "root": true,
  "ignorePatterns": [
    "projects/**/*"
  ],
  "overrides": [
    {
      "files": [
        "*.ts"
      ],
      "parserOptions": {
        "project": [
          "tsconfig.json",
          "e2e/tsconfig.json"
        ],
        "createDefaultProgram": true
      },
      "extends": [
        "plugin:@angular-eslint/recommended",
        //"plugin:@typescript-eslint/recommended", TODO: check warnings
        "plugin:@angular-eslint/ng-cli-compat",
        "plugin:@angular-eslint/ng-cli-compat--formatting-add-on",
        "plugin:@angular-eslint/template/process-inline-templates"
      ],
      "rules": {
        "@angular-eslint/no-empty-lifecycle-method": "off",
        "@angular-eslint/component-selector": [
          "error",
          {
            "type": "element",
            "prefix": "app",
            "style": "kebab-case"
          }
        ],
        "@typescript-eslint/naming-convention": [
          "error",
          {
            "selector": "variable",
            "modifiers": ["const", "exported"],
            "types": ["function"],
            "format": ["camelCase"]
          },
          {
            "selector": "variable",
            "modifiers": ["const","exported"],
            "types": ["string", "number", "array", "boolean"],
            "format": ["UPPER_CASE"]
          }
        ],

        "@angular-eslint/directive-selector": [
          "error",
          {
            "type": "attribute",
            "prefix": "app",
            "style": "camelCase"
          }
        ]
      }
    },
    {
      "files": [
        "*.html"
      ],
      "extends": [
        "plugin:@angular-eslint/template/recommended"
      ],
      "rules": {}
    }
  ]
}

angular.json

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "libs-common-angular": {
      "root": "projects",
      "sourceRoot": "projects/src",
      "projectType": "library",
      "prefix": "lib",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:ng-packagr",
          "options": {
            "tsConfig": "libs/tsconfig.lib.json",
            "project": "libs/package.json"
          }
        ,
          "configurations": {
            "production": {
              "tsConfig": "projects/tsconfig.lib.prod.json"
            }
          }
},
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "libs/src/test.ts",
            "polyfills": "libs/polyfills.ts",
            "tsConfig": "libs/tsconfig.spec.json",
            "karmaConfig": "libs/karma.conf.js"
          }
        },
        "lint": {
          "builder": "@angular-eslint/builder:lint",
          "options": {
            "lintFilePatterns": [
              "src/**/*.ts",
              "src/**/*.html"
            ]
          }
        }
      }
    }
  },
  "defaultProject": "libs-common-angular"
}

package.json

{
  "name": "libs-common-angular",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "pre-release": "npm --prefix libs version patch && ng build libs-common-angular",
    "release": "npm --prefix libs version patch && ng build libs-common-angular && npm publish --@owi dist/libs-common-angular"
  },
  "private": false,
  "dependencies": {
    "@angular/animations": "^11.2.0",
    "@angular/cdk": "^11.2.0",
    "@angular/common": "~11.2.0",
    "@angular/compiler": "~11.2.0",
    "@angular/core": "~11.2.0",
    "@angular/flex-layout": "^11.0.0-beta.33",
    "@angular/forms": "~11.2.0",
    "@angular/material": "^11.2.0",
    "@angular/material-moment-adapter": "^11.2.0",
    "@angular/platform-browser": "~11.2.0",
    "@angular/platform-browser-dynamic": "~11.2.0",
    "@angular/router": "~11.2.0",
    "core-js": "^2.6.12",
    "moment": "^2.29.1",
    "rxjs": "~6.6.3",
    "tslib": "^2.0.0",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.1102.9",
    "@angular/cli": "~11.2.9",
    "@angular/compiler-cli": "~11.2.0",
    "@types/jasmine": "~3.6.0",
    "@types/node": "^12.11.1",
    "codelyzer": "^6.0.0",
    "jasmine-core": "~3.6.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~6.1.1",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.0.3",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "karma-phantomjs-launcher": "^1.0.0",
    "ng-packagr": "^11.2.1",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "typescript": "~4.1.5",
    "eslint": "^7.6.0",
    "eslint-plugin-import": "2.22.1",
    "eslint-plugin-jsdoc": "30.7.6",
    "eslint-plugin-prefer-arrow": "1.2.2",
    "@angular-eslint/builder": "2.1.0",
    "@angular-eslint/eslint-plugin": "2.1.0",
    "@angular-eslint/eslint-plugin-template": "2.1.0",
    "@angular-eslint/schematics": "2.1.0",
    "@angular-eslint/template-parser": "2.1.0",
    "@typescript-eslint/eslint-plugin": "4.16.1",
    "@typescript-eslint/parser": "4.16.1"
  }
}

我只是在做同樣的事情時遇到了同樣的錯誤。

我注意到我在 auto-generated.eslintrc.json 文件中有這個:

"ignorePatterns": [
  "projects/**/*"
],

如果我沒看錯這個模式,那就是忽略我項目中的所有內容,所以現在它找不到任何要 lint 的東西是有道理的。 我刪除了這種模式並且 linting 有效。

所以它看起來像這樣:

"ignorePatterns": [],

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM