Skip to content

Валидатор

npm run validate прогоняет все презентации до сборки и возвращает ненулевой код при ошибках. Проверка встроена в build и должна выполняться перед созданием .pulse.

bash
$ npm run validate

  cardiolex
 03-moa.html: data-go="efficasy" нет такого слайда (похоже на "efficacy")
 02-efficacy.html: <bar-cart> неизвестный компонент
 04-safety.html: instrukciya.pdf (1.8 МБ) > лимита 500 КБ

  1 дек · 2 ошибки · 1 предупреждение

Ошибки (блокируют сборку)

  • битый data-go — с подсказкой ближайшего id (через расстояние Левенштейна)
  • дубли или отсутствие data-id
  • missing-ассеты (data-asset, img/video/source)
  • неизвестные компоненты (<bar-cart> вместо <bar-chart>); компоненты, зарегистрированные в entry.js, учитываются валидатором
  • кривой JSON в пропсах (bars, points)
  • несуществующая тема в deck.json

Предупреждения

  • тяжёлые ассеты (больше лимита, по умолчанию 500 КБ)
  • неизвестные токены {{viewer.x}} (нет ключа в deck.viewer)
  • нецелый preload, отсутствие data-title

Зачем

Презентацию на 60 слайдов невозможно надёжно проверить вручную. Валидатор останавливает сборку до передачи повреждённого .pulse маркетологу.

json
// package.json
"build": "node scripts/validate.mjs && vite build"

Демо-контент («Кардиолекс®») вымышлен.