Начало работы

Введение

Что такое ranklint, какие пакеты есть и как они связаны.

ranklint — SEO-тулкит для Nuxt 4 и SEO-линтер для CI, которому всё равно, на чём собран сайт.

Зависимости строго вниз: @ranklint/core не знает ни про Nuxt, ни про Playwright — загрузку страниц описывает интерфейс PageFetcher (реализации: HttpFetcher — голый fetch, PlaywrightFetcher — реальный Chrome). Всё крутится вокруг четырёх типов: PageSnapshot (html после гидрации + ssrHtml до JS, статус, заголовки, ttfb, ссылки, картинки во вьюпорте) → Check → Issue (checkId, severity, message, url, selector, suggestion, docs) → Report (formatVersion: 1).

Каждый блок функциональности отключается — выключенный код вообще не регистрируется. Клиентский вклад модуля в бандл — 485 байт gzip (лимит 5 KB охраняется тестом в CI).

Пакеты

ПакетНазначение
@ranklint/nuxtМодуль Nuxt 4: sitemap, robots, useJsonLd, DevTools-таб
@ranklint/cliКоманда ranklint: краулер (Playwright), Lighthouse, monitor, watch
@ranklint/coreДвижок: типы, краулер, runner, конфиг, diff — без Nuxt и Playwright
@ranklint/checks43 правила + Zod-схемы Schema.org
@ranklint/reportersmarkdown / junit / json / html / gitlab / github / sarif
@ranklint/devtoolsVue-панель для Nuxt DevTools
@ranklint/preset-defaultПресет «все встроенные правила» для extends
ranklintАлиас @ranklint/cli — npm i -D ranklint даёт бинарник ranklint

Требования: Nuxt ^4.0.0, Node.js >= 20. Лицензия MIT.