You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.3 KiB
44 lines
1.3 KiB
import pluginVue from 'eslint-plugin-vue';
|
|
import globals from 'globals';
|
|
import prettier from 'eslint-plugin-prettier';
|
|
import { defineConfigWithVueTs, vueTsConfigs } from '@vue/eslint-config-typescript';
|
|
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting';
|
|
|
|
export default defineConfigWithVueTs(
|
|
{
|
|
name: 'app/files-to-lint',
|
|
files: ['**/*.{js,cjs,ts,mts,tsx,vue}']
|
|
},
|
|
|
|
{
|
|
name: 'app/files-to-ignore',
|
|
ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**']
|
|
},
|
|
{
|
|
languageOptions: {
|
|
globals: globals.browser
|
|
}
|
|
},
|
|
pluginVue.configs['flat/essential'],
|
|
vueTsConfigs.recommended,
|
|
skipFormatting,
|
|
{
|
|
plugins: { prettier },
|
|
rules: {
|
|
'@typescript-eslint/no-empty-function': 'off',
|
|
'@typescript-eslint/no-explicit-any': 'off',
|
|
'@typescript-eslint/no-unused-vars': 'off',
|
|
'@typescript-eslint/no-this-alias': 'off',
|
|
// vue
|
|
'vue/multi-word-component-names': 'off',
|
|
'vue/valid-define-props': 'off',
|
|
'vue/no-v-model-argument': 'off',
|
|
'prefer-rest-params': 'off',
|
|
// prettier
|
|
'prettier/prettier': 'error',
|
|
// 允许使用空Object类型 {}
|
|
'@typescript-eslint/no-empty-object-type': 'off',
|
|
'@typescript-eslint/no-unused-expressions': 'off'
|
|
}
|
|
}
|
|
);
|
|
|