我想配置eslint + babel-eslint + eslint-plugin-react + eslint-plugin-flowtype
eslint-插件,流動型不驗證
devDependencies
在package.json
我有以下幾點:
"babel-eslint": "^7.1.1",
"eslint": "^3.10.2",
"eslint-config-airbnb": "^13.0.0",
"eslint-plugin-flowtype": "^2.25.0",
"eslint-plugin-import": "^2.2.0",
"eslint-plugin-jsx-a11y": "^2.2.3",
"eslint-plugin-react": "^6.7.1"
而下面.eslinrc
:
{
"parser": "babel-eslint",
"plugins": [
"flowtype"
],
"extends": [
"airbnb",
"plugin:flowtype/recommended"
],
"rules": {
"max-len": [1, 80, 2, {"ignoreComments": true}],
"prop-types": [0],
"react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
"react/prefer-stateless-function": [
0,
{
"ignorePureComponents": true
}
],
"no-console": 0
},
"settings": {
"flowtype": {
"onlyFilesWithFlowAnnotation": true
}
}
}
我寫的簡單代碼示例App.js
:
function foo() {
const a: string = 1;
return a;
}
async function bar() {
const b = await foo();
return b;
}
如果我啓動eslint src/App.js
,則eslint
不顯示任何消息。 如果我然後添加到"flowtype/require-return-type": 2
.eslintrc
eslint
顯示:
error Missing return type annotation flowtype/require-return-type
error Missing return type annotation flowtype/require-return-type
✖ 2 problems (2 errors, 0 warnings)
但我不明白爲什麼const a: string = 1;
是有效的。 如何啓用檢查類型const a: string = 1;
?
謝謝你的答案!你知道是否可以使用'flowtype + eslint'?我的意思是,當我運行'eslint App.js'時,eslint'可能會顯示'flowtype'的錯誤? –
這是可能的,但我沒有意識到已經寫了一些東西來顯示ESLint中的Flow結果。我個人認爲這不是一個好主意。更好地按預期使用Flow並按預期使用ESLint,作爲單獨的工具。 –