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.22.0
Important Changes
- feat(cloudflare): Add plugin for cloudflare pages (#13123)
This release adds support for Cloudflare Pages to @sentry/cloudflare
, our SDK for the
Cloudflare Workers JavaScript Runtime! For details on how to use it,
please see the README. Any feedback/bug reports are greatly appreciated, please
reach out on GitHub.
// functions/_middleware.js
import * as Sentry from '@sentry/cloudflare';
export const onRequest = Sentry.sentryPagesPlugin({
dsn: __PUBLIC_DSN__,
// Set tracesSampleRate to 1.0 to capture 100% of spans for tracing.
tracesSampleRate: 1.0,
});
Other Changes
- feat(meta-sdks): Remove runtime tags (#13105)
- feat(nestjs): Automatic instrumentation of nestjs guards (#13129)
- feat(nestjs): Filter all HttpExceptions (#13120)
- feat(replay): Capture exception when
internal_sdk_error
client report happens (#13072) - fix: Use
globalThis
for code injection (#13132)