【发布时间】:2019-11-02 19:33:48
【问题描述】:
我很困惑如何设置配置文件以及我应该使用哪些配置/插件。
我有一个使用 Typescript、Jest 和 React 钩子的 React 项目。
我知道我需要安装:
eslint-
prettier,eslint-config-prettier,eslint-plugin-prettier eslint-plugin-import
至于Airbnb的配置,我不确定是否需要安装:
-
eslint-config-airbnb,eslint-plugin-react,eslint-plugin-jsx-a11y或 eslint-config-airbnb-base
这两个好像都不支持Typescript,看来我也需要安装一下:
-
@typescript-eslint/eslint-plugin,@typescript-eslint/parser
对于 Jest,我需要安装:
eslint-plugin-jest
我不确定 React 钩子。我是否需要在此处安装其他任何东西,或者其他软件包之一是否包含对它的支持?我看到我可以选择安装:
eslint-plugin-react-hooks
这是必须的吗?
现在,对于配置文件,我关心两个方面:extends 和 plugins。
我看到其中一些软件包可以使用/recommended 进行扩展。我应该使用其中任何一个吗? extends 部分应该是什么?我见过将其设置为的示例:
{
"extends": ["airbnb-base", "plugin:prettier/recommended"]
}
虽然我见过其他使用以下示例的示例:
{
"extends": ["airbnb", "prettier"]
}
还有一个使用的例子:
{
"extends": [
"airbnb",
"plugin:prettier/recommended",
"prettier/react"
]
}
其他 Typescript、Jest 和 React Hooks 插件呢?例如,eslint-plugin-jest 建议将 "plugin:jest/recommended" 添加到扩展中。这会与其他任何冲突吗?我知道我还可以添加"plugin:@typescript-eslint/recommended" 和"prettier/@typescript-eslint"。是否也应包括在内?
对于plugins 部分,我是否只列出我安装的每个eslint-plugin-.... 软件包?
这是一个例子,请告诉我它的外观:
已安装的包
@typescript-eslint/eslint-plugin
@typescript-eslint/parser
eslint
eslint-config-airbnb
eslint-config-prettier
eslint-plugin-import
eslint-plugin-jest
eslint-plugin-jsx-a11y
eslint-plugin-prettier
eslint-plugin-react
eslint-plugin-react-hooks
prettier
配置文件:
{
"extends": [
"airbnb",
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended",
"plugin:prettier/recommended",
"plugin:react/recommended",
"prettier",
"prettier/@typescript-eslint"
],
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint",
"import",
"jest",
"jsx-a11y",
"react",
"react-hooks"
],
}
【问题讨论】:
标签: eslint prettier eslint-config-airbnb eslintrc