.eslintrc.json 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. {
  2. "extends": "standard",
  3. "env": {"jest": true},
  4. "parser": "@typescript-eslint/parser",
  5. "plugins": ["prefer-arrow", "@typescript-eslint"],
  6. "rules": {
  7. "array-bracket-spacing": ["error", "never"],
  8. "array-callback-return": "error",
  9. "arrow-body-style": ["error", "as-needed"],
  10. "arrow-parens": ["error", "as-needed"],
  11. "block-scoped-var": "error",
  12. "camelcase": ["error", { "properties": "always" }],
  13. "class-methods-use-this": "off",
  14. "comma-dangle": ["error", "always-multiline"],
  15. "complexity": ["error", 11],
  16. "computed-property-spacing": ["error", "never"],
  17. "consistent-return": "error",
  18. "consistent-this": "error",
  19. "default-case": ["error", {"commentPattern": "^skip\\sdefault"}],
  20. "dot-notation": "error",
  21. "for-direction": "error",
  22. "func-style": ["error", "expression"],
  23. "getter-return": "error",
  24. "guard-for-in": "error",
  25. "implicit-arrow-linebreak": ["error", "beside"],
  26. "indent": ["error", 4, {"SwitchCase": 1}],
  27. "linebreak-style": ["error", "unix"],
  28. "line-comment-position": ["error", "above"],
  29. "lines-between-class-members": ["error", "always", {"exceptAfterSingleLine": true}],
  30. "max-depth": ["error", 4],
  31. "max-len": ["error", {"code": 120, "ignorePattern": "\\/\\* eslint"}],
  32. "multiline-ternary": ["error", "always-multiline"],
  33. "newline-per-chained-call": "off",
  34. "no-alert": "error",
  35. "no-await-in-loop": "error",
  36. "no-case-declarations": "error",
  37. "no-catch-shadow": "error",
  38. "no-confusing-arrow": ["error", {"allowParens": true}],
  39. "no-console": "error",
  40. "no-div-regex": "error",
  41. "no-duplicate-imports": "error",
  42. "no-else-return": "error",
  43. "no-empty": "error",
  44. "no-empty-function": "error",
  45. "no-eq-null": "error",
  46. "no-extra-semi": "error",
  47. "no-floating-decimal": "error",
  48. "no-implicit-coercion": "error",
  49. "no-implicit-globals": "error",
  50. "no-invalid-this": "error",
  51. "no-lonely-if": "error",
  52. "no-loop-func": "error",
  53. "no-multi-assign": "error",
  54. "nonblock-statement-body-position": ["error", "beside"],
  55. "no-negated-condition": "error",
  56. "no-nested-ternary": "error",
  57. "no-prototype-builtins": "error",
  58. "no-script-url": "error",
  59. "no-underscore-dangle": "off",
  60. "no-useless-concat": "error",
  61. "no-var": "error",
  62. "no-void": "error",
  63. "no-warning-comments": ["error", {"terms": ["todo", "fix", "fixme"]}],
  64. "no-throw-literal": "off",
  65. "object-curly-newline": "off",
  66. "object-curly-spacing": ["error", "always"],
  67. "object-shorthand": "error",
  68. "prefer-arrow/prefer-arrow-functions": ["error"],
  69. "prefer-const": "error",
  70. "prefer-numeric-literals": "error",
  71. "prefer-rest-params": "error",
  72. "prefer-spread": "error",
  73. "prefer-template": "error",
  74. "radix": "error",
  75. "require-await": "error",
  76. "require-jsdoc": ["off", {"require": {"FunctionDeclaration": true, "MethodDefinition": true, "ClassDeclaration": true, "ArrowFunctionExpression": false, "FunctionExpression": true}}],
  77. "require-yield": "error",
  78. "rest-spread-spacing": ["error", "never"],
  79. "semi": ["error", "always"],
  80. "semi-style": ["error", "last"],
  81. "sort-imports": "off",
  82. "sort-keys": "off",
  83. "sort-vars": "off",
  84. "space-before-function-paren": "off",
  85. "switch-colon-spacing": "error",
  86. "valid-jsdoc": ["off", {"prefer": {"arg": "param", "argument": "param", "class": "constructor", "return": "returns", "virtual": "abstract"}, "requireReturn": false}],
  87. "wrap-regex": "error",
  88. "@typescript-eslint/no-unused-vars": ["error"]
  89. },
  90. "globals": {
  91. "luxon": false
  92. }
  93. }