.eslintrc.json 1.4 KB

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