@sentry/remix
Version:
Official Sentry SDK for Remix
45 lines • 1.95 kB
TypeScript
import type { Client } from '@sentry/core';
import type { browserTracingIntegration as originalBrowserTracingIntegration } from '@sentry/react';
import * as React from 'react';
export type Params<Key extends string = string> = {
readonly [key in Key]: string | undefined;
};
export interface RouteMatch<ParamKey extends string = string> {
params: Params<ParamKey>;
pathname: string;
id: string;
handle: unknown;
}
export type UseEffect = (cb: () => void, deps: unknown[]) => void;
export type UseLocation = () => {
pathname: string;
search?: string;
hash?: string;
state?: unknown;
key?: unknown;
};
export type UseMatches = () => RouteMatch[] | null;
export type RemixBrowserTracingIntegrationOptions = Partial<Parameters<typeof originalBrowserTracingIntegration>[0]> & {
useEffect?: UseEffect;
useLocation?: UseLocation;
useMatches?: UseMatches;
};
export declare function startPageloadSpan(client: Client): void;
/**
* Wraps a remix `root` (see: https://remix.run/docs/en/main/start/quickstart#the-root-route)
* To enable pageload/navigation tracing on every route.
*
* @param OrigApp The Remix root to wrap
* @param useEffect The `useEffect` hook from `react`
* @param useLocation The `useLocation` hook from `@remix-run/react`
* @param useMatches The `useMatches` hook from `@remix-run/react`
* @param instrumentNavigation Whether to instrument navigation spans. Defaults to `true`.
*/
export declare function withSentry<P extends Record<string, unknown>, R extends React.ComponentType<P>>(OrigApp: R, useEffect?: UseEffect, useLocation?: UseLocation, useMatches?: UseMatches, instrumentNavigation?: boolean): R;
export declare function setGlobals({ useEffect, useLocation, useMatches, instrumentNavigation, }: {
useEffect?: UseEffect;
useLocation?: UseLocation;
useMatches?: UseMatches;
instrumentNavigation?: boolean;
}): void;
//# sourceMappingURL=performance.d.ts.map