.eslintrc.cjs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. module.exports = {
  2. // https://eslint.org/docs/latest/use/configure/configuration-files
  3. env: {
  4. browser: true,
  5. es6: true,
  6. node: true,
  7. },
  8. extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
  9. parser: '@typescript-eslint/parser',
  10. parserOptions: {
  11. project: 'tsconfig.json',
  12. sourceType: 'module',
  13. tsconfigRootDir: __dirname,
  14. },
  15. plugins: ['@typescript-eslint', "react-hooks"],
  16. rules: {
  17. "react-hooks/rules-of-hooks": "error",
  18. "react-hooks/exhaustive-deps": "warn",
  19. '@typescript-eslint/adjacent-overload-signatures': 'error',
  20. '@typescript-eslint/no-empty-function': 'error',
  21. '@typescript-eslint/no-empty-interface': 'warn',
  22. '@typescript-eslint/no-floating-promises': 'warn',
  23. '@typescript-eslint/await-thenable': 'error',
  24. '@typescript-eslint/no-namespace': 'error',
  25. '@typescript-eslint/no-unnecessary-type-assertion': 'error',
  26. '@typescript-eslint/prefer-for-of': 'warn',
  27. '@typescript-eslint/triple-slash-reference': 'error',
  28. '@typescript-eslint/unified-signatures': 'warn',
  29. 'no-shadow': 'off',
  30. '@typescript-eslint/no-shadow': 'warn',
  31. 'constructor-super': 'error',
  32. eqeqeq: ['error', 'always'],
  33. 'no-cond-assign': 'error',
  34. 'no-duplicate-case': 'error',
  35. 'no-duplicate-imports': 'error',
  36. 'no-empty': [
  37. 'error',
  38. {
  39. allowEmptyCatch: true,
  40. },
  41. ],
  42. 'no-invalid-this': 'error',
  43. 'no-new-wrappers': 'error',
  44. 'no-param-reassign': 'error',
  45. 'no-redeclare': 'error',
  46. 'no-sequences': 'error',
  47. 'no-throw-literal': 'error',
  48. 'no-unsafe-finally': 'error',
  49. 'no-unused-labels': 'error',
  50. 'no-var': 'warn',
  51. 'no-void': 'off',
  52. 'prefer-const': 'warn',
  53. 'prefer-spread': 'off',
  54. '@typescript-eslint/no-unused-vars': [
  55. 'warn',
  56. {
  57. argsIgnorePattern: '^_',
  58. }
  59. ],
  60. },
  61. ignorePatterns: ['src/**/*.test.ts'],
  62. };