ریلیز چینلز
اسٹیبل، کینری اور 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 | ورژن | انسٹالیشن |
|---|---|---|---|
| اسٹیبل | 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اسٹیبل
اسٹیبل ریلیزز سیمینٹک ورژننگ کی پیروی کرتی ہیں: پیچ بگز ٹھیک کرتے ہیں، مائنر ورژن پچھلے ورژنز سے مطابقت رکھنے والے فیچرز شامل کرتے ہیں، میجر ورژن ڈیپریکیشن کی مدت کے بعد APIs کی مطابقت توڑ سکتے ہیں۔ مکمل ٹیسٹ سوئٹ پاس کرنے والی کینری کو اسٹیبل ریلیز بنایا جاتا ہے اور npm provenance کے ساتھ شائع کیا جاتا ہے۔
کینری
آفیشل ریپوزٹری میں 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 پر پہلے سے موجود سب سے بڑے کینری نمبر سے آگے جاری رہتی ہے، اس لیے نمبر کبھی دہرائے نہیں جاتے۔ کینری ورژن ریپوزٹری میں کمٹ نہیں ہوتے۔ ریلیز چھوڑنے کے لیے کمٹ میسج میں [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 --provenancerelease:version ہر package.json فائل اور اس کے مطابق ورژن کانسٹنٹس (VERSION، ریکنسائلر کا rendererVersion) دوبارہ لکھتا ہے، پیکیجز کے ورژن مختلف ہونے پر چلنے سے انکار کرتا ہے، اور --dry-run منصوبہ پرنٹ کرتا ہے۔ release:publish بلڈ بناتا ہے، پیک کرتا ہے (workspace:* کو ریزولو کرتے ہوئے)، publishConfig لاگو کرتا ہے، پری ریلیز کو latest پر یا اسٹیبل ورژن کو canary پر رکھنے سے انکار کرتا ہے، اور npm پر پہلے سے موجود ورژن چھوڑ دیتا ہے۔
ہر ریلیز لائن کی مینٹیننس کی مدت جاننے کے لیے سپورٹ پالیسی دیکھیں۔