trainUs/eslint.config.js
David 49aaa0cd31
Some checks are pending
CI / Lint & Format (push) Waiting to run
CI / Build (push) Waiting to run
CI / Tests (${{ matrix.browser }}) (chromium) (push) Waiting to run
CI / Tests (${{ matrix.browser }}) (firefox) (push) Waiting to run
Add udpate modal (step 24) and control by audio cask (step 25)
2026-07-05 21:26:21 +02:00

61 lines
1.6 KiB
JavaScript

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',
},
},
]