Files
App/eslint.config.js

74 lines
1.8 KiB
JavaScript

const { defineConfig } = require('eslint/config')
const tsParser = require('@typescript-eslint/parser')
const typescriptEslint = require('@typescript-eslint/eslint-plugin')
const react = require('eslint-plugin-react')
const globals = require('globals')
const js = require('@eslint/js')
const { FlatCompat } = require('@eslint/eslintrc')
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all,
})
module.exports = defineConfig([
{
extends: compat.extends(
'eslint:recommended',
'plugin:react/recommended',
'plugin:@typescript-eslint/recommended',
),
languageOptions: {
parser: tsParser,
globals: {
...globals.browser,
...globals.node,
...globals.jest,
},
},
plugins: {
'@typescript-eslint': typescriptEslint,
react,
},
rules: {
'react/react-in-jsx-scope': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/no-require-imports': 'off',
'@typescript-eslint/no-empty-object-type': 'off',
'react/prop-types': 'off',
'@typescript-eslint/no-explicit-any': 'error',
'no-mixed-spaces-and-tabs': 'off',
semi: ['error', 'never'],
// Prevent importing RefreshControl from react-native-gesture-handler
// as it uses deprecated findNodeHandle which causes warnings in StrictMode.
// Use RefreshControl from 'react-native' instead.
'no-restricted-imports': [
'error',
{
paths: [
{
name: 'react-native-gesture-handler',
importNames: ['RefreshControl'],
message:
"Import RefreshControl from 'react-native' instead. The gesture-handler version uses deprecated findNodeHandle which causes warnings in StrictMode.",
},
],
},
],
},
settings: {
react: {
version: 'detect',
},
},
},
])