دليل Next.js مع AllStak
راقب تطبيق Next.js — العميل والخادم ومعالِجات المسارات — باستخدام حزمة AllStak Next.js SDK.
- المستودع المصدر:
- AllStak/allstak-next
- مسار README:
- README.md
- إصدار الـ SDK:
- 0.3.0
- مصدر التثبيت:
- npm
- آخر تحقّق:
- 2026-05-31
التثبيت
ثبّت الحزمة من npm.
npm install @allstak/nextالإعداد
سجّل AllStak على الخادم في instrumentation.ts، وحمّل تهيئة العميل من instrumentation-client.ts (App Router).
// instrumentation.ts
export async function register() {
const { registerAllStak } = await import('@allstak/next');
registerAllStak({
apiKey: process.env.ALLSTAK_API_KEY,
environment: process.env.NODE_ENV ?? 'production',
release: process.env.NEXT_PUBLIC_RELEASE,
});
}
// instrumentation-client.ts (project root)
export * from '@allstak/next/client';مثال أساسي
غلّف معالج مسار للإبلاغ عن الأعطال مع القياسات.
import { withAllStakRouteHandler } from '@allstak/next';
export const GET = withAllStakRouteHandler(async () => {
return Response.json({ ok: true });
});التقاط الأخطاء
التقط الاستثناءات صراحةً، أو غلّف مكوّنًا بحدّ الأخطاء.
import { captureException } from '@allstak/next';
await captureException(new Error('checkout failed'), { route: '/checkout' });
// or, in a client component:
import { withAllStakErrorBoundary } from '@allstak/next';
export default withAllStakErrorBoundary(PageContent, { fallback: <p>Something went wrong.</p> });تتبّع الطلبات
تُجهَّز نداءات fetch الصادرة تلقائيًا (enableOutboundHttp، الافتراضي true)، فتُلتقط وتُحقن ترويسات traceparent و baggage بمعيار W3C. استخدم withAllStakRouteHandler / withAllStakServerAction لنقاط دخول الخادم.
أفضل الممارسات
- استخدم خطّاف instrumentation ليُراقَب الخادم من البدء البارد.
- وفّر الإصدار عبر NEXT_PUBLIC_RELEASE للتجميع لكل نشر.
- اضبط المتصفح عبر متغيّرات البيئة NEXT_PUBLIC_ALLSTAK_*.