ערוצי הפצה
תגי dist מסוג stable, canary ו-LTS, גרסאות מתואמות, מקור החבילות ופרסום גרסה.
Text.js מופץ בשלוש תגיות הפצה של npm. לכל החבילות (@textjs/app, @textjs/react, @textjs/core, @textjs/font, @textjs/opencode, create-text-app ו-eslint-plugin-textjs) מוקצות גרסאות בתיאום מלא, כך שמספר גרסה אחד מתאר את הפריימוורק כולו.
ערוצי הפצה
| ערוץ | תגית הפצה | גרסה | התקנה |
|---|---|---|---|
| יציב | latest | 1.0.x | bun add @textjs/app |
| קנרי | canary | 1.0.x-canary.N | bun add @textjs/app@canary |
| LTS | lts, v1-lts | תפורסם עם הפצת 2.0.0 | bun add @textjs/app@lts |
יש להשתמש בערוץ היציב בסביבת ייצור. יש להשתמש בערוץ קנרי כדי לנסות תיקונים ותכונות ביום שבו הם נכנסים ל-dev. כשקיימת סדרת גרסאות LTS, יש להשתמש בה אם השדרוג מתבצע פעם בשנה.
bun create text-app@canary my-consoleיציב
גרסאות יציבות פועלות לפי ניהול גרסאות סמנטי: גרסאות תיקון מתקנות באגים, גרסאות משניות מוסיפות תכונות תואמות לאחור, וגרסאות ראשיות עשויות לשבור תאימות של ממשקי API לאחר תקופת הוצאה משימוש. גרסה יציבה מקודמת מגרסת קנרי שעברה את מלוא מערך הבדיקות, ומתפרסמת עם אישור מקור של npm.
קנרי
כל דחיפה ל-dev במאגר הרשמי עוברת בדיקת טיפוסים ובדיקות, ומתפרסמת כגרסת התיקון הבאה עם הסיומת -canary.N:
latest | דחיפה ל-dev | הגרסה שפורסמה |
|---|---|---|
1.0.0 | הראשונה | 1.0.1-canary.0 |
1.0.0 | השנייה | 1.0.1-canary.1 |
1.0.1 | הבאה | 1.0.2-canary.0 |
N ממשיך ממספר גרסת הקנרי הגבוה ביותר שכבר קיים ב-npm, כך שהמספרים לעולם אינם חוזרים על עצמם. גרסאות קנרי אינן נשמרות במאגר באמצעות commit. כדי לדלג על פרסום גרסה, יש להוסיף [skip canary] להודעת commit.
גרסאות קנרי הן תוצרי בנייה של dev, הענף שאליו מתמזגת כל בקשת משיכה. הן עשויות לשנות או להסיר ממשקי API שטרם פורסמו ללא הודעה מוקדמת. אם קיימת תלות בגרסת קנרי, יש לקבע את הגרסה המדויקת.
אישור מקור
גרסאות מתפרסמות מתוך GitHub Actions באמצעות npm publish --provenance, שמקשר כל ארכיון tar ל-commit ולתהליך העבודה המדויקים שבנו אותו. כדי לאמת חבילה, יש להשתמש בפקודה:
npm audit signaturesהכנת גרסה להפצה
המתחזקים מעדכנים את גרסאות כל החבילות בסביבת העבודה בתיאום מלא באמצעות סקריפטי ההפצה:
bun run release:version minor # 1.0.0 → 1.1.0 (also: patch, major, canary, stable, x.y.z)bun run release:publish --tag latest --provenancerelease:version משכתב כל package.json ואת קבועי הגרסה שמשקפים אותו (VERSION, ו-rendererVersion של מנגנון ההתאמה), מסרב לרוץ כשגרסאות החבילות אינן מתואמות, ו---dry-run מדפיס את התוכנית. release:publish בונה, אורז (תוך פתרון workspace:*), מחיל את publishConfig, מסרב לפרסם גרסת קדם-הפצה ב-latest או גרסה יציבה ב-canary, ומדלג על גרסאות שכבר קיימות ב-npm.
למידע על משך התחזוקה של כל סדרת גרסאות, יש לעיין במדיניות התמיכה.