import js from '@eslint/js' import vue from 'eslint-plugin-vue' import prettier from 'eslint-config-prettier' export default [ { ignores: ['dist/**', 'tests/**', 'public/**', 'node_modules/**'], }, js.configs.recommended, ...vue.configs['flat/recommended'], prettier, { languageOptions: { globals: { __APP_VERSION__: 'readonly', __APP_NAME__: 'readonly', // Browser globals window: 'readonly', document: 'readonly', console: 'readonly', crypto: 'readonly', navigator: 'readonly', self: 'readonly', fetch: 'readonly', setTimeout: 'readonly', clearTimeout: 'readonly', setInterval: 'readonly', clearInterval: 'readonly', URL: 'readonly', URLSearchParams: 'readonly', Blob: 'readonly', File: 'readonly', FileReader: 'readonly', CustomEvent: 'readonly', Worker: 'readonly', Promise: 'readonly', Map: 'readonly', Set: 'readonly', // Web APIs AudioContext: 'readonly', Audio: 'readonly', MediaMetadata: 'readonly', TextEncoder: 'readonly', TextDecoder: 'readonly', btoa: 'readonly', atob: 'readonly', // Worker globals importScripts: 'readonly', }, }, rules: { 'no-unused-vars': [ 'warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_', caughtErrorsIgnorePattern: '^_' }, ], 'vue/multi-word-component-names': 'off', 'vue/no-v-html': 'off', }, }, ]