100 lines
2.5 KiB
JavaScript
100 lines
2.5 KiB
JavaScript
import js from '@eslint/js'
|
|
import vue from 'eslint-plugin-vue'
|
|
import parser from 'vue-eslint-parser'
|
|
import globals from 'globals'
|
|
|
|
export default [
|
|
js.configs.recommended,
|
|
...vue.configs['flat/recommended'],
|
|
{
|
|
files: ['**/*.vue', '**/*.js'],
|
|
languageOptions: {
|
|
parser: parser,
|
|
ecmaVersion: 'latest',
|
|
sourceType: 'module',
|
|
globals: {
|
|
...globals.browser,
|
|
...globals.node,
|
|
...globals.es2021,
|
|
// Nuxt/Vue specific globals
|
|
'$fetch': 'readonly',
|
|
'useAuthStore': 'readonly',
|
|
'useRoute': 'readonly',
|
|
'useRouter': 'readonly',
|
|
'navigateTo': 'readonly',
|
|
'useHead': 'readonly',
|
|
'useFetch': 'readonly',
|
|
'definePageMeta': 'readonly',
|
|
'defineNuxtRouteMiddleware': 'readonly',
|
|
'defineEventHandler': 'readonly',
|
|
'readBody': 'readonly',
|
|
'getCookie': 'readonly',
|
|
'setCookie': 'readonly',
|
|
'deleteCookie': 'readonly',
|
|
'getHeader': 'readonly',
|
|
'setHeader': 'readonly',
|
|
'getRouterParam': 'readonly',
|
|
'getQuery': 'readonly',
|
|
'sendStream': 'readonly',
|
|
'sendRedirect': 'readonly',
|
|
'createError': 'readonly',
|
|
'useRuntimeConfig': 'readonly',
|
|
'hasAnyRole': 'readonly',
|
|
'hasRole': 'readonly',
|
|
'hasAllRoles': 'readonly',
|
|
'process': 'readonly',
|
|
// Vue Composition API
|
|
'onUnmounted': 'readonly',
|
|
'provide': 'readonly',
|
|
'inject': 'readonly',
|
|
'ref': 'readonly',
|
|
'reactive': 'readonly',
|
|
'computed': 'readonly',
|
|
'watch': 'readonly',
|
|
'onMounted': 'readonly',
|
|
'defineComponent': 'readonly',
|
|
'defineProps': 'readonly',
|
|
'defineEmits': 'readonly',
|
|
'defineExpose': 'readonly'
|
|
},
|
|
parserOptions: {
|
|
ecmaVersion: 'latest',
|
|
sourceType: 'module'
|
|
}
|
|
},
|
|
rules: {
|
|
'vue/multi-word-component-names': 'off',
|
|
'vue/no-v-html': 'warn',
|
|
'no-unused-vars': ['warn', {
|
|
argsIgnorePattern: '^_',
|
|
varsIgnorePattern: '^_'
|
|
}],
|
|
'vue/no-unused-vars': ['warn', {
|
|
ignorePattern: '^_'
|
|
}],
|
|
'no-undef': 'warn',
|
|
'no-console': 'off'
|
|
}
|
|
},
|
|
{
|
|
ignores: [
|
|
'node_modules/**',
|
|
'.output/**',
|
|
'.nuxt/**',
|
|
'.next/**',
|
|
'dist/**',
|
|
'build/**',
|
|
'*.config.js',
|
|
'*.config.ts',
|
|
'*.config.cjs',
|
|
'*.cjs',
|
|
'temp/**',
|
|
'backups/**',
|
|
'public/**',
|
|
'tests/**',
|
|
'scripts/**'
|
|
]
|
|
}
|
|
]
|
|
|