What is @sentry/types?
The @sentry/types package provides TypeScript definitions for Sentry's JavaScript SDK. It includes types for Sentry's configuration options, event objects, and various interfaces used within Sentry's SDKs. This package is primarily used by developers to ensure type safety and autocompletion when working with Sentry in a TypeScript environment.
What are @sentry/types's main functionalities?
Event Interface
Defines the structure of an event that can be sent to Sentry. This includes the event's ID, level, timestamp, platform, and SDK information.
{
event_id: string;
level: 'error' | 'warning' | 'info' | 'debug';
timestamp: number;
platform: string;
sdk: {
name: string;
version: string;
};
}
Options Interface
Specifies the options for configuring the Sentry SDK. This includes the DSN (Data Source Name), breadcrumb limits, debug mode, integrations, and a beforeSend hook for event manipulation.
{
dsn: string;
maxBreadcrumbs: number;
debug: boolean;
integrations: Integration[];
beforeSend: (event: Event) => Event | null;
}
Breadcrumb Interface
Describes a breadcrumb, which is a snapshot of data that describes what happened before an event. This includes the timestamp, message, category, level, and any additional data.
{
timestamp: number;
message: string;
category: string;
level: 'critical' | 'error' | 'warning' | 'info' | 'debug';
data: Record<string, any>;
}
Other packages similar to @sentry/types
@types/node
Provides TypeScript definitions for Node.js. Similar to @sentry/types, it's used for type safety and autocompletion but focuses on Node.js' API rather than Sentry's.
typescript
The TypeScript language itself, which includes its compiler and type system. While not a direct alternative, it's the foundation that packages like @sentry/types build upon to provide type definitions for specific libraries.
@types/react
Offers TypeScript definitions for React. Similar to @sentry/types, it aids in developing React applications with TypeScript by providing types for React's API, but it doesn't relate to error monitoring or logging.
Sentry JavaScript SDK Types (DEPRECATED)
DEPRECATION NOTICE: The @sentry/types
package is deprecated.
All exports have been moved to @sentry/core
.
Import everything from @sentry/core
instead.

Links
General
Common types used by the Sentry JavaScript SDKs.
8.52.0
Important Changes
- feat(solidstart): Add
withSentry
wrapper for SolidStart config (#15135)
To enable the SolidStart SDK, wrap your SolidStart Config with withSentry
. The sentrySolidStartVite
plugin is now automatically
added by withSentry
and you can pass the Sentry build-time options like this:
import { defineConfig } from '@solidjs/start/config';
import { withSentry } from '@sentry/solidstart';
export default defineConfig(
withSentry(
{
/* Your SolidStart config options... */
},
{
// Options for setting up source maps
org: process.env.SENTRY_ORG,
project: process.env.SENTRY_PROJECT,
authToken: process.env.SENTRY_AUTH_TOKEN,
},
),
);
With the withSentry
wrapper, the Sentry server config should not be added to the public
directory anymore.
Add the Sentry server config in src/instrument.server.ts
. Then, the server config will be placed inside the server build output as instrument.server.mjs
.
Now, there are two options to set up the SDK:
- (recommended) Provide an
--import
CLI flag to the start command like this (path depends on your server setup):
node --import ./.output/server/instrument.server.mjs .output/server/index.mjs
- Add
autoInjectServerSentry: 'top-level-import'
and the Sentry config will be imported at the top of the server entry (comes with tracing limitations)
withSentry(
{
/* Your SolidStart config options... */
},
{
// Optional: Install Sentry with a top-level import
autoInjectServerSentry: 'top-level-import',
},
);
Other Changes
- feat(v8/core): Add client outcomes for breadcrumbs buffer (#15149)
- feat(v8/core): Improve error formatting in ZodErrors integration (#15155)
- fix(v8/bun): Ensure instrumentation of
Bun.serve
survives a server reload (#15157)
- fix(v8/core): Pass
module
into loadModule
(#15139) (#15166)
Work in this release was contributed by @jahands, @jrandolf, and @nathankleyn. Thank you for your contributions!