Переопределите глобальные правила конфигурации eslint в подкаталоге

#configuration #eslint #eslintrc #typescript-eslint

#конфигурация #эслинт #eslintrc #машинопись-eslint

Вопрос:

Я перехожу с tslint на eslint. Однако я не могу применять правила аналогичным образом. A .eslintrc.json в подкаталоге просто игнорируется. Но мне нужно переопределить некоторые правила для некоторых подкаталогов. В этом случае префикс селектора должен быть ui вместо app этого для всех файлов в этом подкаталоге.

Корень .eslintrc.json

 {  "root": true,  "ignorePatterns": ["projects/**/*"],  "overrides": [  {  "files": ["*.ts"],  "parserOptions": {  "project": ["tsconfig.json"],  "createDefaultProgram": true  },  "extends": ["plugin:@angular-eslint/recommended", "plugin:@angular-eslint/template/process-inline-templates"],  "rules": {  "@angular-eslint/directive-selector": [  "error",  {  "type": "attribute",  "prefix": "app",  "style": "camelCase"  }  ],  "@angular-eslint/component-selector": [  "error",  {  "type": "element",  "prefix": "app",  "style": "kebab-case"  }  ]  }  },  {  "files": ["*.html"],  "extends": ["plugin:@angular-eslint/template/recommended"],  "rules": {}  }  ] }   

src/элементы/ .eslintrc.json

 {  "overrides": [  {  "files": ["*.ts"],  "rules": {  "@angular-eslint/directive-selector": [  "error",  {  "type": "attribute",  "prefix": "ui",  "style": "camelCase"  }  ],  "@angular-eslint/component-selector": [  "error",  {  "type": "element",  "prefix": "ui",  "style": "kebab-case"  }  ]  }  }  ] }  

Ответ №1:

Оказалось, что мне пришлось добавить tsconfig.json путь в parserOptions. Таким образом, переопределяющий файл выглядит следующим образом:

 {  "overrides": [  {  "files": ["*.ts"],  "parserOptions": {  "project": ["../../../tsconfig.json"],  "createDefaultProgram": true  },  "rules": {  "@angular-eslint/directive-selector": [  "error",  {  "type": "attribute",  "prefix": "ui",  "style": "camelCase"  }  ],  "@angular-eslint/component-selector": [  "error",  {  "type": "element",  "prefix": "ui",  "style": "kebab-case"  }  ]  }  }  ] }