Integrates @sentry/sveltekit 10.49.0 via the modern SvelteKit path (instrumentation.server.ts + experimental.instrumentation.server). - instrumentation.server.ts: server-side init with tracing, logging, and console capture (log/warn/error forwarded to Sentry) - hooks.client.ts: client-side init with browserTracingIntegration, replayIntegration (maskAllText/blockAllMedia), consoleLoggingIntegration, and handleErrorWithSentry - hooks.server.ts: adds handleErrorWithSentry export, composes existing appHandle with sentryHandle() via sequence(), and sets isolation scope attributes (user_id, username, permission_level) per request for log/trace correlation - svelte.config.js: enables experimental.instrumentation.server and experimental.tracing.server - vite.config.ts: adds sentrySvelteKit() plugin for source map uploads - .env.example: documents VITE_SENTRY_DSN, SENTRY_DSN, SENTRY_ORG, SENTRY_PROJECT, SENTRY_AUTH_TOKEN Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
22 lines
590 B
JavaScript
22 lines
590 B
JavaScript
import adapter from '@sveltejs/adapter-node';
|
|
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
|
|
|
|
/** @type {import('@sveltejs/kit').Config} */
|
|
const config = {
|
|
preprocess: vitePreprocess(),
|
|
compilerOptions: {
|
|
// Force runes mode for the project, except for libraries. Can be removed in svelte 6.
|
|
runes: ({ filename }) => (filename.split(/[/\\]/).includes('node_modules') ? undefined : true)
|
|
},
|
|
kit: {
|
|
adapter: adapter(),
|
|
paths: { base: '/app' },
|
|
experimental: {
|
|
instrumentation: { server: true },
|
|
tracing: { server: true }
|
|
}
|
|
}
|
|
};
|
|
|
|
export default config;
|