@danieljvdm/dev-kit 1.0.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/package.json +1 -1
- package/skill-sources.jsonc +2 -33
- package/skill-sources.lock.json +15 -117
- package/skills/animate/LICENSE +21 -0
- package/skills/animate/NOTICE +10 -0
- package/skills/animate/SKILL.md +34 -0
- package/skills/animate/references/gestures.md +27 -0
- package/skills/animate/references/glossary.md +136 -0
- package/skills/animate/references/implementation.md +22 -0
- package/skills/animate/references/opportunities.md +18 -0
- package/skills/animate/references/principles.md +48 -0
- package/skills/animate/references/review.md +19 -0
- package/skills/cloudflare-workers/LICENSE +202 -0
- package/skills/cloudflare-workers/NOTICE +9 -0
- package/skills/cloudflare-workers/SKILL.md +26 -0
- package/skills/cloudflare-workers/references/durable-objects.md +68 -0
- package/skills/cloudflare-workers/references/sandbox.md +48 -0
- package/skills/cloudflare-workers/references/workers.md +63 -0
- package/skills/cloudflare-workers/references/wrangler.md +56 -0
- package/skills/design-ui/LICENSE +21 -0
- package/skills/design-ui/NOTICE +8 -0
- package/skills/design-ui/SKILL.md +29 -0
- package/skills/design-ui/references/appearance.md +22 -0
- package/skills/design-ui/references/components.md +33 -0
- package/skills/design-ui/references/exploration.md +50 -0
- package/skills/design-ui/references/libraries.md +39 -0
- package/skills/design-ui/references/themes.md +23 -0
- package/skills/dev-kit/SKILL.md +19 -38
- package/skills/dev-kit/references/cloudflare-worker-api.md +1 -1
- package/skills/dev-kit/references/skills.md +2 -2
- package/skills/effect-development/SKILL.md +27 -0
- package/skills/effect-development/agents/openai.yaml +4 -0
- package/skills/effect-development/references/api/index.md +32 -0
- package/skills/effect-development/references/api/schema-codecs.md +15 -0
- package/skills/{build-effect-apis/references → effect-development/references/api}/verification.md +10 -5
- package/skills/{effect-architecture-audit/SKILL.md → effect-development/references/architecture/index.md} +1 -6
- package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-client.md +8 -6
- package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-testing.md +7 -2
- package/skills/effect-development/references/atom/index.md +40 -0
- package/skills/{build-effect-clis/references → effect-development/references/cli}/entrypoints-and-testing.md +6 -2
- package/skills/effect-development/references/cli/index.md +39 -0
- package/skills/effect-development/references/setup.md +15 -0
- package/skills/open-pull-request/SKILL.md +10 -70
- package/skills/open-pull-request/references/evidence.md +22 -0
- package/skills/open-pull-request/references/explanation.md +21 -0
- package/skills/open-pull-request/references/publication.md +21 -0
- package/skills/sentry/LICENSE +202 -0
- package/skills/sentry/LICENSE-UPSTREAM +21 -0
- package/skills/sentry/NOTICE +14 -0
- package/skills/sentry/SKILL.md +33 -0
- package/skills/sentry/references/alert-payloads.md +105 -0
- package/skills/sentry/references/alerts.md +17 -0
- package/skills/sentry/references/artifacts.md +25 -0
- package/skills/sentry/references/auth-token.md +65 -0
- package/skills/sentry/references/concepts/ai-monitoring.md +131 -0
- package/skills/sentry/references/concepts/choosing-a-signal.md +78 -0
- package/skills/sentry/references/concepts/crons.md +50 -0
- package/skills/sentry/references/concepts/data-scrubbing.md +43 -0
- package/skills/sentry/references/concepts/errors.md +40 -0
- package/skills/sentry/references/concepts/logging.md +85 -0
- package/skills/sentry/references/concepts/metrics.md +49 -0
- package/skills/sentry/references/concepts/monitors.md +78 -0
- package/skills/sentry/references/concepts/profiling.md +38 -0
- package/skills/sentry/references/concepts/reduce-volume.md +49 -0
- package/skills/sentry/references/concepts/releases.md +43 -0
- package/skills/sentry/references/concepts/session-replay.md +35 -0
- package/skills/sentry/references/concepts/tracing.md +54 -0
- package/skills/sentry/references/concepts/user-feedback.md +36 -0
- package/skills/sentry/references/debug-artifacts/android.md +68 -0
- package/skills/sentry/references/debug-artifacts/apple.md +96 -0
- package/skills/sentry/references/debug-artifacts/dotnet.md +70 -0
- package/skills/sentry/references/debug-artifacts/flutter.md +65 -0
- package/skills/sentry/references/debug-artifacts/index.md +75 -0
- package/skills/sentry/references/debug-artifacts/javascript.md +94 -0
- package/skills/sentry/references/debug-artifacts/matching.md +73 -0
- package/skills/sentry/references/debug-artifacts/react-native.md +75 -0
- package/skills/sentry/references/first-error-setup.md +25 -0
- package/skills/sentry/references/instrumentation.md +30 -0
- package/skills/sentry/references/issues.md +32 -0
- package/skills/sentry/references/new-project.md +17 -0
- package/skills/sentry/references/otel-exporter.md +30 -0
- package/skills/sentry/references/release-workflow.md +31 -0
- package/skills/sentry/references/releases/ci-pipeline.md +214 -0
- package/skills/sentry/references/releases/index.md +93 -0
- package/skills/sentry/references/releases/suspect-commits.md +155 -0
- package/skills/sentry/references/releases/tagging.md +131 -0
- package/skills/sentry/references/releases/troubleshooting.md +67 -0
- package/skills/sentry/references/sdks/android/crons.md +305 -0
- package/skills/sentry/references/sdks/android/error-monitoring.md +800 -0
- package/skills/sentry/references/sdks/android/index.md +748 -0
- package/skills/sentry/references/sdks/android/integrations.md +48 -0
- package/skills/sentry/references/sdks/android/logging.md +374 -0
- package/skills/sentry/references/sdks/android/metrics.md +288 -0
- package/skills/sentry/references/sdks/android/profiling.md +397 -0
- package/skills/sentry/references/sdks/android/session-replay.md +406 -0
- package/skills/sentry/references/sdks/android/tracing.md +861 -0
- package/skills/sentry/references/sdks/browser/error-monitoring.md +861 -0
- package/skills/sentry/references/sdks/browser/index.md +714 -0
- package/skills/sentry/references/sdks/browser/logging.md +315 -0
- package/skills/sentry/references/sdks/browser/profiling.md +236 -0
- package/skills/sentry/references/sdks/browser/session-replay.md +586 -0
- package/skills/sentry/references/sdks/browser/tracing.md +561 -0
- package/skills/sentry/references/sdks/browser/user-feedback.md +354 -0
- package/skills/sentry/references/sdks/cloudflare/ai-monitoring.md +661 -0
- package/skills/sentry/references/sdks/cloudflare/crons.md +231 -0
- package/skills/sentry/references/sdks/cloudflare/durable-objects.md +381 -0
- package/skills/sentry/references/sdks/cloudflare/error-monitoring.md +329 -0
- package/skills/sentry/references/sdks/cloudflare/index.md +698 -0
- package/skills/sentry/references/sdks/cloudflare/logging.md +169 -0
- package/skills/sentry/references/sdks/cloudflare/nodejs-compat.md +134 -0
- package/skills/sentry/references/sdks/cloudflare/tracing.md +475 -0
- package/skills/sentry/references/sdks/cocoa/error-monitoring.md +394 -0
- package/skills/sentry/references/sdks/cocoa/index.md +497 -0
- package/skills/sentry/references/sdks/cocoa/logging.md +209 -0
- package/skills/sentry/references/sdks/cocoa/metrics.md +136 -0
- package/skills/sentry/references/sdks/cocoa/profiling.md +223 -0
- package/skills/sentry/references/sdks/cocoa/session-replay.md +257 -0
- package/skills/sentry/references/sdks/cocoa/tracing.md +524 -0
- package/skills/sentry/references/sdks/cocoa/user-feedback.md +310 -0
- package/skills/sentry/references/sdks/dotnet/crons.md +465 -0
- package/skills/sentry/references/sdks/dotnet/error-monitoring.md +1100 -0
- package/skills/sentry/references/sdks/dotnet/index.md +614 -0
- package/skills/sentry/references/sdks/dotnet/logging.md +556 -0
- package/skills/sentry/references/sdks/dotnet/metrics.md +229 -0
- package/skills/sentry/references/sdks/dotnet/profiling.md +296 -0
- package/skills/sentry/references/sdks/dotnet/tracing.md +897 -0
- package/skills/sentry/references/sdks/elixir/crons.md +371 -0
- package/skills/sentry/references/sdks/elixir/error-monitoring.md +335 -0
- package/skills/sentry/references/sdks/elixir/index.md +383 -0
- package/skills/sentry/references/sdks/elixir/logging.md +239 -0
- package/skills/sentry/references/sdks/elixir/tracing.md +233 -0
- package/skills/sentry/references/sdks/flutter/ecosystem-integrations.md +70 -0
- package/skills/sentry/references/sdks/flutter/error-monitoring.md +312 -0
- package/skills/sentry/references/sdks/flutter/index.md +728 -0
- package/skills/sentry/references/sdks/flutter/logging.md +387 -0
- package/skills/sentry/references/sdks/flutter/metrics.md +310 -0
- package/skills/sentry/references/sdks/flutter/profiling.md +214 -0
- package/skills/sentry/references/sdks/flutter/session-replay.md +308 -0
- package/skills/sentry/references/sdks/flutter/tracing.md +502 -0
- package/skills/sentry/references/sdks/go/crons.md +270 -0
- package/skills/sentry/references/sdks/go/error-monitoring.md +361 -0
- package/skills/sentry/references/sdks/go/index.md +324 -0
- package/skills/sentry/references/sdks/go/logging.md +354 -0
- package/skills/sentry/references/sdks/go/metrics.md +273 -0
- package/skills/sentry/references/sdks/go/profiling.md +46 -0
- package/skills/sentry/references/sdks/go/tracing.md +366 -0
- package/skills/sentry/references/sdks/index.md +41 -0
- package/skills/sentry/references/sdks/nestjs/ai-monitoring.md +410 -0
- package/skills/sentry/references/sdks/nestjs/crons.md +268 -0
- package/skills/sentry/references/sdks/nestjs/error-monitoring.md +729 -0
- package/skills/sentry/references/sdks/nestjs/index.md +699 -0
- package/skills/sentry/references/sdks/nestjs/logging.md +174 -0
- package/skills/sentry/references/sdks/nestjs/metrics.md +243 -0
- package/skills/sentry/references/sdks/nestjs/profiling.md +127 -0
- package/skills/sentry/references/sdks/nestjs/tracing.md +762 -0
- package/skills/sentry/references/sdks/nextjs/ai-monitoring.md +494 -0
- package/skills/sentry/references/sdks/nextjs/crons.md +383 -0
- package/skills/sentry/references/sdks/nextjs/error-monitoring.md +974 -0
- package/skills/sentry/references/sdks/nextjs/index.md +491 -0
- package/skills/sentry/references/sdks/nextjs/logging.md +381 -0
- package/skills/sentry/references/sdks/nextjs/metrics.md +411 -0
- package/skills/sentry/references/sdks/nextjs/profiling.md +403 -0
- package/skills/sentry/references/sdks/nextjs/session-replay.md +462 -0
- package/skills/sentry/references/sdks/nextjs/tracing.md +628 -0
- package/skills/sentry/references/sdks/node/ai-monitoring.md +303 -0
- package/skills/sentry/references/sdks/node/crons.md +432 -0
- package/skills/sentry/references/sdks/node/error-monitoring.md +1125 -0
- package/skills/sentry/references/sdks/node/index.md +942 -0
- package/skills/sentry/references/sdks/node/logging.md +380 -0
- package/skills/sentry/references/sdks/node/metrics.md +278 -0
- package/skills/sentry/references/sdks/node/profiling.md +373 -0
- package/skills/sentry/references/sdks/node/tracing.md +878 -0
- package/skills/sentry/references/sdks/php/ai-monitoring.md +310 -0
- package/skills/sentry/references/sdks/php/crons.md +265 -0
- package/skills/sentry/references/sdks/php/error-monitoring.md +626 -0
- package/skills/sentry/references/sdks/php/index.md +362 -0
- package/skills/sentry/references/sdks/php/laravel.md +542 -0
- package/skills/sentry/references/sdks/php/logging.md +242 -0
- package/skills/sentry/references/sdks/php/metrics.md +193 -0
- package/skills/sentry/references/sdks/php/profiling.md +115 -0
- package/skills/sentry/references/sdks/php/symfony.md +552 -0
- package/skills/sentry/references/sdks/php/tracing.md +516 -0
- package/skills/sentry/references/sdks/python/ai-monitoring.md +351 -0
- package/skills/sentry/references/sdks/python/crons.md +218 -0
- package/skills/sentry/references/sdks/python/error-monitoring.md +292 -0
- package/skills/sentry/references/sdks/python/index.md +361 -0
- package/skills/sentry/references/sdks/python/logging.md +234 -0
- package/skills/sentry/references/sdks/python/metrics.md +154 -0
- package/skills/sentry/references/sdks/python/profiling.md +120 -0
- package/skills/sentry/references/sdks/python/tracing.md +364 -0
- package/skills/sentry/references/sdks/react/error-monitoring.md +1607 -0
- package/skills/sentry/references/sdks/react/index.md +492 -0
- package/skills/sentry/references/sdks/react/logging.md +364 -0
- package/skills/sentry/references/sdks/react/profiling.md +322 -0
- package/skills/sentry/references/sdks/react/react-features.md +1272 -0
- package/skills/sentry/references/sdks/react/session-replay.md +1193 -0
- package/skills/sentry/references/sdks/react/tracing.md +1415 -0
- package/skills/sentry/references/sdks/react-native/error-monitoring.md +1481 -0
- package/skills/sentry/references/sdks/react-native/expo-config-plugin.md +45 -0
- package/skills/sentry/references/sdks/react-native/index.md +1030 -0
- package/skills/sentry/references/sdks/react-native/logging.md +444 -0
- package/skills/sentry/references/sdks/react-native/profiling.md +386 -0
- package/skills/sentry/references/sdks/react-native/session-replay.md +704 -0
- package/skills/sentry/references/sdks/react-native/tracing.md +1086 -0
- package/skills/sentry/references/sdks/react-native/user-feedback.md +815 -0
- package/skills/sentry/references/sdks/react-router-framework/error-monitoring.md +127 -0
- package/skills/sentry/references/sdks/react-router-framework/index.md +411 -0
- package/skills/sentry/references/sdks/react-router-framework/logging.md +66 -0
- package/skills/sentry/references/sdks/react-router-framework/profiling.md +57 -0
- package/skills/sentry/references/sdks/react-router-framework/react-router-framework-features.md +110 -0
- package/skills/sentry/references/sdks/react-router-framework/session-replay.md +67 -0
- package/skills/sentry/references/sdks/react-router-framework/tracing.md +96 -0
- package/skills/sentry/references/sdks/react-router-framework/user-feedback.md +71 -0
- package/skills/sentry/references/sdks/ruby/crons.md +184 -0
- package/skills/sentry/references/sdks/ruby/error-monitoring.md +248 -0
- package/skills/sentry/references/sdks/ruby/index.md +297 -0
- package/skills/sentry/references/sdks/ruby/logging.md +168 -0
- package/skills/sentry/references/sdks/ruby/metrics.md +196 -0
- package/skills/sentry/references/sdks/ruby/migration.md +321 -0
- package/skills/sentry/references/sdks/ruby/profiling.md +107 -0
- package/skills/sentry/references/sdks/ruby/tracing.md +388 -0
- package/skills/sentry/references/sdks/svelte/error-monitoring.md +456 -0
- package/skills/sentry/references/sdks/svelte/index.md +467 -0
- package/skills/sentry/references/sdks/svelte/logging.md +344 -0
- package/skills/sentry/references/sdks/svelte/session-replay.md +369 -0
- package/skills/sentry/references/sdks/svelte/tracing.md +406 -0
- package/skills/sentry/references/sdks/tanstack-start/error-monitoring.md +149 -0
- package/skills/sentry/references/sdks/tanstack-start/index.md +381 -0
- package/skills/sentry/references/sdks/tanstack-start/logging.md +74 -0
- package/skills/sentry/references/sdks/tanstack-start/session-replay.md +76 -0
- package/skills/sentry/references/sdks/tanstack-start/tanstackstart-features.md +128 -0
- package/skills/sentry/references/sdks/tanstack-start/tracing.md +123 -0
- package/skills/sentry/references/sdks/tanstack-start/user-feedback.md +81 -0
- package/skills/sentry/references/search-query-language.md +226 -0
- package/skills/sentry/references/semantics/angular.md +7 -0
- package/skills/sentry/references/semantics/app.md +28 -0
- package/skills/sentry/references/semantics/art.md +17 -0
- package/skills/sentry/references/semantics/aws.md +43 -0
- package/skills/sentry/references/semantics/browser.md +34 -0
- package/skills/sentry/references/semantics/cache.md +12 -0
- package/skills/sentry/references/semantics/client.md +8 -0
- package/skills/sentry/references/semantics/cloud.md +12 -0
- package/skills/sentry/references/semantics/cloudflare.md +23 -0
- package/skills/sentry/references/semantics/code.md +11 -0
- package/skills/sentry/references/semantics/culture.md +11 -0
- package/skills/sentry/references/semantics/db.md +21 -0
- package/skills/sentry/references/semantics/device.md +43 -0
- package/skills/sentry/references/semantics/error.md +7 -0
- package/skills/sentry/references/semantics/event.md +8 -0
- package/skills/sentry/references/semantics/exception.md +10 -0
- package/skills/sentry/references/semantics/faas.md +19 -0
- package/skills/sentry/references/semantics/file.md +8 -0
- package/skills/sentry/references/semantics/flag.md +7 -0
- package/skills/sentry/references/semantics/gcp.md +16 -0
- package/skills/sentry/references/semantics/gen_ai.md +53 -0
- package/skills/sentry/references/semantics/general.md +11 -0
- package/skills/sentry/references/semantics/graphql.md +9 -0
- package/skills/sentry/references/semantics/grpc.md +19 -0
- package/skills/sentry/references/semantics/http.md +34 -0
- package/skills/sentry/references/semantics/index.md +63 -0
- package/skills/sentry/references/semantics/jsonrpc.md +8 -0
- package/skills/sentry/references/semantics/jvm.md +12 -0
- package/skills/sentry/references/semantics/koa.md +7 -0
- package/skills/sentry/references/semantics/logger.md +7 -0
- package/skills/sentry/references/semantics/mcp.md +37 -0
- package/skills/sentry/references/semantics/mdc.md +7 -0
- package/skills/sentry/references/semantics/messaging.md +23 -0
- package/skills/sentry/references/semantics/middleware.md +7 -0
- package/skills/sentry/references/semantics/navigation.md +9 -0
- package/skills/sentry/references/semantics/nel.md +11 -0
- package/skills/sentry/references/semantics/network.md +17 -0
- package/skills/sentry/references/semantics/os.md +15 -0
- package/skills/sentry/references/semantics/otel.md +10 -0
- package/skills/sentry/references/semantics/params.md +7 -0
- package/skills/sentry/references/semantics/process.md +14 -0
- package/skills/sentry/references/semantics/react.md +7 -0
- package/skills/sentry/references/semantics/remix.md +7 -0
- package/skills/sentry/references/semantics/resource.md +7 -0
- package/skills/sentry/references/semantics/rpc.md +10 -0
- package/skills/sentry/references/semantics/score.md +10 -0
- package/skills/sentry/references/semantics/sentry.md +69 -0
- package/skills/sentry/references/semantics/server.md +8 -0
- package/skills/sentry/references/semantics/service.md +8 -0
- package/skills/sentry/references/semantics/session.md +7 -0
- package/skills/sentry/references/semantics/state.md +7 -0
- package/skills/sentry/references/semantics/thread.md +8 -0
- package/skills/sentry/references/semantics/timber.md +7 -0
- package/skills/sentry/references/semantics/trpc.md +8 -0
- package/skills/sentry/references/semantics/ui.md +18 -0
- package/skills/sentry/references/semantics/url.md +15 -0
- package/skills/sentry/references/semantics/user.md +17 -0
- package/skills/sentry/references/semantics/user_agent.md +7 -0
- package/skills/sentry/references/semantics/vercel.md +42 -0
- package/skills/sentry/references/setup-verification.md +39 -0
- package/skills/sentry/references/snapshots/github-actions-fanout.md +206 -0
- package/skills/sentry/references/snapshots/github-actions-simple.md +102 -0
- package/skills/sentry/references/snapshots/github-actions-swift-snapshot-testing.md +118 -0
- package/skills/sentry/references/snapshots/index.md +19 -0
- package/skills/sentry/references/snapshots/snapshot-previews.md +100 -0
- package/skills/sentry/references/snapshots/snapshots.md +123 -0
- package/skills/sentry/references/snapshots/wizard-setup.md +134 -0
- package/skills/testing/LICENSE +21 -0
- package/skills/testing/NOTICE +7 -0
- package/skills/testing/SKILL.md +13 -19
- package/skills/testing/agents/openai.yaml +1 -2
- package/skills/testing/references/selection.md +23 -0
- package/skills/testing/references/tdd.md +19 -0
- package/skills/testing/references/test-design.md +17 -0
- package/src/catalog.ts +1 -7
- package/skills/build-effect-apis/SKILL.md +0 -81
- package/skills/build-effect-apis/agents/openai.yaml +0 -4
- package/skills/build-effect-clis/SKILL.md +0 -92
- package/skills/build-effect-clis/agents/openai.yaml +0 -4
- package/skills/effect-architecture-audit/agents/openai.yaml +0 -4
- package/skills/effect-atom-state/SKILL.md +0 -97
- package/skills/effect-atom-state/agents/openai.yaml +0 -4
- package/skills/effect-ts/SKILL.md +0 -35
- package/skills/effect-ts/agents/openai.yaml +0 -4
- /package/skills/{build-effect-apis/references → effect-development/references/api}/cloudflare-workers.md +0 -0
- /package/skills/{build-effect-apis/references → effect-development/references/api}/runtime-assembly.md +0 -0
- /package/skills/{build-effect-apis/references → effect-development/references/api}/server-and-middleware.md +0 -0
- /package/skills/{build-effect-apis/references → effect-development/references/api}/shared-contracts.md +0 -0
- /package/skills/{effect-architecture-audit/references → effect-development/references/architecture}/service-and-boundary-audit.md +0 -0
- /package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-lifecycle.md +0 -0
- /package/skills/{effect-atom-state/references → effect-development/references/atom}/effect-atom-workflows.md +0 -0
- /package/skills/{effect-atom-state/references → effect-development/references/atom}/tanstack-start.md +0 -0
- /package/skills/{build-effect-clis/references → effect-development/references/cli}/command-design.md +0 -0
- /package/skills/{build-effect-clis/references → effect-development/references/cli}/processes-and-platform.md +0 -0
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
# Sentry Svelte SDK
|
|
2
|
+
|
|
3
|
+
Opinionated wizard that scans your project and guides you through complete Sentry setup
|
|
4
|
+
for Svelte and SvelteKit.
|
|
5
|
+
|
|
6
|
+
> **Note:** SDK versions and APIs below reflect current Sentry docs at time of writing
|
|
7
|
+
> (`@sentry/sveltekit` ≥10.8.0, SvelteKit ≥2.31.0). Always verify against
|
|
8
|
+
> [docs.sentry.io/platforms/javascript/guides/sveltekit/](https://docs.sentry.io/platforms/javascript/guides/sveltekit/)
|
|
9
|
+
> before implementing.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Phase 1: Detect
|
|
14
|
+
|
|
15
|
+
Run these commands to understand the project before making any recommendations:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Detect framework type
|
|
19
|
+
cat package.json | grep -E '"svelte"|"@sveltejs/kit"|"@sentry/svelte"|"@sentry/sveltekit"'
|
|
20
|
+
|
|
21
|
+
# Check for SvelteKit indicators
|
|
22
|
+
ls svelte.config.js svelte.config.ts vite.config.ts vite.config.js 2>/dev/null
|
|
23
|
+
|
|
24
|
+
# Check SvelteKit version (determines which setup pattern to use)
|
|
25
|
+
cat package.json | grep '"@sveltejs/kit"'
|
|
26
|
+
|
|
27
|
+
# Check if Sentry is already installed
|
|
28
|
+
cat package.json | grep '"@sentry/'
|
|
29
|
+
|
|
30
|
+
# Check existing hook files
|
|
31
|
+
ls src/hooks.client.ts src/hooks.client.js src/hooks.server.ts src/hooks.server.js \
|
|
32
|
+
src/instrumentation.server.ts 2>/dev/null
|
|
33
|
+
|
|
34
|
+
# Detect logging libraries (Node side)
|
|
35
|
+
cat package.json | grep -E '"pino"|"winston"|"consola"'
|
|
36
|
+
|
|
37
|
+
# Detect if there's a backend (Go, Python, Ruby, etc.) in adjacent directories
|
|
38
|
+
ls ../backend ../server ../api 2>/dev/null
|
|
39
|
+
cat ../go.mod ../requirements.txt ../Gemfile 2>/dev/null | head -3
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**What to determine:**
|
|
43
|
+
|
|
44
|
+
| Question | Impact |
|
|
45
|
+
| ------------------------------------ | ----------------------------------------------------- |
|
|
46
|
+
| `@sveltejs/kit` in `package.json`? | SvelteKit path vs. plain Svelte path |
|
|
47
|
+
| SvelteKit ≥2.31.0? | Modern (`instrumentation.server.ts`) vs. legacy setup |
|
|
48
|
+
| `@sentry/sveltekit` already present? | Skip install, go straight to feature config |
|
|
49
|
+
| `vite.config.ts` present? | Source map upload via Vite plugin available |
|
|
50
|
+
| Backend directory found? | Trigger Phase 4 cross-link suggestion |
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Phase 2: Recommend
|
|
55
|
+
|
|
56
|
+
Present a concrete recommendation based on what you found.
|
|
57
|
+
Don’t ask open-ended questions — lead with a proposal:
|
|
58
|
+
|
|
59
|
+
**Recommended (core coverage):**
|
|
60
|
+
|
|
61
|
+
- ✅ **Error Monitoring** — always; auto-captures unhandled errors on client and server
|
|
62
|
+
- ✅ **Tracing** — SvelteKit has both client-side navigation spans and server-side
|
|
63
|
+
request spans; always recommend
|
|
64
|
+
- ✅ **Session Replay** — recommended for user-facing SvelteKit apps (client-side only)
|
|
65
|
+
|
|
66
|
+
**Optional (enhanced observability):**
|
|
67
|
+
|
|
68
|
+
- ⚡ **Logging** — structured logs via `Sentry.logger.*`; recommend when app uses
|
|
69
|
+
server-side logging or needs log-to-trace correlation
|
|
70
|
+
|
|
71
|
+
**Recommendation logic:**
|
|
72
|
+
|
|
73
|
+
| Feature | Recommend when … |
|
|
74
|
+
| ---------------- | ------------------------------------------------------------------------------ |
|
|
75
|
+
| Error Monitoring | **Always** — non-negotiable baseline |
|
|
76
|
+
| Tracing | **Always for SvelteKit** (client + server); for plain Svelte when calling APIs |
|
|
77
|
+
| Session Replay | User-facing app, login flows, or checkout pages present |
|
|
78
|
+
| Logging | App already uses server-side logging, or structured log search is needed |
|
|
79
|
+
|
|
80
|
+
Propose: _“I recommend setting up Error Monitoring + Tracing + Session Replay.
|
|
81
|
+
Want me to also add structured Logging?”_
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Phase 3: Guide
|
|
86
|
+
|
|
87
|
+
### Determine Setup Path
|
|
88
|
+
|
|
89
|
+
| Your project | Package | Setup complexity |
|
|
90
|
+
| --------------------------------- | ------------------- | --------------------------------- |
|
|
91
|
+
| SvelteKit (≥2.31.0) | `@sentry/sveltekit` | 5 files to create/modify |
|
|
92
|
+
| SvelteKit (<2.31.0) | `@sentry/sveltekit` | 3 files (init in hooks.server.ts) |
|
|
93
|
+
| Plain Svelte (no `@sveltejs/kit`) | `@sentry/svelte` | Single entry point |
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
### Path A: SvelteKit (Recommended — Modern, ≥2.31.0)
|
|
98
|
+
|
|
99
|
+
#### Option 1: Wizard (Recommended)
|
|
100
|
+
|
|
101
|
+
> **You need to run this yourself** — the wizard opens a browser for login and requires
|
|
102
|
+
> interactive input that the agent can’t handle.
|
|
103
|
+
> Copy-paste into your terminal:
|
|
104
|
+
>
|
|
105
|
+
> ```
|
|
106
|
+
> npx @sentry/wizard@latest -i sveltekit
|
|
107
|
+
> ```
|
|
108
|
+
>
|
|
109
|
+
> It handles login, org/project selection, SDK installation, client/server hooks, Vite
|
|
110
|
+
> plugin config, source map upload, and adds a `/sentry-example-page`.
|
|
111
|
+
>
|
|
112
|
+
> **Once it finishes, come back and skip to [Verification](#verification).**
|
|
113
|
+
|
|
114
|
+
If the user skips the wizard, proceed with Option 2 (Manual Setup) below.
|
|
115
|
+
|
|
116
|
+
#### Option 2: Manual Setup
|
|
117
|
+
|
|
118
|
+
**Step 1 — Install**
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
npm install @sentry/sveltekit --save
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
**Step 2 — `svelte.config.js`** — Enable instrumentation
|
|
125
|
+
|
|
126
|
+
```javascript
|
|
127
|
+
import adapter from "@sveltejs/adapter-auto";
|
|
128
|
+
|
|
129
|
+
const config = {
|
|
130
|
+
kit: {
|
|
131
|
+
adapter: adapter(),
|
|
132
|
+
experimental: {
|
|
133
|
+
instrumentation: { server: true },
|
|
134
|
+
tracing: { server: true },
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
export default config;
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Step 3 — `src/instrumentation.server.ts`** — Server-side init (runs once at startup)
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
import * as Sentry from "@sentry/sveltekit";
|
|
146
|
+
|
|
147
|
+
Sentry.init({
|
|
148
|
+
dsn: process.env.SENTRY_DSN,
|
|
149
|
+
environment: process.env.SENTRY_ENVIRONMENT,
|
|
150
|
+
release: process.env.SENTRY_RELEASE,
|
|
151
|
+
|
|
152
|
+
dataCollection: {
|
|
153
|
+
// To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
|
|
154
|
+
// https://docs.sentry.io/platforms/javascript/guides/sveltekit/configuration/options/#dataCollection
|
|
155
|
+
// userInfo: false,
|
|
156
|
+
// httpBodies: [],
|
|
157
|
+
},
|
|
158
|
+
tracesSampleRate: 1.0, // lower to 0.1–0.2 in production
|
|
159
|
+
enableLogs: true,
|
|
160
|
+
});
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**Step 4 — `src/hooks.client.ts`** — Client-side init
|
|
164
|
+
|
|
165
|
+
```typescript
|
|
166
|
+
import * as Sentry from "@sentry/sveltekit";
|
|
167
|
+
|
|
168
|
+
Sentry.init({
|
|
169
|
+
dsn: import.meta.env.PUBLIC_SENTRY_DSN ?? import.meta.env.VITE_SENTRY_DSN,
|
|
170
|
+
environment: import.meta.env.MODE,
|
|
171
|
+
|
|
172
|
+
dataCollection: {
|
|
173
|
+
// To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
|
|
174
|
+
// https://docs.sentry.io/platforms/javascript/guides/sveltekit/configuration/options/#dataCollection
|
|
175
|
+
// userInfo: false,
|
|
176
|
+
// httpBodies: [],
|
|
177
|
+
},
|
|
178
|
+
tracesSampleRate: 1.0,
|
|
179
|
+
|
|
180
|
+
integrations: [
|
|
181
|
+
Sentry.replayIntegration({
|
|
182
|
+
maskAllText: true,
|
|
183
|
+
blockAllMedia: true,
|
|
184
|
+
}),
|
|
185
|
+
],
|
|
186
|
+
|
|
187
|
+
replaysSessionSampleRate: 0.1,
|
|
188
|
+
replaysOnErrorSampleRate: 1.0,
|
|
189
|
+
enableLogs: true,
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
export const handleError = Sentry.handleErrorWithSentry();
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**Step 5 — `src/hooks.server.ts`** — Server hooks (no init here in modern setup)
|
|
196
|
+
|
|
197
|
+
```typescript
|
|
198
|
+
import * as Sentry from "@sentry/sveltekit";
|
|
199
|
+
import { sequence } from "@sveltejs/kit/hooks";
|
|
200
|
+
|
|
201
|
+
export const handleError = Sentry.handleErrorWithSentry();
|
|
202
|
+
|
|
203
|
+
// sentryHandle() instruments incoming requests and creates root spans
|
|
204
|
+
export const handle = Sentry.sentryHandle();
|
|
205
|
+
|
|
206
|
+
// If you have other handle functions, compose with sequence():
|
|
207
|
+
// export const handle = sequence(Sentry.sentryHandle(), myAuthHandle);
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**Step 6 — `vite.config.ts`** — Source maps (requires `SENTRY_AUTH_TOKEN`)
|
|
211
|
+
|
|
212
|
+
```typescript
|
|
213
|
+
import { sveltekit } from "@sveltejs/kit/vite";
|
|
214
|
+
import { sentrySvelteKit } from "@sentry/sveltekit";
|
|
215
|
+
import { defineConfig } from "vite";
|
|
216
|
+
|
|
217
|
+
export default defineConfig({
|
|
218
|
+
plugins: [
|
|
219
|
+
// sentrySvelteKit MUST come before sveltekit()
|
|
220
|
+
sentrySvelteKit({
|
|
221
|
+
org: process.env.SENTRY_ORG,
|
|
222
|
+
project: process.env.SENTRY_PROJECT,
|
|
223
|
+
authToken: process.env.SENTRY_AUTH_TOKEN,
|
|
224
|
+
}),
|
|
225
|
+
sveltekit(),
|
|
226
|
+
],
|
|
227
|
+
});
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Add to `.env` (never commit):
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
SENTRY_AUTH_TOKEN=sntrys_...
|
|
234
|
+
SENTRY_ORG=my-org-slug
|
|
235
|
+
SENTRY_PROJECT=my-project-slug
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
### Path B: SvelteKit Legacy (<2.31.0 or `@sentry/sveltekit` <10.8.0)
|
|
241
|
+
|
|
242
|
+
Skip `instrumentation.server.ts` and `svelte.config.js` changes.
|
|
243
|
+
Instead, put `Sentry.init()` directly in `hooks.server.ts`:
|
|
244
|
+
|
|
245
|
+
```typescript
|
|
246
|
+
// src/hooks.server.ts (legacy — init goes here)
|
|
247
|
+
import * as Sentry from "@sentry/sveltekit";
|
|
248
|
+
|
|
249
|
+
Sentry.init({
|
|
250
|
+
dsn: process.env.SENTRY_DSN,
|
|
251
|
+
tracesSampleRate: 1.0,
|
|
252
|
+
enableLogs: true,
|
|
253
|
+
});
|
|
254
|
+
|
|
255
|
+
export const handleError = Sentry.handleErrorWithSentry();
|
|
256
|
+
export const handle = Sentry.sentryHandle();
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
`hooks.client.ts` and `vite.config.ts` are identical to the modern path.
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
### Path C: Plain Svelte (no SvelteKit)
|
|
264
|
+
|
|
265
|
+
**Install:**
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
npm install @sentry/svelte --save
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
**Configure in entry point** (`src/main.ts` or `src/main.js`) **before** mounting the
|
|
272
|
+
app:
|
|
273
|
+
|
|
274
|
+
```typescript
|
|
275
|
+
import * as Sentry from "@sentry/svelte";
|
|
276
|
+
import App from "./App.svelte";
|
|
277
|
+
|
|
278
|
+
Sentry.init({
|
|
279
|
+
dsn: import.meta.env.VITE_SENTRY_DSN,
|
|
280
|
+
environment: import.meta.env.MODE,
|
|
281
|
+
|
|
282
|
+
dataCollection: {
|
|
283
|
+
// To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:
|
|
284
|
+
// https://docs.sentry.io/platforms/javascript/guides/sveltekit/configuration/options/#dataCollection
|
|
285
|
+
// userInfo: false,
|
|
286
|
+
// httpBodies: [],
|
|
287
|
+
},
|
|
288
|
+
|
|
289
|
+
integrations: [
|
|
290
|
+
Sentry.browserTracingIntegration(),
|
|
291
|
+
Sentry.replayIntegration({
|
|
292
|
+
maskAllText: true,
|
|
293
|
+
blockAllMedia: true,
|
|
294
|
+
}),
|
|
295
|
+
],
|
|
296
|
+
|
|
297
|
+
tracesSampleRate: 1.0,
|
|
298
|
+
tracePropagationTargets: ["localhost", /^https:\/\/yourapi\.io/],
|
|
299
|
+
replaysSessionSampleRate: 0.1,
|
|
300
|
+
replaysOnErrorSampleRate: 1.0,
|
|
301
|
+
enableLogs: true,
|
|
302
|
+
});
|
|
303
|
+
|
|
304
|
+
const app = new App({ target: document.getElementById("app")! });
|
|
305
|
+
export default app;
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
**Optional: Svelte component tracking** (auto-injects tracking into all components):
|
|
309
|
+
|
|
310
|
+
```javascript
|
|
311
|
+
// svelte.config.js
|
|
312
|
+
import { withSentryConfig } from "@sentry/svelte";
|
|
313
|
+
|
|
314
|
+
export default withSentryConfig(
|
|
315
|
+
{ compilerOptions: {} },
|
|
316
|
+
{ componentTracking: { trackComponents: true } },
|
|
317
|
+
);
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
---
|
|
321
|
+
|
|
322
|
+
### For Each Agreed Feature
|
|
323
|
+
|
|
324
|
+
Walk through features one at a time.
|
|
325
|
+
Load the reference file, follow its steps, then verify before moving on:
|
|
326
|
+
|
|
327
|
+
| Feature | Reference | Load when … |
|
|
328
|
+
| ---------------- | ----------------------- | ------------------------------------------ |
|
|
329
|
+
| Error Monitoring | `./error-monitoring.md` | Always (baseline) |
|
|
330
|
+
| Tracing | `./tracing.md` | API calls / distributed tracing needed |
|
|
331
|
+
| Session Replay | `./session-replay.md` | User-facing app |
|
|
332
|
+
| Logging | `./logging.md` | Structured logs / log-to-trace correlation |
|
|
333
|
+
|
|
334
|
+
For each feature: `Read ./<feature>.md`, follow steps exactly, verify it works.
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## Configuration Reference
|
|
339
|
+
|
|
340
|
+
### Key `Sentry.init()` Options
|
|
341
|
+
|
|
342
|
+
| Option | Type | Default | Notes |
|
|
343
|
+
| ---------------------------- | -------------------- | -------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
|
|
344
|
+
| `dsn` | `string` | — | **Required.** Use env var; SDK is disabled when empty |
|
|
345
|
+
| `environment` | `string` | `"production"` | e.g., `"staging"`, `"development"` |
|
|
346
|
+
| `release` | `string` | — | e.g., `"my-app@1.2.3"` or git SHA |
|
|
347
|
+
| `dataCollection` | `object` | — | Control what data is collected (userInfo, cookies, headers, etc.) |
|
|
348
|
+
| `dataCollection.userInfo` | `boolean` | `true` | Auto-populate `user.*` fields from instrumentation |
|
|
349
|
+
| `dataCollection.cookies` | `boolean\|object` | `true` | Cookie collection and filtering |
|
|
350
|
+
| `dataCollection.httpHeaders` | `object` | `{request: true, response: true}` | HTTP header collection for requests/responses |
|
|
351
|
+
| `dataCollection.httpBodies` | `string[]` | `["incomingRequest", "outgoingRequest", "incomingResponse", "outgoingResponse"]` | Which HTTP body types to collect |
|
|
352
|
+
| `dataCollection.queryParams` | `boolean\|object` | `true` | Query parameter collection and filtering |
|
|
353
|
+
| `tracesSampleRate` | `number` | — | 0–1; use `1.0` in dev, `0.1–0.2` in prod |
|
|
354
|
+
| `tracesSampler` | `function` | — | Per-transaction sampling; overrides `tracesSampleRate` |
|
|
355
|
+
| `tracePropagationTargets` | `(string\|RegExp)[]` | — | URLs that receive distributed tracing headers |
|
|
356
|
+
| `replaysSessionSampleRate` | `number` | — | Fraction of all sessions recorded (client only) |
|
|
357
|
+
| `replaysOnErrorSampleRate` | `number` | — | Fraction of error sessions recorded (client only) |
|
|
358
|
+
| `enableLogs` | `boolean` | `false` | Enable `Sentry.logger.*` API |
|
|
359
|
+
| `beforeSendLog` | `function` | — | Filter/modify logs before send |
|
|
360
|
+
| `debug` | `boolean` | `false` | Verbose SDK output to console |
|
|
361
|
+
|
|
362
|
+
### Server-Only Options (`instrumentation.server.ts` / `hooks.server.ts`)
|
|
363
|
+
|
|
364
|
+
| Option | Type | Notes |
|
|
365
|
+
| ----------------------- | --------- | ------------------------------------------------------ |
|
|
366
|
+
| `serverName` | `string` | Hostname tag on server events |
|
|
367
|
+
| `includeLocalVariables` | `boolean` | Attach local vars to stack frames |
|
|
368
|
+
| `shutdownTimeout` | `number` | ms to flush events before process exit (default: 2000) |
|
|
369
|
+
|
|
370
|
+
### Adapter Compatibility
|
|
371
|
+
|
|
372
|
+
| Adapter | Support |
|
|
373
|
+
| ------------------------------------------------ | --------------------------------- |
|
|
374
|
+
| `@sveltejs/adapter-auto` / adapter-vercel (Node) | ✅ Full |
|
|
375
|
+
| `@sveltejs/adapter-node` | ✅ Full |
|
|
376
|
+
| `@sveltejs/adapter-cloudflare` | ⚠️ Partial — requires extra setup |
|
|
377
|
+
| Vercel Edge Runtime | ❌ Not supported |
|
|
378
|
+
|
|
379
|
+
### SvelteKit File Summary
|
|
380
|
+
|
|
381
|
+
| File | Purpose | Modern | Legacy |
|
|
382
|
+
| ------------------------------- | --------------------------------------------------- | ------------------ | ------------------ |
|
|
383
|
+
| `src/instrumentation.server.ts` | Server `Sentry.init()` — runs once at startup | ✅ Required | ❌ |
|
|
384
|
+
| `src/hooks.client.ts` | Client `Sentry.init()` + `handleError` | ✅ Required | ✅ Required |
|
|
385
|
+
| `src/hooks.server.ts` | `handleError` + `sentryHandle()` (no init) | ✅ Required | ✅ Init goes here |
|
|
386
|
+
| `svelte.config.js` | Enable `experimental.instrumentation.server` | ✅ Required | ❌ |
|
|
387
|
+
| `vite.config.ts` | `sentrySvelteKit()` plugin for source maps | ✅ Recommended | ✅ Recommended |
|
|
388
|
+
| `.env` | `SENTRY_AUTH_TOKEN`, `SENTRY_ORG`, `SENTRY_PROJECT` | ✅ For source maps | ✅ For source maps |
|
|
389
|
+
|
|
390
|
+
---
|
|
391
|
+
|
|
392
|
+
## Verification
|
|
393
|
+
|
|
394
|
+
After setup, trigger test events to confirm Sentry is receiving data:
|
|
395
|
+
|
|
396
|
+
```svelte
|
|
397
|
+
<!-- src/routes/sentry-test/+page.svelte -->
|
|
398
|
+
<script>
|
|
399
|
+
import * as Sentry from "@sentry/sveltekit";
|
|
400
|
+
</script>
|
|
401
|
+
|
|
402
|
+
<button onclick={() => { throw new Error("Sentry client test"); }}>
|
|
403
|
+
Test Client Error
|
|
404
|
+
</button>
|
|
405
|
+
|
|
406
|
+
<button onclick={() => Sentry.captureMessage("Sentry test message", "info")}>
|
|
407
|
+
Test Message
|
|
408
|
+
</button>
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
```typescript
|
|
412
|
+
// src/routes/sentry-test/+server.ts
|
|
413
|
+
export const GET = () => {
|
|
414
|
+
throw new Error("Sentry server test");
|
|
415
|
+
};
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
Check the Sentry dashboard:
|
|
419
|
+
|
|
420
|
+
- **Issues** → both errors should appear within seconds
|
|
421
|
+
- **Traces** → look for route-based transactions
|
|
422
|
+
- **Replays** → session recording visible after page interaction
|
|
423
|
+
- **Logs** → structured log entries (if logging enabled)
|
|
424
|
+
|
|
425
|
+
If nothing appears, set `debug: true` in `Sentry.init()` and check the browser/server
|
|
426
|
+
console for SDK output.
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
## Phase 4: Cross-Link
|
|
431
|
+
|
|
432
|
+
After completing Svelte/SvelteKit setup, check for a companion backend missing Sentry
|
|
433
|
+
coverage:
|
|
434
|
+
|
|
435
|
+
```bash
|
|
436
|
+
# Look for backend in adjacent directories
|
|
437
|
+
ls ../backend ../server ../api ../go ../python 2>/dev/null
|
|
438
|
+
cat ../go.mod 2>/dev/null | head -3
|
|
439
|
+
cat ../requirements.txt ../pyproject.toml 2>/dev/null | head -3
|
|
440
|
+
cat ../Gemfile 2>/dev/null | head -3
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
If a backend exists without Sentry configured, suggest the matching skill:
|
|
444
|
+
|
|
445
|
+
| Backend detected | Suggest skill |
|
|
446
|
+
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
447
|
+
| Go (`go.mod`) | [`go`](../go/index.md) |
|
|
448
|
+
| Python (`requirements.txt`, `pyproject.toml`) | [`python`](../python/index.md) |
|
|
449
|
+
| Ruby (`Gemfile`) | [`ruby`](../ruby/index.md) |
|
|
450
|
+
| Node.js (Express, Fastify, etc.) | Use `@sentry/node` — see [docs.sentry.io/platforms/javascript/guides/express/](https://docs.sentry.io/platforms/javascript/guides/express/) |
|
|
451
|
+
|
|
452
|
+
---
|
|
453
|
+
|
|
454
|
+
## Troubleshooting
|
|
455
|
+
|
|
456
|
+
| Issue | Solution |
|
|
457
|
+
| -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
458
|
+
| Events not appearing | Set `debug: true`, check DSN, open browser console for SDK errors |
|
|
459
|
+
| Source maps not working | Run `npm run build` (not `dev`), verify `SENTRY_AUTH_TOKEN` is set |
|
|
460
|
+
| Server errors not captured | Ensure `handleErrorWithSentry()` is exported from `hooks.server.ts` |
|
|
461
|
+
| Client errors not captured | Ensure `handleErrorWithSentry()` is exported from `hooks.client.ts` |
|
|
462
|
+
| Session replay not recording | Confirm `replayIntegration()` is in client init only (never server) |
|
|
463
|
+
| `sentryHandle()` + other handles not composing | Wrap with `sequence(Sentry.sentryHandle(), myHandle)` |
|
|
464
|
+
| Ad-blocker blocking events | Set `tunnel: "/sentry-tunnel"` and add a server-side relay endpoint |
|
|
465
|
+
| SvelteKit instrumentation not activating | Confirm `experimental.instrumentation.server: true` in `svelte.config.js` |
|
|
466
|
+
| Cloudflare adapter issues | Consult [docs.sentry.io/platforms/javascript/guides/sveltekit/](https://docs.sentry.io/platforms/javascript/guides/sveltekit/) for adapter-specific notes |
|
|
467
|
+
| `wrapLoadWithSentry` / `wrapServerLoadWithSentry` errors | These are legacy wrappers — remove them; `sentryHandle()` instruments load functions automatically in ≥10.8.0 |
|