( flags: ReactDevtoolsCommandOptions['flags'], )
| 89 | } |
| 90 | |
| 91 | function resolveRemoteBridgeConfig( |
| 92 | flags: ReactDevtoolsCommandOptions['flags'], |
| 93 | ): RemoteBridgeConfig | null { |
| 94 | if (!flags?.metroProxyBaseUrl || !isRemoteBridgeBackend(flags.leaseBackend)) return null; |
| 95 | const missing: string[] = []; |
| 96 | const config = { |
| 97 | serverBaseUrl: readRemoteBridgeField(missing, 'metroProxyBaseUrl', flags.metroProxyBaseUrl), |
| 98 | bearerToken: readRemoteBridgeField(missing, 'metroBearerToken', flags.metroBearerToken), |
| 99 | tenantId: readRemoteBridgeField(missing, 'tenant', flags.tenant), |
| 100 | runId: readRemoteBridgeField(missing, 'runId', flags.runId), |
| 101 | leaseId: readRemoteBridgeField(missing, 'leaseId', flags.leaseId), |
| 102 | }; |
| 103 | if (missing.length > 0) { |
| 104 | throw new AppError( |
| 105 | 'INVALID_ARGS', |
| 106 | `react-devtools remote bridge requires ${missing.join(', ')}.`, |
| 107 | { missing }, |
| 108 | ); |
| 109 | } |
| 110 | return config; |
| 111 | } |
| 112 | |
| 113 | async function withRemoteDevtoolsCompanion<T>( |
| 114 | args: string[], |
no test coverage detected