@@ -36,10 +36,21 @@ export class DebuggerEndpointHelper {
36
36
attemptNumber : number ,
37
37
cancellationToken : CancellationToken ,
38
38
isHermes : boolean = false ,
39
+ settingsPort ?: number ,
39
40
) : Promise < string > {
40
41
while ( true ) {
41
42
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
+ }
43
54
} catch ( err ) {
44
55
if ( attemptNumber < 1 || cancellationToken . isCancellationRequested ) {
45
56
const internalError = ErrorHelper . getInternalError (
@@ -85,6 +96,15 @@ export class DebuggerEndpointHelper {
85
96
? this . tryToGetHermesImprovedChromeReloadsWebSocketDebuggerUrl ( jsonList )
86
97
: jsonList [ 0 ] . webSocketDebuggerUrl ;
87
98
}
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
+ }
88
108
89
109
throw new Error ( "Could not find any debuggable target" ) ;
90
110
}
0 commit comments