ISP mail provider manager with mysql and integrated LDAP server. https://rainbox.email
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.

115 lines
2.5 KiB

  1. {
  2. "root": true,
  3. "parser": "@typescript-eslint/parser",
  4. "plugins": [
  5. "@typescript-eslint"
  6. ],
  7. "parserOptions": {
  8. "project": [
  9. "./tsconfig.json",
  10. "./tsconfig.test.json",
  11. "./tsconfig.frontend.json"
  12. ]
  13. },
  14. "extends": [
  15. "eslint:recommended",
  16. "plugin:@typescript-eslint/recommended"
  17. ],
  18. "rules": {
  19. "indent": [
  20. "error",
  21. 4,
  22. {
  23. "SwitchCase": 1
  24. }
  25. ],
  26. "no-trailing-spaces": "error",
  27. "max-len": [
  28. "error",
  29. {
  30. "code": 120,
  31. "ignoreStrings": true,
  32. "ignoreTemplateLiterals": true,
  33. "ignoreRegExpLiterals": true
  34. }
  35. ],
  36. "semi": "off",
  37. "@typescript-eslint/semi": [
  38. "error"
  39. ],
  40. "no-extra-semi": "error",
  41. "eol-last": "error",
  42. "comma-dangle": "off",
  43. "@typescript-eslint/comma-dangle": [
  44. "error",
  45. {
  46. "arrays": "always-multiline",
  47. "objects": "always-multiline",
  48. "imports": "always-multiline",
  49. "exports": "always-multiline",
  50. "functions": "always-multiline",
  51. "enums": "always-multiline",
  52. "generics": "always-multiline",
  53. "tuples": "always-multiline"
  54. }
  55. ],
  56. "no-extra-parens": "off",
  57. "@typescript-eslint/no-extra-parens": [
  58. "error"
  59. ],
  60. "no-nested-ternary": "error",
  61. "@typescript-eslint/no-inferrable-types": "off",
  62. "@typescript-eslint/explicit-module-boundary-types": "error",
  63. "@typescript-eslint/no-unnecessary-condition": "error",
  64. "@typescript-eslint/no-unused-vars": [
  65. "error",
  66. {
  67. "argsIgnorePattern": "^_"
  68. }
  69. ],
  70. "@typescript-eslint/no-non-null-assertion": "error",
  71. "no-useless-return": "error",
  72. "no-useless-constructor": "off",
  73. "@typescript-eslint/no-useless-constructor": [
  74. "error"
  75. ],
  76. "no-return-await": "off",
  77. "@typescript-eslint/return-await": [
  78. "error",
  79. "always"
  80. ],
  81. "@typescript-eslint/explicit-member-accessibility": [
  82. "error",
  83. {
  84. "accessibility": "explicit"
  85. }
  86. ],
  87. "@typescript-eslint/no-floating-promises": "error"
  88. },
  89. "ignorePatterns": [
  90. "jest.config.js",
  91. "scripts/**/*",
  92. "webpack.config.js",
  93. "dist/**/*",
  94. "public/**/*",
  95. "config/**/*"
  96. ],
  97. "overrides": [
  98. {
  99. "files": [
  100. "test/**/*"
  101. ],
  102. "rules": {
  103. "max-len": [
  104. "error",
  105. {
  106. "code": 120,
  107. "ignoreTemplateLiterals": true,
  108. "ignoreRegExpLiterals": true,
  109. "ignoreStrings": true
  110. }
  111. ]
  112. }
  113. }
  114. ]
  115. }