ခြုံငုံသုံးသပ်ချက်
Plugin root တွင် module.metadata.json ထားရှိရပါသည်။ Folder name၊ metadata.name နှင့် package identity တူညီရပါမည်။ available-plugins / installed-plugins သို့ ကူးယူပါသည်။
- Path — plugins/<plugin-name>/module.metadata.json
- @Module name၊ DI၊ install UI တွင် အသုံးပြုပါသည်
- pluginDependencies က boot / register အစဉ်ကို ဆုံးဖြတ်ပါသည်
1. Fields
| Field | Type | ရည်ရွယ်ချက် |
|---|---|---|
| name | string | Unique plugin id — folder နှင့် တူရပါမည် |
| type | string | Reserved (များသောအားဖြင့် "") |
| pluginVersion | string | ဤ plugin ၏ semver |
| description | string | Module / install UI အကျဉ်းချုပ် |
| moduleEntryObject | string | Backend entry export ("Module") |
| requiredBasedVersion | string | ကိုက်ညီသော core / @quan-erp/* line |
| pluginDependencies | object | အခြား plugin → အရင် load ရမည့် semver range |
2. ဥပမာ
inventory plugin metadata နမူနာကို အင်္ဂလိပ် code block တွင် ကြည့်နိုင်ပါသည်။
JSONplugins/inventory/module.metadata.json
1{
2 "name": "inventory",
3 "type": "",
4 "pluginVersion": "1.0.0",
5 "description": "Inventory management system",
6 "moduleEntryObject": "Module",
7 "requiredBasedVersion": "1.0.0",
8 "pluginDependencies": {
9 "products": "^1.0.0",
10 "accounting": "^1.0.0"
11 }
12}3. pluginDependencies
Key များသည် provider ၏ metadata.name ဖြစ်ပါသည်။ Value များသည် pluginVersion semver range ဖြစ်ပါသည်။ Provider များကို အရင် load လုပ်ပါသည်။
- @Inject(Service, "other-plugin") သုံးပါက ထည့်ရပါသည်
- {} = plugin dependency မရှိပါ
- Provider version bump လုပ်ပါက range ကို sync လုပ်ရပါသည်
- How it works / Export services ကို ကြည့်ပါ
စည်းမျဉ်းများ
- name === plugins/ folder name ဖြစ်ရပါမည်
- requiredBasedVersion ကို running core နှင့် ကိုက်အောင် ထားရပါသည်
- import … with { type: "json" } ကို အသုံးပြုရပါသည်
- Rename / bump ပြီးနောက် rebuild + re-install လုပ်ရပါသည်