import pluginVue from 'eslint-plugin-vue'; import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript'; import pluginVitest from '@vitest/eslint-plugin'; // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import pluginCypress from 'eslint-plugin-cypress/flat'; import oxlint from 'eslint-plugin-oxlint'; import skipFormatting from '@vue/eslint-config-prettier/skip-formatting'; // To allow more languages other than `ts` in `.vue` files, uncomment the following lines: // import { configureVueProject } from '@vue/eslint-config-typescript' // configureVueProject({ scriptLangs: ['ts', 'tsx'] }) // More info at https://github.com/vuejs/eslint-config-typescript/#advanced-setup export default defineConfigWithVueTs( { name: 'app/files-to-lint', files: ['**/*.{ts,mts,tsx,vue}'], }, { name: 'app/files-to-ignore', ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'], }, pluginVue.configs['flat/essential'], vueTsConfigs.recommended, { ...pluginVitest.configs.recommended, files: ['src/**/__tests__/*'], }, { ...pluginCypress.configs.recommended, files: ['cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}', 'cypress/support/**/*.{js,ts,jsx,tsx}'], }, ...oxlint.configs['flat/recommended'], skipFormatting, );