.eslintrc.json 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. {
  2. "root": true,
  3. "extends": "standard",
  4. "parser": "@typescript-eslint/parser",
  5. "plugins": ["@typescript-eslint"],
  6. "env": {
  7. "browser": true
  8. },
  9. "rules": {
  10. "semi": ["error", "always"],
  11. "no-var": "error",
  12. "no-unused-vars": "off",
  13. "guard-for-in": "error",
  14. "@typescript-eslint/no-unused-vars": ["error", {
  15. "vars": "all",
  16. "args": "after-used",
  17. "ignoreRestSiblings": true
  18. }],
  19. "prefer-const": ["error", {
  20. "destructuring": "all"
  21. }],
  22. "n/no-callback-literal": "off",
  23. "import/newline-after-import": "error",
  24. "import/order": ["error", {
  25. "alphabetize": {
  26. "order": "asc"
  27. },
  28. "newlines-between": "always",
  29. "pathGroups": [
  30. {
  31. "pattern": "@electron/internal/**",
  32. "group": "external",
  33. "position": "before"
  34. },
  35. {
  36. "pattern": "@electron/**",
  37. "group": "external",
  38. "position": "before"
  39. },
  40. {
  41. "pattern": "{electron,electron/**}",
  42. "group": "external",
  43. "position": "before"
  44. }
  45. ],
  46. "pathGroupsExcludedImportTypes": [],
  47. "distinctGroup": true,
  48. "groups": [
  49. "external",
  50. "builtin",
  51. ["sibling", "parent"],
  52. "index",
  53. "type"
  54. ]
  55. }]
  56. },
  57. "parserOptions": {
  58. "ecmaVersion": 6,
  59. "sourceType": "module"
  60. },
  61. "overrides": [
  62. {
  63. "files": "*.ts",
  64. "rules": {
  65. "no-undef": "off",
  66. "no-redeclare": "off",
  67. "@typescript-eslint/no-redeclare": ["error"],
  68. "no-use-before-define": "off"
  69. }
  70. },
  71. {
  72. "files": "*.d.ts",
  73. "rules": {
  74. "no-useless-constructor": "off",
  75. "@typescript-eslint/no-unused-vars": "off"
  76. }
  77. }
  78. ]
  79. }