eslint.config.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import pluginVue from 'eslint-plugin-vue';
  2. import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript';
  3. import pluginVitest from '@vitest/eslint-plugin';
  4. // eslint-disable-next-line @typescript-eslint/ban-ts-comment
  5. // @ts-ignore
  6. import pluginCypress from 'eslint-plugin-cypress/flat';
  7. import oxlint from 'eslint-plugin-oxlint';
  8. import skipFormatting from '@vue/eslint-config-prettier/skip-formatting';
  9. // To allow more languages other than `ts` in `.vue` files, uncomment the following lines:
  10. // import { configureVueProject } from '@vue/eslint-config-typescript'
  11. // configureVueProject({ scriptLangs: ['ts', 'tsx'] })
  12. // More info at https://github.com/vuejs/eslint-config-typescript/#advanced-setup
  13. export default defineConfigWithVueTs(
  14. {
  15. name: 'app/files-to-lint',
  16. files: ['**/*.{ts,mts,tsx,vue}'],
  17. },
  18. {
  19. name: 'app/files-to-ignore',
  20. ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'],
  21. },
  22. pluginVue.configs['flat/essential'],
  23. vueTsConfigs.recommended,
  24. {
  25. ...pluginVitest.configs.recommended,
  26. files: ['src/**/__tests__/*'],
  27. },
  28. {
  29. ...pluginCypress.configs.recommended,
  30. files: ['cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}', 'cypress/support/**/*.{js,ts,jsx,tsx}'],
  31. },
  32. ...oxlint.configs['flat/recommended'],
  33. skipFormatting,
  34. );