У меня смешанная кодовая база Typescript и Javascript с конфигурацией монорепозитория с Lerna в приложении create-реагировать. Я импортирую файлы TS в свои файлы JS с настройкой tsconfig.json, но получаю сообщение об ошибке с помощью eslint.
В настоящее время мой .eslintrc.json
выглядит так, я недавно добавил сюда settings
, но, похоже, это не сработало.
{
"env": {
"browser": true,
"es2021": true,
"jest": true
},
"extends": [
"plugin:react/recommended",
"airbnb",
"prettier",
"plugin:prettier/recommended",
"plugin:import/typescript"
],
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 12,
"sourceType": "module"
},
"plugins": ["react", "prettier"],
"rules": {
"react/react-in-jsx-scope": "off",
"react/jsx-filename-extension": [
1,
{ "extensions": [".js", ".jsx", ".ts", ".tsx"] }
],
"prettier/prettier": "error",
"jsx-a11y/click-events-have-key-events": "off",
"import/no-extraneous-dependencies": ["error", { "devDependencies": true }],
"react/function-component-definition": [
2,
{
"unnamedComponents": "arrow-function"
}
],
"import/no-relative-packages": "off"
},
"ignorePatterns": ["config-overrides.js", "*.json", "*.md", "*.css"],
"settings": {
"import/resolver": {
"typescript": true,
"node": true
},
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".tsx"]
}
}
}
попробуйте добавить
@typescript-eslint/eslint-plugin, @typescript-eslint/parser
плагины
обновить .eslintrc.json
...
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": "tsconfig.json",
"sourceType": "module"
},
"plugins": ["eslint-plugin-import", "@typescript-eslint", "react", "react-hooks", "react-native", "jsx-a11y"],
"settings": {
"import/extensions": [".js", ".jsx", ".ts", ".tsx"],
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".tsx"]
},
"import/resolver": {
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"],
"moduleDirectory": ["node_modules", "src/"]
}
}
},
...
см. это stackoverflow.com/questions/63818415/… отключить "no-use-before-define": "off"
спасибо, разобрался, не могли бы вы также предоставить мне, какой должна быть чистая конфигурация реагирования TS для ESLint?
он работает, за исключением ошибки, которую я получаю сейчас: «React» использовался до того, как он был определен без использования перед определением»