import js from '@eslint/js' import pluginVue from 'eslint-plugin-vue' import * as parserVue from 'vue-eslint-parser' import configPrettier from '@vue/eslint-config-prettier' import configTypeScript from '@vue/eslint-config-typescript' import { includeIgnoreFile } from '@eslint/compat' import path from 'node:path' import { fileURLToPath } from 'node:url' const __filename = fileURLToPath(import.meta.url) const __dirname = path.dirname(__filename) const gitignorePath = path.resolve(__dirname, '.gitignore') export default [ { name: 'app/files-to-lint', files: ['**/*.{ts,mts,tsx,vue}'], }, { name: 'app/files-to-ignore', ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'], }, includeIgnoreFile(gitignorePath), js.configs.recommended, ...pluginVue.configs['flat/essential'], ...configTypeScript(), configPrettier, { languageOptions: { ecmaVersion: 'latest', sourceType: 'module', parser: parserVue, parserOptions: { parser: configTypeScript.parser, }, }, }, ]