micro-front-end
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.

66 lines
3.0 KiB

  1. module.exports = {
  2. "env": {
  3. "browser": true,
  4. "es2021": true
  5. },
  6. "extends": [
  7. "eslint:recommended",
  8. "plugin:@typescript-eslint/recommended"
  9. ],
  10. "parser": "@typescript-eslint/parser",
  11. "parserOptions": {
  12. "ecmaVersion": 12,
  13. "sourceType": "module"
  14. },
  15. "plugins": [
  16. "@typescript-eslint"
  17. ],
  18. "rules": {
  19. // 代码风格
  20. "camelcase": "error", // 驼峰
  21. // 减少低级错误
  22. "for-direction": "error", // 强制 “for” 循环中更新子句的计数器朝着正确的方向移动
  23. "no-cond-assign": "error", // 禁止条件表达式中出现赋值操作符
  24. "no-dupe-args": "error", // 禁止 function 定义中出现重名参数
  25. "no-dupe-keys": "error", // 禁止对象字面量中出现重复的 key
  26. "no-duplicate-case": "error", // 禁止出现重复的 case 标签
  27. "no-empty": "error", // 禁止出现空语句块
  28. "no-sparse-arrays": "error", // 禁用稀疏数组
  29. "no-unreachable": "error", // 禁止在 return、throw、continue 和 break 语句之后出现不可达代码
  30. // 提高代码质量
  31. "array-callback-return": "error", // 强制数组的某些需要返回值的回调函数中有 return 语句。
  32. "block-scoped-var": "error", // 强制把变量的使用限制在其定义的作用域范围内
  33. "default-case": "error", // 要求 switch 语句中有 default 分支
  34. "no-empty-function": "error", // 禁止出现空函数
  35. "no-fallthrough": "error", // 禁止 case 贯穿。
  36. "no-labels": "error", // 禁用标签语句
  37. "no-redeclare": "error", // 禁止多次声明同一变量
  38. "no-return-assign": ["error", "always"], // 禁止在返回语句中赋值
  39. "no-sequences": "error", // 不允许使用逗号操作符
  40. "no-useless-concat": "warn", // 禁止不必要的字符串字面量或模板字面量的连接,
  41. "no-eval": "error", // 禁用 eval()
  42. "no-use-before-define": ["error", {
  43. "functions": false
  44. }], // 禁止在变量定义之前使用它们
  45. "complexity": ["error", {
  46. "max": 10
  47. }], // 程序中允许的最大环路复杂度
  48. "consistent-return": "error", // 要求 return 语句要么总是指定返回的值,要么不指定
  49. "max-depth": ["error", 5], // 强制块语句的最大可嵌套深度
  50. "max-lines-per-function": ["warn", 50], // 强制函数最大行数
  51. "max-params": ["warn", 4], // 限制函数定义中最大参数个数
  52. "require-await": "error", // 禁止使用不带 await 表达式的 async 函数
  53. // es6
  54. "no-var": "warn", // 要求使用 let 或 const 而不是 var
  55. "no-duplicate-imports": "warn", // 禁止重复模块导入
  56. "prefer-destructuring": "warn", // 优先使用数组和对象解构
  57. "prefer-template": "warn", // 要求使用模板字面量而非字符串连接
  58. "no-unused-vars": "off",// 禁止出现未使用过的变量
  59. "@typescript-eslint/no-unused-vars": [
  60. "error",
  61. { "argsIgnorePattern": "^_" }
  62. ]
  63. }
  64. };