.eslintrc.cjs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. module.exports = {
  2. root: true,
  3. env: {
  4. browser: true,
  5. es2021: true,
  6. node: true,
  7. },
  8. extends: [
  9. './.eslintrc-auto-import.json',
  10. 'eslint:recommended',
  11. 'plugin:vue/vue3-essential',
  12. 'plugin:@typescript-eslint/recommended',
  13. 'plugin:import/typescript',
  14. 'plugin:import/recommended',
  15. 'plugin:prettier/recommended',
  16. ],
  17. settings: {
  18. node: {
  19. extensions: ['.ts', '.tsx'],
  20. moduleDirectory: ['node_modules', 'src'],
  21. },
  22. 'import/resolver': {
  23. typescript: {},
  24. },
  25. },
  26. overrides: [
  27. //这里是添加的代码
  28. {
  29. files: [
  30. 'src/pages/**/*.vue',
  31. 'src/pages/**/**/*.vue',
  32. 'src/components/**/*.vue',
  33. 'src/components/**/**/index.vue',
  34. ], // 匹配views和二级目录中的index.vue
  35. rules: {
  36. 'vue/multi-word-component-names': 'off',
  37. }, //给上面匹配的文件指定规则
  38. },
  39. ],
  40. parser: 'vue-eslint-parser',
  41. parserOptions: {
  42. parser: '@typescript-eslint/parser',
  43. ecmaVersion: 'latest',
  44. sourceType: 'module',
  45. },
  46. rules: {
  47. 'prettier/prettier': 'error',
  48. 'linebreak-style': ['error', 'unix'],
  49. 'vue/comment-directive': 'off',
  50. 'vue/multi-word-component-names': 'off',
  51. '@typescript-eslint/no-unused-vars': 'off',
  52. 'import/extensions': [
  53. 'error',
  54. 'ignorePackages',
  55. {
  56. ts: 'never',
  57. tsx: 'never',
  58. },
  59. ],
  60. 'import/order': [
  61. 'error',
  62. {
  63. groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index', 'object'],
  64. },
  65. ],
  66. 'import/named': 'off',
  67. 'import/no-unresolved': 'off',
  68. },
  69. };