eslint.config.js 929 B

123456789101112131415161718192021222324252627282930313233343536
  1. import tseslint from '@typescript-eslint/eslint-plugin';
  2. import tsparser from '@typescript-eslint/parser';
  3. export default [
  4. {
  5. files: ['**/*.{ts,tsx}'],
  6. ignores: ['dist/**', 'node_modules/**', 'coverage/**'],
  7. languageOptions: {
  8. parser: tsparser,
  9. ecmaVersion: 'latest',
  10. sourceType: 'module',
  11. parserOptions: {
  12. ecmaFeatures: {
  13. jsx: true,
  14. },
  15. },
  16. },
  17. plugins: {
  18. '@typescript-eslint': tseslint,
  19. },
  20. rules: {
  21. ...tseslint.configs.recommended.rules,
  22. // TypeScript specific rules
  23. '@typescript-eslint/no-unused-vars': 'error',
  24. '@typescript-eslint/no-explicit-any': 'warn',
  25. '@typescript-eslint/explicit-function-return-type': 'off',
  26. '@typescript-eslint/explicit-module-boundary-types': 'off',
  27. // General rules
  28. 'no-console': 'warn',
  29. 'prefer-const': 'error',
  30. 'no-var': 'error',
  31. },
  32. },
  33. ];