// @ts-check const eslint = require('@eslint/js'); const tseslint = require('typescript-eslint'); const angular = require('angular-eslint'); module.exports = tseslint.config( { files: ['**/*.ts'], extends: [ eslint.configs.recommended, ...tseslint.configs.recommended, ...tseslint.configs.stylistic, ...angular.configs.tsRecommended ], processor: angular.processInlineTemplates, rules: { '@angular-eslint/directive-selector': [ 'error', { type: 'attribute', prefix: 'c', style: 'camelCase' } ], '@angular-eslint/component-selector': [ 'error', { type: 'element', prefix: 'c', style: 'kebab-case' } ], '@angular-eslint/no-input-rename': 'warn', '@angular-eslint/no-output-rename': 'warn', '@typescript-eslint/consistent-indexed-object-style': 'off', '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-inferrable-types': 'off', '@typescript-eslint/no-unused-expressions': 'off', 'no-unused-private-class-members': 'warn' } }, { files: ['**/*.html'], extends: [...angular.configs.templateRecommended, ...angular.configs.templateAccessibility], rules: { '@angular-eslint/template/elements-content': 'off', '@angular-eslint/template/alt-text': 'off', '@angular-eslint/template/interactive-supports-focus': 'warn', '@angular-eslint/template/click-events-have-key-events': 'warn', '@angular-eslint/template/label-has-associated-control': 'warn' } } );