Skip to content

خروجی تولیدشده

چندین بسته pantoken در زمان ساخت فایل‌هایی منتشر می‌کنند — یک stylesheet، یک theme.json، یک ماژول توکن توکار. برای پاک‌ نگه‌داشتن مخزن و صادق نگه‌داشتن خروجی‌ها، هر بسته از یک قرارداد پیروی می‌کند و یک وظیفه workspace همه را اعتبارسنجی می‌کند.

قرارداد generated/

هر بسته‌ای که یک آرشیو ساخت تولید می‌کند آن را در یک پوشه generated/ خاص بسته می‌نویسد، و هیچ چیز دیگری در آن‌جا زندگی نمی‌کند. یک قانون در .gitignore همه‌شان را پوشش می‌دهد:

txt
**/generated/

بنابراین هیچ فایل تولیدشده‌ای commit نمی‌شود — یک ساخت آن را بازتولید می‌کند. دو نوع خروجی آنجا قرار می‌گیرند:

  • استاتیک‌های قابل عرضه — فایل‌هایی که یک مشتری وارد می‌کند، مانند @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. هیچ stylesheet تولیدشده‌ای از 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 متصل است، بنابراین انحراف در گیت استاندارد گرفته می‌شود.