Initial release v1.0.0
Open-source marketplace for AI Agent skills. Features: - Next.js 15 web app with i18n (en/fa) - CLI tool for skill installation (npx skillhub) - GitHub crawler/indexer with multi-strategy discovery - Security scanning for all indexed skills - Self-hostable with Docker Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
35
apps/web/instrumentation.ts
Normal file
35
apps/web/instrumentation.ts
Normal file
@@ -0,0 +1,35 @@
|
||||
// Next.js 15 Instrumentation Hook
|
||||
// This file is used to initialize Sentry on server startup
|
||||
// https://nextjs.org/docs/app/building-your-application/optimizing/instrumentation
|
||||
|
||||
export async function register() {
|
||||
if (process.env.NEXT_RUNTIME === "nodejs") {
|
||||
// Server-side Sentry initialization
|
||||
await import("./sentry.server.config");
|
||||
}
|
||||
|
||||
if (process.env.NEXT_RUNTIME === "edge") {
|
||||
// Edge runtime Sentry initialization
|
||||
await import("./sentry.edge.config");
|
||||
}
|
||||
}
|
||||
|
||||
// Optional: Handle uncaught errors globally
|
||||
export const onRequestError = async (
|
||||
error: Error,
|
||||
request: Request,
|
||||
context: { routerKind: string; routePath: string; routeType: string }
|
||||
) => {
|
||||
// Dynamic import to avoid bundling Sentry in client
|
||||
const Sentry = await import("@sentry/nextjs");
|
||||
|
||||
Sentry.captureException(error, {
|
||||
extra: {
|
||||
routerKind: context.routerKind,
|
||||
routePath: context.routePath,
|
||||
routeType: context.routeType,
|
||||
url: request.url,
|
||||
method: request.method,
|
||||
},
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user