import js from '@eslint/js' import prettier from 'eslint-config-prettier' import vue from 'eslint-plugin-vue' import tseslint from 'typescript-eslint' export default [ { ignores: [ 'dist', 'coverage', 'playwright-report', 'test-results', 'node_modules', 'src/shared/ui-kit/**', 'src/shared/api/generated-api/**', 'src/shared/model/generated-zod/**', ], }, js.configs.recommended, ...tseslint.configs.recommended, ...vue.configs['flat/recommended'], { files: ['src/**/*.{ts,tsx,vue}'], languageOptions: { globals: { ClipboardEvent: 'readonly', Element: 'readonly', Event: 'readonly', FocusEvent: 'readonly', HTMLInputElement: 'readonly', KeyboardEvent: 'readonly', MouseEvent: 'readonly', SVGElement: 'readonly', cancelAnimationFrame: 'readonly', document: 'readonly', getComputedStyle: 'readonly', requestAnimationFrame: 'readonly', window: 'readonly', }, }, }, { files: ['**/*.vue'], languageOptions: { parserOptions: { parser: tseslint.parser, }, }, }, { rules: { 'vue/multi-word-component-names': 'off', }, }, prettier, ]