کانالهای انتشار
برچسبهای dist-tag پایدار، canary و LTS، نسخههای همگام، گواهی منشأ و انتشار نسخه.
Text.js با سه dist-tag در npm عرضه میشود. نسخهگذاری همهٔ بستهها (@textjs/app، @textjs/react، @textjs/core، @textjs/font، @textjs/opencode، create-text-app و eslint-plugin-textjs) هماهنگ است، پس یک شمارهٔ نسخه کل فریمورک را توصیف میکند.
کانالها
| کانال | dist-tag | نسخه | نصب |
|---|---|---|---|
| پایدار | latest | 1.0.x | bun add @textjs/app |
| قناری | canary | 1.0.x-canary.N | انتشار پس از عرضهٔ 2.0.0 |
| LTS | lts، v1-lts | انتشار پس از عرضهٔ 2.0.0 | bun add @textjs/app@lts |
در محیط عملیاتی از نسخهٔ پایدار استفاده کنید. برای آزمایش اصلاحات و قابلیتها در همان روزی که به شاخهٔ dev میرسند، از نسخهٔ قناری استفاده کنید. پس از ایجاد یک خط انتشار LTS، اگر سالی یک بار ارتقا میدهید، از آن استفاده کنید.
bun create text-app@canary my-consoleپایدار
انتشارهای پایدار از نسخهگذاری معنایی پیروی میکنند: نسخههای patch اشکالها را رفع میکنند، نسخههای minor قابلیتهای سازگار با نسخههای قبلی اضافه میکنند و نسخههای major ممکن است پس از یک دورهٔ منسوخسازی، سازگاری APIها را بشکنند. یک انتشار پایدار از نسخهٔ قناریای ارتقا مییابد که مجموعهٔ کامل آزمونها را گذرانده باشد و با گواهی منشأ npm منتشر میشود.
قناری
با هر push به شاخهٔ dev در مخزن رسمی، بررسی نوع و آزمونها اجرا میشوند و نتیجه بهعنوان نسخهٔ patch بعدی با پسوند -canary.N منتشر میشود:
latest | push به 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 هستند، شاخهای که همهٔ pull requestها در آن ادغام میشوند. این نسخهها ممکن است APIهای منتشرنشده را بدون اطلاع قبلی تغییر دهند یا حذف کنند. اگر به یک نسخهٔ قناری وابستهاید، نسخهٔ دقیق آن را ثابت کنید.
گواهی منشأ
انتشارها از GitHub Actions با دستور npm publish --provenance منتشر میشوند که هر فایل tarball را به 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 در reconciler) را بازنویسی میکند، وقتی نسخهٔ بستهها ناهماهنگ باشد اجرا نمیشود و گزینهٔ --dry-run برنامهٔ اجرا را چاپ میکند. دستور release:publish بیلد میکند، بستهبندی میکند (با حل ارجاعهای workspace:*)، تنظیمات publishConfig را اعمال میکند، از قرار دادن پیشانتشار روی latest یا نسخهٔ پایدار روی canary خودداری میکند و از نسخههایی که از قبل در npm موجودند میگذرد.
برای اطلاع از مدت نگهداری هر خط انتشار، سیاست پشتیبانی را ببینید.