.eslintrc 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. {
  2. "env": {
  3. "browser": false,
  4. "es2021": true,
  5. "node": true
  6. },
  7. "parserOptions": {
  8. "ecmaVersion": 2021,
  9. "sourceType": "module",
  10. "parser": "@typescript-eslint/parser"
  11. },
  12. "extends": [
  13. "eslint:recommended",
  14. "airbnb-base",
  15. "prettier",
  16. "plugin:@typescript-eslint/eslint-recommended",
  17. "plugin:@typescript-eslint/recommended"
  18. ],
  19. "plugins": ["prettier", "eslint-plugin-tsdoc", "@typescript-eslint"],
  20. "rules": {
  21. "no-console": 0,
  22. "no-control-regex": 0,
  23. "no-var": 2,
  24. "no-underscore-dangle": 0,
  25. "radix": 0,
  26. "no-multi-assign": 0,
  27. "no-shadow": 0,
  28. "no-new": 0,
  29. "import/no-unresolved": 0,
  30. "prettier/prettier": ["error"], // end of copied frontend rules
  31. "max-classes-per-file": 0,
  32. "max-len": [
  33. "error",
  34. {
  35. "code": 140,
  36. "ignoreComments": true,
  37. "ignoreUrls": true,
  38. "ignoreTemplateLiterals": true
  39. }
  40. ],
  41. "no-param-reassign": 0,
  42. "implicit-arrow-linebreak": 0,
  43. "import/extensions": 0,
  44. "class-methods-use-this": 0,
  45. "tsdoc/syntax": "warn",
  46. "@typescript-eslint/no-empty-function": 0,
  47. "@typescript-eslint/no-this-alias": 0,
  48. "@typescript-eslint/no-non-null-assertion": 0,
  49. "no-void": 0,
  50. "import/no-extraneous-dependencies": [
  51. "error",
  52. {
  53. "devDependencies": ["**/*.test.ts", "**/*.spec.ts"]
  54. }
  55. ]
  56. },
  57. "overrides": [
  58. {
  59. "files": ["src/types/*.ts"],
  60. "rules": {
  61. "import/prefer-default-export": "off"
  62. }
  63. },
  64. {
  65. "files": ["**/*.test.ts", "**/*.spec.ts"],
  66. "rules": {
  67. "no-unused-expressions": "off",
  68. "prefer-arrow-callback": "off",
  69. "func-names": "off"
  70. }
  71. }
  72. ]
  73. }