eslint.config.cjs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. const { defineConfig } = require('eslint/config')
  2. const barrelFiles = require('eslint-plugin-barrel-files')
  3. const jsxA11y = require('eslint-plugin-jsx-a11y')
  4. const brivenConfig = require('eslint-config-briven/next')
  5. module.exports = defineConfig([
  6. { files: ['**/*.ts', '**/*.tsx'] },
  7. brivenConfig,
  8. {
  9. plugins: {
  10. 'barrel-files': barrelFiles,
  11. 'jsx-a11y': jsxA11y,
  12. },
  13. rules: {
  14. '@next/next/no-img-element': 'off',
  15. 'react/no-unescaped-entities': 'off',
  16. 'react/display-name': 'warn',
  17. 'react/no-unstable-nested-components': 'warn',
  18. 'react/jsx-key': 'error',
  19. 'no-restricted-imports': [
  20. 'error',
  21. {
  22. paths: [
  23. {
  24. name: 'components/ui/DataTable/DataTableColumn/DataTableColumnHeader',
  25. message: 'Use TanStackTableHeadSort from ui-patterns/Table instead.',
  26. },
  27. ],
  28. },
  29. ],
  30. 'barrel-files/avoid-re-export-all': 'error',
  31. 'jsx-a11y/alt-text': 'warn',
  32. 'jsx-a11y/role-has-required-aria-props': 'error',
  33. },
  34. },
  35. ])