Skip to content

Commit 42604ea

Browse files
authored
feat(react-router): Update loadContext type to be compatible with middleware (getsentry#17758)
1 parent f4df972 commit 42604ea

File tree

4 files changed

+13
-32
lines changed

4 files changed

+13
-32
lines changed

packages/react-router/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
"@react-router/dev": "^7.5.2",
6262
"@react-router/node": "^7.5.2",
6363
"react": "^18.3.1",
64-
"react-router": "^7.5.2",
64+
"react-router": "^7.9.2",
6565
"vite": "^6.1.0"
6666
},
6767
"peerDependencies": {

packages/react-router/src/server/createSentryHandleRequest.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { createReadableStreamFromReadable } from '@react-router/node';
22
import type { ReactNode } from 'react';
33
import React from 'react';
4-
import type { AppLoadContext, EntryContext, ServerRouter } from 'react-router';
4+
import type { AppLoadContext, EntryContext, RouterContextProvider, ServerRouter } from 'react-router';
55
import { PassThrough } from 'stream';
66
import { getMetaTagTransformer } from './getMetaTagTransformer';
77
import { wrapSentryHandleRequest } from './wrapSentryHandleRequest';
@@ -67,7 +67,7 @@ export function createSentryHandleRequest(
6767
responseStatusCode: number,
6868
responseHeaders: Headers,
6969
routerContext: EntryContext,
70-
loadContext: AppLoadContext,
70+
loadContext: AppLoadContext | RouterContextProvider,
7171
) => Promise<unknown> {
7272
const {
7373
streamTimeout = 10000,
@@ -82,7 +82,7 @@ export function createSentryHandleRequest(
8282
responseStatusCode: number,
8383
responseHeaders: Headers,
8484
routerContext: EntryContext,
85-
_loadContext: AppLoadContext,
85+
_loadContext: AppLoadContext | RouterContextProvider,
8686
): Promise<Response> {
8787
return new Promise((resolve, reject) => {
8888
let shellRendered = false;

packages/react-router/src/server/wrapSentryHandleRequest.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ import {
88
SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN,
99
SEMANTIC_ATTRIBUTE_SENTRY_SOURCE,
1010
} from '@sentry/core';
11-
import type { AppLoadContext, EntryContext } from 'react-router';
11+
import type { AppLoadContext, EntryContext, RouterContextProvider } from 'react-router';
1212

1313
type OriginalHandleRequest = (
1414
request: Request,
1515
responseStatusCode: number,
1616
responseHeaders: Headers,
1717
routerContext: EntryContext,
18-
loadContext: AppLoadContext,
18+
loadContext: AppLoadContext | RouterContextProvider,
1919
) => Promise<unknown>;
2020

2121
/**
@@ -30,7 +30,7 @@ export function wrapSentryHandleRequest(originalHandle: OriginalHandleRequest):
3030
responseStatusCode: number,
3131
responseHeaders: Headers,
3232
routerContext: EntryContext,
33-
loadContext: AppLoadContext,
33+
loadContext: AppLoadContext | RouterContextProvider,
3434
) {
3535
const parameterizedPath =
3636
routerContext?.staticHandlerContext?.matches?.[routerContext.staticHandlerContext.matches.length - 1]?.route.path;

yarn.lock

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9448,7 +9448,7 @@
94489448
postcss "^8.4.47"
94499449
source-map-js "^1.2.0"
94509450

9451-
"@vue/compiler-sfc@^3.4.15", "@vue/compiler-sfc@^3.5.13", "@vue/compiler-sfc@^3.5.4":
9451+
"@vue/compiler-sfc@^3.4.15", "@vue/compiler-sfc@^3.5.4":
94529452
version "3.5.21"
94539453
resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.5.21.tgz#e48189ef3ffe334c864c2625389ebe3bb4fa41eb"
94549454
integrity sha512-SXlyk6I5eUGBd2v8Ie7tF6ADHE9kCR6mBEuPyH1nUZ0h6Xx6nZI29i12sJKQmzbDyr2tUHMhhTt51Z6blbkTTQ==
@@ -14248,9 +14248,6 @@ detective-scss@^5.0.1:
1424814248
version "5.0.1"
1424914249
resolved "https://registry.yarnpkg.com/detective-scss/-/detective-scss-5.0.1.tgz#6a7f792dc9c0e8cfc0d252a50ba26a6df12596a7"
1425014250
integrity sha512-MAyPYRgS6DCiS6n6AoSBJXLGVOydsr9huwXORUlJ37K3YLyiN0vYHpzs3AdJOgHobBfispokoqrEon9rbmKacg==
14251-
dependencies:
14252-
gonzales-pe "^4.3.0"
14253-
node-source-walk "^7.0.1"
1425414251

1425514252
detective-stylus@^4.0.0:
1425614253
version "4.0.0"
@@ -14285,14 +14282,6 @@ detective-vue2@^2.2.0:
1428514282
version "2.2.0"
1428614283
resolved "https://registry.yarnpkg.com/detective-vue2/-/detective-vue2-2.2.0.tgz#35fd1d39e261b064aca9fcaf20e136c76877482a"
1428714284
integrity sha512-sVg/t6O2z1zna8a/UIV6xL5KUa2cMTQbdTIIvqNM0NIPswp52fe43Nwmbahzj3ww4D844u/vC2PYfiGLvD3zFA==
14288-
dependencies:
14289-
"@dependents/detective-less" "^5.0.1"
14290-
"@vue/compiler-sfc" "^3.5.13"
14291-
detective-es6 "^5.0.1"
14292-
detective-sass "^6.0.1"
14293-
detective-scss "^5.0.1"
14294-
detective-stylus "^5.0.1"
14295-
detective-typescript "^14.0.0"
1429614285

1429714286
deterministic-object-hash@^1.3.1:
1429814287
version "1.3.1"
@@ -16844,9 +16833,6 @@ fetch-blob@^3.1.2, fetch-blob@^3.1.4:
1684416833
version "3.2.0"
1684516834
resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9"
1684616835
integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==
16847-
dependencies:
16848-
node-domexception "^1.0.0"
16849-
web-streams-polyfill "^3.0.3"
1685016836

1685116837
[email protected], fflate@^0.8.2:
1685216838
version "0.8.2"
@@ -23099,11 +23085,6 @@ node-cron@^3.0.3:
2309923085
dependencies:
2310023086
uuid "8.3.2"
2310123087

23102-
node-domexception@^1.0.0:
23103-
version "1.0.0"
23104-
resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
23105-
integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
23106-
2310723088
node-fetch-native@^1.4.0, node-fetch-native@^1.6.3, node-fetch-native@^1.6.4, node-fetch-native@^1.6.6:
2310823089
version "1.6.6"
2310923090
resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.6.tgz#ae1d0e537af35c2c0b0de81cbff37eedd410aa37"
@@ -26164,10 +26145,10 @@ [email protected]:
2616426145
dependencies:
2616526146
"@remix-run/router" "1.21.0"
2616626147

26167-
react-router@^7.5.2:
26168-
version "7.6.2"
26169-
resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.6.2.tgz#9f48b343bead7d0a94e28342fc4f9ae29131520e"
26170-
integrity sha512-U7Nv3y+bMimgWjhlT5CRdzHPu2/KVmqPwKUCChW8en5P3znxUqwlYFlbmyj8Rgp1SF6zs5X4+77kBVknkg6a0w==
26148+
react-router@^7.9.2:
26149+
version "7.9.2"
26150+
resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.9.2.tgz#f424a14f87e4d7b5b268ce3647876e9504e4fca6"
26151+
integrity sha512-i2TPp4dgaqrOqiRGLZmqh2WXmbdFknUyiCRmSKs0hf6fWXkTKg5h56b+9F22NbGRAMxjYfqQnpi63egzD2SuZA==
2617126152
dependencies:
2617226153
cookie "^1.0.1"
2617326154
set-cookie-parser "^2.6.0"
@@ -31227,7 +31208,7 @@ web-namespaces@^2.0.0:
3122731208
resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692"
3122831209
integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==
3122931210

31230-
web-streams-polyfill@^3.0.3, web-streams-polyfill@^3.1.1:
31211+
web-streams-polyfill@^3.1.1:
3123131212
version "3.3.3"
3123231213
resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz#2073b91a2fdb1fbfbd401e7de0ac9f8214cecb4b"
3123331214
integrity sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==

0 commit comments

Comments
 (0)