ערוצי הפצה

תגי dist מסוג stable, canary ו-LTS, גרסאות מתואמות, מקור החבילות ופרסום גרסה.

⁦Text.js⁩ מופץ בשלוש תגיות הפצה של npm. לכל החבילות (@textjs/app, @textjs/react, @textjs/core, @textjs/font, @textjs/opencode, create-text-app ו-eslint-plugin-textjs) מוקצות גרסאות בתיאום מלא, כך שמספר גרסה אחד מתאר את הפריימוורק כולו.

ערוצי הפצה

ערוץתגית הפצהגרסההתקנה
יציבlatest1.0.xbun add @textjs/app
קנריcanary1.0.x-canary.Nbun add @textjs/app@canary
LTSlts, v1-ltsתפורסם עם הפצת 2.0.0bun 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 --provenance

release:version משכתב כל package.json ואת קבועי הגרסה שמשקפים אותו (VERSION, ו-rendererVersion של מנגנון ההתאמה), מסרב לרוץ כשגרסאות החבילות אינן מתואמות, ו---dry-run מדפיס את התוכנית. release:publish בונה, אורז (תוך פתרון workspace:*), מחיל את publishConfig, מסרב לפרסם גרסת קדם-הפצה ב-latest או גרסה יציבה ב-canary, ומדלג על גרסאות שכבר קיימות ב-npm.

למידע על משך התחזוקה של כל סדרת גרסאות, יש לעיין במדיניות התמיכה.

עריכת הדף ב-GitHub