.eslintrc.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. module.exports = {
  2. root: true,
  3. env: {
  4. browser: true,
  5. node: true,
  6. es6: true
  7. },
  8. parser: 'vue-eslint-parser',
  9. parserOptions: {
  10. ecmaVersion: 2020,
  11. sourceType: 'module',
  12. jsxPragma: 'React',
  13. ecmaFeatures: {
  14. jsx: true
  15. }
  16. },
  17. extends: [
  18. 'plugin:vue/vue3-strongly-recommended',
  19. '@vue/standard'
  20. ],
  21. rules: {
  22. 'vue/script-setup-uses-vars': 'error',
  23. 'vue/custom-event-name-casing': 'off',
  24. 'no-multiple-empty-lines': ['error', { max: 1, maxEOF: 0 }],
  25. 'no-use-before-define': 'off',
  26. 'no-unused-vars': [
  27. 'error',
  28. {
  29. argsIgnorePattern: '^_',
  30. varsIgnorePattern: '^_'
  31. }
  32. ],
  33. 'space-before-function-paren': 'off',
  34. 'vue/attributes-order': 'off',
  35. 'vue/one-component-per-file': 'off',
  36. 'vue/html-closing-bracket-newline': 'off',
  37. 'vue/max-attributes-per-line': 'off',
  38. 'vue/multiline-html-element-content-newline': 'off',
  39. 'vue/singleline-html-element-content-newline': 'off',
  40. 'vue/attribute-hyphenation': 'off',
  41. 'vue/require-default-prop': 'off',
  42. 'vue/html-self-closing': [
  43. 'error',
  44. {
  45. html: {
  46. void: 'always',
  47. normal: 'never',
  48. component: 'always'
  49. },
  50. svg: 'always',
  51. math: 'always'
  52. }
  53. ],
  54. 'vue/multi-word-component-names': 'off'
  55. },
  56. globals: {
  57. defineProps: true,
  58. defineEmits: true,
  59. defineExpose: true
  60. }
  61. }