You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
2.2 KiB

  1. module.exports = {
  2. root: true,
  3. env: {
  4. node: true
  5. },
  6. globals: {
  7. // Ref sugar (take 2)
  8. $: "readonly",
  9. $$: "readonly",
  10. $ref: "readonly",
  11. $shallowRef: "readonly",
  12. $computed: "readonly",
  13. // index.d.ts
  14. // global.d.ts
  15. Fn: "readonly",
  16. PromiseFn: "readonly",
  17. RefType: "readonly",
  18. LabelValueOptions: "readonly",
  19. EmitType: "readonly",
  20. TargetContext: "readonly",
  21. ComponentElRef: "readonly",
  22. ComponentRef: "readonly",
  23. ElRef: "readonly",
  24. global: "readonly",
  25. ForDataType: "readonly",
  26. ComponentRoutes: "readonly",
  27. // script setup
  28. defineProps: "readonly",
  29. defineEmits: "readonly",
  30. defineExpose: "readonly",
  31. withDefaults: "readonly"
  32. },
  33. extends: [
  34. "plugin:vue/vue3-essential",
  35. "eslint:recommended",
  36. "@vue/typescript/recommended",
  37. "@vue/prettier",
  38. "@vue/eslint-config-typescript"
  39. ],
  40. parser: "vue-eslint-parser",
  41. parserOptions: {
  42. parser: "@typescript-eslint/parser",
  43. ecmaVersion: 2020,
  44. sourceType: "module",
  45. jsxPragma: "React",
  46. ecmaFeatures: {
  47. jsx: true
  48. }
  49. },
  50. rules: {
  51. "vue/no-v-html": "off",
  52. "vue/require-default-prop": "off",
  53. "vue/require-explicit-emits": "off",
  54. "vue/multi-word-component-names": "off",
  55. "@typescript-eslint/no-explicit-any": "off", // any
  56. "no-debugger": "off",
  57. "@typescript-eslint/explicit-module-boundary-types": "off", // setup()
  58. "@typescript-eslint/ban-types": "off",
  59. "@typescript-eslint/ban-ts-comment": "off",
  60. "@typescript-eslint/no-empty-function": "off",
  61. "@typescript-eslint/no-non-null-assertion": "off",
  62. "vue/html-self-closing": [
  63. "error",
  64. {
  65. html: {
  66. void: "always",
  67. normal: "always",
  68. component: "always"
  69. },
  70. svg: "always",
  71. math: "always"
  72. }
  73. ],
  74. "@typescript-eslint/no-unused-vars": [
  75. "error",
  76. {
  77. argsIgnorePattern: "^_",
  78. varsIgnorePattern: "^_"
  79. }
  80. ],
  81. "no-unused-vars": [
  82. "error",
  83. {
  84. argsIgnorePattern: "^_",
  85. varsIgnorePattern: "^_"
  86. }
  87. ],
  88. "prettier/prettier": [
  89. "error",
  90. {
  91. endOfLine: "auto"
  92. }
  93. ]
  94. }
  95. };