لوگوی فریم‌ورک Fusion ساخته Cipher UnitFusion

Workspace و crateها

چیدمان ریپوی fusion-framework — fusion-core، باندینگ‌ها و artifactهای پکیج

نقشهٔ ریپو

ریپوی fusion-framework یک workspace کارگو است. پکیج‌های زبانی از این مونوریپو منتشر می‌شوند؛ CLI در ریپوی جداست (fusion-tool).

مسیرنقشArtifact منتشرشده
crates/fusion-core/موتور مشترک Rust (Hyper + Tokio)کتابخانهٔ استفاده‌شده توسط همهٔ باندینگ‌ها
crates/fusion-py/افزونهٔ PyO3 + پکیج پایتونPyPI fusion-framework
crates/fusion-node/addon N-API + façade جاوااسکریپتnpm fusion-framework
crates/fusion-ffi/C ABI (cdylib / staticlib)کتابخانهٔ native برای C#
bindings/csharp/FusionFramework/باندینگ مدیریت‌شدهٔ C#NuGet Fusion-Framework
examples/نمونه‌های قابل اجرا به‌ازای زبان—
scripts/set-version.shبالابردن نسخه در همهٔ مانیفست‌ها—

نسخهٔ فعلی پکیج workspace: 1.2.6.

گراف وابستگی

fusion-core
   ├── fusion-py      (PyO3)
   ├── fusion-node    (N-API)
   └── fusion-ffi     (C ABI)
          └── C# FusionFramework (P/Invoke)

معناهای مشترک (توکن‌های مسیر، coercion، envelopeها، JSON تنظیمات، pagination، ثابت‌های status/header، سرور Hyper) در fusion-core هستند. باندینگ‌ها رفتار را با syntax بومی آینه می‌کنند — نباید معنای HTTP واگرا اختراع کنند.

چه چیزی کجا باشد؟

نوع تغییرترجیح
توکن‌های مسیر، نام‌گذاری، کد وضعیت، کلیدهای settings، رفتار سرورfusion-core
Decoratorها، reflection، سیم‌کشی UI OpenAPI، حلقه‌های async hostباندینگ زبانی
قالب‌های scaffold، چیدمان fusion initfusion-tool (ریپوی جدا)

ماژول‌های هسته (منتخب)

ماژولمسئولیت
AppRouter + settings؛ route / listen
Routerتطبیق method + path ({name}، [name])
Request / Responseمقادیر HTTP پارس‌شده و سازنده‌های پاسخ
Settingsبارگذاری fusion.<env>.json، placeholderهای env
namingگسترش [module] / [action]
dispatchبایندینگ آرگومان + envelope پاسخ
paginationکمک‌کننده‌های page / page_size
serverحلقهٔ listen Hyper، headerهای fingerprint

ساخت از سورس (نمای کلی)

# Workspace
cargo check --workspace
cargo test -p fusion-core

# Python
cd crates/fusion-py && maturin develop

# Node
cd crates/fusion-node && npm install && npm run build:debug

# FFI / C#
cargo build -p fusion-ffi
dotnet build bindings/csharp/FusionFramework/FusionFramework.csproj

انتشار با GitHub Actions روی تگ‌های نسخه (vX.Y.Z) برای PyPI، npm و NuGet انجام می‌شود. در ریپوی فریم‌ورک .github/PUBLISHING.md را ببینید.

مرتبط

در این صفحه