@@ -179,6 +179,20 @@ createStart(() => ({
179179
180180 consoleLogSpy . mockRestore ( ) ;
181181 } ) ;
182+
183+ it ( 'does not double-wrap already wrapped middleware' , ( ) => {
184+ const code = `
185+ createStart(() => ({
186+ requestMiddleware: wrapMiddlewaresWithSentry({ authMiddleware }),
187+ functionMiddleware: wrapMiddlewaresWithSentry({ loggingMiddleware }),
188+ }));
189+ ` ;
190+ const result = wrapGlobalMiddleware ( code , '/app/start.ts' , false ) ;
191+
192+ expect ( result . didWrap ) . toBe ( false ) ;
193+ expect ( result . code ) . toBe ( code ) ;
194+ expect ( result . skipped ) . toHaveLength ( 0 ) ;
195+ } ) ;
182196} ) ;
183197
184198describe ( 'wrapRouteMiddleware' , ( ) => {
@@ -327,6 +341,22 @@ export const Route = createFileRoute('/foo')({
327341
328342 consoleLogSpy . mockRestore ( ) ;
329343 } ) ;
344+
345+ it ( 'does not double-wrap already wrapped middleware' , ( ) => {
346+ const code = `
347+ export const Route = createFileRoute('/foo')({
348+ server: {
349+ middleware: wrapMiddlewaresWithSentry({ authMiddleware }),
350+ handlers: { GET: () => ({}) },
351+ },
352+ });
353+ ` ;
354+ const result = wrapRouteMiddleware ( code , '/app/routes/foo.ts' , false ) ;
355+
356+ expect ( result . didWrap ) . toBe ( false ) ;
357+ expect ( result . code ) . toBe ( code ) ;
358+ expect ( result . skipped ) . toHaveLength ( 0 ) ;
359+ } ) ;
330360} ) ;
331361
332362describe ( 'addSentryImport' , ( ) => {
0 commit comments