کانال‌های انتشار

برچسب‌های ⁦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⁩نسخهنصب
پایدارlatest1.0.xbun add @textjs/app
قناریcanary1.0.x-canary.Nانتشار پس از عرضهٔ 2.0.0
LTSlts، v1-ltsانتشار پس از عرضهٔ 2.0.0bun 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 موجودند می‌گذرد.

برای اطلاع از مدت نگه‌داری هر خط انتشار، سیاست پشتیبانی را ببینید.

ویرایش این صفحه در GitHub