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