Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jill64/sentry-sveltekit-cloudflare
♟️ Unofficial Sentry Integration for SvelteKit Cloudflare Adapter
https://github.com/jill64/sentry-sveltekit-cloudflare
cloudflare edge pages sentry sveltekit worker
Last synced: about 2 months ago
JSON representation
♟️ Unofficial Sentry Integration for SvelteKit Cloudflare Adapter
- Host: GitHub
- URL: https://github.com/jill64/sentry-sveltekit-cloudflare
- Owner: jill64
- License: mit
- Created: 2023-09-03T07:09:45.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-22T04:41:08.000Z (8 months ago)
- Last Synced: 2024-05-22T05:33:49.661Z (8 months ago)
- Topics: cloudflare, edge, pages, sentry, sveltekit, worker
- Language: TypeScript
- Homepage: https://npmjs.com/package/@jill64/sentry-sveltekit-cloudflare
- Size: 1.23 MB
- Stars: 22
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @jill64/sentry-sveltekit-cloudflare
♟️ Unofficial Sentry Integration for SvelteKit Cloudflare Adapter
Workaround until close [@sentry/javascript #8291](https://github.com/getsentry/sentry-javascript/issues/8291).
> [!NOTE]
> If you are looking for other node-less adapters, see [sentry-sveltkeit-edge](https://github.com/jill64/sentry-sveltekit-edge).## Installation
```sh
npm i @jill64/sentry-sveltekit-cloudflare
```## Configuration
Add the following settings to your SvelteKit application's `vite.config.js`.
```js
// vite.config.js
import { sveltekit } from '@sveltejs/kit/vite'
import { defineConfig } from 'vite'export default defineConfig({
plugins: [sveltekit()],
ssr: {
noExternal: ['@jill64/sentry-sveltekit-cloudflare']
}
// ...
})
```## Usage
### Client
```js
// hooks.client.js
import { init } from '@jill64/sentry-sveltekit-cloudflare/client'
// or
// import { clientInit } from '@jill64/sentry-sveltekit-cloudflare'const onError = init(
'__YOUR_SENTRY_DSN__'
// ,
// {
// sentryOptions: {
// // ... Other Sentry Config
// },
// enableInDevMode: boolean (default: false)
// }
)export const handleError = onError((e, sentryEventId) => {
// Your Error Handler
})
```### Server
```js
// hooks.server.js
import { init } from '@jill64/sentry-sveltekit-cloudflare/server'
// or
// import { serverInit } from '@jill64/sentry-sveltekit-cloudflare'const { onHandle, onError } = init(
'__YOUR_SENTRY_DSN__'
// ,
// {
// toucanOptions: {
// // ... Other Sentry Config
// },
// handleOptions: {
// handleUnknownRoutes: boolean (default: false)
// },
// enableInDevMode: boolean (default: false)
// }
)export const handle = onHandle(({ event, resolve }) => {
// Your Handle Code
})export const handleError = onError((e, sentryEventId) => {
// Your Error Handler
})
```## Configure Source Map (Optional)
Use [@sentry/vite-plugin](https://npmjs.com/package/@sentry/vite-plugin).
### Example
```js
// 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](LICENSE)