@@ -36,10 +36,21 @@ export class DebuggerEndpointHelper {
3636 attemptNumber : number ,
3737 cancellationToken : CancellationToken ,
3838 isHermes : boolean = false ,
39+ settingsPort ?: number ,
3940 ) : Promise < string > {
4041 while ( true ) {
4142 try {
42- return await this . getWSEndpoint ( browserURL , isHermes ) ;
43+ let url = "" ;
44+ if ( settingsPort ) {
45+ url = `http://localhost:${ settingsPort } ` ;
46+ try {
47+ return await this . getWSEndpoint ( browserURL , isHermes ) ;
48+ } catch {
49+ return await this . getWSEndpoint ( url , isHermes ) ;
50+ }
51+ } else {
52+ return await this . getWSEndpoint ( browserURL , isHermes ) ;
53+ }
4354 } catch ( err ) {
4455 if ( attemptNumber < 1 || cancellationToken . isCancellationRequested ) {
4556 const internalError = ErrorHelper . getInternalError (
@@ -85,6 +96,15 @@ export class DebuggerEndpointHelper {
8596 ? this . tryToGetHermesImprovedChromeReloadsWebSocketDebuggerUrl ( jsonList )
8697 : jsonList [ 0 ] . webSocketDebuggerUrl ;
8798 }
99+ // Try to get websocket endpoint from default metro bundler
100+ const defaultJsonList = await this . fetchJson < DebuggableEndpointData [ ] > (
101+ "http://localhost:8081/json/list" ,
102+ ) ;
103+ if ( defaultJsonList . length ) {
104+ return isHermes
105+ ? this . tryToGetHermesImprovedChromeReloadsWebSocketDebuggerUrl ( defaultJsonList )
106+ : defaultJsonList [ 0 ] . webSocketDebuggerUrl ;
107+ }
88108
89109 throw new Error ( "Could not find any debuggable target" ) ;
90110 }
0 commit comments