Skip to content

उत्पन्न आउटपुट

कई pantoken पैकेज बिल्ड समय पर फ़ाइलें उत्पन्न करते हैं — एक स्टाइलशीट, एक theme.json, एक एम्बेडेड टोकन मॉड्यूल। रेपो को साफ़ और आउटपुट ईमानदार रखने के लिए, प्रत्येक पैकेज एक कन्वेन्शन का पालन करता है और एक वर्कस्पेस टास्क सबका सत्यापन करता है।

generated/ कन्वेन्शन

हर वह पैकेज जो एक बिल्ड आर्टिफैक्ट बनाता है, उसे प्रति-पैकेज generated/ डायरेक्टरी में लिखता है, और वहाँ कुछ और नहीं होता। .gitignore में एक नियम उन सभी को कवर करता है:

txt
**/generated/

तो कोई जेनरेट की गई फ़ाइल कमिट नहीं की जाती — एक बिल्ड उसे पुन:उत्पन्न करता है। वहाँ दो प्रकार के आउटपुट आते हैं:

  • शिपेबल स्टैटिक्स — ऐसी फ़ाइलें जिन्हें ग्राहक इम्पोर्ट करता है, जैसे @pantoken/css का style.css या @pantoken/scss का tokens.scss। पैकेज का exports मैप सार्वजनिक कुंजी ("./style.css") रखता है पर इसे generated/ की तरफ पॉइंट करता है, इसलिए कंस्यूमर API कभी नहीं बदलता।
  • बिल्ड इंटरमीडिएट्स — ऐसी फ़ाइलें जिन्हें पैकेज का अपना सोर्स इम्पोर्ट करता है और dist में बंडल करता है, जैसे @pantoken/tokens की वेंडर की हुई JSON। ये अपने आप प्रकाशित नहीं होते; इन्हें कम्पाइल किया जाता है।

आउटपुट का सत्यापन

@pantoken/validate-generated (एक प्राइवेट टूल) बिल्ड के बाद चलता है और तीन चीज़ें चेक करता है:

  1. प्रत्येक जनरेटर पैकेज ने वास्तव में एक नॉन-खाली generated/ डायरेक्टरी लिखी है,
  2. pantoken CLI हर समर्थित टारगेट के लिए कम से कम एक फ़ाइल इमिट करता है, और
  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 में वायर्ड है, इसलिए ड्रिफ्ट को स्टैंडर्ड गेट में पकड़ा जाता है।