.eslintrc.json 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. {
  2. "extends": "standard-with-typescript",
  3. "rules": {
  4. "eol-last": [
  5. "error",
  6. "always"
  7. ],
  8. "indent": "off",
  9. "no-lone-blocks": "off",
  10. "no-mixed-operators": "off",
  11. "max-len": [
  12. "error",
  13. {
  14. "code": 140
  15. }
  16. ],
  17. "array-bracket-spacing": [
  18. "error",
  19. "always"
  20. ],
  21. "quote-props": [
  22. "error",
  23. "consistent-as-needed"
  24. ],
  25. "padded-blocks": "off",
  26. "no-async-promise-executor": "off",
  27. "dot-notation": "off",
  28. "promise/param-names": "off",
  29. "import/first": "off",
  30. "operator-linebreak": [
  31. "error",
  32. "after",
  33. {
  34. "overrides": {
  35. "?": "before",
  36. ":": "before"
  37. }
  38. }
  39. ],
  40. "@typescript-eslint/indent": [
  41. "error",
  42. 2,
  43. {
  44. "SwitchCase": 1,
  45. "MemberExpression": "off"
  46. }
  47. ],
  48. "@typescript-eslint/consistent-type-assertions": [
  49. "error",
  50. {
  51. "assertionStyle": "as"
  52. }
  53. ],
  54. "@typescript-eslint/array-type": [
  55. "error",
  56. {
  57. "default": "array"
  58. }
  59. ],
  60. "@typescript-eslint/restrict-template-expressions": [
  61. "off",
  62. {
  63. "allowNumber": "true"
  64. }
  65. ],
  66. "@typescript-eslint/no-this-alias": [
  67. "error",
  68. {
  69. "allowDestructuring": true, // Allow `const { props, state } = this`; false by default
  70. "allowedNames": ["self"] // Allow `const self = this`; `[]` by default
  71. }
  72. ],
  73. "@typescript-eslint/return-await": "off",
  74. "@typescript-eslint/dot-notation": "off",
  75. "@typescript-eslint/method-signature-style": "off",
  76. "@typescript-eslint/no-base-to-string": "off",
  77. "@typescript-eslint/quotes": "off",
  78. "@typescript-eslint/no-var-requires": "off",
  79. "@typescript-eslint/explicit-function-return-type": "off",
  80. "@typescript-eslint/promise-function-async": "off",
  81. "@typescript-eslint/no-dynamic-delete": "off",
  82. "@typescript-eslint/no-unnecessary-boolean-literal-compare": "off",
  83. "@typescript-eslint/strict-boolean-expressions": "off",
  84. "@typescript-eslint/consistent-type-definitions": "off",
  85. "@typescript-eslint/no-misused-promises": "off",
  86. "@typescript-eslint/no-namespace": "off",
  87. "@typescript-eslint/no-empty-interface": "off",
  88. "@typescript-eslint/no-extraneous-class": "off",
  89. // bugged but useful
  90. "@typescript-eslint/restrict-plus-operands": "off"
  91. },
  92. "ignorePatterns": [
  93. "node_modules/"
  94. ],
  95. "parserOptions": {
  96. "project": [
  97. "./tsconfig.json",
  98. "./server/tools/tsconfig.json"
  99. ]
  100. }
  101. }