Примерно год назад исходный код гидролокатора был открыт в JS Foundation. С тех пор мы прошли долгий путь, внедряя новые функции и расширяя рамки проекта. У нас также была возможность поговорить со многими разработчиками из разных стран, и мы поняли, что с названием были некоторые проблемы: некоторые люди не знали, что такое нарвалы (или что они настоящие), проблемы с запоминанием или знанием того, что это такое. был about, другие его путали с SonarSource, а у некоторых возникли проблемы с его правильным произнесением. Более того, похоже, что сонар стал популярным названием проекта (хотя переименование уже шло, когда этот проект был анонсирован).

По этим причинам мы решили переименовать проект. Выбор нового имени был непростой задачей, и было много внутренних споров ̶h̶e̶a̶t̶e̶d̶. В конце концов, webhint оказался победителем: новое название не только прямо передает то, что делает инструмент; он также лучше согласуется с нашей философией: не все проекты имеют одинаковые требования, и вам, разработчику, решать, что актуально, а что нет. webhint подскажет, как можно сделать его лучше. Расширяемость всегда была в центре нашего внимания. Во многих случаях разработчик может захотеть создать собственную подсказку, и мы хотим, чтобы это было как можно проще. Вы можете рассматривать webhint не только как инструмент для передового опыта, но и как двигатель для создания конкретных тестов для вещей, которые имеют значение в вашей разработке.

🤔 Как получить веб-подсказку?

webhint распространяется через npm, и вы можете получить его следующим образом:

npm install hint

📦 Пакет hint был любезно подарен Николасом Беваква, которому мы всегда будем благодарны 🙏.

Предыдущий пакет sonarwhal устарел, как и все связанные с ним.

🤯 Что еще нового в webhint?

Этот выпуск почти полностью ориентирован на улучшение взаимодействия с пользователем, а не на добавление дополнительных правил или функций.

🚀 Мы сократили время запуска (почти на 300% быстрее!). Для этого мы сделали несколько вещей, таких как ленивая загрузка частей кода, которые не нужны во всех сценариях, уменьшили количество зависимостей, оптимизировали зависимости для глобальной установки и извлекли некритические сценарии в свои собственные пакеты ( и связать их с веб-пакетом!).

🎁 Кстати о новых пакетах, наш коллега Джон-Дэвид Далтон добавил поддержку npm init <create-pkg> и его псевдоним npm create <create-pkg>. Мы решили воспользоваться этой замечательной функцией, поэтому теперь вы можете создавать новые файлы конфигурации, используя npm create hintrc, r̵u̵l̵e̵s̵ подсказки с npm create hint или синтаксические анализаторы с npm create parser. Эти команды сделают все необходимое, чтобы вы начали:

📝 Одна из частей отзывов, которые мы получили от новых пользователей интерфейса командной строки, заключается в том, что использование его в первый раз может быть немного утомительным. Чтобы быстрее получить результаты, мы предлагаем конфигурацию по умолчанию, которая будет использоваться, когда ничего не будет найдено. Мы также добавили ссылки на различных этапах, чтобы вы могли быстро получить доступ к информации, которая вам нужна, чтобы лучше понять, что происходит и какие действия вы можете предпринять. Если у вас есть отзывы о том, как это сделать лучше, дайте нам знать!

🌐 Еще одно улучшение, которое мы внесли в пользовательский интерфейс, заключается в том, что если в папке выполнения не найден файл конфигурации, он будет искать его в вашей домашней папке. Это замечательно, если вы решили установить webhint глобально и хотите быстро проанализировать сайт с конфигурацией, отличной от конфигурации по умолчанию.

Еще одна вещь, связанная с конфигурацией, - это то, что она поддерживает относительные пути. Теперь стало проще, чем когда-либо, расширять локальные конфигурации или тестировать собственные подсказки:

{
    "extends": ["web-recommended"],
    "hints": {
        "../my-hint/hint.js": "error"
    }
}

Но это не все! Мы также обновили документацию, добавили новые подсказки, добавили синтаксический анализатор CSS, обновили домашнюю страницу проекта и исправили кучу ошибок.

Это отличный начальный выпуск webhint, поэтому обязательно его протестируйте!