منصوبے کے بارے میں
## یہ ریپوزٹری کیا ہے
`flowscripter/template-bun-rust-library` کو اس کے README میں "Bun FFI بائنڈنگز کے ساتھ Rust لائبریری کے لیے پروجیکٹ ٹیمپلیٹ" کے طور پر بیان کیا گیا ہے۔ اسے اینڈ-یوزر ایپلی کیشن کے بجائے ایک نقطہ آغاز کے طور پر ڈیزائن کیا گیا ہے: ڈویلپرز اس سے ایک نیا پروجیکٹ تیار کرتے ہیں اور پھر نمونہ کوڈ کو اپنی Rust implementation اور TypeScript بائنڈنگز سے تبدیل کر دیتے ہیں۔
## اسکیفولڈنگ کا استعمال
README میں براہ راست ٹیمپلیٹ سے نیا Bun پروجیکٹ بنانے کا طریقہ بتایا گیا ہے:
`bun create @flowscripter/template-bun-rust-library`
## تیار شدہ ماڈیول کا استعمال
شائع شدہ ماڈیول کو `bun add @flowscripter/template-bun-rust-library` کے ذریعے شامل کیا جاتا ہے، اور README کی مثال ایک واحد ایکسپورٹڈ فنکشن کو امپورٹ اور کال کرتی ہے:
```typescript
import { world } from "@flowscripter/template-bun-rust-library";
world();
```
یہ ٹیمپلیٹ کی مطلوبہ ساخت کو ظاہر کرتا ہے: ایک Rust لائبریری جسے Bun کی FFI سپورٹ کے ذریعے TypeScript صارفین کے لیے پیش کیا گیا ہے، جس میں `index.ts` بطور TypeScript انٹری پوائنٹ کام کرتا ہے۔
## ڈویلپمنٹ ورک فلو
README میں درج ذیل کمانڈز دی گئی ہیں:
- `bun install` — ڈیپینڈنسیز انسٹال کریں۔
- `bun run build` — آؤٹ پٹ بلڈ کریں؛ README کے مطابق یہ Node.js اور TypeScript صارفین کے لیے `dist/` تیار کرتا ہے، جبکہ Bun براہ راست خام سورس کا استعمال کرتا ہے۔
- `cargo test` — Rust ٹیسٹ چلائیں۔
- `cargo build --release && bun test` — Rust ریلیز آرٹفیکٹس بلڈ کریں اور Bun ٹیسٹ سویٹ چلائیں۔
- `bunx oxfmt` — فارمیٹ کریں۔
- `cargo fmt && bunx oxlint index.ts src/ tests/` — Rust اور TypeScript سورسز کو لنٹ کریں۔
- `bunx typedoc index.ts` — HTML API ڈاکومنٹیشن تیار کریں۔
## ڈاکومنٹیشن
README میں مارک ڈاؤن رینڈرنگ کی تصدیق کے لیے ایک نمونہ Mermaid کلاس ڈایاگرام (`Foo <|-- Bar`) شامل ہے، اور GitHub Pages پر ہوسٹ شدہ خودکار API ڈاکومنٹیشن کے لنکس موجود ہیں۔ اضافی ڈاکومنٹیشن لنکس میں docs.rs پر Rust ڈاکس شامل ہیں۔
## پروجیکٹ میٹا ڈیٹا
ریپوزٹری میں ریلیز ورژن، بلڈ اسٹیٹس، API ڈاکس، Rust ڈاکس، کوریج اور MIT لائسنس کے بیجز موجود ہیں۔ لائسنس MIT © Flowscripter کے طور پر بیان کیا گیا ہے۔
## ممکنہ صارفین کے لیے نوٹس
چونکہ یہ ایک ٹیمپلیٹ ہے، اس لیے `world()` ایکسپورٹ اور نمونہ ڈایاگرام صرف پلیس ہولڈرز ہیں۔ اس کی عملی اہمیت وہ وائرنگ ہے جو یہ ایک Rust crate اور ایک Bun/TypeScript پیکیج کے درمیان فراہم کرتا ہے، ساتھ ہی متعلقہ بلڈ، ٹیسٹ، لنٹ، فارمیٹنگ اور ڈاکومنٹیشن کمانڈز اور CI کنفیگریشن بھی فراہم کرتا ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.