mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-25 21:36:52 +08:00
79 lines
2.4 KiB
Plaintext
79 lines
2.4 KiB
Plaintext
{
|
|
"parser": "@typescript-eslint/parser",
|
|
"parserOptions": {
|
|
"project": "./tsconfig.json",
|
|
},
|
|
"extends": [
|
|
"airbnb",
|
|
"airbnb-typescript",
|
|
"prettier",
|
|
"plugin:@typescript-eslint/eslint-recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"plugin:react/recommended",
|
|
"plugin:react-hooks/recommended",
|
|
"plugin:@tanstack/query/recommended",
|
|
],
|
|
"plugins": ["prettier", "unused-imports", "i18next"],
|
|
"rules": {
|
|
"i18next/no-literal-string": "error",
|
|
"unused-imports/no-unused-imports": "error",
|
|
"prettier/prettier": ["error"],
|
|
// Enforce using optional chaining (?.) instead of && chains for null/undefined checks
|
|
"@typescript-eslint/prefer-optional-chain": "error",
|
|
// Resolves https://stackoverflow.com/questions/59265981/typescript-eslint-missing-file-extension-ts-import-extensions/59268871#59268871
|
|
"import/extensions": [
|
|
"error",
|
|
"ignorePackages",
|
|
{
|
|
"": "never",
|
|
"ts": "never",
|
|
"tsx": "never",
|
|
},
|
|
],
|
|
},
|
|
"settings": {
|
|
"react": {
|
|
"version": "detect",
|
|
},
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": ["*.ts", "*.tsx"],
|
|
"rules": {
|
|
// Allow state modification in reduce and Redux reducers
|
|
"no-param-reassign": [
|
|
"error",
|
|
{
|
|
"props": true,
|
|
"ignorePropertyModificationsFor": ["acc", "state"],
|
|
},
|
|
],
|
|
// For https://stackoverflow.com/questions/55844608/stuck-with-eslint-error-i-e-separately-loops-should-be-avoided-in-favor-of-arra
|
|
"no-restricted-syntax": "off",
|
|
"react/require-default-props": "off",
|
|
"import/prefer-default-export": "off",
|
|
"no-underscore-dangle": "off",
|
|
"jsx-a11y/no-static-element-interactions": "off",
|
|
"jsx-a11y/click-events-have-key-events": "off",
|
|
// For https://github.com/airbnb/javascript/issues/1885
|
|
"jsx-a11y/label-has-associated-control": [
|
|
2,
|
|
{
|
|
"required": {
|
|
"some": ["nesting", "id"],
|
|
},
|
|
},
|
|
],
|
|
"react/prop-types": "off",
|
|
"react/no-array-index-key": "off",
|
|
"react-hooks/exhaustive-deps": "off",
|
|
"import/no-extraneous-dependencies": "off",
|
|
"react/react-in-jsx-scope": "off",
|
|
},
|
|
"parserOptions": {
|
|
"project": ["**/tsconfig.json"],
|
|
},
|
|
},
|
|
],
|
|
}
|