@jill64/sentry-sveltekit-edge
TypeScript icon, indicating that this package has built-in type declarations

1.2.24 • Public • Published

@jill64/sentry-sveltekit-edge

npm-version npm-license npm-download-month npm-min-size ci.yml

♟️ Unofficial Sentry integration for SvelteKit edge runtime

Installation

npm i @jill64/sentry-sveltekit-edge

Requirements

  • Any edge runtime that supports fetch

[!NOTE] If running on Cloudflare Pages, use instead @jill64/sentry-sveltekit-cloudflare.

Limitations

This library is @sentry/sveltekit without the node runtime dependencies.

Available

  • All features for client
  • Basic error capture on server

Unavailable

  • Default integrations
  • Auto session tracking

Configuration

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']
  }
  // ...
})

Usage

Client

// 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
})

Server

// 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
})

Configure Source Map (Optional)

Use @sentry/vite-plugin.

Example

// 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()
  ]
})

License

MIT

Package Sidebar

Install

npm i @jill64/sentry-sveltekit-edge

Weekly Downloads

1,784

Version

1.2.24

License

MIT

Unpacked Size

1.19 MB

Total Files

49

Last publish

Collaborators

  • jill64