ریلیز چینلز

اسٹیبل، کینری اور ⁦LTS dist-tags⁩، ہم قدم ورژنز، ماخذ کی تصدیق اور ریلیز تیار کرنا۔

⁦Text.js⁩ تین ⁦npm dist-tags⁩ پر ریلیز ہوتا ہے۔ ہر پیکیج (@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.Nbun add @textjs/app@canary
LTSlts، v1-lts2.0.0 ریلیز ہونے پر اشاعتbun add @textjs/app@lts

پروڈکشن میں اسٹیبل استعمال کریں۔ اصلاحات اور فیچرز کو اسی دن آزمانے کے لیے کینری استعمال کریں جس دن وہ dev برانچ میں شامل ہوں۔ جب LTS لائن دستیاب ہو، تو سال میں ایک بار اپ گریڈ کرنے کی صورت میں اسے استعمال کریں۔

bun create text-app@canary my-console

اسٹیبل

اسٹیبل ریلیزز سیمینٹک ورژننگ کی پیروی کرتی ہیں: پیچ بگز ٹھیک کرتے ہیں، مائنر ورژن پچھلے ورژنز سے مطابقت رکھنے والے فیچرز شامل کرتے ہیں، میجر ورژن ڈیپریکیشن کی مدت کے بعد APIs کی مطابقت توڑ سکتے ہیں۔ مکمل ٹیسٹ سوئٹ پاس کرنے والی کینری کو اسٹیبل ریلیز بنایا جاتا ہے اور ⁦npm provenance⁩ کے ساتھ شائع کیا جاتا ہے۔

کینری

آفیشل ریپوزٹری میں dev برانچ پر ہر پش کی ٹائپ چیکنگ اور ٹیسٹنگ ہوتی ہے اور اسے -canary.N لاحقے کے ساتھ اگلے پیچ کے طور پر شائع کیا جاتا ہے:

latestdev پر پششائع شدہ ورژن
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 پر پہلے سے موجود سب سے بڑے کینری نمبر سے آگے جاری رہتی ہے، اس لیے نمبر کبھی دہرائے نہیں جاتے۔ کینری ورژن ریپوزٹری میں کمٹ نہیں ہوتے۔ ریلیز چھوڑنے کے لیے کمٹ میسج میں [skip canary] شامل کریں۔

کینری، dev برانچ کے بلڈز ہیں، جس میں ہر پل ریکویسٹ مرج ہوتی ہے۔ یہ بغیر اطلاع کے غیر ریلیز شدہ APIs کو بدل یا ہٹا سکتے ہیں۔ اگر آپ کسی کینری ورژن پر انحصار کرتے ہیں تو اس کا عین ورژن پن کریں۔

ماخذ کی تصدیق

ریلیزز ⁦GitHub Actions⁩ سے npm publish --provenance کمانڈ کے ساتھ شائع ہوتی ہیں، جو ہر ٹاربال کو اس عین کمٹ اور ورک فلو سے منسلک کرتی ہے جس نے اسے بنایا تھا۔ پیکیج کی تصدیق کے لیے یہ کمانڈ چلائیں:

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⁩ پر اس صفحے میں ترمیم کریں