К содержанию

Навигация

Как проект проверяет своё использование

Этот раздел описывает проверки, которые выполняет проект на SIMAI Framework. Проекту не нужно повторять проверки Framework (Как Framework проверяет себя); ему нужно подтвердить три вещи: он работает на закреплённом выпуске, пользуется им правильно, а опубликованный сайт показывает именно его.

Готовой программы, которая выполняет эти проверки за любой проект, Framework не поставляет. Проверки закрепления и опубликованного сайта проект пишет в своём репозитории по правилам ниже. Из инструментов Framework проекту нужен sf-upgrade; его запускают из рабочей копии исходников Framework на ревизии того выпуска, на который проект переходит (см. Инструмент sf-upgrade).

Закрепление выпуска

Проект закрепляет выпуск Framework, а если подключён пакет продукта, — и квитанцию пакета, точными ревизиями и хешами файлов в своём lock-файле. Проверка проекта отклоняет:

  • закрепление, которое отстаёт от того, что лежит в поставке;
  • пакет продукта, квитанция которого называет не тот выпуск Framework, что закреплён рядом.

Опубликованное — это то, что получает браузер

Файлы в репозитории проекта и зелёные проверки не доказывают, что страница в браузере работает на том же выпуске. Поэтому проверяется сам опубликованный сайт.

  • Включайте идентификатор выпуска в путь к файлам поставки или в метки кеша cacheVersion и pluginListVersion (см. Подключение к проекту): тогда новая публикация меняет все адреса и браузер не держит прежнюю копию.
  • Проверка опубликованного сайта запрашивает каждую страницу по HTTP, читает адрес её поставки и хеширует то, что реально отдаётся.
  • Обязательно проверять сайт, а не файлы в репозитории.

Использование на страницах

На каждой изменённой странице:

  • SF.deprecations.list() пуст — компоненты не прочитали ни одного прежнего имени через псевдоним (это не полный список, см. Что устарело на работающей странице);
  • node scripts/sf-upgrade.mjs <проект>, запущенный из исходников Framework, ничего не находит;
  • в консоли нет ошибок загрузки, все компоненты определены;
  • проверены клавиатура и фокус, обе темы, настольная и мобильная ширина, оба направления письма, если проект их поддерживает;
  • для каждого порта хоста пройден набор проверок той версии, которую проект заявляет, и записаны версия набора, ревизия проекта и результат.

Что не является доказательством

  • Работа примера в Playground: она не подтверждает совместимость с выпуском проекта.
  • Зелёные тесты проекта на другом выпуске.
  • Отсутствие ошибок в консоли без проверки внешнего вида: если внешний шаблон не найден, компонент без ошибки рисует встроенный.

Дефект Framework в проекте

  • Найденный дефект Framework проект сообщает в Issues репозитория simai/ui-source вместе с выпуском, на котором он найден, и замером, а не держит у себя постоянное исправление.
  • Временное исправление в проекте записывается вместе с выпуском, на котором его можно удалить.

Смотрите также

Поиск по документации

Введите минимум 2 символа

    Настройки

    Тема
    Размер шрифта
    Ширина страницы