Is there an existing issue for this?
How do you use Sentry?
Sentry Saas (sentry.io)
Which SDK are you using?
@sentry/remix
SDK Version
9.5.0
Framework Version
Remix 2.11.2 and 2.15
Link to Sentry event
No response
Reproduction Example/SDK Setup
Steps to Reproduce
The vendored types for remix, particularly ServerBuild are out of date.
Minimal repro:
declare module "virtual:remix/server-build"{importtype{ServerBuild}from"@remix-run/server-runtime";constbuild: ServerBuild;export=build;}import*asbuildfrom"virtual:remix/server-build";import{wrapRequestHandler}from"@sentry/cloudflare/request";import{instrumentBuild}from"@sentry/remix/cloudflare";import{createRequestHandler}from"@shopify/remix-oxygen";constinstrumentedBuild=instrumentBuild(build);exportdefault{asyncfetch(request: Request,env: {[key: string]: any},ctx: ExecutionContext,): Promise<Response>{returnwrapRequestHandler({options: {enabled: env["SENTRY_ENABLED"],dsn: env["SENTRY_DSN"],environment: env["SENTRY_ENV"],},request: request,context: ctx,},async()=>{consthandler=createRequestHandler({build: instrumentedBuild,mode: import.meta.env["NODE_ENV"],getLoadContext: ()=>{},});returnhandler(req)})}}Expected Result
No type errors
Actual Result
On the call to instrumentBuild
1. Argument of type 'ServerBuild' is not assignable to parameter of type 'ServerBuild | (() => ServerBuild | Promise<ServerBuild>)'.
Type 'import("/Users/acohen/p/node_modules/.pnpm/@remix-run+server-runtime@2.11.2_typescript@5.7.2/node_modules/@remix-run/server-runtime/dist/build").ServerBuild' is not assignable to type 'import("/Users/acohen/p/node_modules/.pnpm/@sentry+remix@9.5.0_@opentelemetry+context-async-hooks@1.30.1_@opentelemetry+api@1.9.0__@open_iuiv3pujvl5pfv746jgqtaej4m/node_modules/@sentry/remix/build/types/utils/vendor/types").ServerBuild'.
The types of 'entry.module.default' are incompatible between these types.
Type 'import("/Users/acohen/p/node_modules/.pnpm/@remix-run+server-runtime@2.11.2_typescript@5.7.2/node_modules/@remix-run/server-runtime/dist/build").HandleDocumentRequestFunction' is not assignable to type 'import("/Users/acohen/p/node_modules/.pnpm/@sentry+remix@9.5.0_@opentelemetry+context-async-hooks@1.30.1_@opentelemetry+api@1.9.0__@open_iuiv3pujvl5pfv746jgqtaej4m/node_modules/@sentry/remix/build/types/utils/vendor/types").HandleDocumentRequestFunction'.
Types of parameters 'context' and 'context' are incompatible.
Type 'EntryContext' is missing the following properties from type 'EntryContext': manifest, routeModules, staticHandlerContext, future, and 2 more. [2345]
On the build argument on the call to createRequestHandler
1. Type 'ServerBuild | (() => ServerBuild | Promise<ServerBuild>)' is not assignable to type 'ServerBuild'.
Type 'ServerBuild' is missing the following properties from type 'ServerBuild': mode, isSpaMode [2322]
Is there an existing issue for this?
How do you use Sentry?
Sentry Saas (sentry.io)
Which SDK are you using?
@sentry/remix
SDK Version
9.5.0
Framework Version
Remix 2.11.2 and 2.15
Link to Sentry event
No response
Reproduction Example/SDK Setup
Steps to Reproduce
The vendored types for remix, particularly
ServerBuildare out of date.Minimal repro:
Expected Result
No type errors
Actual Result
On the call to
instrumentBuildOn the
buildargument on the call tocreateRequestHandler