Прелюдия
Я предпочитаю держать точки вертикально выровненными:
const my_long_name = louis.what()
.a()
.wonderful()
.world();
, но ESlint жалуется
`Expected indentation of 4 spaces but found 26. [indent]`.
Мой ~/.eslintrc.js
имеет
module.exports = {
extends: [
'airbnb-base',
],
...
}
Вопрос
Как я могу использовать airbnb-base
, при этом точки имеют вертикальное выравнивание (и проверяют ESlint на это)?
(другой стиль делает это изbox? Запись
extends: [
'crockford',
],
не сработала.)
Обновление 1
Если я напишу в ~/.eslint.js
:
module.exports = {
rules: {
"indent": ["error", 4, { "MemberExpression": 0 }]
}
...
};
сообщение становится
Expected indentation of 0 spaces but found 26. [indent]
, а затем ESlint ожидает форматирование:
const my_long_name = louis.what()
.a()
.wonderful()
.world();
Ответ Элетана дает подсказку для отключения отступов в цепных вызовах с использованием:
module.exports = {
rules: {
"indent": ["error", 4, { "MemberExpression": "off" }]
}
...
};
Это лучше, чем либо продолжать получать предупреждения, либо нарушать вертикальное выравнивание точек.
Можно ли продолжать получать предупреждения, если точки выровнены по вертикали или{ "MemberExpression": "off" }
лучшее, что можно сделать с ESlint в конце 2019 года?
Обновление 2
Я запустил eslint --init
на следующих двух примерах кода (ибез дополнительного кода).
~ / .eslintrc-строго-four.js
let hello = louis.what()
.a()
.wonderful()
.world();
~ / .eslintrc-многоточие по вертикали.js
let hello = louis.what()
.a()
.wonderful()
.world();
и получил следующую разницу:
> diff ~/.eslintrc-strictly-four.js ~/.eslintrc-dots-vertically-aligned.js
61c61
< "indent": "error",
---
> "indent": "off",
Так что, пока кто-то не осветит это авторитетным ответом, это способ сделать это.