منصوبے کے بارے میں

Insomnia ایک اوپن سورس، کراس پلیٹ فارم ڈیسک ٹاپ API کلائنٹ ہے جو GraphQL، REST، WebSockets، Server-Sent Events (SSE)، gRPC اور دیگر HTTP ہم آہنگ پروٹوکولز کا احاطہ کرتا ہے۔ یہ Mac، Windows اور Linux کے لیے دستیاب ہے، Apache-2.0 لائسنس کے تحت ہے، اور Kong کی جانب سے GitHub پر اوپن ڈویلپمنٹ کے ذریعے تیار کیا گیا ہے۔ README کے مطابق آپ اس کے ذریعے درج ذیل کام کر سکتے ہیں: - مقبول پروٹوکولز اور فارمیٹس کا استعمال کرتے ہوئے APIs کو ڈیبگ کریں۔ - نیٹو OpenAPI ایڈیٹر اور بصری پیش نظارہ (visual preview) کے ساتھ APIs ڈیزائن کریں۔ - نیٹو ٹیسٹ سوٹس اور کلیکشن رنر کے ذریعے APIs کا ٹیسٹ کریں۔ - کلاؤڈ یا سیلف ہوسٹڈ موکنگ سرور کے ذریعے APIs کو موک (Mock) کریں۔ - لنٹنگ اور ٹیسٹنگ کے لیے نیٹو Insomnia CLI (Inso) کا استعمال کرتے ہوئے CI/CD پائپ لائنز بنائیں۔ - پروڈکٹ کے تعاون (collaboration) فیچرز کے ذریعے مل کر کام کریں۔ - تھرڈ پارٹی پلگ انز کے ذریعے کلائنٹ کی صلاحیتوں میں اضافہ کریں۔ اسٹوریج کے اختیارات: پروجیکٹس، کلیکشنز، ڈیزائن سپیکس اور دیگر وسائل کو مختلف بیک اینڈز میں رکھا جا سکتا ہے، اور README کے مطابق انہیں فی پروجیکٹ یکجا کیا جا سکتا ہے: - Local Vault، 100% مقامی اسٹوریج کے لیے۔ - Git Sync، کلاؤڈ کے بجائے کسی بھی تھرڈ پارٹی Git ریپوزٹری کا استعمال کرتے ہوئے ۔ - Cloud Sync، کلاؤڈ تعاون کے لیے، جس میں اختیاری طور پر اینڈ ٹو اینڈ انکرپشن (E2EE) دستیاب ہے۔ ایک Private Environments فیچر ماحول کی کنفیگریشن کو مقامی طور پر محفوظ رکھتا ہے، چاہے پروجیکٹ کے لیے کوئی بھی اسٹوریج بیک اینڈ منتخب کیا گیا ہو۔ اکاؤنٹس اور پلانز: Insomnia کو مقامی Scratch Pad کے ذریعے اکاؤنٹ کے بغیر استعمال کیا جا سکتا ہے۔ زیادہ تر دیگر صلاحیتوں کے لیے اکاؤنٹ کی ضرورت ہوتی ہے؛ README میں وضاحت کی گئی ہے کہ یہ طریقہ مفت دستیاب اوپن سورس ڈسٹری بیوشن کی ترقی کو برقرار رکھنے کے لیے اپنایا گیا ہے۔ فری ٹیر کو کافی وسیع بتایا گیا ہے، جبکہ پریمیم پلانز میں لامحدود تعاون، Git Sync، آرگنائزیشن بنانا اور تھرڈ پارٹی شناخت فراہم کنندگان (SAML, OIDC) کے لاگ ان شامل ہیں۔ API ڈیٹا کو صرف مقامی طور پر یا Git میں محفوظ کرنا اکاؤنٹ کے بغیر بھی ممکن ہے۔ ڈویلپمنٹ: یہ ریپوزٹری ایک Node.js monorepo ہے؛ اس میں حصہ لینے کے لیے Node.js اور Git کی ضرورت ہے، جس کا درست Node ورژن .nvmrc میں درج ہے۔ عام روٹ لیول کمانڈز میں npm i, npm run lint, npm run type-check, npm test, npm run dev (لائیو رিলোڈ) اور npm run dev:autoRestart (رینڈرر لائیو رিলোڈ پلس مین پروسیس آٹو ری اسٹارٹ) شامل ہیں۔ Linux صارفین کو Ubuntu/Debian پر libfontconfig-dev یا Fedora پر libcurl-devel جیسے سپورٹنگ پیکیجز کی ضرورت ہو سکتی ہے، اور اگر انسٹالیشن ناکام ہو جائے تو کیشڈ Electron انسٹال کو کلیئر کرنا پڑ سکتا ہے۔ Inso CLI کا اپنا ورک فلو ہے: npm i, واچ موڈ میں کمپائل کرنے کے لیے npm run inso-start، اور پھر ./packages/insomnia-inso/bin/inso -v۔ ایکوسسٹم اور کمیونٹی: پلگ انز Insomnia Plugin Hub سے تلاش اور انسٹال کیے جا سکتے ہیں۔ README میں کمیونٹی پروجیکٹس کی نشاندہی کی گئی ہے جن میں Insomnia Documenter (API ڈاکومنٹیشن صفحات تیار کرنا)، GitHub REST API سپیک امپورٹر، اور Swaggymnia (موجودہ API کے لیے Swagger ڈاکومنٹیشن تیار کرنا) شامل ہیں۔ بگ رپورٹس اور فیچر ریکویسٹ گائیڈ لائنز پڑھنے کے بعد GitHub ایشو ٹریکر کے ذریعے بھیجی جاتی ہیں؛ پروڈکٹ کے عمومی سوالات پروجیکٹ کی Slack کمیونٹی میں حل کیے جاتے ہیں۔ آفیشل ڈاکومنٹیشن docs.insomnia.rest پر موجود ہے۔ README سے اہم نکات: زیادہ تر فیچرز کے لیے اکاؤنٹ کی ضرورت ہے، اور تعاون اور Git Sync کے لیے اختیاری پیڈ پلانز موجود ہیں۔ سورس کوڈ خود Apache-2.0 لائسنس کے تحت ہے۔