Files
Portfolio/eslint.config.js

63 lines
1.5 KiB
JavaScript

// @ts-check
const eslint = require('@eslint/js');
const tseslint = require('typescript-eslint');
const angular = require('angular-eslint');
const prettier = require('eslint-config-prettier');
module.exports = tseslint.config(
{
ignores: [
'dist/**',
'.angular/**',
'node_modules/**',
'coverage/**',
'playwright-report/**',
'test-results/**',
'.lighthouseci/**',
],
},
{
files: ['**/*.ts'],
ignores: ['e2e/**/*.ts', 'playwright.config.ts'],
extends: [
eslint.configs.recommended,
...tseslint.configs.recommended,
...angular.configs.tsRecommended,
],
processor: angular.processInlineTemplates,
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: [...angular.configs.templateRecommended, ...angular.configs.templateAccessibility],
},
{
files: ['e2e/**/*.ts', 'playwright.config.ts'],
extends: [eslint.configs.recommended, ...tseslint.configs.recommended],
languageOptions: {
parserOptions: {
project: './tsconfig.e2e.json',
tsconfigRootDir: __dirname,
},
},
},
prettier,
);