Config
fusion.<env>.json و تنظیمات در Node.js (پکیج fusion-framework)
نمای کلی
پیکربندی runtime بین زبانها مشترک است: فایلهای fusion.<env>.json که با FUSION_ENV انتخاب میشوند (پیشفرض dev). پیادهسازی در fusion-core است؛ پکیج npm: fusion-framework.
قواعد کشف، placeholderها، کلیدها و schema کامل فایلهای محیط:
import { settings, getSettings, configure } from "fusion-framework";
settings.ensureLoaded([process.cwd()]);
const host = settings.host;
const debug = settings.get("debug", false);الگوی استارت
import { FusionApp, getSettings, settings } from "fusion-framework";
settings.ensureLoaded([process.cwd()]);
const app = new FusionApp(getSettings());
await app.listen();FusionApp روی host / port تنظیمات گوش میدهد مگر override به listen بدهید. در scaffold، پورت 8080 است (پیشفرض خالی هسته بدون JSON برابر 3000 است).
API
| API | نقش |
|---|---|
settings.ensureLoaded(extraRoots?) | کشف و لود fusion.<env>.json |
settings.loadJson(path?, env?, extraRoots?) | لود صریح |
settings.get(key, default?) | خواندن کلید تو در تو |
settings.merge(object) | overlay |
configure(object) | merge روی singleton |
getSettings() | اسنپشات { host, port, debug, env } برای FusionApp |
core/settings.ts scaffold مقادیر را برای کد شما export میکند. run({ settingsModule }) اختیاری فقط HOST، PORT و DEBUG را merge میکند — برخلاف پایتون همهٔ نامهای uppercase را merge نمیکند.
تعویض محیط
FUSION_ENV=prod npx tsx main.ts
fusion command run:prodcommands برای Fusion Tool است، نه listener HTTP.