.eslintrc.json 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. {
  2. "extends": [
  3. "eslint:recommended",
  4. "airbnb-base",
  5. "plugin:import/typescript"
  6. ],
  7. "parserOptions": {
  8. "ecmaVersion": 11,
  9. "sourceType": "module",
  10. "project": "./web/tsconfig.json"
  11. },
  12. "env": {
  13. "node": true,
  14. "browser": true,
  15. "es2020": true
  16. },
  17. "settings": {
  18. "import/resolver": {
  19. "typescript": {
  20. "project": "./web"
  21. }
  22. }
  23. },
  24. "rules": {
  25. "class-methods-use-this": "off",
  26. "import/extensions": [
  27. "error",
  28. "ignorePackages",
  29. {
  30. "js": "never",
  31. "ts": "never"
  32. }
  33. ],
  34. "import/prefer-default-export": "off",
  35. "import/no-extraneous-dependencies": "off",
  36. "indent": [
  37. "error",
  38. 4
  39. ],
  40. "no-console": "off",
  41. "no-tabs": [
  42. "error",
  43. {
  44. "allowIndentationTabs": true
  45. }
  46. ],
  47. "no-unused-vars": [
  48. "error",
  49. {
  50. "argsIgnorePattern": "^_",
  51. "varsIgnorePattern": "^_"
  52. }
  53. ],
  54. "quotes": [
  55. "error",
  56. "double"
  57. ]
  58. },
  59. "overrides": [
  60. {
  61. "files": [
  62. "*.ts"
  63. ],
  64. "parser": "@typescript-eslint/parser",
  65. "extends": [
  66. "plugin:import/typescript",
  67. "plugin:@typescript-eslint/recommended"
  68. ],
  69. "plugins": [
  70. "@typescript-eslint"
  71. ],
  72. "rules": {
  73. "@typescript-eslint/ban-ts-comment": "off"
  74. }
  75. },
  76. {
  77. "files": [
  78. "*.svelte"
  79. ],
  80. "plugins": [
  81. "svelte3"
  82. ],
  83. "processor": "svelte3/svelte3",
  84. "rules": {
  85. "import/first": "off",
  86. "import/no-duplicates": "off",
  87. "import/no-mutable-exports": "off",
  88. "import/no-mutable-unresolved": "off",
  89. "no-undef": "off",
  90. "no-unused-vars": "off"
  91. }
  92. }
  93. ]
  94. }