Skip to content

Згенерований вивід

Кілька пакунків pantoken генерують файли під час збірки — таблицю стилів, theme.json, вбудований модуль токенів. Щоб зберегти репозиторій чистим і вихідні файли правдивими, кожний пакунок дотримується однієї конвенції, а завдання робочого простору перевіряє все це.

Конвенція generated/

Кожний пакунок, що виробляє артефакт збірки, записує його у per-package generated/ директорію, і більше нічого там не зберігається. Одне правило в .gitignore охоплює їх усіх:

txt
**/generated/

Отже жоден згенерований файл не комітиться — збірка відтворює його. Туди потрапляють два види вихідних даних:

  • Файли, придатні до доставки — файли, які імпортує споживач, наприклад @pantoken/css's style.css або @pantoken/scss's tokens.scss. Мапа exports пакунка зберігає публічний ключ ("./style.css"), але вказує його на generated/, тож API для споживача ніколи не змінюється.
  • Проміжні артефакти збірки — файли, які імпортує власний код пакунка і бандлить у dist, наприклад вендорений JSON з @pantoken/tokens. Вони не публікуються окремо; їх компілюють у складі пакунка.

Перевірка вихідних файлів

@pantoken/validate-generated (приватний інструмент) запускається після збірки і перевіряє три речі:

  1. кожний пакунок-генератор дійсно записав непорожню директорію generated/,
  2. CLI pantoken виводить принаймні один файл для кожної підтримуваної цілі, і
  3. жодна згенерована таблиця стилів не відхиляється від IR токенів — danglingReferences для автономних шитів, і unknownReferences для мостів, які лише посилаються на токени, визначені в іншому місці.

Команди

sh
# Rebuild every package, regenerating all generated/ output.
pnpm run generate

# Rebuild, then run the validator.
pnpm run validate:generated

Валідатор також підключений до pnpm run ready, тож відхилення фіксуються в стандартному гейті.