eslint.config.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import antfu from '@antfu/eslint-config'
  2. export default antfu({
  3. unocss: true,
  4. formatters: true,
  5. stylistic: true,
  6. rules: {
  7. 'n/prefer-global/process': 'off',
  8. 'no-undef': 'error',
  9. 'no-fallthrough': 'off',
  10. 'vue/block-order': 'off',
  11. '@typescript-eslint/no-this-alias': 'off',
  12. 'prefer-promise-reject-errors': 'off',
  13. 'unused-imports/no-unused-vars': [
  14. 'warn',
  15. {
  16. varsIgnorePattern: '^_',
  17. argsIgnorePattern: '^_',
  18. ignoreRestSiblings: true,
  19. },
  20. ],
  21. 'unused-imports/no-unused-imports': 'warn',
  22. 'vue/no-unused-vars': 'warn',
  23. 'no-unused-vars': 'warn',
  24. // 允许使用console
  25. 'no-console': 'off',
  26. 'no-debugger': 'warn',
  27. // 禁用驼峰命名检查
  28. 'camelcase': 'off',
  29. '@typescript-eslint/naming-convention': 'off',
  30. 'vue/camelcase': 'off',
  31. // 允许在Vue组件中使用props传入的变量
  32. 'vue/no-setup-props-destructure': 'off',
  33. 'vue/no-mutating-props': 'warn',
  34. },
  35. languageOptions: {
  36. globals: {
  37. h: 'readonly',
  38. unref: 'readonly',
  39. provide: 'readonly',
  40. inject: 'readonly',
  41. markRaw: 'readonly',
  42. defineAsyncComponent: 'readonly',
  43. nextTick: 'readonly',
  44. useRoute: 'readonly',
  45. useRouter: 'readonly',
  46. Message: 'readonly',
  47. $loadingBar: 'readonly',
  48. $message: 'readonly',
  49. $dialog: 'readonly',
  50. $notification: 'readonly',
  51. $modal: 'readonly',
  52. // 第三方库全局变量
  53. TMap: 'readonly',
  54. qq: 'readonly',
  55. AMap: 'readonly',
  56. BMap: 'readonly',
  57. },
  58. },
  59. })