.eslintrc.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. module.exports = {
  2. root: true,
  3. env: {
  4. node: true,
  5. },
  6. extends: [
  7. "plugin:vue/vue3-essential",
  8. "@vue/airbnb",
  9. "@vue/typescript/recommended",
  10. "@vue/prettier",
  11. "@vue/prettier/@typescript-eslint",
  12. ],
  13. parserOptions: {
  14. ecmaVersion: 2020,
  15. parser: "@typescript-eslint/parser",
  16. },
  17. rules: {
  18. "import/extensions": [
  19. "error",
  20. {
  21. js: "never",
  22. mjs: "never",
  23. jsx: "never",
  24. ts: "never",
  25. tsx: "never",
  26. },
  27. ],
  28. "import/no-unresolved": "off",
  29. "@typescript-eslint/no-empty-function": "off",
  30. "@typescript-eslint/no-explicit-any": "off",
  31. "@typescript-eslint/explicit-module-boundary-types": "off",
  32. "vuejs-accessibility/form-control-has-label": "off",
  33. "@typescript-eslint/no-non-null-assertion": "off",
  34. // "import/extensions": "off",
  35. "vuejs-accessibility/click-events-have-key-events": "off",
  36. "vuejs-accessibility/mouse-events-have-key-events": "off",
  37. "no-unused-expressions": [
  38. "error",
  39. {
  40. allowShortCircuit: true,
  41. },
  42. ],
  43. "import/no-extraneous-dependencies": ["error", { devDependencies: true }],
  44. "no-restricted-syntax": "off",
  45. "no-shadow": "off",
  46. "vue/no-v-model-argument": "off",
  47. "@typescript-eslint/no-shadow": "error",
  48. "@typescript-eslint/interface-name-prefix": "off",
  49. "@typescript-eslint/no-var-requires": "off",
  50. "no-return-assign": "off",
  51. "no-param-reassign": "off",
  52. "no-plusplus": "off",
  53. "class-methods-use-this": "off",
  54. "no-await-in-loop": "off",
  55. "no-continue": "off",
  56. "guard-for-in": "off",
  57. "no-return-await": "off",
  58. "prefer-destructuring": "off",
  59. "@typescript-eslint/no-this-alias": "off",
  60. "no-console": "off",
  61. "import/order": [
  62. "error",
  63. {
  64. pathGroups: [
  65. {
  66. pattern: "@/**",
  67. group: "internal",
  68. },
  69. ],
  70. groups: [
  71. [
  72. "builtin",
  73. "external",
  74. "internal",
  75. "parent",
  76. "sibling",
  77. "index",
  78. "object",
  79. ],
  80. ],
  81. },
  82. ],
  83. },
  84. globals: {},
  85. overrides: [
  86. {
  87. files: [
  88. "**/__tests__/*.{j,t}s?(x)",
  89. "**/tests/unit/**/*.spec.{j,t}s?(x)",
  90. ],
  91. env: {
  92. mocha: true,
  93. },
  94. },
  95. ],
  96. };