@sentry/remix
Version:
Official Sentry SDK for Remix
42 lines • 1.82 kB
TypeScript
import type { ErrorBoundaryProps } from '@sentry/react';
import { Transaction, TransactionContext } from '@sentry/types';
import * as React from 'react';
declare type Params<Key extends string = string> = {
readonly [key in Key]: string | undefined;
};
interface RouteMatch<ParamKey extends string = string> {
params: Params<ParamKey>;
pathname: string;
id: string;
handle: unknown;
}
declare type UseEffect = (cb: () => void, deps: unknown[]) => void;
declare type UseLocation = () => {
pathname: string;
search?: string;
hash?: string;
state?: unknown;
key?: unknown;
};
declare type UseMatches = () => RouteMatch[] | null;
/**
* Creates a react-router v6 instrumention for Remix applications.
*
* This implementation is slightly different (and simpler) from the react-router instrumentation
* as in Remix, `useMatches` hook is available where in react-router-v6 it's not yet.
*/
export declare function remixRouterInstrumentation(useEffect: UseEffect, useLocation: UseLocation, useMatches: UseMatches): (customStartTransaction: (context: TransactionContext) => Transaction | undefined, startTransactionOnPageLoad?: boolean, startTransactionOnLocationChange?: boolean) => void;
/**
* Wraps a remix `root` (see: https://remix.run/docs/en/v1/guides/migrating-react-router-app#creating-the-root-route)
* To enable pageload/navigation tracing on every route.
* Also wraps the application with `ErrorBoundary`.
*
* @param OrigApp The Remix root to wrap
* @param options The options for ErrorBoundary wrapper.
*/
export declare function withSentry<P extends Record<string, unknown>, R extends React.FC<P>>(OrigApp: R, options?: {
wrapWithErrorBoundary?: boolean;
errorBoundaryOptions?: ErrorBoundaryProps;
}): R;
export {};
//# sourceMappingURL=client.d.ts.map