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.
8.20.0
Important Changes
- feat(node): Allow to pass
registerEsmLoaderHooks
to preload (#12998)
You can write your own custom preload script and configure this in the preload options. registerEsmLoaderHooks
can be
passed as an option to preloadOpenTelemetry
, which allows to exclude/include packages in the preload.
- fix(node): Do not emit fetch spans when tracing is disabled (#13003)
Sentry will not emit "fetch" spans if tracing is disabled. This is relevant for user who use their own sampler.
Other Changes
- feat(feedback): Trigger button aria label configuration (#13008)
- feat(nestjs): Change nest sdk setup (#12920)
- feat(node): Extend ESM hooks options for iitm v1.10.0 (#13016)
- feat(node): Send client reports (#12951)
- feat(nuxt): Automatically add BrowserTracing (#13005)
- feat(nuxt): Setup source maps with vite config (#13018)
- feat(replay): Improve public Replay APIs (#13000)