Валидатор
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"