Я пытаюсь настроить eslint + babel-eslint + eslint-plugin-react + eslint-plugin-flowtype
eslint-плагин-flowtype не проверяет
У меня есть следующие 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
Into .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' будет показывать ошибки' flowtype' при запуске 'eslint App.js'? –
Возможно, но никто, о котором я знаю, написал что-то, чтобы показать результаты потока в ESLint. Лично я не думаю, что это была бы хорошая идея. Лучше использовать Flow по назначению и использовать ESLint, как предполагалось, в качестве отдельных инструментов. –