В Mayflower мы создали несколько пользовательских наборов правил с использованием PHPCS: mo4-coding-standard.
Одним из наиболее важных наборов правил в этом плагине PHPCS являются анализы выравнивания, которые заставляют разработчика помещать каждый токен назначения (например, => или =) в один и тот же столбец в строке, чтобы обеспечить лучшую читаемость. В итоге код должен выглядеть так:
В настоящее время я много работаю с JavaScript, и мне бы очень хотелось сохранить некоторые правила, которые я очень ценю в ESLint, де-факто стандартном линтере для JavaScript.
К сожалению, этот линтер предоставляет правило с именем key-spacing, которое поддерживает выравнивание для объектов, но ничего для выравнивания переменных, поэтому я создал еще один плагин для eslint.
использование
Плагин можно найти по адресу Sententiaregum / eslint-plugin-varspacing. Если ESLint установлен глобально, этот плагин также должен быть установлен глобально:
npm install -g eslint eslint-plugin-varspacing
Теперь включите его в своем .eslintrc:
Как это работает?
ESLint содержит лексор токенов, который обнаруживает определенные узлы, определенные в estree. Если обнаружен узел назначения, правило пытается сканировать дополнительные узлы на том же уровне, соблюдая при этом определенные пограничные случаи, такие как последовательность операторов или код ES6. В конце выравнивание проверяется путем вычисления ожидаемого положения выравнивания, которое сравнивается с фактическим положением выравнивания каждого обнаруженного присвоения. Этот процесс вычисления позиций выравнивания также используется для целей автоматического исправления, так как токен назначения можно просто переместить в эту позицию с помощью внутреннего API исправления eslint без вычисления дополнительной информации о соответствующем выравнивании.
Автофиксы
В 1.0.1 были реализованы автофиксы. Их можно выполнить, передав параметр --fix команде eslint.
Для получения более подробной информации об использовании плагина просто загляните в документы.