.eslintrc.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. module.exports = {
  2. parser: 'vue-eslint-parser',
  3. parserOptions: {
  4. parser: '@typescript-eslint/parser',
  5. sourceType: 'module',
  6. },
  7. plugins: ['@typescript-eslint'],
  8. extends: [
  9. 'eslint:recommended',
  10. 'plugin:@typescript-eslint/recommended',
  11. 'plugin:vue/recommended',
  12. ],
  13. rules: {
  14. 'no-empty': ['error', { allowEmptyCatch: true }],
  15. 'no-undef': 'off',
  16. 'no-unused-vars': 'off',
  17. 'no-mixed-spaces-and-tabs': 'off',
  18. '@typescript-eslint/explicit-module-boundary-types': 'off',
  19. '@typescript-eslint/no-empty-function': 'off',
  20. '@typescript-eslint/no-explicit-any': 'off',
  21. '@typescript-eslint/no-non-null-assertion': 'off',
  22. '@typescript-eslint/no-unsafe-assignment': 'off',
  23. '@typescript-eslint/no-unsafe-call': 'off',
  24. '@typescript-eslint/no-unsafe-member-access': 'off',
  25. '@typescript-eslint/no-unsafe-return': 'off',
  26. '@typescript-eslint/no-unused-vars': 'off',
  27. '@typescript-eslint/no-var-requires': 'off',
  28. 'vue/component-tags-order': [
  29. 'warn',
  30. {
  31. order: ['script', 'template', 'style'],
  32. },
  33. ],
  34. 'vue/html-indent': 'off',
  35. 'vue/html-self-closing': [
  36. 'warn',
  37. {
  38. html: {
  39. void: 'always',
  40. normal: 'always',
  41. component: 'always',
  42. },
  43. svg: 'always',
  44. math: 'always',
  45. },
  46. ],
  47. 'vue/max-attributes-per-line': 'off',
  48. 'vue/singleline-html-element-content-newline': 'off',
  49. },
  50. };