Перейти к содержанию
Mercury
Русский
Дизайн книга
Меню
Русский

Генерация примеров Mercury

Обновляйте примеры обозревателя вслед за историями UI, из которых они получены.

Обозреватель компонентов показывает примеры, полученные из историй UI в fiberfx/ui/src. Команда mg gen examples создаёт модули и каталог для обозревателя. Чтобы изменить пример, редактируйте авторскую историю; генерируемые файлы — результат её обработки.

Проверьте команду и рабочую копию

Пройдите Первые команды, затем запросите справку именно у своей сборки:

mg help gen examples

Строка использования из вывода команды:

usage: mg gen examples [--check] [--root <dir>]

В ней должны быть --check и --root. Если gen неизвестна, в сборке нет генератора: для продолжения нужна рабочая копия с его реализацией. Одного стартового приложения недостаточно; нужны исходники UI и каталог обозревателя из репозитория.

Из корня jonnify сначала просмотрите существующие изменения и выполните проверку без записи:

git diff -- sites/mercury/playgrounds/design-explorer/generated
mg gen examples --check

Код 0 означает совпадение ожидаемых файлов. MG-GEN-DRIFT с кодом 1 перечисляет отсутствующие или отличающиеся файлы и не меняет их. Перед повторной генерацией разберите уже имеющиеся правки.

Создайте и просмотрите файлы

mg gen examples
git diff --stat -- sites/mercury/playgrounds/design-explorer/generated
git diff -- sites/mercury/playgrounds/design-explorer/generated

mg записывает адаптированные модули историй, catalog.ts и manifest.json в sites/mercury/playgrounds/design-explorer/generated/. В результате указаны количества семейств, файлов историй, модулей и примеров. Если исходники не менялись, Git может не показать отличий: генерация воспроизвела те же файлы.

Адаптер исключает play-тесты историй и удаляет типы Storybook. Генерация не запускает эти тесты и не подтверждает работу примеров в браузере. Просмотрите результат вместе с исходной правкой, затем проверьте поведение штатной сборкой обозревателя и браузерными проверками.

Проверьте без записи

mg gen examples --check

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

Из другого каталога укажите рабочую копию явно:

mg gen examples --check --root "$HOME/dev/jonnify"

Замените путь своим. Без --root mg ищет корень вверх от текущего каталога.

Разберите причину отказа

Неверная рабочая копия или лишний позиционный аргумент дают код 2: исправьте путь или команду. MG-GEN-DRIFT даёт код 1: изучите изменения, при необходимости запустите генерацию и повторите проверку. Другие отказы по исходникам означают, что генератор не смог адаптировать входные данные по своим правилам; используйте указанные файл и причину. При ошибке ввода-вывода с кодом 3 сначала восстановите доступ к файлам.

Следующий урок переносит эти различия в автоматизацию.