// @ts-check import eslint from '@eslint/js'; import angular from 'angular-eslint'; import { defineConfig } from 'eslint/config'; import tseslint from 'typescript-eslint'; export default defineConfig( { ignores: ['**/dist/', '**/node_modules/', '**/.angular/', '**/coverage/', 'server/drizzle/', 'config/', 'server/config/'], }, { files: ['**/*.ts', '**/*.mjs'], extends: [eslint.configs.recommended, ...tseslint.configs.recommended], rules: { '@typescript-eslint/consistent-type-imports': ['error', { fixStyle: 'inline-type-imports' }], '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }], }, }, { files: ['**/*.mjs'], languageOptions: { globals: { console: 'readonly', process: 'readonly' }, }, }, { files: ['web/**/*.ts'], extends: [...angular.configs.tsRecommended], processor: angular.processInlineTemplates, rules: { '@angular-eslint/component-selector': ['error', { type: 'element', prefix: 'ob', style: 'kebab-case' }], '@angular-eslint/directive-selector': ['error', { type: 'attribute', prefix: 'ob', style: 'camelCase' }], }, }, { files: ['web/**/*.html'], extends: [...angular.configs.templateRecommended, ...angular.configs.templateAccessibility], }, );