@sentry/react 9.0.0-alpha.0 → 9.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/build/cjs/errorboundary.js +2 -2
- package/build/cjs/errorboundary.js.map +1 -1
- package/build/cjs/hoist-non-react-statics.js +10 -0
- package/build/cjs/hoist-non-react-statics.js.map +1 -0
- package/build/cjs/profiler.js +2 -2
- package/build/cjs/profiler.js.map +1 -1
- package/build/cjs/reactrouter.js +2 -2
- package/build/cjs/reactrouter.js.map +1 -1
- package/build/cjs/reactrouterv6-compat-utils.js +47 -19
- package/build/cjs/reactrouterv6-compat-utils.js.map +1 -1
- package/build/cjs/tanstackrouter.js +1 -1
- package/build/cjs/tanstackrouter.js.map +1 -1
- package/build/esm/errorboundary.js +1 -1
- package/build/esm/errorboundary.js.map +1 -1
- package/build/esm/hoist-non-react-statics.js +8 -0
- package/build/esm/hoist-non-react-statics.js.map +1 -0
- package/build/esm/package.json +1 -1
- package/build/esm/profiler.js +1 -1
- package/build/esm/profiler.js.map +1 -1
- package/build/esm/reactrouter.js +1 -1
- package/build/esm/reactrouter.js.map +1 -1
- package/build/esm/reactrouterv6-compat-utils.js +46 -18
- package/build/esm/reactrouterv6-compat-utils.js.map +1 -1
- package/build/esm/tanstackrouter.js +1 -1
- package/build/esm/tanstackrouter.js.map +1 -1
- package/build/types/errorboundary.d.ts.map +1 -1
- package/build/types/hoist-non-react-statics.d.ts +3 -0
- package/build/types/hoist-non-react-statics.d.ts.map +1 -0
- package/build/types/profiler.d.ts +1 -1
- package/build/types/profiler.d.ts.map +1 -1
- package/build/types/reactrouter.d.ts.map +1 -1
- package/build/types/reactrouterv6-compat-utils.d.ts.map +1 -1
- package/build/types/types.d.ts +7 -3
- package/build/types/types.d.ts.map +1 -1
- package/build/types/vendor/tanstackrouter-types.d.ts +1 -1
- package/build/types/vendor/tanstackrouter-types.d.ts.map +1 -1
- package/build/types-ts3.8/hoist-non-react-statics.d.ts +3 -0
- package/build/types-ts3.8/profiler.d.ts +1 -1
- package/build/types-ts3.8/types.d.ts +7 -3
- package/build/types-ts3.8/vendor/tanstackrouter-types.d.ts +1 -1
- package/package.json +3 -3
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { browserTracingIntegration, WINDOW, startBrowserTracingPageLoadSpan, startBrowserTracingNavigationSpan } from '@sentry/browser';
|
|
2
2
|
import { logger, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, getClient, getCurrentScope, getActiveSpan, getRootSpan, spanToJSON } from '@sentry/core';
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import hoistNonReactStatics from 'hoist-non-react-statics';
|
|
5
4
|
import { DEBUG_BUILD } from './debug-build.js';
|
|
5
|
+
import { hoistNonReactStatics } from './hoist-non-react-statics.js';
|
|
6
6
|
|
|
7
7
|
/* eslint-disable max-lines */
|
|
8
8
|
// Inspired from Donnie McNeal's solution:
|
|
@@ -18,6 +18,9 @@ let _stripBasename = false;
|
|
|
18
18
|
|
|
19
19
|
const CLIENTS_WITH_INSTRUMENT_NAVIGATION = new WeakSet();
|
|
20
20
|
|
|
21
|
+
// Keeping as a global variable for cross-usage in multiple functions
|
|
22
|
+
const allRoutes = new Set();
|
|
23
|
+
|
|
21
24
|
/**
|
|
22
25
|
* Creates a wrapCreateBrowserRouter function that can be used with all React Router v6 compatible versions.
|
|
23
26
|
*/
|
|
@@ -37,6 +40,10 @@ function createV6CompatibleWrapCreateBrowserRouter
|
|
|
37
40
|
}
|
|
38
41
|
|
|
39
42
|
return function (routes, opts) {
|
|
43
|
+
routes.forEach(route => {
|
|
44
|
+
allRoutes.add(route);
|
|
45
|
+
});
|
|
46
|
+
|
|
40
47
|
const router = createRouterFunction(routes, opts);
|
|
41
48
|
const basename = opts?.basename;
|
|
42
49
|
|
|
@@ -46,19 +53,40 @@ function createV6CompatibleWrapCreateBrowserRouter
|
|
|
46
53
|
// This is the earliest convenient time to update the transaction name.
|
|
47
54
|
// Callbacks to `router.subscribe` are not called for the initial load.
|
|
48
55
|
if (router.state.historyAction === 'POP' && activeRootSpan) {
|
|
49
|
-
updatePageloadTransaction(
|
|
56
|
+
updatePageloadTransaction(
|
|
57
|
+
activeRootSpan,
|
|
58
|
+
router.state.location,
|
|
59
|
+
routes,
|
|
60
|
+
undefined,
|
|
61
|
+
basename,
|
|
62
|
+
Array.from(allRoutes),
|
|
63
|
+
);
|
|
50
64
|
}
|
|
51
65
|
|
|
52
66
|
router.subscribe((state) => {
|
|
53
|
-
const location = state.location;
|
|
54
67
|
if (state.historyAction === 'PUSH' || state.historyAction === 'POP') {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
68
|
+
// Wait for the next render if loading an unsettled route
|
|
69
|
+
if (state.navigation.state !== 'idle') {
|
|
70
|
+
requestAnimationFrame(() => {
|
|
71
|
+
handleNavigation({
|
|
72
|
+
location: state.location,
|
|
73
|
+
routes,
|
|
74
|
+
navigationType: state.historyAction,
|
|
75
|
+
version,
|
|
76
|
+
basename,
|
|
77
|
+
allRoutes: Array.from(allRoutes),
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
} else {
|
|
81
|
+
handleNavigation({
|
|
82
|
+
location: state.location,
|
|
83
|
+
routes,
|
|
84
|
+
navigationType: state.historyAction,
|
|
85
|
+
version,
|
|
86
|
+
basename,
|
|
87
|
+
allRoutes: Array.from(allRoutes),
|
|
88
|
+
});
|
|
89
|
+
}
|
|
62
90
|
}
|
|
63
91
|
});
|
|
64
92
|
|
|
@@ -90,6 +118,10 @@ function createV6CompatibleWrapCreateMemoryRouter
|
|
|
90
118
|
|
|
91
119
|
,
|
|
92
120
|
) {
|
|
121
|
+
routes.forEach(route => {
|
|
122
|
+
allRoutes.add(route);
|
|
123
|
+
});
|
|
124
|
+
|
|
93
125
|
const router = createRouterFunction(routes, opts);
|
|
94
126
|
const basename = opts?.basename;
|
|
95
127
|
|
|
@@ -115,7 +147,7 @@ function createV6CompatibleWrapCreateMemoryRouter
|
|
|
115
147
|
: router.state.location;
|
|
116
148
|
|
|
117
149
|
if (router.state.historyAction === 'POP' && activeRootSpan) {
|
|
118
|
-
updatePageloadTransaction(activeRootSpan, location, routes, undefined, basename);
|
|
150
|
+
updatePageloadTransaction(activeRootSpan, location, routes, undefined, basename, Array.from(allRoutes));
|
|
119
151
|
}
|
|
120
152
|
|
|
121
153
|
router.subscribe((state) => {
|
|
@@ -127,6 +159,7 @@ function createV6CompatibleWrapCreateMemoryRouter
|
|
|
127
159
|
navigationType: state.historyAction,
|
|
128
160
|
version,
|
|
129
161
|
basename,
|
|
162
|
+
allRoutes: Array.from(allRoutes),
|
|
130
163
|
});
|
|
131
164
|
}
|
|
132
165
|
});
|
|
@@ -201,8 +234,6 @@ function createV6CompatibleWrapUseRoutes(origUseRoutes, version) {
|
|
|
201
234
|
return origUseRoutes;
|
|
202
235
|
}
|
|
203
236
|
|
|
204
|
-
const allRoutes = new Set();
|
|
205
|
-
|
|
206
237
|
const SentryRoutes
|
|
207
238
|
|
|
208
239
|
= (props) => {
|
|
@@ -264,7 +295,6 @@ function handleNavigation(opts
|
|
|
264
295
|
|
|
265
296
|
) {
|
|
266
297
|
const { location, routes, navigationType, version, matches, basename, allRoutes } = opts;
|
|
267
|
-
|
|
268
298
|
const branches = Array.isArray(matches) ? matches : _matchRoutes(routes, location, basename);
|
|
269
299
|
|
|
270
300
|
const client = getClient();
|
|
@@ -498,7 +528,7 @@ function updatePageloadTransaction(
|
|
|
498
528
|
) {
|
|
499
529
|
const branches = Array.isArray(matches)
|
|
500
530
|
? matches
|
|
501
|
-
: (_matchRoutes(routes, location, basename) );
|
|
531
|
+
: (_matchRoutes(allRoutes || routes, location, basename) );
|
|
502
532
|
|
|
503
533
|
if (branches) {
|
|
504
534
|
let name,
|
|
@@ -514,7 +544,7 @@ function updatePageloadTransaction(
|
|
|
514
544
|
[name, source] = getNormalizedName(routes, location, branches, basename);
|
|
515
545
|
}
|
|
516
546
|
|
|
517
|
-
getCurrentScope().setTransactionName(name);
|
|
547
|
+
getCurrentScope().setTransactionName(name || '/');
|
|
518
548
|
|
|
519
549
|
if (activeRootSpan) {
|
|
520
550
|
activeRootSpan.updateName(name);
|
|
@@ -537,8 +567,6 @@ function createV6CompatibleWithSentryReactRouterRouting(
|
|
|
537
567
|
return Routes;
|
|
538
568
|
}
|
|
539
569
|
|
|
540
|
-
const allRoutes = new Set();
|
|
541
|
-
|
|
542
570
|
const SentryRoutes = (props) => {
|
|
543
571
|
const isMountRenderPass = React.useRef(true);
|
|
544
572
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactrouterv6-compat-utils.js","sources":["../../src/reactrouterv6-compat-utils.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n// Inspired from Donnie McNeal's solution:\n// https://gist.github.com/wontondon/e8c4bdf2888875e4c755712e99279536\n\nimport {\n WINDOW,\n browserTracingIntegration,\n startBrowserTracingNavigationSpan,\n startBrowserTracingPageLoadSpan,\n} from '@sentry/browser';\nimport type { Client, Integration, Span, TransactionSource } from '@sentry/core';\nimport {\n SEMANTIC_ATTRIBUTE_SENTRY_OP,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,\n getActiveSpan,\n getClient,\n getCurrentScope,\n getRootSpan,\n logger,\n spanToJSON,\n} from '@sentry/core';\nimport * as React from 'react';\n\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport { DEBUG_BUILD } from './debug-build';\nimport type {\n Action,\n AgnosticDataRouteMatch,\n CreateRouterFunction,\n CreateRoutesFromChildren,\n Location,\n MatchRoutes,\n RouteMatch,\n RouteObject,\n Router,\n RouterState,\n UseEffect,\n UseLocation,\n UseNavigationType,\n UseRoutes,\n} from './types';\n\nlet _useEffect: UseEffect;\nlet _useLocation: UseLocation;\nlet _useNavigationType: UseNavigationType;\nlet _createRoutesFromChildren: CreateRoutesFromChildren;\nlet _matchRoutes: MatchRoutes;\nlet _stripBasename: boolean = false;\n\nconst CLIENTS_WITH_INSTRUMENT_NAVIGATION = new WeakSet<Client>();\n\nexport interface ReactRouterOptions {\n useEffect: UseEffect;\n useLocation: UseLocation;\n useNavigationType: UseNavigationType;\n createRoutesFromChildren: CreateRoutesFromChildren;\n matchRoutes: MatchRoutes;\n stripBasename?: boolean;\n}\n\ntype V6CompatibleVersion = '6' | '7';\n\n/**\n * Creates a wrapCreateBrowserRouter function that can be used with all React Router v6 compatible versions.\n */\nexport function createV6CompatibleWrapCreateBrowserRouter<\n TState extends RouterState = RouterState,\n TRouter extends Router<TState> = Router<TState>,\n>(\n createRouterFunction: CreateRouterFunction<TState, TRouter>,\n version: V6CompatibleVersion,\n): CreateRouterFunction<TState, TRouter> {\n if (!_useEffect || !_useLocation || !_useNavigationType || !_matchRoutes) {\n DEBUG_BUILD &&\n logger.warn(\n `reactRouterV${version}Instrumentation was unable to wrap the \\`createRouter\\` function because of one or more missing parameters.`,\n );\n\n return createRouterFunction;\n }\n\n return function (routes: RouteObject[], opts?: Record<string, unknown> & { basename?: string }): TRouter {\n const router = createRouterFunction(routes, opts);\n const basename = opts?.basename;\n\n const activeRootSpan = getActiveRootSpan();\n\n // The initial load ends when `createBrowserRouter` is called.\n // This is the earliest convenient time to update the transaction name.\n // Callbacks to `router.subscribe` are not called for the initial load.\n if (router.state.historyAction === 'POP' && activeRootSpan) {\n updatePageloadTransaction(activeRootSpan, router.state.location, routes, undefined, basename);\n }\n\n router.subscribe((state: RouterState) => {\n const location = state.location;\n if (state.historyAction === 'PUSH' || state.historyAction === 'POP') {\n handleNavigation({\n location,\n routes,\n navigationType: state.historyAction,\n version,\n basename,\n });\n }\n });\n\n return router;\n };\n}\n\n/**\n * Creates a wrapCreateMemoryRouter function that can be used with all React Router v6 compatible versions.\n */\nexport function createV6CompatibleWrapCreateMemoryRouter<\n TState extends RouterState = RouterState,\n TRouter extends Router<TState> = Router<TState>,\n>(\n createRouterFunction: CreateRouterFunction<TState, TRouter>,\n version: V6CompatibleVersion,\n): CreateRouterFunction<TState, TRouter> {\n if (!_useEffect || !_useLocation || !_useNavigationType || !_matchRoutes) {\n DEBUG_BUILD &&\n logger.warn(\n `reactRouterV${version}Instrumentation was unable to wrap the \\`createMemoryRouter\\` function because of one or more missing parameters.`,\n );\n\n return createRouterFunction;\n }\n\n return function (\n routes: RouteObject[],\n opts?: Record<string, unknown> & {\n basename?: string;\n initialEntries?: (string | { pathname: string })[];\n initialIndex?: number;\n },\n ): TRouter {\n const router = createRouterFunction(routes, opts);\n const basename = opts?.basename;\n\n const activeRootSpan = getActiveRootSpan();\n let initialEntry = undefined;\n\n const initialEntries = opts?.initialEntries;\n const initialIndex = opts?.initialIndex;\n\n const hasOnlyOneInitialEntry = initialEntries && initialEntries.length === 1;\n const hasIndexedEntry = initialIndex !== undefined && initialEntries && initialEntries[initialIndex];\n\n initialEntry = hasOnlyOneInitialEntry\n ? initialEntries[0]\n : hasIndexedEntry\n ? initialEntries[initialIndex]\n : undefined;\n\n const location = initialEntry\n ? typeof initialEntry === 'string'\n ? { pathname: initialEntry }\n : initialEntry\n : router.state.location;\n\n if (router.state.historyAction === 'POP' && activeRootSpan) {\n updatePageloadTransaction(activeRootSpan, location, routes, undefined, basename);\n }\n\n router.subscribe((state: RouterState) => {\n const location = state.location;\n if (state.historyAction === 'PUSH' || state.historyAction === 'POP') {\n handleNavigation({\n location,\n routes,\n navigationType: state.historyAction,\n version,\n basename,\n });\n }\n });\n\n return router;\n };\n}\n\n/**\n * Creates a browser tracing integration that can be used with all React Router v6 compatible versions.\n */\nexport function createReactRouterV6CompatibleTracingIntegration(\n options: Parameters<typeof browserTracingIntegration>[0] & ReactRouterOptions,\n version: V6CompatibleVersion,\n): Integration {\n const integration = browserTracingIntegration({\n ...options,\n instrumentPageLoad: false,\n instrumentNavigation: false,\n });\n\n const {\n useEffect,\n useLocation,\n useNavigationType,\n createRoutesFromChildren,\n matchRoutes,\n stripBasename,\n instrumentPageLoad = true,\n instrumentNavigation = true,\n } = options;\n\n return {\n ...integration,\n setup() {\n _useEffect = useEffect;\n _useLocation = useLocation;\n _useNavigationType = useNavigationType;\n _matchRoutes = matchRoutes;\n _createRoutesFromChildren = createRoutesFromChildren;\n _stripBasename = stripBasename || false;\n },\n afterAllSetup(client) {\n integration.afterAllSetup(client);\n\n const initPathName = WINDOW.location?.pathname;\n if (instrumentPageLoad && initPathName) {\n startBrowserTracingPageLoadSpan(client, {\n name: initPathName,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url',\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'pageload',\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: `auto.pageload.react.reactrouter_v${version}`,\n },\n });\n }\n\n if (instrumentNavigation) {\n CLIENTS_WITH_INSTRUMENT_NAVIGATION.add(client);\n }\n },\n };\n}\n\nexport function createV6CompatibleWrapUseRoutes(origUseRoutes: UseRoutes, version: V6CompatibleVersion): UseRoutes {\n if (!_useEffect || !_useLocation || !_useNavigationType || !_matchRoutes) {\n DEBUG_BUILD &&\n logger.warn(\n 'reactRouterV6Instrumentation was unable to wrap `useRoutes` because of one or more missing parameters.',\n );\n\n return origUseRoutes;\n }\n\n const allRoutes: Set<RouteObject> = new Set();\n\n const SentryRoutes: React.FC<{\n children?: React.ReactNode;\n routes: RouteObject[];\n locationArg?: Partial<Location> | string;\n }> = (props: { children?: React.ReactNode; routes: RouteObject[]; locationArg?: Partial<Location> | string }) => {\n const isMountRenderPass = React.useRef(true);\n const { routes, locationArg } = props;\n\n const Routes = origUseRoutes(routes, locationArg);\n\n const location = _useLocation();\n const navigationType = _useNavigationType();\n\n // A value with stable identity to either pick `locationArg` if available or `location` if not\n const stableLocationParam =\n typeof locationArg === 'string' || locationArg?.pathname ? (locationArg as { pathname: string }) : location;\n\n _useEffect(() => {\n const normalizedLocation =\n typeof stableLocationParam === 'string' ? { pathname: stableLocationParam } : stableLocationParam;\n\n if (isMountRenderPass.current) {\n routes.forEach(route => {\n const extractedChildRoutes = getChildRoutesRecursively(route);\n\n extractedChildRoutes.forEach(r => {\n allRoutes.add(r);\n });\n });\n\n updatePageloadTransaction(\n getActiveRootSpan(),\n normalizedLocation,\n routes,\n undefined,\n undefined,\n Array.from(allRoutes),\n );\n isMountRenderPass.current = false;\n } else {\n handleNavigation({\n location: normalizedLocation,\n routes,\n navigationType,\n version,\n allRoutes: Array.from(allRoutes),\n });\n }\n }, [navigationType, stableLocationParam]);\n\n return Routes;\n };\n\n // eslint-disable-next-line react/display-name\n return (routes: RouteObject[], locationArg?: Partial<Location> | string): React.ReactElement | null => {\n return <SentryRoutes routes={routes} locationArg={locationArg} />;\n };\n}\n\nexport function handleNavigation(opts: {\n location: Location;\n routes: RouteObject[];\n navigationType: Action;\n version: V6CompatibleVersion;\n matches?: AgnosticDataRouteMatch;\n basename?: string;\n allRoutes?: RouteObject[];\n}): void {\n const { location, routes, navigationType, version, matches, basename, allRoutes } = opts;\n\n const branches = Array.isArray(matches) ? matches : _matchRoutes(routes, location, basename);\n\n const client = getClient();\n if (!client || !CLIENTS_WITH_INSTRUMENT_NAVIGATION.has(client)) {\n return;\n }\n\n if ((navigationType === 'PUSH' || navigationType === 'POP') && branches) {\n let name,\n source: TransactionSource = 'url';\n const isInDescendantRoute = locationIsInsideDescendantRoute(location, allRoutes || routes);\n\n if (isInDescendantRoute) {\n name = prefixWithSlash(rebuildRoutePathFromAllRoutes(allRoutes || routes, location));\n source = 'route';\n }\n\n if (!isInDescendantRoute || !name) {\n [name, source] = getNormalizedName(routes, location, branches, basename);\n }\n\n startBrowserTracingNavigationSpan(client, {\n name,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: source,\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'navigation',\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: `auto.navigation.react.reactrouter_v${version}`,\n },\n });\n }\n}\n\n/**\n * Strip the basename from a pathname if exists.\n *\n * Vendored and modified from `react-router`\n * https://github.com/remix-run/react-router/blob/462bb712156a3f739d6139a0f14810b76b002df6/packages/router/utils.ts#L1038\n */\nfunction stripBasenameFromPathname(pathname: string, basename: string): string {\n if (!basename || basename === '/') {\n return pathname;\n }\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return pathname;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n const startIndex = basename.endsWith('/') ? basename.length - 1 : basename.length;\n const nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== '/') {\n // pathname does not start with basename/\n return pathname;\n }\n\n return pathname.slice(startIndex) || '/';\n}\n\nfunction sendIndexPath(pathBuilder: string, pathname: string, basename: string): [string, TransactionSource] {\n const reconstructedPath = pathBuilder || _stripBasename ? stripBasenameFromPathname(pathname, basename) : pathname;\n\n const formattedPath =\n // If the path ends with a slash, remove it\n reconstructedPath[reconstructedPath.length - 1] === '/'\n ? reconstructedPath.slice(0, -1)\n : // If the path ends with a wildcard, remove it\n reconstructedPath.slice(-2) === '/*'\n ? reconstructedPath.slice(0, -1)\n : reconstructedPath;\n\n return [formattedPath, 'route'];\n}\n\nfunction pathEndsWithWildcard(path: string): boolean {\n return path.endsWith('*');\n}\n\nfunction pathIsWildcardAndHasChildren(path: string, branch: RouteMatch<string>): boolean {\n return (pathEndsWithWildcard(path) && !!branch.route.children?.length) || false;\n}\n\nfunction routeIsDescendant(route: RouteObject): boolean {\n return !!(!route.children && route.element && route.path?.endsWith('/*'));\n}\n\nfunction locationIsInsideDescendantRoute(location: Location, routes: RouteObject[]): boolean {\n const matchedRoutes = _matchRoutes(routes, location) as RouteMatch[];\n\n if (matchedRoutes) {\n for (const match of matchedRoutes) {\n if (routeIsDescendant(match.route) && pickSplat(match)) {\n return true;\n }\n }\n }\n\n return false;\n}\n\nfunction getChildRoutesRecursively(route: RouteObject, allRoutes: Set<RouteObject> = new Set()): Set<RouteObject> {\n if (!allRoutes.has(route)) {\n allRoutes.add(route);\n\n if (route.children && !route.index) {\n route.children.forEach(child => {\n const childRoutes = getChildRoutesRecursively(child, allRoutes);\n\n childRoutes.forEach(r => allRoutes.add(r));\n });\n }\n }\n\n return allRoutes;\n}\n\nfunction pickPath(match: RouteMatch): string {\n return trimWildcard(match.route.path || '');\n}\n\nfunction pickSplat(match: RouteMatch): string {\n return match.params['*'] || '';\n}\n\nfunction trimWildcard(path: string): string {\n return path[path.length - 1] === '*' ? path.slice(0, -1) : path;\n}\n\nfunction trimSlash(path: string): string {\n return path[path.length - 1] === '/' ? path.slice(0, -1) : path;\n}\n\nfunction prefixWithSlash(path: string): string {\n return path[0] === '/' ? path : `/${path}`;\n}\n\nfunction rebuildRoutePathFromAllRoutes(allRoutes: RouteObject[], location: Location): string {\n const matchedRoutes = _matchRoutes(allRoutes, location) as RouteMatch[];\n\n if (!matchedRoutes || matchedRoutes.length === 0) {\n return '';\n }\n\n for (const match of matchedRoutes) {\n if (match.route.path && match.route.path !== '*') {\n const path = pickPath(match);\n const strippedPath = stripBasenameFromPathname(location.pathname, prefixWithSlash(match.pathnameBase));\n\n return trimSlash(\n trimSlash(path || '') +\n prefixWithSlash(\n rebuildRoutePathFromAllRoutes(\n allRoutes.filter(route => route !== match.route),\n {\n pathname: strippedPath,\n },\n ),\n ),\n );\n }\n }\n\n return '';\n}\n\nfunction getNormalizedName(\n routes: RouteObject[],\n location: Location,\n branches: RouteMatch[],\n basename: string = '',\n): [string, TransactionSource] {\n if (!routes || routes.length === 0) {\n return [_stripBasename ? stripBasenameFromPathname(location.pathname, basename) : location.pathname, 'url'];\n }\n\n let pathBuilder = '';\n if (branches) {\n for (const branch of branches) {\n const route = branch.route;\n if (route) {\n // Early return if index route\n if (route.index) {\n return sendIndexPath(pathBuilder, branch.pathname, basename);\n }\n const path = route.path;\n\n // If path is not a wildcard and has no child routes, append the path\n if (path && !pathIsWildcardAndHasChildren(path, branch)) {\n const newPath = path[0] === '/' || pathBuilder[pathBuilder.length - 1] === '/' ? path : `/${path}`;\n pathBuilder = trimSlash(pathBuilder) + prefixWithSlash(newPath);\n\n // If the path matches the current location, return the path\n if (trimSlash(location.pathname) === trimSlash(basename + branch.pathname)) {\n if (\n // If the route defined on the element is something like\n // <Route path=\"/stores/:storeId/products/:productId\" element={<div>Product</div>} />\n // We should check against the branch.pathname for the number of / separators\n getNumberOfUrlSegments(pathBuilder) !== getNumberOfUrlSegments(branch.pathname) &&\n // We should not count wildcard operators in the url segments calculation\n !pathEndsWithWildcard(pathBuilder)\n ) {\n return [(_stripBasename ? '' : basename) + newPath, 'route'];\n }\n\n // if the last character of the pathbuilder is a wildcard and there are children, remove the wildcard\n if (pathIsWildcardAndHasChildren(pathBuilder, branch)) {\n pathBuilder = pathBuilder.slice(0, -1);\n }\n\n return [(_stripBasename ? '' : basename) + pathBuilder, 'route'];\n }\n }\n }\n }\n }\n\n const fallbackTransactionName = _stripBasename\n ? stripBasenameFromPathname(location.pathname, basename)\n : location.pathname || '/';\n\n return [fallbackTransactionName, 'url'];\n}\n\nfunction updatePageloadTransaction(\n activeRootSpan: Span | undefined,\n location: Location,\n routes: RouteObject[],\n matches?: AgnosticDataRouteMatch,\n basename?: string,\n allRoutes?: RouteObject[],\n): void {\n const branches = Array.isArray(matches)\n ? matches\n : (_matchRoutes(routes, location, basename) as unknown as RouteMatch[]);\n\n if (branches) {\n let name,\n source: TransactionSource = 'url';\n const isInDescendantRoute = locationIsInsideDescendantRoute(location, allRoutes || routes);\n\n if (isInDescendantRoute) {\n name = prefixWithSlash(rebuildRoutePathFromAllRoutes(allRoutes || routes, location));\n source = 'route';\n }\n\n if (!isInDescendantRoute || !name) {\n [name, source] = getNormalizedName(routes, location, branches, basename);\n }\n\n getCurrentScope().setTransactionName(name);\n\n if (activeRootSpan) {\n activeRootSpan.updateName(name);\n activeRootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, source);\n }\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function createV6CompatibleWithSentryReactRouterRouting<P extends Record<string, any>, R extends React.FC<P>>(\n Routes: R,\n version: V6CompatibleVersion,\n): R {\n if (!_useEffect || !_useLocation || !_useNavigationType || !_createRoutesFromChildren || !_matchRoutes) {\n DEBUG_BUILD &&\n logger.warn(`reactRouterV6Instrumentation was unable to wrap Routes because of one or more missing parameters.\n useEffect: ${_useEffect}. useLocation: ${_useLocation}. useNavigationType: ${_useNavigationType}.\n createRoutesFromChildren: ${_createRoutesFromChildren}. matchRoutes: ${_matchRoutes}.`);\n\n return Routes;\n }\n\n const allRoutes: Set<RouteObject> = new Set();\n\n const SentryRoutes: React.FC<P> = (props: P) => {\n const isMountRenderPass = React.useRef(true);\n\n const location = _useLocation();\n const navigationType = _useNavigationType();\n\n _useEffect(\n () => {\n const routes = _createRoutesFromChildren(props.children) as RouteObject[];\n\n if (isMountRenderPass.current) {\n routes.forEach(route => {\n const extractedChildRoutes = getChildRoutesRecursively(route);\n\n extractedChildRoutes.forEach(r => {\n allRoutes.add(r);\n });\n });\n\n updatePageloadTransaction(getActiveRootSpan(), location, routes, undefined, undefined, Array.from(allRoutes));\n isMountRenderPass.current = false;\n } else {\n handleNavigation({\n location,\n routes,\n navigationType,\n version,\n allRoutes: Array.from(allRoutes),\n });\n }\n },\n // `props.children` is purposely not included in the dependency array, because we do not want to re-run this effect\n // when the children change. We only want to start transactions when the location or navigation type change.\n [location, navigationType],\n );\n\n // @ts-expect-error Setting more specific React Component typing for `R` generic above\n // will break advanced type inference done by react router params\n return <Routes {...props} />;\n };\n\n hoistNonReactStatics(SentryRoutes, Routes);\n\n // @ts-expect-error Setting more specific React Component typing for `R` generic above\n // will break advanced type inference done by react router params\n return SentryRoutes;\n}\n\nfunction getActiveRootSpan(): Span | undefined {\n const span = getActiveSpan();\n const rootSpan = span ? getRootSpan(span) : undefined;\n\n if (!rootSpan) {\n return undefined;\n }\n\n const op = spanToJSON(rootSpan).op;\n\n // Only use this root span if it is a pageload or navigation span\n return op === 'navigation' || op === 'pageload' ? rootSpan : undefined;\n}\n\n/**\n * Returns number of URL segments of a passed string URL.\n */\nexport function getNumberOfUrlSegments(url: string): number {\n // split at '/' or at '\\/' to split regex urls correctly\n return url.split(/\\\\?\\//).filter(s => s.length > 0 && s !== ',').length;\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reactrouterv6-compat-utils.js","sources":["../../src/reactrouterv6-compat-utils.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n// Inspired from Donnie McNeal's solution:\n// https://gist.github.com/wontondon/e8c4bdf2888875e4c755712e99279536\n\nimport {\n WINDOW,\n browserTracingIntegration,\n startBrowserTracingNavigationSpan,\n startBrowserTracingPageLoadSpan,\n} from '@sentry/browser';\nimport type { Client, Integration, Span, TransactionSource } from '@sentry/core';\nimport {\n SEMANTIC_ATTRIBUTE_SENTRY_OP,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,\n getActiveSpan,\n getClient,\n getCurrentScope,\n getRootSpan,\n logger,\n spanToJSON,\n} from '@sentry/core';\nimport * as React from 'react';\n\nimport { DEBUG_BUILD } from './debug-build';\nimport { hoistNonReactStatics } from './hoist-non-react-statics';\nimport type {\n Action,\n AgnosticDataRouteMatch,\n CreateRouterFunction,\n CreateRoutesFromChildren,\n Location,\n MatchRoutes,\n RouteMatch,\n RouteObject,\n Router,\n RouterState,\n UseEffect,\n UseLocation,\n UseNavigationType,\n UseRoutes,\n} from './types';\n\nlet _useEffect: UseEffect;\nlet _useLocation: UseLocation;\nlet _useNavigationType: UseNavigationType;\nlet _createRoutesFromChildren: CreateRoutesFromChildren;\nlet _matchRoutes: MatchRoutes;\nlet _stripBasename: boolean = false;\n\nconst CLIENTS_WITH_INSTRUMENT_NAVIGATION = new WeakSet<Client>();\n\nexport interface ReactRouterOptions {\n useEffect: UseEffect;\n useLocation: UseLocation;\n useNavigationType: UseNavigationType;\n createRoutesFromChildren: CreateRoutesFromChildren;\n matchRoutes: MatchRoutes;\n stripBasename?: boolean;\n}\n\ntype V6CompatibleVersion = '6' | '7';\n\n// Keeping as a global variable for cross-usage in multiple functions\nconst allRoutes = new Set<RouteObject>();\n\n/**\n * Creates a wrapCreateBrowserRouter function that can be used with all React Router v6 compatible versions.\n */\nexport function createV6CompatibleWrapCreateBrowserRouter<\n TState extends RouterState = RouterState,\n TRouter extends Router<TState> = Router<TState>,\n>(\n createRouterFunction: CreateRouterFunction<TState, TRouter>,\n version: V6CompatibleVersion,\n): CreateRouterFunction<TState, TRouter> {\n if (!_useEffect || !_useLocation || !_useNavigationType || !_matchRoutes) {\n DEBUG_BUILD &&\n logger.warn(\n `reactRouterV${version}Instrumentation was unable to wrap the \\`createRouter\\` function because of one or more missing parameters.`,\n );\n\n return createRouterFunction;\n }\n\n return function (routes: RouteObject[], opts?: Record<string, unknown> & { basename?: string }): TRouter {\n routes.forEach(route => {\n allRoutes.add(route);\n });\n\n const router = createRouterFunction(routes, opts);\n const basename = opts?.basename;\n\n const activeRootSpan = getActiveRootSpan();\n\n // The initial load ends when `createBrowserRouter` is called.\n // This is the earliest convenient time to update the transaction name.\n // Callbacks to `router.subscribe` are not called for the initial load.\n if (router.state.historyAction === 'POP' && activeRootSpan) {\n updatePageloadTransaction(\n activeRootSpan,\n router.state.location,\n routes,\n undefined,\n basename,\n Array.from(allRoutes),\n );\n }\n\n router.subscribe((state: RouterState) => {\n if (state.historyAction === 'PUSH' || state.historyAction === 'POP') {\n // Wait for the next render if loading an unsettled route\n if (state.navigation.state !== 'idle') {\n requestAnimationFrame(() => {\n handleNavigation({\n location: state.location,\n routes,\n navigationType: state.historyAction,\n version,\n basename,\n allRoutes: Array.from(allRoutes),\n });\n });\n } else {\n handleNavigation({\n location: state.location,\n routes,\n navigationType: state.historyAction,\n version,\n basename,\n allRoutes: Array.from(allRoutes),\n });\n }\n }\n });\n\n return router;\n };\n}\n\n/**\n * Creates a wrapCreateMemoryRouter function that can be used with all React Router v6 compatible versions.\n */\nexport function createV6CompatibleWrapCreateMemoryRouter<\n TState extends RouterState = RouterState,\n TRouter extends Router<TState> = Router<TState>,\n>(\n createRouterFunction: CreateRouterFunction<TState, TRouter>,\n version: V6CompatibleVersion,\n): CreateRouterFunction<TState, TRouter> {\n if (!_useEffect || !_useLocation || !_useNavigationType || !_matchRoutes) {\n DEBUG_BUILD &&\n logger.warn(\n `reactRouterV${version}Instrumentation was unable to wrap the \\`createMemoryRouter\\` function because of one or more missing parameters.`,\n );\n\n return createRouterFunction;\n }\n\n return function (\n routes: RouteObject[],\n opts?: Record<string, unknown> & {\n basename?: string;\n initialEntries?: (string | { pathname: string })[];\n initialIndex?: number;\n },\n ): TRouter {\n routes.forEach(route => {\n allRoutes.add(route);\n });\n\n const router = createRouterFunction(routes, opts);\n const basename = opts?.basename;\n\n const activeRootSpan = getActiveRootSpan();\n let initialEntry = undefined;\n\n const initialEntries = opts?.initialEntries;\n const initialIndex = opts?.initialIndex;\n\n const hasOnlyOneInitialEntry = initialEntries && initialEntries.length === 1;\n const hasIndexedEntry = initialIndex !== undefined && initialEntries && initialEntries[initialIndex];\n\n initialEntry = hasOnlyOneInitialEntry\n ? initialEntries[0]\n : hasIndexedEntry\n ? initialEntries[initialIndex]\n : undefined;\n\n const location = initialEntry\n ? typeof initialEntry === 'string'\n ? { pathname: initialEntry }\n : initialEntry\n : router.state.location;\n\n if (router.state.historyAction === 'POP' && activeRootSpan) {\n updatePageloadTransaction(activeRootSpan, location, routes, undefined, basename, Array.from(allRoutes));\n }\n\n router.subscribe((state: RouterState) => {\n const location = state.location;\n if (state.historyAction === 'PUSH' || state.historyAction === 'POP') {\n handleNavigation({\n location,\n routes,\n navigationType: state.historyAction,\n version,\n basename,\n allRoutes: Array.from(allRoutes),\n });\n }\n });\n\n return router;\n };\n}\n\n/**\n * Creates a browser tracing integration that can be used with all React Router v6 compatible versions.\n */\nexport function createReactRouterV6CompatibleTracingIntegration(\n options: Parameters<typeof browserTracingIntegration>[0] & ReactRouterOptions,\n version: V6CompatibleVersion,\n): Integration {\n const integration = browserTracingIntegration({\n ...options,\n instrumentPageLoad: false,\n instrumentNavigation: false,\n });\n\n const {\n useEffect,\n useLocation,\n useNavigationType,\n createRoutesFromChildren,\n matchRoutes,\n stripBasename,\n instrumentPageLoad = true,\n instrumentNavigation = true,\n } = options;\n\n return {\n ...integration,\n setup() {\n _useEffect = useEffect;\n _useLocation = useLocation;\n _useNavigationType = useNavigationType;\n _matchRoutes = matchRoutes;\n _createRoutesFromChildren = createRoutesFromChildren;\n _stripBasename = stripBasename || false;\n },\n afterAllSetup(client) {\n integration.afterAllSetup(client);\n\n const initPathName = WINDOW.location?.pathname;\n if (instrumentPageLoad && initPathName) {\n startBrowserTracingPageLoadSpan(client, {\n name: initPathName,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url',\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'pageload',\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: `auto.pageload.react.reactrouter_v${version}`,\n },\n });\n }\n\n if (instrumentNavigation) {\n CLIENTS_WITH_INSTRUMENT_NAVIGATION.add(client);\n }\n },\n };\n}\n\nexport function createV6CompatibleWrapUseRoutes(origUseRoutes: UseRoutes, version: V6CompatibleVersion): UseRoutes {\n if (!_useEffect || !_useLocation || !_useNavigationType || !_matchRoutes) {\n DEBUG_BUILD &&\n logger.warn(\n 'reactRouterV6Instrumentation was unable to wrap `useRoutes` because of one or more missing parameters.',\n );\n\n return origUseRoutes;\n }\n\n const SentryRoutes: React.FC<{\n children?: React.ReactNode;\n routes: RouteObject[];\n locationArg?: Partial<Location> | string;\n }> = (props: { children?: React.ReactNode; routes: RouteObject[]; locationArg?: Partial<Location> | string }) => {\n const isMountRenderPass = React.useRef(true);\n const { routes, locationArg } = props;\n\n const Routes = origUseRoutes(routes, locationArg);\n\n const location = _useLocation();\n const navigationType = _useNavigationType();\n\n // A value with stable identity to either pick `locationArg` if available or `location` if not\n const stableLocationParam =\n typeof locationArg === 'string' || locationArg?.pathname ? (locationArg as { pathname: string }) : location;\n\n _useEffect(() => {\n const normalizedLocation =\n typeof stableLocationParam === 'string' ? { pathname: stableLocationParam } : stableLocationParam;\n\n if (isMountRenderPass.current) {\n routes.forEach(route => {\n const extractedChildRoutes = getChildRoutesRecursively(route);\n\n extractedChildRoutes.forEach(r => {\n allRoutes.add(r);\n });\n });\n\n updatePageloadTransaction(\n getActiveRootSpan(),\n normalizedLocation,\n routes,\n undefined,\n undefined,\n Array.from(allRoutes),\n );\n isMountRenderPass.current = false;\n } else {\n handleNavigation({\n location: normalizedLocation,\n routes,\n navigationType,\n version,\n allRoutes: Array.from(allRoutes),\n });\n }\n }, [navigationType, stableLocationParam]);\n\n return Routes;\n };\n\n // eslint-disable-next-line react/display-name\n return (routes: RouteObject[], locationArg?: Partial<Location> | string): React.ReactElement | null => {\n return <SentryRoutes routes={routes} locationArg={locationArg} />;\n };\n}\n\nexport function handleNavigation(opts: {\n location: Location;\n routes: RouteObject[];\n navigationType: Action;\n version: V6CompatibleVersion;\n matches?: AgnosticDataRouteMatch;\n basename?: string;\n allRoutes?: RouteObject[];\n}): void {\n const { location, routes, navigationType, version, matches, basename, allRoutes } = opts;\n const branches = Array.isArray(matches) ? matches : _matchRoutes(routes, location, basename);\n\n const client = getClient();\n if (!client || !CLIENTS_WITH_INSTRUMENT_NAVIGATION.has(client)) {\n return;\n }\n\n if ((navigationType === 'PUSH' || navigationType === 'POP') && branches) {\n let name,\n source: TransactionSource = 'url';\n const isInDescendantRoute = locationIsInsideDescendantRoute(location, allRoutes || routes);\n\n if (isInDescendantRoute) {\n name = prefixWithSlash(rebuildRoutePathFromAllRoutes(allRoutes || routes, location));\n source = 'route';\n }\n\n if (!isInDescendantRoute || !name) {\n [name, source] = getNormalizedName(routes, location, branches, basename);\n }\n\n startBrowserTracingNavigationSpan(client, {\n name,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: source,\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'navigation',\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: `auto.navigation.react.reactrouter_v${version}`,\n },\n });\n }\n}\n\n/**\n * Strip the basename from a pathname if exists.\n *\n * Vendored and modified from `react-router`\n * https://github.com/remix-run/react-router/blob/462bb712156a3f739d6139a0f14810b76b002df6/packages/router/utils.ts#L1038\n */\nfunction stripBasenameFromPathname(pathname: string, basename: string): string {\n if (!basename || basename === '/') {\n return pathname;\n }\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return pathname;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n const startIndex = basename.endsWith('/') ? basename.length - 1 : basename.length;\n const nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== '/') {\n // pathname does not start with basename/\n return pathname;\n }\n\n return pathname.slice(startIndex) || '/';\n}\n\nfunction sendIndexPath(pathBuilder: string, pathname: string, basename: string): [string, TransactionSource] {\n const reconstructedPath = pathBuilder || _stripBasename ? stripBasenameFromPathname(pathname, basename) : pathname;\n\n const formattedPath =\n // If the path ends with a slash, remove it\n reconstructedPath[reconstructedPath.length - 1] === '/'\n ? reconstructedPath.slice(0, -1)\n : // If the path ends with a wildcard, remove it\n reconstructedPath.slice(-2) === '/*'\n ? reconstructedPath.slice(0, -1)\n : reconstructedPath;\n\n return [formattedPath, 'route'];\n}\n\nfunction pathEndsWithWildcard(path: string): boolean {\n return path.endsWith('*');\n}\n\nfunction pathIsWildcardAndHasChildren(path: string, branch: RouteMatch<string>): boolean {\n return (pathEndsWithWildcard(path) && !!branch.route.children?.length) || false;\n}\n\nfunction routeIsDescendant(route: RouteObject): boolean {\n return !!(!route.children && route.element && route.path?.endsWith('/*'));\n}\n\nfunction locationIsInsideDescendantRoute(location: Location, routes: RouteObject[]): boolean {\n const matchedRoutes = _matchRoutes(routes, location) as RouteMatch[];\n\n if (matchedRoutes) {\n for (const match of matchedRoutes) {\n if (routeIsDescendant(match.route) && pickSplat(match)) {\n return true;\n }\n }\n }\n\n return false;\n}\n\nfunction getChildRoutesRecursively(route: RouteObject, allRoutes: Set<RouteObject> = new Set()): Set<RouteObject> {\n if (!allRoutes.has(route)) {\n allRoutes.add(route);\n\n if (route.children && !route.index) {\n route.children.forEach(child => {\n const childRoutes = getChildRoutesRecursively(child, allRoutes);\n\n childRoutes.forEach(r => allRoutes.add(r));\n });\n }\n }\n\n return allRoutes;\n}\n\nfunction pickPath(match: RouteMatch): string {\n return trimWildcard(match.route.path || '');\n}\n\nfunction pickSplat(match: RouteMatch): string {\n return match.params['*'] || '';\n}\n\nfunction trimWildcard(path: string): string {\n return path[path.length - 1] === '*' ? path.slice(0, -1) : path;\n}\n\nfunction trimSlash(path: string): string {\n return path[path.length - 1] === '/' ? path.slice(0, -1) : path;\n}\n\nfunction prefixWithSlash(path: string): string {\n return path[0] === '/' ? path : `/${path}`;\n}\n\nfunction rebuildRoutePathFromAllRoutes(allRoutes: RouteObject[], location: Location): string {\n const matchedRoutes = _matchRoutes(allRoutes, location) as RouteMatch[];\n\n if (!matchedRoutes || matchedRoutes.length === 0) {\n return '';\n }\n\n for (const match of matchedRoutes) {\n if (match.route.path && match.route.path !== '*') {\n const path = pickPath(match);\n const strippedPath = stripBasenameFromPathname(location.pathname, prefixWithSlash(match.pathnameBase));\n\n return trimSlash(\n trimSlash(path || '') +\n prefixWithSlash(\n rebuildRoutePathFromAllRoutes(\n allRoutes.filter(route => route !== match.route),\n {\n pathname: strippedPath,\n },\n ),\n ),\n );\n }\n }\n\n return '';\n}\n\nfunction getNormalizedName(\n routes: RouteObject[],\n location: Location,\n branches: RouteMatch[],\n basename: string = '',\n): [string, TransactionSource] {\n if (!routes || routes.length === 0) {\n return [_stripBasename ? stripBasenameFromPathname(location.pathname, basename) : location.pathname, 'url'];\n }\n\n let pathBuilder = '';\n if (branches) {\n for (const branch of branches) {\n const route = branch.route;\n if (route) {\n // Early return if index route\n if (route.index) {\n return sendIndexPath(pathBuilder, branch.pathname, basename);\n }\n const path = route.path;\n\n // If path is not a wildcard and has no child routes, append the path\n if (path && !pathIsWildcardAndHasChildren(path, branch)) {\n const newPath = path[0] === '/' || pathBuilder[pathBuilder.length - 1] === '/' ? path : `/${path}`;\n pathBuilder = trimSlash(pathBuilder) + prefixWithSlash(newPath);\n\n // If the path matches the current location, return the path\n if (trimSlash(location.pathname) === trimSlash(basename + branch.pathname)) {\n if (\n // If the route defined on the element is something like\n // <Route path=\"/stores/:storeId/products/:productId\" element={<div>Product</div>} />\n // We should check against the branch.pathname for the number of / separators\n getNumberOfUrlSegments(pathBuilder) !== getNumberOfUrlSegments(branch.pathname) &&\n // We should not count wildcard operators in the url segments calculation\n !pathEndsWithWildcard(pathBuilder)\n ) {\n return [(_stripBasename ? '' : basename) + newPath, 'route'];\n }\n\n // if the last character of the pathbuilder is a wildcard and there are children, remove the wildcard\n if (pathIsWildcardAndHasChildren(pathBuilder, branch)) {\n pathBuilder = pathBuilder.slice(0, -1);\n }\n\n return [(_stripBasename ? '' : basename) + pathBuilder, 'route'];\n }\n }\n }\n }\n }\n\n const fallbackTransactionName = _stripBasename\n ? stripBasenameFromPathname(location.pathname, basename)\n : location.pathname || '/';\n\n return [fallbackTransactionName, 'url'];\n}\n\nfunction updatePageloadTransaction(\n activeRootSpan: Span | undefined,\n location: Location,\n routes: RouteObject[],\n matches?: AgnosticDataRouteMatch,\n basename?: string,\n allRoutes?: RouteObject[],\n): void {\n const branches = Array.isArray(matches)\n ? matches\n : (_matchRoutes(allRoutes || routes, location, basename) as unknown as RouteMatch[]);\n\n if (branches) {\n let name,\n source: TransactionSource = 'url';\n const isInDescendantRoute = locationIsInsideDescendantRoute(location, allRoutes || routes);\n\n if (isInDescendantRoute) {\n name = prefixWithSlash(rebuildRoutePathFromAllRoutes(allRoutes || routes, location));\n source = 'route';\n }\n\n if (!isInDescendantRoute || !name) {\n [name, source] = getNormalizedName(routes, location, branches, basename);\n }\n\n getCurrentScope().setTransactionName(name || '/');\n\n if (activeRootSpan) {\n activeRootSpan.updateName(name);\n activeRootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, source);\n }\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function createV6CompatibleWithSentryReactRouterRouting<P extends Record<string, any>, R extends React.FC<P>>(\n Routes: R,\n version: V6CompatibleVersion,\n): R {\n if (!_useEffect || !_useLocation || !_useNavigationType || !_createRoutesFromChildren || !_matchRoutes) {\n DEBUG_BUILD &&\n logger.warn(`reactRouterV6Instrumentation was unable to wrap Routes because of one or more missing parameters.\n useEffect: ${_useEffect}. useLocation: ${_useLocation}. useNavigationType: ${_useNavigationType}.\n createRoutesFromChildren: ${_createRoutesFromChildren}. matchRoutes: ${_matchRoutes}.`);\n\n return Routes;\n }\n\n const SentryRoutes: React.FC<P> = (props: P) => {\n const isMountRenderPass = React.useRef(true);\n\n const location = _useLocation();\n const navigationType = _useNavigationType();\n\n _useEffect(\n () => {\n const routes = _createRoutesFromChildren(props.children) as RouteObject[];\n\n if (isMountRenderPass.current) {\n routes.forEach(route => {\n const extractedChildRoutes = getChildRoutesRecursively(route);\n\n extractedChildRoutes.forEach(r => {\n allRoutes.add(r);\n });\n });\n\n updatePageloadTransaction(getActiveRootSpan(), location, routes, undefined, undefined, Array.from(allRoutes));\n isMountRenderPass.current = false;\n } else {\n handleNavigation({\n location,\n routes,\n navigationType,\n version,\n allRoutes: Array.from(allRoutes),\n });\n }\n },\n // `props.children` is purposely not included in the dependency array, because we do not want to re-run this effect\n // when the children change. We only want to start transactions when the location or navigation type change.\n [location, navigationType],\n );\n\n // @ts-expect-error Setting more specific React Component typing for `R` generic above\n // will break advanced type inference done by react router params\n return <Routes {...props} />;\n };\n\n hoistNonReactStatics(SentryRoutes, Routes);\n\n // @ts-expect-error Setting more specific React Component typing for `R` generic above\n // will break advanced type inference done by react router params\n return SentryRoutes;\n}\n\nfunction getActiveRootSpan(): Span | undefined {\n const span = getActiveSpan();\n const rootSpan = span ? getRootSpan(span) : undefined;\n\n if (!rootSpan) {\n return undefined;\n }\n\n const op = spanToJSON(rootSpan).op;\n\n // Only use this root span if it is a pageload or navigation span\n return op === 'navigation' || op === 'pageload' ? rootSpan : undefined;\n}\n\n/**\n * Returns number of URL segments of a passed string URL.\n */\nexport function getNumberOfUrlSegments(url: string): number {\n // split at '/' or at '\\/' to split regex urls correctly\n return url.split(/\\\\?\\//).filter(s => s.length > 0 && s !== ',').length;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@ function tanstackRouterBrowserTracingIntegration(
|
|
|
54
54
|
// The onBeforeNavigate hook is called at the very beginning of a navigation and is only called once per navigation, even when the user is redirected
|
|
55
55
|
castRouterInstance.subscribe('onBeforeNavigate', onBeforeNavigateArgs => {
|
|
56
56
|
// onBeforeNavigate is called during pageloads. We can avoid creating navigation spans by comparing the states of the to and from arguments.
|
|
57
|
-
if (onBeforeNavigateArgs.toLocation.state === onBeforeNavigateArgs.fromLocation
|
|
57
|
+
if (onBeforeNavigateArgs.toLocation.state === onBeforeNavigateArgs.fromLocation?.state) {
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tanstackrouter.js","sources":["../../src/tanstackrouter.ts"],"sourcesContent":["import {\n WINDOW,\n browserTracingIntegration as originalBrowserTracingIntegration,\n startBrowserTracingNavigationSpan,\n startBrowserTracingPageLoadSpan,\n} from '@sentry/browser';\nimport type { Integration } from '@sentry/core';\nimport {\n SEMANTIC_ATTRIBUTE_SENTRY_OP,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,\n} from '@sentry/core';\nimport type { VendoredTanstackRouter, VendoredTanstackRouterRouteMatch } from './vendor/tanstackrouter-types';\n\n/**\n * A custom browser tracing integration for TanStack Router.\n *\n * The minimum compatible version of `@tanstack/react-router` is `1.64.0`.\n *\n * @param router A TanStack Router `Router` instance that should be used for routing instrumentation.\n * @param options Sentry browser tracing configuration.\n */\nexport function tanstackRouterBrowserTracingIntegration(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n router: any, // This is `any` because we don't want any type mismatches if TanStack Router changes their types\n options: Parameters<typeof originalBrowserTracingIntegration>[0] = {},\n): Integration {\n const castRouterInstance: VendoredTanstackRouter = router;\n\n const browserTracingIntegrationInstance = originalBrowserTracingIntegration({\n ...options,\n instrumentNavigation: false,\n instrumentPageLoad: false,\n });\n\n const { instrumentPageLoad = true, instrumentNavigation = true } = options;\n\n return {\n ...browserTracingIntegrationInstance,\n afterAllSetup(client) {\n browserTracingIntegrationInstance.afterAllSetup(client);\n\n const initialWindowLocation = WINDOW.location;\n if (instrumentPageLoad && initialWindowLocation) {\n const matchedRoutes = castRouterInstance.matchRoutes(\n initialWindowLocation.pathname,\n castRouterInstance.options.parseSearch(initialWindowLocation.search),\n { preload: false, throwOnError: false },\n );\n\n const lastMatch = matchedRoutes[matchedRoutes.length - 1];\n\n startBrowserTracingPageLoadSpan(client, {\n name: lastMatch ? lastMatch.routeId : initialWindowLocation.pathname,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'pageload',\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.pageload.react.tanstack_router',\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: lastMatch ? 'route' : 'url',\n ...routeMatchToParamSpanAttributes(lastMatch),\n },\n });\n }\n\n if (instrumentNavigation) {\n // The onBeforeNavigate hook is called at the very beginning of a navigation and is only called once per navigation, even when the user is redirected\n castRouterInstance.subscribe('onBeforeNavigate', onBeforeNavigateArgs => {\n // onBeforeNavigate is called during pageloads. We can avoid creating navigation spans by comparing the states of the to and from arguments.\n if (onBeforeNavigateArgs.toLocation.state === onBeforeNavigateArgs.fromLocation
|
|
1
|
+
{"version":3,"file":"tanstackrouter.js","sources":["../../src/tanstackrouter.ts"],"sourcesContent":["import {\n WINDOW,\n browserTracingIntegration as originalBrowserTracingIntegration,\n startBrowserTracingNavigationSpan,\n startBrowserTracingPageLoadSpan,\n} from '@sentry/browser';\nimport type { Integration } from '@sentry/core';\nimport {\n SEMANTIC_ATTRIBUTE_SENTRY_OP,\n SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,\n SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,\n} from '@sentry/core';\nimport type { VendoredTanstackRouter, VendoredTanstackRouterRouteMatch } from './vendor/tanstackrouter-types';\n\n/**\n * A custom browser tracing integration for TanStack Router.\n *\n * The minimum compatible version of `@tanstack/react-router` is `1.64.0`.\n *\n * @param router A TanStack Router `Router` instance that should be used for routing instrumentation.\n * @param options Sentry browser tracing configuration.\n */\nexport function tanstackRouterBrowserTracingIntegration(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n router: any, // This is `any` because we don't want any type mismatches if TanStack Router changes their types\n options: Parameters<typeof originalBrowserTracingIntegration>[0] = {},\n): Integration {\n const castRouterInstance: VendoredTanstackRouter = router;\n\n const browserTracingIntegrationInstance = originalBrowserTracingIntegration({\n ...options,\n instrumentNavigation: false,\n instrumentPageLoad: false,\n });\n\n const { instrumentPageLoad = true, instrumentNavigation = true } = options;\n\n return {\n ...browserTracingIntegrationInstance,\n afterAllSetup(client) {\n browserTracingIntegrationInstance.afterAllSetup(client);\n\n const initialWindowLocation = WINDOW.location;\n if (instrumentPageLoad && initialWindowLocation) {\n const matchedRoutes = castRouterInstance.matchRoutes(\n initialWindowLocation.pathname,\n castRouterInstance.options.parseSearch(initialWindowLocation.search),\n { preload: false, throwOnError: false },\n );\n\n const lastMatch = matchedRoutes[matchedRoutes.length - 1];\n\n startBrowserTracingPageLoadSpan(client, {\n name: lastMatch ? lastMatch.routeId : initialWindowLocation.pathname,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'pageload',\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.pageload.react.tanstack_router',\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: lastMatch ? 'route' : 'url',\n ...routeMatchToParamSpanAttributes(lastMatch),\n },\n });\n }\n\n if (instrumentNavigation) {\n // The onBeforeNavigate hook is called at the very beginning of a navigation and is only called once per navigation, even when the user is redirected\n castRouterInstance.subscribe('onBeforeNavigate', onBeforeNavigateArgs => {\n // onBeforeNavigate is called during pageloads. We can avoid creating navigation spans by comparing the states of the to and from arguments.\n if (onBeforeNavigateArgs.toLocation.state === onBeforeNavigateArgs.fromLocation?.state) {\n return;\n }\n\n const onResolvedMatchedRoutes = castRouterInstance.matchRoutes(\n onBeforeNavigateArgs.toLocation.pathname,\n onBeforeNavigateArgs.toLocation.search,\n { preload: false, throwOnError: false },\n );\n\n const onBeforeNavigateLastMatch = onResolvedMatchedRoutes[onResolvedMatchedRoutes.length - 1];\n\n const navigationLocation = WINDOW.location;\n const navigationSpan = startBrowserTracingNavigationSpan(client, {\n name: onBeforeNavigateLastMatch ? onBeforeNavigateLastMatch.routeId : navigationLocation.pathname,\n attributes: {\n [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'navigation',\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.navigation.react.tanstack_router',\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: onBeforeNavigateLastMatch ? 'route' : 'url',\n },\n });\n\n // In case the user is redirected during navigation we want to update the span with the right value.\n const unsubscribeOnResolved = castRouterInstance.subscribe('onResolved', onResolvedArgs => {\n unsubscribeOnResolved();\n if (navigationSpan) {\n const onResolvedMatchedRoutes = castRouterInstance.matchRoutes(\n onResolvedArgs.toLocation.pathname,\n onResolvedArgs.toLocation.search,\n { preload: false, throwOnError: false },\n );\n\n const onResolvedLastMatch = onResolvedMatchedRoutes[onResolvedMatchedRoutes.length - 1];\n\n if (onResolvedLastMatch) {\n navigationSpan.updateName(onResolvedLastMatch.routeId);\n navigationSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, 'route');\n navigationSpan.setAttributes(routeMatchToParamSpanAttributes(onResolvedLastMatch));\n }\n }\n });\n });\n }\n },\n };\n}\n\nfunction routeMatchToParamSpanAttributes(match: VendoredTanstackRouterRouteMatch | undefined): Record<string, string> {\n if (!match) {\n return {};\n }\n\n const paramAttributes: Record<string, string> = {};\n Object.entries(match.params).forEach(([key, value]) => {\n paramAttributes[`url.path.params.${key}`] = value;\n });\n\n return paramAttributes;\n}\n"],"names":["originalBrowserTracingIntegration"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorboundary.d.ts","sourceRoot":"","sources":["../../src/errorboundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"errorboundary.d.ts","sourceRoot":"","sources":["../../src/errorboundary.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hoist-non-react-statics.d.ts","sourceRoot":"","sources":["../../src/hoist-non-react-statics.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,oBAAoB,0CAAmE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiler.d.ts","sourceRoot":"","sources":["../../src/profiler.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"profiler.d.ts","sourceRoot":"","sources":["../../src/profiler.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG;IAE1B,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,cAAM,QAAS,SAAQ,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC;IACnD;;;OAGG;IACH,SAAS,CAAC,UAAU,EAAE,IAAI,GAAG,SAAS,CAAC;IACvC;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC;gBAErB,KAAK,EAAE,aAAa;IAoBhC,iBAAiB,IAAI,IAAI;IAMzB,qBAAqB,CAAC,EAAE,WAAW,EAAE,cAAqB,EAAE,EAAE,aAAa,GAAG,OAAO;IA6BrF,kBAAkB,IAAI,IAAI;IAS1B,oBAAoB,IAAI,IAAI;IA0B5B,MAAM,IAAI,KAAK,CAAC,SAAS;CAGjC;AAWD;;;;;;;GAOG;AAEH,iBAAS,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjD,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAExC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,aAAa,EAAE,aAAa,GAAG,UAAU,CAAC,CAAC,GAC/F,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAgBb;AAED;;;;;;GAMG;AACH,iBAAS,WAAW,CAClB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAGrD,GACA,IAAI,CA+CN;AAED,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactrouter.d.ts","sourceRoot":"","sources":["../../src/reactrouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,yBAAyB,EAG1B,MAAM,iBAAiB,CAAC;AAUzB,OAAO,KAAK,EAAU,WAAW,EAA2B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"reactrouter.d.ts","sourceRoot":"","sources":["../../src/reactrouter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,yBAAyB,EAG1B,MAAM,iBAAiB,CAAC;AAUzB,OAAO,KAAK,EAAU,WAAW,EAA2B,MAAM,cAAc,CAAC;AACjF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAIhD,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1F,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;CACjE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExB,MAAM,MAAM,WAAW,GAAG;IACxB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC;AAElH,UAAU,kBAAkB;IAC1B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,GAC5E,WAAW,CAyBb;AAED;;;GAGG;AACH,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,GAC5E,WAAW,CAyBb;AAiHD,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CA4B9G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactrouterv6-compat-utils.d.ts","sourceRoot":"","sources":["../../src/reactrouterv6-compat-utils.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,yBAAyB,EAG1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAU,WAAW,EAA2B,MAAM,cAAc,CAAC;AAYjF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EACV,MAAM,EACN,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,QAAQ,EACR,WAAW,EAEX,WAAW,EACX,MAAM,EACN,WAAW,EACX,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,SAAS,EACV,MAAM,SAAS,CAAC;AAWjB,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,KAAK,mBAAmB,GAAG,GAAG,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"reactrouterv6-compat-utils.d.ts","sourceRoot":"","sources":["../../src/reactrouterv6-compat-utils.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,yBAAyB,EAG1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAU,WAAW,EAA2B,MAAM,cAAc,CAAC;AAYjF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EACV,MAAM,EACN,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,QAAQ,EACR,WAAW,EAEX,WAAW,EACX,MAAM,EACN,WAAW,EACX,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,SAAS,EACV,MAAM,SAAS,CAAC;AAWjB,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,KAAK,mBAAmB,GAAG,GAAG,GAAG,GAAG,CAAC;AAKrC;;GAEG;AACH,wBAAgB,yCAAyC,CACvD,MAAM,SAAS,WAAW,GAAG,WAAW,EACxC,OAAO,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAE/C,oBAAoB,EAAE,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,OAAO,EAAE,mBAAmB,GAC3B,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CA+DvC;AAED;;GAEG;AACH,wBAAgB,wCAAwC,CACtD,MAAM,SAAS,WAAW,GAAG,WAAW,EACxC,OAAO,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAE/C,oBAAoB,EAAE,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,OAAO,EAAE,mBAAmB,GAC3B,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAkEvC;AAED;;GAEG;AACH,wBAAgB,+CAA+C,CAC7D,OAAO,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,CAAC,CAAC,GAAG,kBAAkB,EAC7E,OAAO,EAAE,mBAAmB,GAC3B,WAAW,CAgDb;AAED,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAmEjH;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;CAC3B,GAAG,IAAI,CAgCP;AAqOD,wBAAgB,8CAA8C,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EACjH,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,mBAAmB,GAC3B,CAAC,CAwDH;AAgBD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG1D"}
|
package/build/types/types.d.ts
CHANGED
|
@@ -135,10 +135,13 @@ export interface RouterInit {
|
|
|
135
135
|
history: History;
|
|
136
136
|
hydrationData?: HydrationState;
|
|
137
137
|
}
|
|
138
|
+
export type NavigationState = {
|
|
139
|
+
state: 'idle' | 'loading' | 'submitting';
|
|
140
|
+
};
|
|
138
141
|
export type NavigationStates = {
|
|
139
|
-
Idle:
|
|
140
|
-
Loading:
|
|
141
|
-
Submitting:
|
|
142
|
+
Idle: NavigationState;
|
|
143
|
+
Loading: NavigationState;
|
|
144
|
+
Submitting: NavigationState;
|
|
142
145
|
};
|
|
143
146
|
export type Navigation = NavigationStates[keyof NavigationStates];
|
|
144
147
|
export type RouteData = any;
|
|
@@ -151,6 +154,7 @@ export declare enum HistoryAction {
|
|
|
151
154
|
export interface RouterState {
|
|
152
155
|
historyAction: Action | HistoryAction | any;
|
|
153
156
|
location: Location;
|
|
157
|
+
navigation: Navigation;
|
|
154
158
|
}
|
|
155
159
|
export interface Router<TState extends RouterState = RouterState> {
|
|
156
160
|
state: TState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export interface VendoredTanstackRouter {
|
|
|
10
10
|
}) => Array<VendoredTanstackRouterRouteMatch>;
|
|
11
11
|
subscribe(eventType: 'onResolved' | 'onBeforeNavigate', callback: (stateUpdate: {
|
|
12
12
|
toLocation: VendoredTanstackRouterLocation;
|
|
13
|
-
fromLocation
|
|
13
|
+
fromLocation?: VendoredTanstackRouterLocation;
|
|
14
14
|
}) => void): () => void;
|
|
15
15
|
}
|
|
16
16
|
interface VendoredTanstackRouterLocation {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tanstackrouter-types.d.ts","sourceRoot":"","sources":["../../../src/vendor/tanstackrouter-types.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,6BAA6B,CAAC;IACvC,KAAK,EAAE,2BAA2B,CAAC;IACnC,OAAO,EAAE;QAEP,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACtD,CAAC;IACF,WAAW,EAAE,CACX,QAAQ,EAAE,MAAM,EAEhB,cAAc,EAAE,EAAE,EAClB,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,KACE,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC7C,SAAS,CACP,SAAS,EAAE,YAAY,GAAG,kBAAkB,EAC5C,QAAQ,EAAE,CAAC,WAAW,EAAE;QACtB,UAAU,EAAE,8BAA8B,CAAC;QAC3C,YAAY,EAAE,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"tanstackrouter-types.d.ts","sourceRoot":"","sources":["../../../src/vendor/tanstackrouter-types.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,6BAA6B,CAAC;IACvC,KAAK,EAAE,2BAA2B,CAAC;IACnC,OAAO,EAAE;QAEP,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACtD,CAAC;IACF,WAAW,EAAE,CACX,QAAQ,EAAE,MAAM,EAEhB,cAAc,EAAE,EAAE,EAClB,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,KACE,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC7C,SAAS,CACP,SAAS,EAAE,YAAY,GAAG,kBAAkB,EAC5C,QAAQ,EAAE,CAAC,WAAW,EAAE;QACtB,UAAU,EAAE,8BAA8B,CAAC;QAC3C,YAAY,CAAC,EAAE,8BAA8B,CAAC;KAC/C,KAAK,IAAI,GACT,MAAM,IAAI,CAAC;CACf;AAED,UAAU,8BAA8B;IACtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,EAAE,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,6BAA6B;IACrC,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CAC3C;AAED,UAAU,2BAA2B;IACnC,OAAO,EAAE,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACjD,cAAc,CAAC,EAAE,KAAK,CAAC,gCAAgC,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACnC"}
|
|
@@ -135,10 +135,13 @@ export interface RouterInit {
|
|
|
135
135
|
history: History;
|
|
136
136
|
hydrationData?: HydrationState;
|
|
137
137
|
}
|
|
138
|
+
export type NavigationState = {
|
|
139
|
+
state: 'idle' | 'loading' | 'submitting';
|
|
140
|
+
};
|
|
138
141
|
export type NavigationStates = {
|
|
139
|
-
Idle:
|
|
140
|
-
Loading:
|
|
141
|
-
Submitting:
|
|
142
|
+
Idle: NavigationState;
|
|
143
|
+
Loading: NavigationState;
|
|
144
|
+
Submitting: NavigationState;
|
|
142
145
|
};
|
|
143
146
|
export type Navigation = NavigationStates[keyof NavigationStates];
|
|
144
147
|
export type RouteData = any;
|
|
@@ -151,6 +154,7 @@ export declare enum HistoryAction {
|
|
|
151
154
|
export interface RouterState {
|
|
152
155
|
historyAction: Action | HistoryAction | any;
|
|
153
156
|
location: Location;
|
|
157
|
+
navigation: Navigation;
|
|
154
158
|
}
|
|
155
159
|
export interface Router<TState extends RouterState = RouterState> {
|
|
156
160
|
state: TState;
|
|
@@ -10,7 +10,7 @@ export interface VendoredTanstackRouter {
|
|
|
10
10
|
}) => Array<VendoredTanstackRouterRouteMatch>;
|
|
11
11
|
subscribe(eventType: 'onResolved' | 'onBeforeNavigate', callback: (stateUpdate: {
|
|
12
12
|
toLocation: VendoredTanstackRouterLocation;
|
|
13
|
-
fromLocation
|
|
13
|
+
fromLocation?: VendoredTanstackRouterLocation;
|
|
14
14
|
}) => void): () => void;
|
|
15
15
|
}
|
|
16
16
|
interface VendoredTanstackRouterLocation {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sentry/react",
|
|
3
|
-
"version": "9.0.0-alpha.
|
|
3
|
+
"version": "9.0.0-alpha.2",
|
|
4
4
|
"description": "Official Sentry SDK for React.js",
|
|
5
5
|
"repository": "git://github.com/getsentry/sentry-javascript.git",
|
|
6
6
|
"homepage": "https://github.com/getsentry/sentry-javascript/tree/master/packages/react",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"access": "public"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@sentry/browser": "9.0.0-alpha.
|
|
43
|
-
"@sentry/core": "9.0.0-alpha.
|
|
42
|
+
"@sentry/browser": "9.0.0-alpha.2",
|
|
43
|
+
"@sentry/core": "9.0.0-alpha.2",
|
|
44
44
|
"hoist-non-react-statics": "^3.3.2"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|