@vyro-x/sentry
v0.1.0
Published
Vyro's shared Sentry setup: environment-specific init wrappers with built-in secret scrubbing (authorization headers, API keys, tokens).
Downloads
256
Readme
@vyro-x/sentry
Vyro's shared Sentry setup. One package that owns the Sentry version and gives every
service and frontend a ready-to-use initSentry(...) with secret scrubbing already
wired in — so Authorization headers, API keys, tokens and other secrets never reach
Sentry.
Why
Previously every project called Sentry.init(...) itself, on a different SDK version
(@sentry/node alone spanned five v7 ranges plus v8), each re-implementing config and
scrubbing. This package centralises all of it:
- One pinned Sentry version, declared here as a peer dependency.
- Scrubbing on by default — no way to forget it.
- Per-environment entry points, because backends, SPAs and Next.js each need a different SDK and config.
Entry points
| Import | SDK (peer) | Use in |
| --- | --- | --- |
| @vyro-x/sentry | none | shared scrubbing / config helpers |
| @vyro-x/sentry/node | @sentry/node | Express / Lambda services |
| @vyro-x/sentry/browser | @sentry/react | Vite + React SPAs |
| @vyro-x/sentry/nextjs | @sentry/nextjs | modern-website |
The SDK peers are optional — installing @vyro-x/sentry in a backend pulls only
@sentry/node.
Usage
Backend (@sentry/node)
// src/shared/sentry.ts (or inline)
import { initSentry } from "@vyro-x/sentry/node"
initSentry({ serverName: "users-api" }) // DSN read from process.env.SENTRY_DSN
export { captureException, setupExpressErrorHandler } from "@vyro-x/sentry/node"Sentry.Handlers.requestHandler() is gone in v8+. If a service needs Express error
reporting, call setupExpressErrorHandler(app) after your routes.
Frontend SPA (@sentry/react)
import { initSentry, ErrorBoundary } from "@vyro-x/sentry/browser"
initSentry({ dsn: import.meta.env.VITE_SENTRY_DSN, tracesSampleRate: 0.2 })Next.js (@sentry/nextjs)
// sentry.server.config.ts / sentry.client.config.ts / sentry.edge.config.ts
import { initSentry } from "@vyro-x/sentry/nextjs"
initSentry({ serverName: "modern-website-frontend" })What gets scrubbed
request.headers, request.cookies, request.data, contexts, extra, tags on
every event, and breadcrumb data. Default keys (case-insensitive): authorization,
api-key / apikey / api_key / x-api-key, x-hasura-admin-secret, access-token,
refresh-token, token, secret, cookie, password, credential. Extend via the
scrub option (extraKeys, extraPatterns, pattern, placeholder, maxDepth), or
use the low-level scrubSentrySensitiveData from the root entry.
Test
pnpm --filter @vyro-x/sentry test