Skip to main content

مقدمة

@lerix-dev/lerix-edge هو SDK الخاص بـ Lerix لبيئات تشغيل الحافة (edge): Supabase Edge Functions وCloudflare Workers ومسارات edge في Vercel وNext.js وNetlify Edge وDeno Deploy وBun. غلّف المعالج مرة واحدة، فيُبلَّغ عن كل خطأ يُلقيه إلى لوحة التحكم مع تتبّع المكدس والطلب. وتستطيع الحزمة نفسها تتبّع الطلبات وإرسال الإشعارات إلى مستخدميك. تستخدم الحزمة واجهات الويب القياسية فقط (fetch وWeb Crypto) ولا توجد لها أي اعتماديات. لا يُرسَل شيء قبل أول تقرير، وتُرسَل التقارير بعد الاستجابة عبر waitUntil الخاصة بالمنصة، فلا تتحمّل الدالة السليمة أي كلفة.
أنشئ مشروعاً بإطار Edge Functions في لوحة التحكم وانسخ مفتاح API ومعرّف المشروع من إعدادات المشروع.

1. التثبيت والتهيئة

احفظ المفاتيح كأسرار (secrets) للدالة:
استورد الحزمة بمُحدِّد npm: وغلّف المعالج الذي تمرّره إلى Deno.serve:
supabase/functions/send-welcome-email/index.ts
تُرسَل التقارير بعد الاستجابة عبر EdgeRuntime.waitUntil.

2. تحقّق من التكامل

ألقِ خطأً من المعالج مرة واحدة:
يتلقى المستدعي استجابة 500، ويظهر الخطأ في لوحة التحكم خلال ثوانٍ مع طريقة الطلب وعنوانه ومساره. احذف الاختبار بعد ذلك.

الخيارات

كيف تظهر دالتك في لوحة التحكم

تُسجَّل الدالة كتطبيق من نوع server باسم app.id، مرة لكل بيئة تشغيل (deno وworkerd وedge-light وbun). وتُظهر التقارير مكان تنفيذها، مثل supabase:eu-central-1. لا تملك عوازل الحافة (isolates) قرصاً تحفظ فيه معرّفاً، لذا يُسجَّل الـ SDK تحت معرّف تثبيت ثابت (server:<environment> افتراضياً). كل عازل وكل إقلاع بارد (cold start) للدالة نفسها والبيئة نفسها يُربط بالمستخدم نفسه في لوحة التحكم، بدلاً من مستخدم جديد مع كل إقلاع بارد.

الخطوات التالية

تتبع الأخطاء

ما تبلّغ عنه wrap()، واستجابة الخطأ، والإبلاغ اليدوي.

تتبّع الطلبات

نطاق لكل طلب، مع استدعاءات fetch وقاعدة بيانات Supabase.

الإشعارات

أرسل الإشعارات من دالة، مثلاً عند webhook لقاعدة البيانات.