#eslint
#eslint
Вопрос:
Я создаю файл .eslintrc, который включает правило «отступа». Конфигурация для правила выглядит следующим образом:
"indent": ["error", 2, {
...,
"FunctionDeclaration": {"parameters": 2, "body": 1},
"FunctionExpression": {"parameters": 2, "body": 1},
}]
Однако при запуске eslint я получаю сообщение об ошибке:
Configuration for rule "indent" is invalid:
Value "data["1"].FunctionDeclaration" has additional properties.
Value "data["1"].FunctionExpression" has additional properties.
Что означает это сообщение об ошибке? Я бы предположил, что это означает, что либо (а) есть дополнительные свойства, обязательные для объявления функции, которых там нет, либо (б) одно из свойств («параметры» или «тело»), которые есть в объявлении функции, не должно там быть. Я думаю, что я могу исключить (b), потому что, когда я изменяю файл .eslintrc на:
"indent": ["error", 2, {
...,
"FunctionDeclaration": {},
"FunctionExpression": {},
}]
Я получаю то же сообщение об ошибке, хотя свойств нет. И во всей документации, которую я смог найти, говорится, что единственными необходимыми свойствами являются «параметры» и «тело», я не смог найти ничего, что указывало бы на то, что необходимы другие свойства, кроме этого. В чем здесь проблема?
Комментарии:
1. Вы не указали ни
parameters
«ниbody
» дляFunctionDeclaration
«илиFunctionExpression
» , поэтому их включение в ваш.eslintrc
список несколько бессмысленно. Я представляю, в чем суть ошибки.2. Как я уже упоминал, я все еще получаю ошибку, даже когда я включаю свойства «параметры» и «тело».
3. Действительно. Я неправильно понял вопрос. Какую версию eslint вы используете? Я не вижу ошибки ни в одной из ваших конфигураций правил.
4. Случайно, у вас
eslint --version
меньше версии v3.5.0?5. Я на 3.5.0, и у меня такая же проблема с правильным определением:
"indent" : [2, 2, { "SwitchCase": 1, "FunctionDeclaration": {"body": 1, "parameters": 2}}],