import pluginVitest from '@vitest/eslint-plugin'; import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript'; import { globalIgnores } from 'eslint/config'; import pluginSimpleImportSort from 'eslint-plugin-simple-import-sort'; import pluginVue from 'eslint-plugin-vue'; import neostandard from 'neostandard'; import customRules from './config/eslintCustomRules'; // 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}'], }, globalIgnores(['**/dist/**', '**/dist-ssr/**', '**/coverage/**', '**/types/**', 'scripts/figma-to-prime-vue/data/Figma.js', 'docs-site/.vitepress/cache/**']), pluginVue.configs['flat/recommended'], vueTsConfigs.recommended, ...neostandard({ // Styling related rules ts: true, semi: true, env: ['browser'], }), // @ts-expect-error: ts(2345) { plugins: { 'simple-import-sort': pluginSimpleImportSort, }, rules: customRules, }, { ...pluginVitest.configs.recommended, files: ['lib/**/*.spec.*'], }, { files: ['**/examples/Basic.vue'], rules: { 'vue/multi-word-component-names': 'off', }, }, );