.eslintrc 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. {
  2. "extends": [
  3. "eslint:recommended",
  4. "plugin:@typescript-eslint/recommended"
  5. ],
  6. "plugins": [
  7. "@typescript-eslint"
  8. ],
  9. "parser": "@typescript-eslint/parser",
  10. "parserOptions": {
  11. "ecmaVersion": 2018,
  12. "sourceType": "module"
  13. },
  14. "env": {
  15. "browser": true
  16. },
  17. "ignorePatterns": [
  18. "*.esm.js"
  19. ],
  20. "rules": {
  21. "semi": [
  22. "error",
  23. "always",
  24. {
  25. "omitLastInOneLineBlock": true
  26. }
  27. ],
  28. "space-in-parens": [
  29. "error",
  30. "always"
  31. ],
  32. "array-bracket-spacing": [
  33. "error",
  34. "always"
  35. ],
  36. "object-curly-spacing": [
  37. "error",
  38. "always"
  39. ],
  40. "computed-property-spacing": [
  41. "error",
  42. "always"
  43. ],
  44. "camelcase": "error",
  45. "comma-dangle": [
  46. "error",
  47. {
  48. "arrays": "always-multiline",
  49. "objects": "always-multiline",
  50. "imports": "always-multiline",
  51. "exports": "always-multiline",
  52. "functions": "never"
  53. }
  54. ],
  55. "comma-spacing": [
  56. "error",
  57. {
  58. "before": false,
  59. "after": true
  60. }
  61. ],
  62. "eqeqeq": "error",
  63. "indent": [
  64. "error",
  65. 2,
  66. {
  67. "SwitchCase": 1,
  68. "VariableDeclarator": "first"
  69. }
  70. ],
  71. "no-console": [
  72. "error",
  73. {
  74. "allow": [
  75. "error"
  76. ]
  77. }
  78. ],
  79. "no-empty-function": [
  80. "error",
  81. {
  82. "allow": [
  83. "methods"
  84. ]
  85. }
  86. ],
  87. "@typescript-eslint/no-empty-function": [
  88. "error",
  89. {
  90. "allow": [
  91. "methods"
  92. ]
  93. }
  94. ],
  95. "@typescript-eslint/no-unused-vars": "error",
  96. "@typescript-eslint/no-explicit-any": "off",
  97. "@typescript-eslint/no-empty-interface": "off",
  98. "@typescript-eslint/explicit-module-boundary-types": [
  99. "error",
  100. {
  101. "allowArgumentsExplicitlyTypedAsAny": true
  102. }
  103. ],
  104. "@typescript-eslint/ban-types": [
  105. "error",
  106. {
  107. "types": {
  108. "object": false
  109. }
  110. }
  111. ]
  112. }
  113. }