#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" } ] } } ] }