|
@@ -0,0 +1,49 @@
|
|
|
+module.exports = {
|
|
|
+ root: true,
|
|
|
+ env: {
|
|
|
+ browser: true,
|
|
|
+ node: true,
|
|
|
+ es2021: true
|
|
|
+ },
|
|
|
+ parser: 'vue-eslint-parser',
|
|
|
+ extends: [
|
|
|
+ 'eslint:recommended',
|
|
|
+ 'plugin:vue/vue3-recommended',
|
|
|
+ 'plugin:@typescript-eslint/recommended',
|
|
|
+ 'plugin:prettier/recommended',
|
|
|
+ // eslint-config-prettier 的缩写
|
|
|
+ 'prettier',
|
|
|
+ 'vue-global-api'
|
|
|
+ ],
|
|
|
+ parserOptions: {
|
|
|
+ ecmaVersion: 12,
|
|
|
+ parser: '@typescript-eslint/parser',
|
|
|
+ sourceType: 'module',
|
|
|
+ ecmaFeatures: {
|
|
|
+ jsx: true
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // eslint-plugin-vue @typescript-eslint/eslint-plugin eslint-plugin-prettier的缩写
|
|
|
+ plugins: ['vue', '@typescript-eslint', 'prettier'],
|
|
|
+ rules: {
|
|
|
+ '@typescript-eslint/ban-ts-ignore': 'off',
|
|
|
+ '@typescript-eslint/no-unused-vars': 'off',
|
|
|
+ '@typescript-eslint/explicit-function-return-type': 'off',
|
|
|
+ '@typescript-eslint/no-explicit-any': 'off',
|
|
|
+ '@typescript-eslint/no-var-requires': 'off',
|
|
|
+ '@typescript-eslint/no-empty-function': 'off',
|
|
|
+ '@typescript-eslint/no-use-before-define': 'off',
|
|
|
+ '@typescript-eslint/ban-ts-comment': 'off',
|
|
|
+ '@typescript-eslint/ban-types': 'off',
|
|
|
+ '@typescript-eslint/no-non-null-assertion': 'off',
|
|
|
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
|
+ 'vue/multi-word-component-names': 'off',
|
|
|
+ 'no-undef': 'off'
|
|
|
+ },
|
|
|
+ globals: {
|
|
|
+ defineProps: 'readonly',
|
|
|
+ defineEmits: 'readonly',
|
|
|
+ defineExpose: 'readonly',
|
|
|
+ withDefaults: 'readonly'
|
|
|
+ }
|
|
|
+};
|