The minimum supported version of Nitro is 3.0.0-alpha.1.
This package is a wrapper around @sentry/node with added instrumentation for Nitro's features like:
- HTTP handlers and error capturing.
- Middleware instrumentation.
-
Install the Sentry Nitro SDK:
# Using npm npm install @sentry/nitro # Using yarn yarn add @sentry/nitro # Using pnpm pnpm add @sentry/nitro
- Import
withSentryConfigfrom@sentry/nitroand call it with your Nitro config.
If you are using a dedicated nitro.config.ts file, you can import withSentryConfig from @sentry/nitro and call it with your Nitro config.
import { defineNitroConfig } from 'nitro/config';
import { withSentryConfig } from '@sentry/nitro';
const config = defineNitroConfig({
// ...
});
export default withSentryConfig(config, {
// Sentry Build Options
});If you are using nitro as a Vite plugin, you can import withSentryConfig from @sentry/nitro and call it with your Nitro config.
import { defineConfig } from 'vite';
import { nitro } from 'nitro/vite';
import { withSentryConfig } from '@sentry/nitro';
export default defineConfig({
plugins: [nitro()],
nitro: withSentryConfig(
{
// Nitro options
},
{
// Sentry Build Options
},
),
});Create an instrument.mjs file in your project root to initialize the Sentry SDK:
import * as Sentry from '@sentry/nitro';
Sentry.init({
dsn: '__YOUR_DSN__',
tracesSampleRate: 1.0,
});Then use NODE_OPTIONS to load the instrumentation before your app code:
NODE_OPTIONS='--import ./instrument.mjs' npx nitro devThis works with any Nitro command (nitro dev, nitro preview, or a production start script).
The withSentryConfig function automatically configures source map uploading when the authToken, org, and project
options are provided:
export default withSentryConfig(config, {
org: 'your-sentry-org',
project: 'your-sentry-project',
authToken: process.env.SENTRY_AUTH_TOKEN,
});If you encounter any issues with error tracking or integrations, refer to the official Sentry Nitro SDK documentation. If the documentation does not provide the necessary information, consider opening an issue on GitHub.