/* * @rushstack/eslint-patch is used to include plugins as dev * dependencies instead of imposing them as peer dependencies * * https://www.npmjs.com/package/@rushstack/eslint-patch */ require('@rushstack/eslint-patch/modern-module-resolution') module.exports = { extends: [ 'plugin:react/recommended', 'plugin:react-hooks/recommended', 'plugin:@next/next/recommended', ], plugins: ['import', 'react', 'jsx-a11y'], rules: { 'import/no-anonymous-default-export': 'warn', 'react/react-in-jsx-scope': 'off', 'react/prop-types': 'off', 'jsx-a11y/alt-text': [ 'warn', { elements: ['img'], img: ['Image'], }, ], }, parser: './parser.js', parserOptions: { requireConfigFile: false, sourceType: 'module', allowImportExportEverywhere: true, babelOptions: { presets: ['next/babel'], }, }, overrides: [ { files: ['**/*.ts?(x)'], parser: '@typescript-eslint/parser', parserOptions: { sourceType: 'module', ecmaFeatures: { jsx: true, }, warnOnUnsupportedTypeScriptVersion: true, }, }, ], settings: { react: { version: 'detect', }, 'import/parsers': { [require.resolve('@typescript-eslint/parser')]: ['.ts', '.tsx', '.d.ts'], }, 'import/resolver': { [require.resolve('eslint-import-resolver-node')]: { extensions: ['.js', '.jsx', '.ts', '.tsx'], }, }, }, }