import path from 'node:path' import { fileURLToPath } from 'node:url' import { FlatCompat } from '@eslint/eslintrc' import js from '@eslint/js' import stylistic from '@stylistic/eslint-plugin' import importPlugin from 'eslint-plugin-import' import jest from 'eslint-plugin-jest' import noRelativeImportPaths from 'eslint-plugin-no-relative-import-paths' import unusedImports from 'eslint-plugin-unused-imports' import vue from 'eslint-plugin-vue' import globals from 'globals' import vueParser from 'vue-eslint-parser' const __filename = fileURLToPath(import.meta.url) const __dirname = path.dirname(__filename) const compat = new FlatCompat({ baseDirectory: __dirname, recommendedConfig: js.configs.recommended, allConfig: js.configs.all }) export default [ { ignores: [ 'debian', 'src-bex/www', 'src-capacitor', 'src-cordova', 'node_modules', 'dist', '**/.*' ] }, // legacy configs: "standard" converted to flat config ...compat.extends('standard'), { ...vue.configs['vue3-recommended'] }, { plugins: { vue, jest, 'unused-imports': unusedImports, 'no-relative-import-paths': noRelativeImportPaths, import: importPlugin, stylistic }, files: ['**/*.vue', '**/*.js', '**/*.ts', '**/*.mjs'], ignores: ['src/store/store-flag.d.ts'], languageOptions: { parser: vueParser, parserOptions: { parser: '@babel/eslint-parser', // JS inside