Files
CeruMusic/eslint.config.mjs
2025-08-16 16:13:47 +08:00

51 lines
1.2 KiB
JavaScript

import tseslint from '@electron-toolkit/eslint-config-ts'
import eslintConfigPrettier from '@electron-toolkit/eslint-config-prettier'
import eslintPluginVue from 'eslint-plugin-vue'
import vueParser from 'vue-eslint-parser'
export default tseslint.config(
{
ignores: [
'**/node_modules',
'**/dist',
'**/out',
'**/src/renderer/src/assets/icon_font/iconfont.js'
]
},
tseslint.configs.recommended,
eslintPluginVue.configs['flat/recommended'],
{
files: ['**/*.vue'],
languageOptions: {
parser: vueParser,
parserOptions: {
ecmaFeatures: {
jsx: true
},
extraFileExtensions: ['.vue'],
parser: tseslint.parser
}
}
},
{
files: ['**/*.{ts,mts,tsx,vue}'],
rules: {
'@typescript-eslint/no-explicit-any': 'off',
'no-empty-pattern': 'off',
'vue/require-default-prop': 'off',
'vue/multi-word-component-names': 'off',
'@typescript-eslint/no-unsafe-function-return-type': 'off',
'@typescript-eslint/explicit-function-return-type': 'off',
'vue/block-lang': [
'error',
{
script: {
lang: 'ts'
}
}
]
}
},
eslintConfigPrettier
)