eslint-config-neon
Version:
The ultimate ESLint shareable config
71 lines (69 loc) • 2.98 kB
JavaScript
import angularEslintPlugin from "@angular-eslint/eslint-plugin";
import angularEslintTemplatePlugin from "@angular-eslint/eslint-plugin-template";
import angularParser from "@angular-eslint/template-parser";
//#region src/angular.ts
const config = [{
plugins: {
"@angular-eslint": angularEslintPlugin,
"@angular-eslint/template": angularEslintTemplatePlugin
},
processor: "@angular-eslint/template/extract-inline-html",
rules: {
"@angular-eslint/component-class-suffix": 2,
"@angular-eslint/contextual-decorator": 2,
"@angular-eslint/contextual-lifecycle": 2,
"@angular-eslint/directive-class-suffix": 2,
"@angular-eslint/no-attribute-decorator": 2,
"@angular-eslint/no-conflicting-lifecycle": 2,
"@angular-eslint/no-empty-lifecycle-method": 2,
"@angular-eslint/no-forward-ref": 0,
"@angular-eslint/no-input-prefix": 0,
"@angular-eslint/no-input-rename": 0,
"@angular-eslint/no-inputs-metadata-property": 2,
"@angular-eslint/no-lifecycle-call": 2,
"@angular-eslint/no-output-native": 2,
"@angular-eslint/no-output-on-prefix": 2,
"@angular-eslint/no-output-rename": 0,
"@angular-eslint/no-outputs-metadata-property": 2,
"@angular-eslint/no-pipe-impure": 0,
"@angular-eslint/no-queries-metadata-property": 2,
"@angular-eslint/prefer-on-push-component-change-detection": 2,
"@angular-eslint/prefer-output-readonly": 2,
"@angular-eslint/relative-url-prefix": 2,
"@angular-eslint/use-component-selector": 0,
"@angular-eslint/use-component-view-encapsulation": 2,
"@angular-eslint/use-injectable-provided-in": 2,
"@angular-eslint/use-lifecycle-interface": 2,
"@angular-eslint/use-pipe-transform-interface": 2,
"import-x/extensions": 0
}
}, {
languageOptions: { parser: angularParser },
plugins: { "@angular-eslint/template": angularEslintTemplatePlugin },
rules: {
"@angular-eslint/template/alt-text": 2,
"@angular-eslint/template/elements-content": 2,
"@angular-eslint/template/label-has-associated-control": 1,
"@angular-eslint/template/table-scope": 2,
"@angular-eslint/template/valid-aria": 2,
"@angular-eslint/template/banana-in-box": 2,
"@angular-eslint/template/button-has-type": 2,
"@angular-eslint/template/click-events-have-key-events": 2,
"@angular-eslint/template/conditional-complexity": 0,
"@angular-eslint/template/cyclomatic-complexity": 0,
"@angular-eslint/template/eqeqeq": 2,
"@angular-eslint/template/i18n": 0,
"@angular-eslint/template/mouse-events-have-key-events": 2,
"@angular-eslint/template/no-any": 0,
"@angular-eslint/template/no-autofocus": 2,
"@angular-eslint/template/no-call-expression": 2,
"@angular-eslint/template/no-distracting-elements": 2,
"@angular-eslint/template/no-duplicate-attributes": 2,
"@angular-eslint/template/no-negated-async": 2,
"@angular-eslint/template/no-positive-tabindex": 2,
"@angular-eslint/template/use-track-by-function": 2
}
}];
//#endregion
export { config as default };
//# sourceMappingURL=angular.mjs.map