.eslintrc 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. {
  2. "env": {
  3. "browser": true,
  4. "node": true,
  5. },
  6. "extends": [
  7. "eslint:recommended",
  8. "plugin:vue/vue3-recommended",
  9. "plugin:import/recommended",
  10. "prettier",
  11. "plugin:prettier/recommended",
  12. ],
  13. "parser": "vue-eslint-parser",
  14. "parserOptions": {
  15. "ecmaVersion": 2020,
  16. // 指定eslint解析器
  17. "parser": "@typescript-eslint/parser",
  18. // 允许使用 import
  19. "sourceType": "module",
  20. // 允许解析 jsx
  21. "ecmaFeatures": {
  22. "jsx": true,
  23. },
  24. },
  25. "plugins": ["vue", "@typescript-eslint", "prettier", "import"],
  26. "settings": {
  27. "import/resolver": {
  28. "typescript": {
  29. "alwaysTryTypes": true,
  30. },
  31. },
  32. },
  33. "globals": {
  34. "uni": true,
  35. "UniApp": true,
  36. "wx": true,
  37. "getCurrentPages": true,
  38. "UniHelper": true,
  39. "Page": true,
  40. "App": true,
  41. "NodeJS": true,
  42. },
  43. "rules": {
  44. "prettier/prettier": "error",
  45. "vue/no-mutating-props": [
  46. "error",
  47. {
  48. "shallowOnly": true, // 启用更改props值但保持引用不变的功能
  49. },
  50. ],
  51. "no-undef": "off",
  52. "vue/no-multiple-template-root": "off",
  53. "vue/valid-template-root": [0],
  54. "vue/no-reserved-component-names": "off",
  55. "vue/multi-word-component-names": [0],
  56. "@typescript-eslint/no-explicit-any": "off",
  57. "@typescript-eslint/ban-ts-ignore": "off",
  58. "@typescript-eslint/ban-ts-comment": [0],
  59. "@typescript-eslint/no-unused-vars": [0],
  60. "@typescript-eslint/no-var-requires": [0],
  61. "import/no-unresolved": "off",
  62. },
  63. }