1*edeec536SEvan Baconimport type { IncomingMessage, ServerResponse } from 'http'; 2*edeec536SEvan Bacon 3*edeec536SEvan Bacon// Middleware to suppress `EISDIR` error when opening javascript inspector in remote debugging. 4*edeec536SEvan Bacon// A workaround for https://github.com/facebook/react-native/issues/28844 5*edeec536SEvan Bacon// The root cause is that metro cannot serve sourcemap requests for /debugger-ui/ 6*edeec536SEvan Baconexport function suppressRemoteDebuggingErrorMiddleware( 7*edeec536SEvan Bacon req: IncomingMessage, 8*edeec536SEvan Bacon res: ServerResponse, 9*edeec536SEvan Bacon next: (err?: Error) => void 10*edeec536SEvan Bacon) { 11*edeec536SEvan Bacon if (req.url?.match(/\/debugger-ui\/.+\.map$/)) { 12*edeec536SEvan Bacon res.writeHead(404); 13*edeec536SEvan Bacon res.end('Sourcemap for /debugger-ui/ is not supported.'); 14*edeec536SEvan Bacon return; 15*edeec536SEvan Bacon } 16*edeec536SEvan Bacon next(); 17*edeec536SEvan Bacon} 18