/** @type {import('eslint').Linter.Config} */ module.exports = { extends: ['eslint:recommended', 'plugin:react/recommended', 'prettier'], plugins: ['react', 'prettier'], env: { browser: true, es2021: true, node: true, }, parserOptions: { ecmaFeatures: { jsx: true, }, ecmaVersion: 'latest', sourceType: 'module', }, rules: { 'prettier/prettier': 'error', }, overrides: [ { files: '**/*.+(ts|tsx)', parser: '@typescript-eslint/parser', parserOptions: { project: './tsconfig.json', }, plugins: ['react', 'prettier', '@typescript-eslint/eslint-plugin'], extends: [ 'eslint:recommended', 'plugin:react/recommended', 'plugin:@typescript-eslint/recommended', 'prettier', ], rules: { '@typescript-eslint/no-unused-vars': [ 'warn', { varsIgnorePattern: '^_', }, ], }, }, ], settings: { react: { createClass: 'createReactClass', // Regex for Component Factory to use, // default to "createReactClass" pragma: 'React', // Pragma to use, default to "React" fragment: 'Fragment', // Fragment to use (may be a property of ), default to "Fragment" version: 'detect', // React version. "detect" automatically picks the version you have installed. // You can also use `16.0`, `16.3`, etc, if you want to override the detected value. // It will default to "latest" and warn if missing, and to "detect" in the future flowVersion: '0.53', // Flow version }, }, };