// ESLint flat-config (Sprint 2 verify O-stack-07): подтверждено как flat-config
// синтаксис (export default [...]). Совместимо с ESLint 10.x. Legacy .eslintrc.json
// в репозитории не используется (отсутствует физически).
import js from '@eslint/js';
import vue from 'eslint-plugin-vue';
import vueTsConfig from '@vue/eslint-config-typescript';
import prettier from 'eslint-config-prettier';

// ESLint flat config (фаза 2, Tooling §3.3 #22).
// Связка: ESLint + plugin-vue + @vue/eslint-config-typescript + config-prettier.
// Prettier — отдельный форматтер, ESLint его не дублирует (eslint-config-prettier
// отключает форматирующие правила).
export default [
    js.configs.recommended,
    ...vue.configs['flat/recommended'],
    ...vueTsConfig(),
    prettier,
    {
        ignores: ['public/build/**', 'storage/**', 'vendor/**', 'node_modules/**'],
    },
    {
        rules: {
            'vue/multi-word-component-names': 'off', // допускаем AppShell.vue
            'no-restricted-imports': ['error', {
                paths: [{
                    name: 'vuetify/components',
                    message: 'Используй auto-import через vite-plugin-vuetify (vite.config.ts). Явные импорты дублируют auto-injected.',
                }],
            }],
        },
    },
];
