Files
rc-portfolio/eslint.config.js

50 lines
1.4 KiB
JavaScript
Raw Normal View History

2025-02-23 20:38:00 -05:00
// @ts-check
2025-02-23 21:07:50 -05:00
const eslint = require('@eslint/js');
const tseslint = require('typescript-eslint');
const angular = require('angular-eslint');
const eslintPluginPrettierRecommended = require('eslint-plugin-prettier/recommended');
2025-02-23 20:38:00 -05:00
module.exports = tseslint.config(
{
2025-02-23 21:07:50 -05:00
files: ['**/*.ts'],
2025-02-23 20:38:00 -05:00
extends: [
eslint.configs.recommended,
...tseslint.configs.recommended,
...tseslint.configs.stylistic,
...angular.configs.tsRecommended,
2025-02-23 21:07:50 -05:00
eslintPluginPrettierRecommended,
2025-02-23 20:38:00 -05:00
],
processor: angular.processInlineTemplates,
rules: {
2025-02-23 21:07:50 -05:00
'@angular-eslint/directive-selector': [
'error',
2025-02-23 20:38:00 -05:00
{
2025-02-23 21:07:50 -05:00
type: 'attribute',
prefix: 'app',
style: 'camelCase',
2025-02-23 20:38:00 -05:00
},
],
2025-02-23 21:07:50 -05:00
'@angular-eslint/component-selector': [
'error',
2025-02-23 20:38:00 -05:00
{
2025-02-23 21:07:50 -05:00
type: 'element',
prefix: 'app',
style: 'kebab-case',
2025-02-23 20:38:00 -05:00
},
],
'@typescript-eslint/no-explicit-any': ['off'],
'@typescript-eslint/member-ordering': 0,
'@typescript-eslint/naming-convention': 0,
'@angular-eslint/no-host-metadata-property': 'off',
'@angular-eslint/no-output-on-prefix': 'off',
'@typescript-eslint/ban-types': 'off',
'@typescript-eslint/no-inferrable-types': 'off',
},
},
{
2025-02-23 21:07:50 -05:00
files: ['**/*.html'],
extends: [...angular.configs.templateRecommended, ...angular.configs.templateAccessibility],
2025-02-23 20:38:00 -05:00
rules: {},
}
);