♟️ Unofficial Sentry integration for SvelteKit edge runtime
npm i @jill64/sentry-sveltekit-edge
- Any edge runtime that supports
fetch
[!NOTE] If running on
Cloudflare Pages
, use instead@jill64/sentry-sveltekit-cloudflare
.
This library is @sentry/sveltekit
without the node runtime dependencies.
- All features for client
- Basic error capture on server
- Default integrations
- Auto session tracking
Add the following settings to your SvelteKit application's vite.config.js
.
// vite.config.js
import { sveltekit } from '@sveltejs/kit/vite'
import { defineConfig } from 'vite'
export default defineConfig({
plugins: [sveltekit()],
ssr: {
noExternal: ['@jill64/sentry-sveltekit-edge']
}
// ...
})
// hooks.client.js
import { init } from '@jill64/sentry-sveltekit-edge/client'
// or
// import { clientInit } from '@jill64/sentry-sveltekit-edge'
const onError = init(
'__YOUR_SENTRY_DSN__'
// ,
// {
// sentryOptions: {
// // ... Other Sentry Config
// },
// enableInDevMode: boolean (default: false)
// }
)
export const handleError = onError((e) => {
// Your Error Handler
})
// hooks.server.js
import { init } from '@jill64/sentry-sveltekit-edge/server'
// or
// import { serverInit } from '@jill64/sentry-sveltekit-edge'
const { onHandle, onError } = serverInit(
'__YOUR_SENTRY_DSN__'
// ,
// {
// sentryOptions?: {
// // ... Other Sentry Config (Based on NodeOptions)
// },
// handleOptions?: {
// handleUnknownRoutes: boolean (default: false)
// },
// enableInDevMode?: boolean (default: false)
// }
)
export const handle = onHandle(({ event, resolve }) => {
// Your Handle Code
})
export const handleError = onError((e) => {
// Your Error Handler
})
Use @sentry/vite-plugin.
// vite.config.js
import { sentryVitePlugin } from '@sentry/vite-plugin'
import { sveltekit } from '@sveltejs/kit/vite'
import { defineConfig } from 'vite'
export default defineConfig({
build: {
sourcemap: true
},
plugins: [
sentryVitePlugin({
org: process.env.SENTRY_ORG,
project: process.env.SENTRY_PROJECT,
authToken: process.env.SENTRY_AUTH_TOKEN
}),
sveltekit()
]
})