مقدمة
تكون بناءات Next.js للإنتاج مُصغَّرة (minified)، لذا يبدو تتبّع المكدس (stack trace) القادم من مستخدم حقيقي هكذا:app/chat/page.tsx:142، وتعرض الأسطر
المحيطة به.
تُرفَع الخرائط بشكل خاص وتُحذف من مخرجات البناء قبل النشر. لا تُقدَّم علناً
أبداً، لذا يبقى كودك المصدري خاصاً.
أكمِل تثبيت Next.js أولاً. يتطلّب
تعيين الإصدار (release) الحزمة
@lerix-dev/lerix-core بالإصدار 1.1.0 أو أحدث.1. فعّل خرائط المصدر للمتصفح
فعّل خرائط المصدر للمتصفح في بناء الإنتاج ضمن إعدادات Next.js:next.config.ts
next build وتأكّد من ظهور ملفات .js.map داخل .next/static/chunks.
يضيف Next.js تعليق
//# sourceMappingURL إلى ملفات JavaScript المنشورة.
هذا لا يضر: تحذف الأداة الخرائط قبل النشر، فيشير التعليق ببساطة إلى ملف
يعيد 404.2. أنشئ مفتاح API خاصاً
يحتاج رفع خرائط المصدر إلى مفتاح خاص، منفصل عن مفتاح المشروع العام الذي يستخدمه تطبيقك.- افتح مشروعك في لوحة تحكم Lerix.
- اذهب إلى Project settings ← API keys.
- أنشئ مفتاحاً بصلاحية Upload source maps (أو Full access).
3. ارفع الخرائط بعد كل بناء
بعدnext build وقبل النشر، شغّل أداة Lerix CLI على المجلد .next:
.next) وتستخدم version من package.json كإصدار. ولتحديدهما بنفسك:
npx @lerix-dev/lerix-cli upload .next --release 1.4.0.
تجد الأداة الخرائط داخل .next/static/chunks، وترفع كل ملف *.js.map
(وتتجاهل node_modules وخرائط CSS)، ثم تحذف ملفات .map من مخرجات البناء كي
لا تُنشر أبداً. إذا فشل أي رفع، تُبقي الأداة الخرائط وتخرج بالرمز 1، لتتمكّن
من إعادة الخطوة. تتطلّب الأداة Node.js بالإصدار 18.17 أو أحدث.
إذا كان مزوّد الاستضافة يشغّل البناء نيابةً عنك، فشغّل الرفع ضمن أمر البناء
نفسه ليحدث قبل نشر المخرجات، مثل
next build && npx @lerix-dev/lerix-cli upload.
الرفع مع كل بناء
بدلاً من تشغيل الأمر بنفسك، ثبّت الأداة في مشروعك واجعل npm يشغّلها بعد كل بناء:package.json
npm run build يرفع الخرائط. الخيار --optional يُبقي البناء المحلي
يعمل: على جهاز لا يحوي LERIX_SECRET_KEY (جهاز المطوّر)، يُتخطّى الرفع بدلاً
من إفشال البناء، مع حذف ملفات .map كالمعتاد. عيّن المفاتيح في نظام الـ CI أو
خادم البناء حيث يُنفَّذ بناء الإنتاج.
لا يشغّل pnpm ولا Yarn 2+ سكربتات
postbuild. اربط الأمر بدلاً من ذلك:
"build": "next build && lerix upload --optional".الخيارات
يمكن تعيين كل خيار أيضاً عبر متغير بيئة.4. مرّر الإصدار نفسه إلى الـ SDK
عيّنNEXT_PUBLIC_LERIX_RELEASE إلى القيمة التي مرّرتها إلى --release،
وسيقرؤه LerixNextProvider تلقائياً:
.env.local
release صراحةً ضمن options:
release، لكن يُنصح
بتعيينه. كما يحلّ الإصدار محلّ رقم الإصدار 0.0.0 الذي كان يظهر سابقاً
لتطبيقات الويب.
مثال: GitHub Actions
يبني سير العمل هذا التطبيق، ثم يرفع الخرائط، ثم ينشر. أضِفLERIX_API_KEY
وLERIX_PROJECT_ID وLERIX_SECRET_KEY كأسرار (secrets) في المستودع.
.github/workflows/deploy.yml
ما تراه في لوحة التحكم
تعرض الأخطاء الجديدة الملف والسطر والدالة الأصلية، مع الكود المحيط. انقر Show minified لرؤية المكدس كما أرسله المتصفح تماماً. يتلقّى المساعد الذكي وقضايا GitHub وخادم MCP جميعهم المكدس المقروء أيضاً.- لا تُحوَّل إلا الأخطاء المُبلَّغ عنها بعد رفع الخرائط. تبقى الأخطاء الأقدم بمكدسها المُصغَّر.
- يحتفظ Lerix بأحدث 5,000 خريطة لكل مشروع.
- الحد الأقصى لحجم الخريطة الواحدة 50 MB.