@expo/cli 0.17.9 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (570) hide show
  1. package/build/bin/cli +11 -7
  2. package/build/bin/cli.map +1 -1
  3. package/build/src/api/getExpoSchema.js +23 -5
  4. package/build/src/api/getExpoSchema.js.map +1 -1
  5. package/build/src/api/graphql/client.js +28 -10
  6. package/build/src/api/graphql/client.js.map +1 -1
  7. package/build/src/api/graphql/queries/AppQuery.js +16 -4
  8. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  9. package/build/src/api/graphql/queries/UserQuery.js +8 -2
  10. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  11. package/build/src/api/graphql/types/App.js +8 -2
  12. package/build/src/api/graphql/types/App.js.map +1 -1
  13. package/build/src/api/rest/cache/FileSystemCache.js +21 -9
  14. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
  15. package/build/src/api/rest/cache/response.js +9 -3
  16. package/build/src/api/rest/cache/response.js.map +1 -1
  17. package/build/src/api/rest/cache/wrapFetchWithCache.js +32 -8
  18. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  19. package/build/src/api/rest/client.js +23 -5
  20. package/build/src/api/rest/client.js.map +1 -1
  21. package/build/src/api/rest/wrapFetchWithBaseUrl.js +9 -4
  22. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  23. package/build/src/api/rest/wrapFetchWithProxy.js +8 -2
  24. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  25. package/build/src/api/settings.js +8 -2
  26. package/build/src/api/settings.js.map +1 -1
  27. package/build/src/api/updateDevelopmentSession.js +18 -6
  28. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  29. package/build/src/api/user/UserSettings.js +26 -8
  30. package/build/src/api/user/UserSettings.js.map +1 -1
  31. package/build/src/api/user/actions.js +17 -5
  32. package/build/src/api/user/actions.js.map +1 -1
  33. package/build/src/api/user/expoSsoLauncher.js +32 -8
  34. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  35. package/build/src/api/user/otp.js +17 -5
  36. package/build/src/api/user/otp.js.map +1 -1
  37. package/build/src/api/user/user.js +19 -12
  38. package/build/src/api/user/user.js.map +1 -1
  39. package/build/src/config/configAsync.js +25 -7
  40. package/build/src/config/configAsync.js.map +1 -1
  41. package/build/src/config/index.js +9 -3
  42. package/build/src/config/index.js.map +1 -1
  43. package/build/src/customize/customizeAsync.js +8 -2
  44. package/build/src/customize/customizeAsync.js.map +1 -1
  45. package/build/src/customize/generate.js +16 -4
  46. package/build/src/customize/generate.js.map +1 -1
  47. package/build/src/customize/index.js +10 -4
  48. package/build/src/customize/index.js.map +1 -1
  49. package/build/src/customize/templates.js +33 -9
  50. package/build/src/customize/templates.js.map +1 -1
  51. package/build/src/customize/typescript.js +8 -2
  52. package/build/src/customize/typescript.js.map +1 -1
  53. package/build/src/export/createMetadataJson.js +8 -2
  54. package/build/src/export/createMetadataJson.js.map +1 -1
  55. package/build/src/export/embed/exportEmbedAsync.js +58 -18
  56. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  57. package/build/src/export/embed/index.js +17 -5
  58. package/build/src/export/embed/index.js.map +1 -1
  59. package/build/src/export/embed/resolveOptions.js +8 -2
  60. package/build/src/export/embed/resolveOptions.js.map +1 -1
  61. package/build/src/export/embed/xcodeCompilerLogger.js +16 -4
  62. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  63. package/build/src/export/exportApp.js +32 -12
  64. package/build/src/export/exportApp.js.map +1 -1
  65. package/build/src/export/exportAssets.js +27 -9
  66. package/build/src/export/exportAssets.js.map +1 -1
  67. package/build/src/export/exportAsync.js +10 -2
  68. package/build/src/export/exportAsync.js.map +1 -1
  69. package/build/src/export/exportHermes.js +29 -17
  70. package/build/src/export/exportHermes.js.map +1 -1
  71. package/build/src/export/exportStaticAsync.js +69 -37
  72. package/build/src/export/exportStaticAsync.js.map +1 -1
  73. package/build/src/export/favicon.js +33 -9
  74. package/build/src/export/favicon.js.map +1 -1
  75. package/build/src/export/fork-bundleAsync.js +61 -16
  76. package/build/src/export/fork-bundleAsync.js.map +1 -1
  77. package/build/src/export/getPublicExpoManifest.js +8 -2
  78. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  79. package/build/src/export/getResolvedLocales.js +15 -3
  80. package/build/src/export/getResolvedLocales.js.map +1 -1
  81. package/build/src/export/index.js +11 -5
  82. package/build/src/export/index.js.map +1 -1
  83. package/build/src/export/metroAssetLocalPath.js +9 -3
  84. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  85. package/build/src/export/persistMetroAssets.js +27 -15
  86. package/build/src/export/persistMetroAssets.js.map +1 -1
  87. package/build/src/export/publicFolder.js +18 -6
  88. package/build/src/export/publicFolder.js.map +1 -1
  89. package/build/src/export/resolveOptions.js +8 -2
  90. package/build/src/export/resolveOptions.js.map +1 -1
  91. package/build/src/export/saveAssets.js +43 -19
  92. package/build/src/export/saveAssets.js.map +1 -1
  93. package/build/src/export/web/exportWebAsync.js +16 -4
  94. package/build/src/export/web/exportWebAsync.js.map +1 -1
  95. package/build/src/export/web/index.js +9 -3
  96. package/build/src/export/web/index.js.map +1 -1
  97. package/build/src/install/applyPlugins.js +8 -2
  98. package/build/src/install/applyPlugins.js.map +1 -1
  99. package/build/src/install/checkPackages.js +18 -6
  100. package/build/src/install/checkPackages.js.map +1 -1
  101. package/build/src/install/fixPackages.js +8 -2
  102. package/build/src/install/fixPackages.js.map +1 -1
  103. package/build/src/install/index.js +14 -8
  104. package/build/src/install/index.js.map +1 -1
  105. package/build/src/install/installAsync.js +27 -9
  106. package/build/src/install/installAsync.js.map +1 -1
  107. package/build/src/install/installExpoPackage.js +17 -5
  108. package/build/src/install/installExpoPackage.js.map +1 -1
  109. package/build/src/install/utils/autoAddConfigPlugins.js +17 -5
  110. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  111. package/build/src/log.js +9 -3
  112. package/build/src/log.js.map +1 -1
  113. package/build/src/prebuild/clearNativeFolder.js +37 -13
  114. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  115. package/build/src/prebuild/configureProjectAsync.js +16 -4
  116. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  117. package/build/src/prebuild/copyTemplateFiles.js +29 -11
  118. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  119. package/build/src/prebuild/ensureConfigAsync.js +24 -6
  120. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  121. package/build/src/prebuild/index.js +14 -8
  122. package/build/src/prebuild/index.js.map +1 -1
  123. package/build/src/prebuild/prebuildAsync.js +9 -3
  124. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  125. package/build/src/prebuild/renameTemplateAppName.js +119 -0
  126. package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
  127. package/build/src/prebuild/resolveOptions.js +32 -8
  128. package/build/src/prebuild/resolveOptions.js.map +1 -1
  129. package/build/src/prebuild/resolveTemplate.js +44 -14
  130. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  131. package/build/src/prebuild/updateFromTemplate.js +18 -2
  132. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  133. package/build/src/prebuild/updatePackageJson.js +49 -13
  134. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  135. package/build/src/prebuild/validateTemplatePlatforms.js +16 -4
  136. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  137. package/build/src/run/android/index.js +20 -4
  138. package/build/src/run/android/index.js.map +1 -1
  139. package/build/src/run/android/resolveGradlePropsAsync.js +55 -0
  140. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
  141. package/build/src/run/android/resolveInstallApkName.js +18 -6
  142. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  143. package/build/src/run/android/resolveLaunchProps.js +10 -4
  144. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  145. package/build/src/run/android/resolveOptions.js +5 -3
  146. package/build/src/run/android/resolveOptions.js.map +1 -1
  147. package/build/src/run/android/runAndroidAsync.js +13 -4
  148. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  149. package/build/src/run/ensureNativeProject.js +15 -3
  150. package/build/src/run/ensureNativeProject.js.map +1 -1
  151. package/build/src/run/hints.js +10 -4
  152. package/build/src/run/hints.js.map +1 -1
  153. package/build/src/run/index.js +8 -2
  154. package/build/src/run/index.js.map +1 -1
  155. package/build/src/run/ios/XcodeBuild.js +57 -21
  156. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  157. package/build/src/run/ios/appleDevice/AppleDevice.js +25 -7
  158. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  159. package/build/src/run/ios/appleDevice/ClientManager.js +10 -4
  160. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  161. package/build/src/run/ios/appleDevice/client/AFCClient.js +34 -10
  162. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  163. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +16 -4
  164. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  165. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +8 -2
  166. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  167. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +17 -5
  168. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  169. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +17 -5
  170. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  171. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +25 -7
  172. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  173. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +24 -6
  174. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  175. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +8 -2
  176. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  177. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +16 -4
  178. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  179. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +8 -2
  180. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  181. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +16 -4
  182. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  183. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +16 -4
  184. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  185. package/build/src/run/ios/codeSigning/Security.js +17 -5
  186. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  187. package/build/src/run/ios/codeSigning/configureCodeSigning.js +8 -2
  188. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  189. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +9 -3
  190. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  191. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +25 -7
  192. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  193. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +22 -10
  194. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  195. package/build/src/run/ios/index.js +19 -7
  196. package/build/src/run/ios/index.js.map +1 -1
  197. package/build/src/run/ios/launchApp.js +17 -5
  198. package/build/src/run/ios/launchApp.js.map +1 -1
  199. package/build/src/run/ios/options/promptDevice.js +9 -3
  200. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  201. package/build/src/run/ios/options/resolveDevice.js +1 -2
  202. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  203. package/build/src/run/ios/options/resolveNativeScheme.js +27 -9
  204. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  205. package/build/src/run/ios/options/resolveXcodeProject.js +8 -2
  206. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  207. package/build/src/run/ios/runIosAsync.js +10 -2
  208. package/build/src/run/ios/runIosAsync.js.map +1 -1
  209. package/build/src/run/startBundler.js +16 -4
  210. package/build/src/run/startBundler.js.map +1 -1
  211. package/build/src/start/detectDevClient.js +29 -0
  212. package/build/src/start/detectDevClient.js.map +1 -0
  213. package/build/src/start/doctor/SecurityBinPrerequisite.js +8 -2
  214. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  215. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +16 -4
  216. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  217. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +16 -4
  218. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  219. package/build/src/start/doctor/apple/XcodePrerequisite.js +79 -29
  220. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  221. package/build/src/start/doctor/apple/XcrunPrerequisite.js +24 -6
  222. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  223. package/build/src/start/doctor/dependencies/bundledNativeModules.js +25 -7
  224. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  225. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +27 -9
  226. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  227. package/build/src/start/doctor/dependencies/getMissingPackages.js +24 -6
  228. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  229. package/build/src/start/doctor/dependencies/getVersionedPackages.js +8 -2
  230. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  231. package/build/src/start/doctor/dependencies/resolvePackages.js +25 -7
  232. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  233. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +32 -21
  234. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  235. package/build/src/start/doctor/ngrok/ExternalModule.js +33 -9
  236. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  237. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +18 -6
  238. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  239. package/build/src/start/doctor/typescript/updateTSConfig.js +29 -11
  240. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  241. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +18 -6
  242. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  243. package/build/src/start/index.js +17 -11
  244. package/build/src/start/index.js.map +1 -1
  245. package/build/src/start/interface/commandsTable.js +27 -9
  246. package/build/src/start/interface/commandsTable.js.map +1 -1
  247. package/build/src/start/interface/interactiveActions.js +17 -11
  248. package/build/src/start/interface/interactiveActions.js.map +1 -1
  249. package/build/src/start/interface/startInterface.js +8 -2
  250. package/build/src/start/interface/startInterface.js.map +1 -1
  251. package/build/src/start/platforms/AppIdResolver.js +9 -3
  252. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  253. package/build/src/start/platforms/DeviceManager.js +8 -2
  254. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  255. package/build/src/start/platforms/ExpoGoInstaller.js +30 -14
  256. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  257. package/build/src/start/platforms/PlatformManager.js +33 -13
  258. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  259. package/build/src/start/platforms/android/ADBServer.js +17 -5
  260. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  261. package/build/src/start/platforms/android/AndroidAppIdResolver.js +13 -7
  262. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  263. package/build/src/start/platforms/android/AndroidDeviceManager.js +19 -7
  264. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  265. package/build/src/start/platforms/android/AndroidSdk.js +34 -10
  266. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  267. package/build/src/start/platforms/android/activateWindow.js +16 -4
  268. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  269. package/build/src/start/platforms/android/adb.js +21 -4
  270. package/build/src/start/platforms/android/adb.js.map +1 -1
  271. package/build/src/start/platforms/android/emulator.js +32 -8
  272. package/build/src/start/platforms/android/emulator.js.map +1 -1
  273. package/build/src/start/platforms/android/gradle.js +23 -6
  274. package/build/src/start/platforms/android/gradle.js.map +1 -1
  275. package/build/src/start/platforms/android/promptAndroidDevice.js +10 -4
  276. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  277. package/build/src/start/platforms/ios/AppleAppIdResolver.js +26 -8
  278. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  279. package/build/src/start/platforms/ios/AppleDeviceManager.js +50 -18
  280. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  281. package/build/src/start/platforms/ios/assertSystemRequirements.js +4 -3
  282. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  283. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +16 -4
  284. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  285. package/build/src/start/platforms/ios/getBestSimulator.js +8 -2
  286. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  287. package/build/src/start/platforms/ios/promptAppleDevice.js +9 -3
  288. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  289. package/build/src/start/platforms/ios/simctl.js +12 -6
  290. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  291. package/build/src/start/platforms/ios/simctlLogging.js +40 -10
  292. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  293. package/build/src/start/platforms/ios/xcrun.js +16 -4
  294. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  295. package/build/src/start/project/dotExpo.js +27 -9
  296. package/build/src/start/project/dotExpo.js.map +1 -1
  297. package/build/src/start/resolveOptions.js +33 -15
  298. package/build/src/start/resolveOptions.js.map +1 -1
  299. package/build/src/start/server/AsyncNgrok.js +34 -10
  300. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  301. package/build/src/start/server/BundlerDevServer.js +16 -4
  302. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  303. package/build/src/start/server/DevServerManager.js +28 -10
  304. package/build/src/start/server/DevServerManager.js.map +1 -1
  305. package/build/src/start/server/DevToolsPluginManager.js +16 -4
  306. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  307. package/build/src/start/server/DevelopmentSession.js +9 -3
  308. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  309. package/build/src/start/server/ReactDevToolsProxy.js +26 -8
  310. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  311. package/build/src/start/server/UrlCreator.js +19 -6
  312. package/build/src/start/server/UrlCreator.js.map +1 -1
  313. package/build/src/start/server/getStaticRenderFunctions.js +91 -55
  314. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  315. package/build/src/start/server/metro/MetroBundlerDevServer.js +231 -83
  316. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  317. package/build/src/start/server/metro/MetroTerminalReporter.js +30 -15
  318. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  319. package/build/src/start/server/metro/TerminalReporter.js +26 -8
  320. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  321. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  322. package/build/src/start/server/metro/createExpoMetroResolver.js +56 -20
  323. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  324. package/build/src/start/server/metro/createJResolver.js +90 -45
  325. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  326. package/build/src/start/server/metro/createServerRouteMiddleware.js +29 -28
  327. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  328. package/build/src/start/server/metro/debugging/MessageHandler.js +27 -0
  329. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
  330. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +11 -8
  331. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  332. package/build/src/start/server/metro/debugging/createHandlersFactory.js +63 -0
  333. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
  334. package/build/src/start/server/metro/debugging/{inspectorHandlers/utils.js → getDebuggerType.js} +1 -6
  335. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
  336. package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/NetworkResponse.js +8 -5
  337. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
  338. package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/PageReload.js +7 -6
  339. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
  340. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +25 -0
  341. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
  342. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +22 -0
  343. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
  344. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +28 -0
  345. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
  346. package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/VscodeRuntimeGetProperties.js +10 -6
  347. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
  348. package/build/src/start/server/metro/debugging/pageIsSupported.js +14 -0
  349. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
  350. package/build/src/start/server/metro/debugging/types.js.map +1 -0
  351. package/build/src/start/server/metro/externals.js +51 -64
  352. package/build/src/start/server/metro/externals.js.map +1 -1
  353. package/build/src/start/server/metro/fetchRouterManifest.js +8 -2
  354. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  355. package/build/src/start/server/metro/formatFileCandidates.js +8 -2
  356. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  357. package/build/src/start/server/metro/getCssModulesFromBundler.js +34 -10
  358. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  359. package/build/src/start/server/metro/instantiateMetro.js +96 -30
  360. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  361. package/build/src/start/server/metro/metroErrorInterface.js +40 -21
  362. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  363. package/build/src/start/server/metro/metroVirtualModules.js +82 -0
  364. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
  365. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +8 -2
  366. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  367. package/build/src/start/server/metro/router.js +44 -17
  368. package/build/src/start/server/metro/router.js.map +1 -1
  369. package/build/src/start/server/metro/runServer-fork.js +56 -14
  370. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  371. package/build/src/start/server/metro/serializeHtml.js +25 -12
  372. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  373. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +8 -2
  374. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  375. package/build/src/start/server/metro/withMetroMultiPlatform.js +148 -46
  376. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  377. package/build/src/start/server/metro/withMetroResolvers.js +31 -13
  378. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  379. package/build/src/start/server/middleware/CreateFileMiddleware.js +22 -10
  380. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  381. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +16 -4
  382. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  383. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +42 -12
  384. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  385. package/build/src/start/server/middleware/ExpoMiddleware.js +8 -2
  386. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  387. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +41 -11
  388. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  389. package/build/src/start/server/middleware/ManifestMiddleware.js +40 -10
  390. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  391. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +24 -6
  392. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  393. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +8 -2
  394. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  395. package/build/src/start/server/middleware/ServeStaticMiddleware.js +24 -6
  396. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  397. package/build/src/start/server/middleware/inspector/JsInspector.js +25 -8
  398. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  399. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +10 -4
  400. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
  401. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +24 -6
  402. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
  403. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +33 -9
  404. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
  405. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +27 -11
  406. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
  407. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +33 -9
  408. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  409. package/build/src/start/server/middleware/metroOptions.js +12 -2
  410. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  411. package/build/src/start/server/middleware/resolveAssets.js +17 -5
  412. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  413. package/build/src/start/server/middleware/resolvePlatform.js +8 -2
  414. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  415. package/build/src/start/server/platformBundlers.js +8 -2
  416. package/build/src/start/server/platformBundlers.js.map +1 -1
  417. package/build/src/start/server/serverLogLikeMetro.js +37 -13
  418. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  419. package/build/src/start/server/type-generation/expo-env.js +16 -4
  420. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  421. package/build/src/start/server/type-generation/routes.js +91 -37
  422. package/build/src/start/server/type-generation/routes.js.map +1 -1
  423. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +27 -9
  424. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  425. package/build/src/start/server/type-generation/tsconfig.js +27 -9
  426. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  427. package/build/src/start/server/webTemplate.js +26 -8
  428. package/build/src/start/server/webTemplate.js.map +1 -1
  429. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +36 -12
  430. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  431. package/build/src/start/server/webpack/compile.js +17 -5
  432. package/build/src/start/server/webpack/compile.js.map +1 -1
  433. package/build/src/start/server/webpack/resolveFromProject.js +8 -2
  434. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  435. package/build/src/start/server/webpack/tls.js +35 -11
  436. package/build/src/start/server/webpack/tls.js.map +1 -1
  437. package/build/src/start/startAsync.js +36 -11
  438. package/build/src/start/startAsync.js.map +1 -1
  439. package/build/src/utils/FileNotifier.js +32 -8
  440. package/build/src/utils/FileNotifier.js.map +1 -1
  441. package/build/src/utils/analytics/getDevClientProperties.js +26 -8
  442. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
  443. package/build/src/utils/analytics/metroDebuggerMiddleware.js +2 -2
  444. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
  445. package/build/src/utils/args.js +32 -8
  446. package/build/src/utils/args.js.map +1 -1
  447. package/build/src/utils/cocoapods.js +64 -28
  448. package/build/src/utils/cocoapods.js.map +1 -1
  449. package/build/src/utils/codesigning.js +79 -29
  450. package/build/src/utils/codesigning.js.map +1 -1
  451. package/build/src/utils/createFileTransform.js +24 -69
  452. package/build/src/utils/createFileTransform.js.map +1 -1
  453. package/build/src/utils/dir.js +33 -26
  454. package/build/src/utils/dir.js.map +1 -1
  455. package/build/src/utils/downloadAppAsync.js +40 -10
  456. package/build/src/utils/downloadAppAsync.js.map +1 -1
  457. package/build/src/utils/downloadExpoGoAsync.js +26 -11
  458. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  459. package/build/src/utils/editor.js +18 -6
  460. package/build/src/utils/editor.js.map +1 -1
  461. package/build/src/utils/env.js +40 -31
  462. package/build/src/utils/env.js.map +1 -1
  463. package/build/src/utils/errors.js +20 -5
  464. package/build/src/utils/errors.js.map +1 -1
  465. package/build/src/utils/findUp.js +18 -6
  466. package/build/src/utils/findUp.js.map +1 -1
  467. package/build/src/utils/getOrPromptApplicationId.js +19 -7
  468. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  469. package/build/src/utils/getRunningProcess.js +18 -6
  470. package/build/src/utils/getRunningProcess.js.map +1 -1
  471. package/build/src/utils/git.js +18 -6
  472. package/build/src/utils/git.js.map +1 -1
  473. package/build/src/utils/glob.js +9 -3
  474. package/build/src/utils/glob.js.map +1 -1
  475. package/build/src/utils/ip.js +8 -2
  476. package/build/src/utils/ip.js.map +1 -1
  477. package/build/src/utils/isModuleSymlinked.js +16 -4
  478. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  479. package/build/src/utils/link.js +18 -6
  480. package/build/src/utils/link.js.map +1 -1
  481. package/build/src/utils/mergeGitIgnorePaths.js +25 -13
  482. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  483. package/build/src/utils/modifyConfigAsync.js +18 -6
  484. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  485. package/build/src/utils/modifyConfigPlugins.js +8 -2
  486. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  487. package/build/src/utils/nodeEnv.js +2 -0
  488. package/build/src/utils/nodeEnv.js.map +1 -1
  489. package/build/src/utils/nodeModules.js +23 -5
  490. package/build/src/utils/nodeModules.js.map +1 -1
  491. package/build/src/utils/npm.js +64 -17
  492. package/build/src/utils/npm.js.map +1 -1
  493. package/build/src/utils/open.js +9 -3
  494. package/build/src/utils/open.js.map +1 -1
  495. package/build/src/utils/ora.js +16 -4
  496. package/build/src/utils/ora.js.map +1 -1
  497. package/build/src/utils/plist.js +24 -6
  498. package/build/src/utils/plist.js.map +1 -1
  499. package/build/src/utils/port.js +22 -10
  500. package/build/src/utils/port.js.map +1 -1
  501. package/build/src/utils/profile.js +8 -2
  502. package/build/src/utils/profile.js.map +1 -1
  503. package/build/src/utils/progress.js +8 -2
  504. package/build/src/utils/progress.js.map +1 -1
  505. package/build/src/utils/prompts.js +16 -4
  506. package/build/src/utils/prompts.js.map +1 -1
  507. package/build/src/utils/scheme.js +75 -23
  508. package/build/src/utils/scheme.js.map +1 -1
  509. package/build/src/utils/tar.js +16 -4
  510. package/build/src/utils/tar.js.map +1 -1
  511. package/build/src/utils/telemetry/DetachedClient.js +87 -0
  512. package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
  513. package/build/src/utils/telemetry/RudderClient.js +98 -0
  514. package/build/src/utils/telemetry/RudderClient.js.map +1 -0
  515. package/build/src/utils/telemetry/flushDetached.js +43 -0
  516. package/build/src/utils/telemetry/flushDetached.js.map +1 -0
  517. package/build/src/utils/telemetry/getContext.js +92 -0
  518. package/build/src/utils/telemetry/getContext.js.map +1 -0
  519. package/build/src/utils/telemetry/index.js +32 -0
  520. package/build/src/utils/telemetry/index.js.map +1 -0
  521. package/build/src/utils/telemetry/types.js +6 -0
  522. package/build/src/utils/telemetry/types.js.map +1 -0
  523. package/build/src/utils/tsconfig/evaluateTsConfig.js +16 -4
  524. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  525. package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -6
  526. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  527. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +10 -4
  528. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  529. package/build/src/utils/url.js +19 -10
  530. package/build/src/utils/url.js.map +1 -1
  531. package/build/src/utils/validateApplicationId.js +18 -6
  532. package/build/src/utils/validateApplicationId.js.map +1 -1
  533. package/build/src/whoami/whoamiAsync.js +8 -2
  534. package/build/src/whoami/whoamiAsync.js.map +1 -1
  535. package/package.json +15 -16
  536. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +27907 -0
  537. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +9494 -0
  538. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +10015 -0
  539. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +28375 -0
  540. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +9714 -0
  541. package/build/src/run/android/resolveGradleProps.js +0 -37
  542. package/build/src/run/android/resolveGradleProps.js.map +0 -1
  543. package/build/src/start/server/metro/bundleApiRoutes.js +0 -52
  544. package/build/src/start/server/metro/bundleApiRoutes.js.map +0 -1
  545. package/build/src/start/server/metro/debugging/InspectorDevice.js +0 -80
  546. package/build/src/start/server/metro/debugging/InspectorDevice.js.map +0 -1
  547. package/build/src/start/server/metro/debugging/InspectorProxy.js +0 -116
  548. package/build/src/start/server/metro/debugging/InspectorProxy.js.map +0 -1
  549. package/build/src/start/server/metro/debugging/inspectorHandlers/NetworkResponse.js.map +0 -1
  550. package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js.map +0 -1
  551. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js +0 -21
  552. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +0 -1
  553. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js +0 -56
  554. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js.map +0 -1
  555. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js +0 -18
  556. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +0 -1
  557. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js +0 -24
  558. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js.map +0 -1
  559. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeGetProperties.js.map +0 -1
  560. package/build/src/start/server/metro/debugging/inspectorHandlers/types.js.map +0 -1
  561. package/build/src/start/server/metro/debugging/inspectorHandlers/utils.js.map +0 -1
  562. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +0 -38
  563. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +0 -1
  564. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +0 -38
  565. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +0 -1
  566. package/build/src/start/server/type-generation/__typetests__/route.test.js +0 -184
  567. package/build/src/start/server/type-generation/__typetests__/route.test.js.map +0 -1
  568. package/build/src/utils/analytics/rudderstackClient.js +0 -147
  569. package/build/src/utils/analytics/rudderstackClient.js.map +0 -1
  570. /package/build/src/start/server/metro/debugging/{inspectorHandlers/types.js → types.js} +0 -0
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- exports.resolveGradleProps = resolveGradleProps;
6
- var _path = _interopRequireDefault(require("path"));
7
- var _errors = require("../../utils/errors");
8
- function _interopRequireDefault(obj) {
9
- return obj && obj.__esModule ? obj : {
10
- default: obj
11
- };
12
- }
13
- function assertVariant(variant) {
14
- if (variant && typeof variant !== "string") {
15
- throw new _errors.CommandError("BAD_ARGS", "--variant must be a string");
16
- }
17
- return variant != null ? variant : "debug";
18
- }
19
- function resolveGradleProps(projectRoot, options) {
20
- const variant = assertVariant(options.variant);
21
- // NOTE(EvanBacon): Why would this be different? Can we get the different name?
22
- const appName = "app";
23
- const apkDirectory = _path.default.join(projectRoot, "android", appName, "build", "outputs", "apk");
24
- // buildDeveloperTrust -> build, developer, trust (where developer, and trust are flavors).
25
- // This won't work for non-standard flavor names like "myFlavor" would be treated as "my", "flavor".
26
- const [buildType, ...flavors] = variant.split(/(?=[A-Z])/).map((v)=>v.toLowerCase()
27
- );
28
- const apkVariantDirectory = _path.default.join(apkDirectory, ...flavors, buildType);
29
- return {
30
- appName,
31
- buildType,
32
- flavors,
33
- apkVariantDirectory
34
- };
35
- }
36
-
37
- //# sourceMappingURL=resolveGradleProps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/run/android/resolveGradleProps.ts"],"sourcesContent":["import path from 'path';\n\nimport { CommandError } from '../../utils/errors';\n\nexport type GradleProps = {\n /** Directory for the APK based on the `variant`. */\n apkVariantDirectory: string;\n /** Name of the app, used in the `apkVariantDirectory`. */\n appName: string;\n /** First section of the provided `variant`, indicates the last part of the file name for the output APK. */\n buildType: string;\n /** Used to assemble the APK, also included in the output APK filename. */\n flavors?: string[];\n};\n\nfunction assertVariant(variant?: string) {\n if (variant && typeof variant !== 'string') {\n throw new CommandError('BAD_ARGS', '--variant must be a string');\n }\n return variant ?? 'debug';\n}\n\nexport function resolveGradleProps(\n projectRoot: string,\n options: { variant?: string }\n): GradleProps {\n const variant = assertVariant(options.variant);\n // NOTE(EvanBacon): Why would this be different? Can we get the different name?\n const appName = 'app';\n\n const apkDirectory = path.join(projectRoot, 'android', appName, 'build', 'outputs', 'apk');\n\n // buildDeveloperTrust -> build, developer, trust (where developer, and trust are flavors).\n // This won't work for non-standard flavor names like \"myFlavor\" would be treated as \"my\", \"flavor\".\n const [buildType, ...flavors] = variant.split(/(?=[A-Z])/).map((v) => v.toLowerCase());\n const apkVariantDirectory = path.join(apkDirectory, ...flavors, buildType);\n\n return {\n appName,\n buildType,\n flavors,\n apkVariantDirectory,\n };\n}\n"],"names":["resolveGradleProps","assertVariant","variant","CommandError","projectRoot","options","appName","apkDirectory","path","join","buildType","flavors","split","map","v","toLowerCase","apkVariantDirectory"],"mappings":"AAAA;;;;QAsBgBA,kBAAkB,GAAlBA,kBAAkB;AAtBjB,IAAA,KAAM,kCAAN,MAAM,EAAA;AAEM,IAAA,OAAoB,WAApB,oBAAoB,CAAA;;;;;;AAajD,SAASC,aAAa,CAACC,OAAgB,EAAE;IACvC,IAAIA,OAAO,IAAI,OAAOA,OAAO,KAAK,QAAQ,EAAE;QAC1C,MAAM,IAAIC,OAAY,aAAA,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;KAClE;IACD,OAAOD,OAAO,WAAPA,OAAO,GAAI,OAAO,CAAC;CAC3B;AAEM,SAASF,kBAAkB,CAChCI,WAAmB,EACnBC,OAA6B,EAChB;IACb,MAAMH,OAAO,GAAGD,aAAa,CAACI,OAAO,CAACH,OAAO,CAAC,AAAC;IAC/C,+EAA+E;IAC/E,MAAMI,OAAO,GAAG,KAAK,AAAC;IAEtB,MAAMC,YAAY,GAAGC,KAAI,QAAA,CAACC,IAAI,CAACL,WAAW,EAAE,SAAS,EAAEE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,AAAC;IAE3F,2FAA2F;IAC3F,oGAAoG;IACpG,MAAM,CAACI,SAAS,EAAE,GAAGC,OAAO,CAAC,GAAGT,OAAO,CAACU,KAAK,aAAa,CAACC,GAAG,CAAC,CAACC,CAAC,GAAKA,CAAC,CAACC,WAAW,EAAE;IAAA,CAAC,AAAC;IACvF,MAAMC,mBAAmB,GAAGR,KAAI,QAAA,CAACC,IAAI,CAACF,YAAY,KAAKI,OAAO,EAAED,SAAS,CAAC,AAAC;IAE3E,OAAO;QACLJ,OAAO;QACPI,SAAS;QACTC,OAAO;QACPK,mBAAmB;KACpB,CAAC;CACH"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- exports.bundleApiRoute = bundleApiRoute;
6
- exports.invalidateApiRouteCache = invalidateApiRouteCache;
7
- var _metroErrorInterface = require("./metroErrorInterface");
8
- var _getStaticRenderFunctions = require("../getStaticRenderFunctions");
9
- const debug = require("debug")("expo:api-routes");
10
- const pendingRouteOperations = new Map();
11
- async function bundleApiRoute(projectRoot, filepath, options) {
12
- if (pendingRouteOperations.has(filepath)) {
13
- return pendingRouteOperations.get(filepath);
14
- }
15
- const devServerUrl = `http://localhost:${options.port}`;
16
- async function bundleAsync() {
17
- try {
18
- debug("Bundle API route:", options.routerRoot, filepath);
19
- const middleware = await (0, _getStaticRenderFunctions).requireFileContentsWithMetro(projectRoot, devServerUrl, filepath, {
20
- minify: options.mode === "production",
21
- dev: options.mode !== "production",
22
- // Ensure Node.js
23
- environment: "node",
24
- baseUrl: options.baseUrl,
25
- routerRoot: options.routerRoot
26
- });
27
- return middleware;
28
- } catch (error) {
29
- if (error instanceof Error) {
30
- await (0, _metroErrorInterface).logMetroErrorAsync({
31
- error,
32
- projectRoot
33
- });
34
- }
35
- if (options.shouldThrow) {
36
- throw error;
37
- }
38
- // TODO: improve error handling, maybe have this be a mock function which returns the static error html
39
- return null;
40
- } finally{
41
- // pendingRouteOperations.delete(filepath);
42
- }
43
- }
44
- const route = bundleAsync();
45
- pendingRouteOperations.set(filepath, route);
46
- return route;
47
- }
48
- async function invalidateApiRouteCache() {
49
- pendingRouteOperations.clear();
50
- }
51
-
52
- //# sourceMappingURL=bundleApiRoutes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/start/server/metro/bundleApiRoutes.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { logMetroErrorAsync } from './metroErrorInterface';\nimport { requireFileContentsWithMetro } from '../getStaticRenderFunctions';\n\nconst debug = require('debug')('expo:api-routes') as typeof console.log;\n\nconst pendingRouteOperations = new Map<string, Promise<{ src: string; filename: string } | null>>();\n\nexport type ApiRouteOptions = {\n mode?: string;\n routerRoot: string;\n port?: number;\n shouldThrow?: boolean;\n baseUrl: string;\n};\n\n// Bundle the API Route with Metro and return the string contents to be evaluated in the server.\nexport async function bundleApiRoute(\n projectRoot: string,\n filepath: string,\n options: ApiRouteOptions\n): Promise<{ src: string; filename: string } | null | undefined> {\n if (pendingRouteOperations.has(filepath)) {\n return pendingRouteOperations.get(filepath);\n }\n\n const devServerUrl = `http://localhost:${options.port}`;\n\n async function bundleAsync() {\n try {\n debug('Bundle API route:', options.routerRoot, filepath);\n\n const middleware = await requireFileContentsWithMetro(projectRoot, devServerUrl, filepath, {\n minify: options.mode === 'production',\n dev: options.mode !== 'production',\n // Ensure Node.js\n environment: 'node',\n baseUrl: options.baseUrl,\n routerRoot: options.routerRoot,\n });\n\n return middleware;\n } catch (error: any) {\n if (error instanceof Error) {\n await logMetroErrorAsync({ error, projectRoot });\n }\n if (options.shouldThrow) {\n throw error;\n }\n // TODO: improve error handling, maybe have this be a mock function which returns the static error html\n return null;\n } finally {\n // pendingRouteOperations.delete(filepath);\n }\n }\n const route = bundleAsync();\n\n pendingRouteOperations.set(filepath, route);\n return route;\n}\n\nexport async function invalidateApiRouteCache() {\n pendingRouteOperations.clear();\n}\n"],"names":["bundleApiRoute","invalidateApiRouteCache","debug","require","pendingRouteOperations","Map","projectRoot","filepath","options","has","get","devServerUrl","port","bundleAsync","routerRoot","middleware","requireFileContentsWithMetro","minify","mode","dev","environment","baseUrl","error","Error","logMetroErrorAsync","shouldThrow","route","set","clear"],"mappings":"AAOA;;;;QAgBsBA,cAAc,GAAdA,cAAc;QA4CdC,uBAAuB,GAAvBA,uBAAuB;AA5DV,IAAA,oBAAuB,WAAvB,uBAAuB,CAAA;AACb,IAAA,yBAA6B,WAA7B,6BAA6B,CAAA;AAE1E,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,AAAsB,AAAC;AAExE,MAAMC,sBAAsB,GAAG,IAAIC,GAAG,EAA6D,AAAC;AAW7F,eAAeL,cAAc,CAClCM,WAAmB,EACnBC,QAAgB,EAChBC,OAAwB,EACuC;IAC/D,IAAIJ,sBAAsB,CAACK,GAAG,CAACF,QAAQ,CAAC,EAAE;QACxC,OAAOH,sBAAsB,CAACM,GAAG,CAACH,QAAQ,CAAC,CAAC;KAC7C;IAED,MAAMI,YAAY,GAAG,CAAC,iBAAiB,EAAEH,OAAO,CAACI,IAAI,CAAC,CAAC,AAAC;IAExD,eAAeC,WAAW,GAAG;QAC3B,IAAI;YACFX,KAAK,CAAC,mBAAmB,EAAEM,OAAO,CAACM,UAAU,EAAEP,QAAQ,CAAC,CAAC;YAEzD,MAAMQ,UAAU,GAAG,MAAMC,CAAAA,GAAAA,yBAA4B,AAOnD,CAAA,6BAPmD,CAACV,WAAW,EAAEK,YAAY,EAAEJ,QAAQ,EAAE;gBACzFU,MAAM,EAAET,OAAO,CAACU,IAAI,KAAK,YAAY;gBACrCC,GAAG,EAAEX,OAAO,CAACU,IAAI,KAAK,YAAY;gBAClC,iBAAiB;gBACjBE,WAAW,EAAE,MAAM;gBACnBC,OAAO,EAAEb,OAAO,CAACa,OAAO;gBACxBP,UAAU,EAAEN,OAAO,CAACM,UAAU;aAC/B,CAAC,AAAC;YAEH,OAAOC,UAAU,CAAC;SACnB,CAAC,OAAOO,KAAK,EAAO;YACnB,IAAIA,KAAK,YAAYC,KAAK,EAAE;gBAC1B,MAAMC,CAAAA,GAAAA,oBAAkB,AAAwB,CAAA,mBAAxB,CAAC;oBAAEF,KAAK;oBAAEhB,WAAW;iBAAE,CAAC,CAAC;aAClD;YACD,IAAIE,OAAO,CAACiB,WAAW,EAAE;gBACvB,MAAMH,KAAK,CAAC;aACb;YACD,uGAAuG;YACvG,OAAO,IAAI,CAAC;SACb,QAAS;QACR,2CAA2C;SAC5C;KACF;IACD,MAAMI,KAAK,GAAGb,WAAW,EAAE,AAAC;IAE5BT,sBAAsB,CAACuB,GAAG,CAACpB,QAAQ,EAAEmB,KAAK,CAAC,CAAC;IAC5C,OAAOA,KAAK,CAAC;CACd;AAEM,eAAezB,uBAAuB,GAAG;IAC9CG,sBAAsB,CAACwB,KAAK,EAAE,CAAC;CAChC"}
@@ -1,80 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- exports.createInspectorDeviceClass = createInspectorDeviceClass;
6
- var _nodeFetch = _interopRequireDefault(require("node-fetch"));
7
- var _networkResponse = require("./inspectorHandlers/NetworkResponse");
8
- var _pageReload = require("./inspectorHandlers/PageReload");
9
- var _vscodeDebuggerGetPossibleBreakpoints = require("./inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints");
10
- var _vscodeDebuggerScriptParsed = require("./inspectorHandlers/VscodeDebuggerScriptParsed");
11
- var _vscodeDebuggerSetBreakpointByUrl = require("./inspectorHandlers/VscodeDebuggerSetBreakpointByUrl");
12
- var _vscodeRuntimeCallFunctionOn = require("./inspectorHandlers/VscodeRuntimeCallFunctionOn");
13
- var _vscodeRuntimeGetProperties = require("./inspectorHandlers/VscodeRuntimeGetProperties");
14
- function _interopRequireDefault(obj) {
15
- return obj && obj.__esModule ? obj : {
16
- default: obj
17
- };
18
- }
19
- function createInspectorDeviceClass(metroBundler, MetroDeviceClass) {
20
- return class ExpoInspectorDevice extends MetroDeviceClass {
21
- /** All handlers that should be used to intercept or reply to CDP events */ handlers = [
22
- // Generic handlers
23
- new _networkResponse.NetworkResponseHandler(),
24
- new _pageReload.PageReloadHandler(metroBundler),
25
- // Vscode-specific handlers
26
- new _vscodeDebuggerGetPossibleBreakpoints.VscodeDebuggerGetPossibleBreakpointsHandler(),
27
- new _vscodeDebuggerScriptParsed.VscodeDebuggerScriptParsedHandler(this),
28
- new _vscodeDebuggerSetBreakpointByUrl.VscodeDebuggerSetBreakpointByUrlHandler(),
29
- new _vscodeRuntimeGetProperties.VscodeRuntimeGetPropertiesHandler(),
30
- new _vscodeRuntimeCallFunctionOn.VscodeRuntimeCallFunctionOnHandler(),
31
- ];
32
- onDeviceMessage(message, info) {
33
- var ref;
34
- return this.handlers.some((handler)=>{
35
- return (ref = handler.onDeviceMessage == null ? void 0 : handler.onDeviceMessage(message, info)) != null ? ref : false;
36
- });
37
- }
38
- onDebuggerMessage(message, info) {
39
- var ref;
40
- return this.handlers.some((handler)=>{
41
- return (ref = handler.onDebuggerMessage == null ? void 0 : handler.onDebuggerMessage(message, info)) != null ? ref : false;
42
- });
43
- }
44
- /** Hook into the message life cycle to answer more complex CDP messages */ async _processMessageFromDevice(message, info) {
45
- if (!this.onDeviceMessage(message, info)) {
46
- await super._processMessageFromDevice(message, info);
47
- }
48
- }
49
- /** Hook into the message life cycle to answer more complex CDP messages */ _interceptMessageFromDebugger(request, info, socket) {
50
- // Note, `socket` is the exact same as `info.socket`
51
- if (this.onDebuggerMessage(request, info)) {
52
- return true;
53
- }
54
- return super._interceptMessageFromDebugger(request, info, socket);
55
- }
56
- /**
57
- * Overwrite the default text fetcher, to load sourcemaps from sources other than `localhost`.
58
- * @todo Cedric: remove the custom `DebuggerScriptSource` handler when switching over to `metro@>=0.75.1`
59
- * @see https://github.com/facebook/metro/blob/77f445f1bcd2264ad06174dbf8d542bc75834d29/packages/metro-inspector-proxy/src/Device.js#L573-L588
60
- * @since metro-inspector-proxy@0.75.1
61
- */ async _fetchText(url) {
62
- const LENGTH_LIMIT_BYTES = 350000000; // 350mb
63
- const response = await (0, _nodeFetch).default(url);
64
- if (!response.ok) {
65
- throw new Error(`Received status ${response.status} while fetching: ${url}`);
66
- }
67
- const contentLength = response.headers.get("Content-Length");
68
- if (contentLength && Number(contentLength) > LENGTH_LIMIT_BYTES) {
69
- throw new Error("Expected file size is too large (more than 350mb)");
70
- }
71
- const text = await response.text();
72
- if (Buffer.byteLength(text, "utf8") > LENGTH_LIMIT_BYTES) {
73
- throw new Error("File size is too large (more than 350mb)");
74
- }
75
- return text;
76
- }
77
- };
78
- }
79
-
80
- //# sourceMappingURL=InspectorDevice.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/start/server/metro/debugging/InspectorDevice.ts"],"sourcesContent":["import type { unstable_Device } from '@react-native/dev-middleware';\nimport fetch from 'node-fetch';\nimport type WS from 'ws';\n\nimport { NetworkResponseHandler } from './inspectorHandlers/NetworkResponse';\nimport { PageReloadHandler } from './inspectorHandlers/PageReload';\nimport { VscodeDebuggerGetPossibleBreakpointsHandler } from './inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints';\nimport { VscodeDebuggerScriptParsedHandler } from './inspectorHandlers/VscodeDebuggerScriptParsed';\nimport { VscodeDebuggerSetBreakpointByUrlHandler } from './inspectorHandlers/VscodeDebuggerSetBreakpointByUrl';\nimport { VscodeRuntimeCallFunctionOnHandler } from './inspectorHandlers/VscodeRuntimeCallFunctionOn';\nimport { VscodeRuntimeGetPropertiesHandler } from './inspectorHandlers/VscodeRuntimeGetProperties';\nimport { DebuggerMetadata, DeviceRequest, InspectorHandler } from './inspectorHandlers/types';\nimport { type MetroBundlerDevServer } from '../MetroBundlerDevServer';\n\nexport function createInspectorDeviceClass(\n metroBundler: MetroBundlerDevServer,\n MetroDeviceClass: typeof unstable_Device\n): typeof unstable_Device {\n return class ExpoInspectorDevice extends MetroDeviceClass implements InspectorHandler {\n /** All handlers that should be used to intercept or reply to CDP events */\n public handlers: InspectorHandler[] = [\n // Generic handlers\n new NetworkResponseHandler(),\n new PageReloadHandler(metroBundler),\n // Vscode-specific handlers\n new VscodeDebuggerGetPossibleBreakpointsHandler(),\n new VscodeDebuggerScriptParsedHandler(this),\n new VscodeDebuggerSetBreakpointByUrlHandler(),\n new VscodeRuntimeGetPropertiesHandler(),\n new VscodeRuntimeCallFunctionOnHandler(),\n ];\n\n onDeviceMessage(message: any, info: DebuggerMetadata): boolean {\n return this.handlers.some((handler) => handler.onDeviceMessage?.(message, info) ?? false);\n }\n\n onDebuggerMessage(message: any, info: DebuggerMetadata): boolean {\n return this.handlers.some((handler) => handler.onDebuggerMessage?.(message, info) ?? false);\n }\n\n /** Hook into the message life cycle to answer more complex CDP messages */\n async _processMessageFromDevice(message: DeviceRequest<any>, info: DebuggerMetadata) {\n if (!this.onDeviceMessage(message, info)) {\n await super._processMessageFromDevice(message, info);\n }\n }\n\n /** Hook into the message life cycle to answer more complex CDP messages */\n _interceptMessageFromDebugger(\n request: Parameters<unstable_Device['_interceptMessageFromDebugger']>[0],\n info: DebuggerMetadata,\n socket: WS\n ): boolean {\n // Note, `socket` is the exact same as `info.socket`\n if (this.onDebuggerMessage(request, info)) {\n return true;\n }\n\n return super._interceptMessageFromDebugger(request, info, socket);\n }\n\n /**\n * Overwrite the default text fetcher, to load sourcemaps from sources other than `localhost`.\n * @todo Cedric: remove the custom `DebuggerScriptSource` handler when switching over to `metro@>=0.75.1`\n * @see https://github.com/facebook/metro/blob/77f445f1bcd2264ad06174dbf8d542bc75834d29/packages/metro-inspector-proxy/src/Device.js#L573-L588\n * @since metro-inspector-proxy@0.75.1\n */\n async _fetchText(url: URL): Promise<string> {\n const LENGTH_LIMIT_BYTES = 350_000_000; // 350mb\n\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(`Received status ${response.status} while fetching: ${url}`);\n }\n\n const contentLength = response.headers.get('Content-Length');\n if (contentLength && Number(contentLength) > LENGTH_LIMIT_BYTES) {\n throw new Error('Expected file size is too large (more than 350mb)');\n }\n\n const text = await response.text();\n if (Buffer.byteLength(text, 'utf8') > LENGTH_LIMIT_BYTES) {\n throw new Error('File size is too large (more than 350mb)');\n }\n\n return text;\n }\n };\n}\n"],"names":["createInspectorDeviceClass","metroBundler","MetroDeviceClass","ExpoInspectorDevice","handlers","NetworkResponseHandler","PageReloadHandler","VscodeDebuggerGetPossibleBreakpointsHandler","VscodeDebuggerScriptParsedHandler","VscodeDebuggerSetBreakpointByUrlHandler","VscodeRuntimeGetPropertiesHandler","VscodeRuntimeCallFunctionOnHandler","onDeviceMessage","message","info","handler","some","onDebuggerMessage","_processMessageFromDevice","_interceptMessageFromDebugger","request","socket","_fetchText","url","LENGTH_LIMIT_BYTES","response","fetch","ok","Error","status","contentLength","headers","get","Number","text","Buffer","byteLength"],"mappings":"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"}
@@ -1,116 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- exports.createInspectorProxyClass = createInspectorProxyClass;
6
- var _url = _interopRequireDefault(require("url"));
7
- var _ws = _interopRequireDefault(require("ws"));
8
- function _interopRequireDefault(obj) {
9
- return obj && obj.__esModule ? obj : {
10
- default: obj
11
- };
12
- }
13
- const debug = require("debug")("expo:metro:inspector-proxy:proxy");
14
- /** Web socket error code for unknown internal errors */ const INTERNAL_ERROR_CODE = 1011;
15
- function createInspectorProxyClass(MetroInspectorProxyClass, MetroDeviceClass) {
16
- return class ExpoInspectorProxy extends MetroInspectorProxyClass {
17
- /**
18
- * This method is overwritten to inject our own device class.
19
- * @see https://github.com/facebook/react-native/blob/f1df4ceb8479a6fc9c30f7571f5aeec255b116d2/packages/dev-middleware/src/inspector-proxy/InspectorProxy.js#L179-L227
20
- */ _createDeviceConnectionWSServer() {
21
- const wss = new _ws.default.Server({
22
- noServer: true,
23
- perMessageDeflate: true,
24
- // Don't crash on exceptionally large messages - assume the device is
25
- // well-behaved and the debugger is prepared to handle large messages.
26
- maxPayload: 0
27
- });
28
- wss.on("connection", async (socket, req)=>{
29
- try {
30
- const fallbackDeviceId = String(this._deviceCounter++);
31
- const query = _url.default.parse(req.url || "", true).query || {};
32
- const deviceId = asString(query.device) || fallbackDeviceId;
33
- const deviceName = asString(query.name) || "Unknown";
34
- const appName = asString(query.app) || "Unknown";
35
- const oldDevice = this._devices.get(deviceId);
36
- // FIX: Create a new device instance using our own extended class
37
- const newDevice = new MetroDeviceClass(deviceId, deviceName, appName, socket, this._projectRoot, this._eventReporter);
38
- if (oldDevice) {
39
- oldDevice.handleDuplicateDeviceConnection(newDevice);
40
- }
41
- this._devices.set(deviceId, newDevice);
42
- debug(`Got new connection: name=${deviceName}, app=${appName}, device=${deviceId}`);
43
- socket.on("close", ()=>{
44
- // FIX: Only clean up the device reference, if not replaced by new device
45
- if (this._devices.get(deviceId) === newDevice) {
46
- this._devices.delete(deviceId);
47
- debug(`Device ${deviceName} disconnected.`);
48
- } else {
49
- debug(`Device ${deviceName} reconnected.`);
50
- }
51
- });
52
- } catch (e) {
53
- var // FIX: add missing event reporter
54
- ref;
55
- console.error("error", e);
56
- var ref1;
57
- socket.close(INTERNAL_ERROR_CODE, (ref1 = e == null ? void 0 : e.toString()) != null ? ref1 : "Unknown error");
58
- (ref = this._eventReporter) == null ? void 0 : ref.logEvent({
59
- type: "connect_debugger_app",
60
- status: "error",
61
- error: e
62
- });
63
- }
64
- });
65
- return wss;
66
- }
67
- /**
68
- * This method is overwritten to allow user agents to be passed as query parameter.
69
- * The built-in debugger in vscode does not add any user agent headers.
70
- * @see https://github.com/facebook/react-native/blob/f1df4ceb8479a6fc9c30f7571f5aeec255b116d2/packages/dev-middleware/src/inspector-proxy/InspectorProxy.js#L234-L272
71
- */ _createDebuggerConnectionWSServer() {
72
- const wss = new _ws.default.Server({
73
- noServer: true,
74
- perMessageDeflate: false,
75
- // Don't crash on exceptionally large messages - assume the debugger is
76
- // well-behaved and the device is prepared to handle large messages.
77
- maxPayload: 0
78
- });
79
- wss.on("connection", async (socket, req)=>{
80
- try {
81
- const query = _url.default.parse(req.url || "", true).query || {};
82
- const deviceId = asString(query.device);
83
- const pageId = asString(query.page);
84
- // FIX: Determine the user agent from query paramter or header
85
- const userAgent = asString(query.userAgent) || req.headers["user-agent"] || null;
86
- if (deviceId == null || pageId == null) {
87
- throw new Error("Incorrect URL - must provide device and page IDs");
88
- }
89
- const device = this._devices.get(deviceId);
90
- if (device == null) {
91
- throw new Error("Unknown device with ID " + deviceId);
92
- }
93
- device.handleDebuggerConnection(socket, pageId, {
94
- userAgent
95
- });
96
- } catch (e) {
97
- var ref;
98
- console.error(e);
99
- var ref2;
100
- socket.close(INTERNAL_ERROR_CODE, (ref2 = e == null ? void 0 : e.toString()) != null ? ref2 : "Unknown error");
101
- (ref = this._eventReporter) == null ? void 0 : ref.logEvent({
102
- type: "connect_debugger_frontend",
103
- status: "error",
104
- error: e
105
- });
106
- }
107
- });
108
- return wss;
109
- }
110
- };
111
- }
112
- /** Convert the query paramters to plain string */ function asString(value = "") {
113
- return Array.isArray(value) ? value.join() : value;
114
- }
115
-
116
- //# sourceMappingURL=InspectorProxy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/start/server/metro/debugging/InspectorProxy.ts"],"sourcesContent":["import type { unstable_InspectorProxy, unstable_Device } from '@react-native/dev-middleware';\nimport url from 'url';\nimport WS from 'ws';\n\nconst debug = require('debug')('expo:metro:inspector-proxy:proxy') as typeof console.log;\n\n/** Web socket error code for unknown internal errors */\nconst INTERNAL_ERROR_CODE = 1011;\n\n/**\n * Create a new Expo proxy inspector class that uses the feature-extended device class.\n * Everything else is reused from the original class.\n *\n * @see https://github.com/facebook/react-native/blob/f1df4ceb8479a6fc9c30f7571f5aeec255b116d2/packages/dev-middleware/src/inspector-proxy/InspectorProxy.js\n */\nexport function createInspectorProxyClass(\n MetroInspectorProxyClass: typeof unstable_InspectorProxy,\n MetroDeviceClass: typeof unstable_Device\n): typeof unstable_InspectorProxy {\n return class ExpoInspectorProxy extends MetroInspectorProxyClass {\n /**\n * This method is overwritten to inject our own device class.\n * @see https://github.com/facebook/react-native/blob/f1df4ceb8479a6fc9c30f7571f5aeec255b116d2/packages/dev-middleware/src/inspector-proxy/InspectorProxy.js#L179-L227\n */\n _createDeviceConnectionWSServer() {\n const wss = new WS.Server({\n noServer: true,\n perMessageDeflate: true,\n // Don't crash on exceptionally large messages - assume the device is\n // well-behaved and the debugger is prepared to handle large messages.\n maxPayload: 0,\n });\n\n wss.on('connection', async (socket: WS, req) => {\n try {\n const fallbackDeviceId = String(this._deviceCounter++);\n\n const query = url.parse(req.url || '', true).query || {};\n const deviceId = asString(query.device) || fallbackDeviceId;\n const deviceName = asString(query.name) || 'Unknown';\n const appName = asString(query.app) || 'Unknown';\n\n const oldDevice = this._devices.get(deviceId);\n // FIX: Create a new device instance using our own extended class\n const newDevice = new MetroDeviceClass(\n deviceId,\n deviceName,\n appName,\n socket,\n this._projectRoot,\n this._eventReporter\n );\n\n if (oldDevice) {\n oldDevice.handleDuplicateDeviceConnection(newDevice);\n }\n\n this._devices.set(deviceId, newDevice);\n\n debug(`Got new connection: name=${deviceName}, app=${appName}, device=${deviceId}`);\n\n socket.on('close', () => {\n // FIX: Only clean up the device reference, if not replaced by new device\n if (this._devices.get(deviceId) === newDevice) {\n this._devices.delete(deviceId);\n debug(`Device ${deviceName} disconnected.`);\n } else {\n debug(`Device ${deviceName} reconnected.`);\n }\n });\n } catch (e) {\n console.error('error', e);\n socket.close(INTERNAL_ERROR_CODE, e?.toString() ?? 'Unknown error');\n // FIX: add missing event reporter\n this._eventReporter?.logEvent({\n type: 'connect_debugger_app',\n status: 'error',\n error: e,\n });\n }\n });\n\n return wss;\n }\n\n /**\n * This method is overwritten to allow user agents to be passed as query parameter.\n * The built-in debugger in vscode does not add any user agent headers.\n * @see https://github.com/facebook/react-native/blob/f1df4ceb8479a6fc9c30f7571f5aeec255b116d2/packages/dev-middleware/src/inspector-proxy/InspectorProxy.js#L234-L272\n */\n _createDebuggerConnectionWSServer() {\n const wss = new WS.Server({\n noServer: true,\n perMessageDeflate: false,\n // Don't crash on exceptionally large messages - assume the debugger is\n // well-behaved and the device is prepared to handle large messages.\n maxPayload: 0,\n });\n\n wss.on('connection', async (socket: WS, req) => {\n try {\n const query = url.parse(req.url || '', true).query || {};\n const deviceId = asString(query.device);\n const pageId = asString(query.page);\n // FIX: Determine the user agent from query paramter or header\n const userAgent = asString(query.userAgent) || req.headers['user-agent'] || null;\n\n if (deviceId == null || pageId == null) {\n throw new Error('Incorrect URL - must provide device and page IDs');\n }\n\n const device = this._devices.get(deviceId);\n if (device == null) {\n throw new Error('Unknown device with ID ' + deviceId);\n }\n\n device.handleDebuggerConnection(socket, pageId, { userAgent });\n } catch (e) {\n console.error(e);\n socket.close(INTERNAL_ERROR_CODE, e?.toString() ?? 'Unknown error');\n this._eventReporter?.logEvent({\n type: 'connect_debugger_frontend',\n status: 'error',\n error: e,\n });\n }\n });\n\n return wss;\n }\n };\n}\n\n/** Convert the query paramters to plain string */\nfunction asString(value: string | string[] = ''): string {\n return Array.isArray(value) ? value.join() : value;\n}\n"],"names":["createInspectorProxyClass","debug","require","INTERNAL_ERROR_CODE","MetroInspectorProxyClass","MetroDeviceClass","ExpoInspectorProxy","_createDeviceConnectionWSServer","wss","WS","Server","noServer","perMessageDeflate","maxPayload","on","socket","req","fallbackDeviceId","String","_deviceCounter","query","url","parse","deviceId","asString","device","deviceName","name","appName","app","oldDevice","_devices","get","newDevice","_projectRoot","_eventReporter","handleDuplicateDeviceConnection","set","delete","e","console","error","close","toString","logEvent","type","status","_createDebuggerConnectionWSServer","pageId","page","userAgent","headers","Error","handleDebuggerConnection","value","Array","isArray","join"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/start/server/metro/debugging/inspectorHandlers/NetworkResponse.ts"],"sourcesContent":["import type { Protocol } from 'devtools-protocol';\n\nimport {\n CdpMessage,\n InspectorHandler,\n DebuggerMetadata,\n DeviceRequest,\n DebuggerRequest,\n DebuggerResponse,\n DeviceResponse,\n} from './types';\nimport { respond } from './utils';\n\nexport class NetworkResponseHandler implements InspectorHandler {\n /** All known responses, mapped by request id */\n storage = new Map<string, DebuggerResponse<NetworkGetResponseBody>['result']>();\n\n onDeviceMessage(message: DeviceRequest<NetworkReceivedResponseBody>) {\n if (message.method === 'Expo(Network.receivedResponseBody)') {\n const { requestId, ...requestInfo } = message.params;\n this.storage.set(requestId, requestInfo);\n return true;\n }\n\n return false;\n }\n\n onDebuggerMessage(\n message: DebuggerRequest<NetworkGetResponseBody>,\n { socket }: DebuggerMetadata\n ) {\n if (\n message.method === 'Network.getResponseBody' &&\n this.storage.has(message.params.requestId)\n ) {\n return respond<DeviceResponse<NetworkGetResponseBody>>(socket, {\n id: message.id,\n result: this.storage.get(message.params.requestId)!,\n });\n }\n\n return false;\n }\n}\n\n/** Custom message to transfer the response body data to the proxy */\nexport type NetworkReceivedResponseBody = CdpMessage<\n 'Expo(Network.receivedResponseBody)',\n Protocol.Network.GetResponseBodyRequest & Protocol.Network.GetResponseBodyResponse,\n never\n>;\n\n/** @see https://chromedevtools.github.io/devtools-protocol/1-2/Network/#method-getResponseBody */\nexport type NetworkGetResponseBody = CdpMessage<\n 'Network.getResponseBody',\n Protocol.Network.GetResponseBodyRequest,\n Protocol.Network.GetResponseBodyResponse\n>;\n"],"names":["NetworkResponseHandler","storage","Map","onDeviceMessage","message","method","requestId","requestInfo","params","set","onDebuggerMessage","socket","has","respond","id","result","get"],"mappings":"AAAA;;;;AAWwB,IAAA,MAAS,WAAT,SAAS,CAAA;AAE1B,MAAMA,sBAAsB;IACjC,gDAAgD,CAChDC,OAAO,GAAG,IAAIC,GAAG,EAA8D,CAAC;IAEhFC,eAAe,CAACC,OAAmD,EAAE;QACnE,IAAIA,OAAO,CAACC,MAAM,KAAK,oCAAoC,EAAE;YAC3D,MAAM,EAAEC,SAAS,CAAA,EAAE,GAAGC,WAAW,EAAE,GAAGH,OAAO,CAACI,MAAM,AAAC;YACrD,IAAI,CAACP,OAAO,CAACQ,GAAG,CAACH,SAAS,EAAEC,WAAW,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;KACd;IAEDG,iBAAiB,CACfN,OAAgD,EAChD,EAAEO,MAAM,CAAA,EAAoB,EAC5B;QACA,IACEP,OAAO,CAACC,MAAM,KAAK,yBAAyB,IAC5C,IAAI,CAACJ,OAAO,CAACW,GAAG,CAACR,OAAO,CAACI,MAAM,CAACF,SAAS,CAAC,EAC1C;YACA,OAAOO,CAAAA,GAAAA,MAAO,AAGZ,CAAA,QAHY,CAAyCF,MAAM,EAAE;gBAC7DG,EAAE,EAAEV,OAAO,CAACU,EAAE;gBACdC,MAAM,EAAE,IAAI,CAACd,OAAO,CAACe,GAAG,CAACZ,OAAO,CAACI,MAAM,CAACF,SAAS,CAAC;aACnD,CAAC,CAAC;SACJ;QAED,OAAO,KAAK,CAAC;KACd;CACF;QA9BYN,sBAAsB,GAAtBA,sBAAsB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/start/server/metro/debugging/inspectorHandlers/PageReload.ts"],"sourcesContent":["import type { Protocol } from 'devtools-protocol';\n\nimport { CdpMessage, DebuggerMetadata, DebuggerRequest, InspectorHandler } from './types';\nimport { MetroBundlerDevServer } from '../../MetroBundlerDevServer';\n\nexport class PageReloadHandler implements InspectorHandler {\n constructor(private readonly metroBundler: MetroBundlerDevServer) {}\n\n onDebuggerMessage(message: DebuggerRequest<PageReload>, { socket }: DebuggerMetadata) {\n if (message.method === 'Page.reload') {\n this.metroBundler.broadcastMessage('reload');\n socket.send(JSON.stringify({ id: message.id }));\n return true;\n }\n\n return false;\n }\n}\n\n/** @see https://chromedevtools.github.io/devtools-protocol/1-2/Page/#method-reload */\nexport type PageReload = CdpMessage<'Page.reload', Protocol.Page.ReloadRequest, never>;\n"],"names":["PageReloadHandler","constructor","metroBundler","onDebuggerMessage","message","socket","method","broadcastMessage","send","JSON","stringify","id"],"mappings":"AAAA;;;;AAKO,MAAMA,iBAAiB;IAC5BC,YAA6BC,YAAmC,CAAE;aAArCA,YAAmC,GAAnCA,YAAmC;KAAI;IAEpEC,iBAAiB,CAACC,OAAoC,EAAE,EAAEC,MAAM,CAAA,EAAoB,EAAE;QACpF,IAAID,OAAO,CAACE,MAAM,KAAK,aAAa,EAAE;YACpC,IAAI,CAACJ,YAAY,CAACK,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC7CF,MAAM,CAACG,IAAI,CAACC,IAAI,CAACC,SAAS,CAAC;gBAAEC,EAAE,EAAEP,OAAO,CAACO,EAAE;aAAE,CAAC,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;SACb;QAED,OAAO,KAAK,CAAC;KACd;CACF;QAZYX,iBAAiB,GAAjBA,iBAAiB"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- var _utils = require("./utils");
6
- class VscodeDebuggerGetPossibleBreakpointsHandler {
7
- onDebuggerMessage(message, { socket , userAgent }) {
8
- if ((0, _utils).getDebuggerType(userAgent) === "vscode" && message.method === "Debugger.getPossibleBreakpoints") {
9
- return (0, _utils).respond(socket, {
10
- id: message.id,
11
- result: {
12
- locations: []
13
- }
14
- });
15
- }
16
- return false;
17
- }
18
- }
19
- exports.VscodeDebuggerGetPossibleBreakpointsHandler = VscodeDebuggerGetPossibleBreakpointsHandler;
20
-
21
- //# sourceMappingURL=VscodeDebuggerGetPossibleBreakpoints.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.ts"],"sourcesContent":["import Protocol from 'devtools-protocol';\n\nimport {\n CdpMessage,\n DebuggerMetadata,\n DebuggerRequest,\n DeviceResponse,\n InspectorHandler,\n} from './types';\nimport { getDebuggerType, respond } from './utils';\n\n/**\n * Hermes doesn't seem to handle this request, but `locations` have to be returned.\n * Respond with an empty location to make it \"spec compliant\" with Chrome DevTools.\n */\nexport class VscodeDebuggerGetPossibleBreakpointsHandler implements InspectorHandler {\n onDebuggerMessage(\n message: DebuggerRequest<DebuggerGetPossibleBreakpoints>,\n { socket, userAgent }: DebuggerMetadata\n ): boolean {\n if (\n getDebuggerType(userAgent) === 'vscode' &&\n message.method === 'Debugger.getPossibleBreakpoints'\n ) {\n return respond<DeviceResponse<DebuggerGetPossibleBreakpoints>>(socket, {\n id: message.id,\n result: { locations: [] },\n });\n }\n\n return false;\n }\n}\n\n/** @see https://chromedevtools.github.io/devtools-protocol/v8/Debugger/#method-getPossibleBreakpoints */\nexport type DebuggerGetPossibleBreakpoints = CdpMessage<\n 'Debugger.getPossibleBreakpoints',\n Protocol.Debugger.GetPossibleBreakpointsRequest,\n Protocol.Debugger.GetPossibleBreakpointsResponse\n>;\n"],"names":["VscodeDebuggerGetPossibleBreakpointsHandler","onDebuggerMessage","message","socket","userAgent","getDebuggerType","method","respond","id","result","locations"],"mappings":"AAAA;;;;AASyC,IAAA,MAAS,WAAT,SAAS,CAAA;AAM3C,MAAMA,2CAA2C;IACtDC,iBAAiB,CACfC,OAAwD,EACxD,EAAEC,MAAM,CAAA,EAAEC,SAAS,CAAA,EAAoB,EAC9B;QACT,IACEC,CAAAA,GAAAA,MAAe,AAAW,CAAA,gBAAX,CAACD,SAAS,CAAC,KAAK,QAAQ,IACvCF,OAAO,CAACI,MAAM,KAAK,iCAAiC,EACpD;YACA,OAAOC,CAAAA,GAAAA,MAAO,AAGZ,CAAA,QAHY,CAAiDJ,MAAM,EAAE;gBACrEK,EAAE,EAAEN,OAAO,CAACM,EAAE;gBACdC,MAAM,EAAE;oBAAEC,SAAS,EAAE,EAAE;iBAAE;aAC1B,CAAC,CAAC;SACJ;QAED,OAAO,KAAK,CAAC;KACd;CACF;QAjBYV,2CAA2C,GAA3CA,2CAA2C"}
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- var _utils = require("./utils");
6
- /** Android's stock emulator and other emulators such as genymotion use a standard localhost alias. */ const EMULATOR_LOCALHOST_ADDRESSES = [
7
- "10.0.2.2",
8
- "10.0.3.2"
9
- ];
10
- /** Prefix for script URLs that are alphanumeric IDs. */ const FILE_PREFIX = "file://";
11
- class VscodeDebuggerScriptParsedHandler {
12
- constructor(device){
13
- this.device = device;
14
- }
15
- onDeviceMessage(message, debuggerInfo) {
16
- if ((0, _utils).getDebuggerType(debuggerInfo.userAgent) !== "vscode" || message.method !== "Debugger.scriptParsed") {
17
- return false;
18
- }
19
- // See: https://github.com/facebook/metro/blob/f43caa371a813b257cb0b42028079645a1e85e0e/packages/metro-inspector-proxy/src/Device.js#L401-L410
20
- if (message.params.sourceMapURL) {
21
- for(let i = 0; i < EMULATOR_LOCALHOST_ADDRESSES.length; ++i){
22
- const address = EMULATOR_LOCALHOST_ADDRESSES[i];
23
- if (message.params.sourceMapURL.indexOf(address) >= 0) {
24
- message.params.sourceMapURL = message.params.sourceMapURL.replace(address, "localhost");
25
- debuggerInfo.originalSourceURLAddress = address;
26
- }
27
- }
28
- }
29
- // See: https://github.com/facebook/metro/blob/f43caa371a813b257cb0b42028079645a1e85e0e/packages/metro-inspector-proxy/src/Device.js#L431-L453
30
- if (message.params.url) {
31
- for(let i = 0; i < EMULATOR_LOCALHOST_ADDRESSES.length; ++i){
32
- const address = EMULATOR_LOCALHOST_ADDRESSES[i];
33
- if (message.params.url.indexOf(address) >= 0) {
34
- message.params.url = message.params.url.replace(address, "localhost");
35
- debuggerInfo.originalSourceURLAddress = address;
36
- }
37
- }
38
- // Chrome doesn't download source maps if URL param is not a valid
39
- // URL. Some frameworks pass alphanumeric script ID instead of URL which causes
40
- // Chrome to not download source maps. In this case we want to prepend script ID
41
- // with 'file://' prefix.
42
- if (message.params.url.match(/^[0-9a-z]+$/)) {
43
- message.params.url = FILE_PREFIX + message.params.url;
44
- debuggerInfo.prependedFilePrefix = true;
45
- }
46
- if (message.params.scriptId != null) {
47
- this.device._scriptIdToSourcePathMapping.set(message.params.scriptId, message.params.url);
48
- }
49
- }
50
- // Block `@react-native/dev-middleware`'s default source map inlining
51
- return true;
52
- }
53
- }
54
- exports.VscodeDebuggerScriptParsedHandler = VscodeDebuggerScriptParsedHandler;
55
-
56
- //# sourceMappingURL=VscodeDebuggerScriptParsed.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.ts"],"sourcesContent":["import { unstable_Device as MetroDevice } from '@react-native/dev-middleware';\nimport Protocol from 'devtools-protocol';\n\nimport { CdpMessage, DebuggerMetadata, DeviceRequest, InspectorHandler } from './types';\nimport { getDebuggerType } from './utils';\n\n/** Android's stock emulator and other emulators such as genymotion use a standard localhost alias. */\nconst EMULATOR_LOCALHOST_ADDRESSES: Readonly<string[]> = ['10.0.2.2', '10.0.3.2'];\n/** Prefix for script URLs that are alphanumeric IDs. */\nconst FILE_PREFIX = 'file://';\n\n/**\n * Some debug clients does not support fetching source maps by URL.\n * By default, the `@react-native/dev-middleware` inlines the source map as base64 string.\n * Unfortunately, that causes a multi-second delay in VS Code (±5s).\n * This handler disables inlining the source maps for VS Code only.\n */\nexport class VscodeDebuggerScriptParsedHandler implements InspectorHandler {\n constructor(private readonly device: MetroDevice) {}\n\n onDeviceMessage(message: DeviceRequest<DebuggerScriptParsed>, debuggerInfo: DebuggerMetadata) {\n if (\n getDebuggerType(debuggerInfo.userAgent) !== 'vscode' ||\n message.method !== 'Debugger.scriptParsed'\n ) {\n return false;\n }\n\n // See: https://github.com/facebook/metro/blob/f43caa371a813b257cb0b42028079645a1e85e0e/packages/metro-inspector-proxy/src/Device.js#L401-L410\n if (message.params.sourceMapURL) {\n for (let i = 0; i < EMULATOR_LOCALHOST_ADDRESSES.length; ++i) {\n const address = EMULATOR_LOCALHOST_ADDRESSES[i];\n if (message.params.sourceMapURL.indexOf(address) >= 0) {\n message.params.sourceMapURL = message.params.sourceMapURL.replace(address, 'localhost');\n debuggerInfo.originalSourceURLAddress = address;\n }\n }\n }\n\n // See: https://github.com/facebook/metro/blob/f43caa371a813b257cb0b42028079645a1e85e0e/packages/metro-inspector-proxy/src/Device.js#L431-L453\n if (message.params.url) {\n for (let i = 0; i < EMULATOR_LOCALHOST_ADDRESSES.length; ++i) {\n const address = EMULATOR_LOCALHOST_ADDRESSES[i];\n if (message.params.url.indexOf(address) >= 0) {\n message.params.url = message.params.url.replace(address, 'localhost');\n debuggerInfo.originalSourceURLAddress = address;\n }\n }\n\n // Chrome doesn't download source maps if URL param is not a valid\n // URL. Some frameworks pass alphanumeric script ID instead of URL which causes\n // Chrome to not download source maps. In this case we want to prepend script ID\n // with 'file://' prefix.\n if (message.params.url.match(/^[0-9a-z]+$/)) {\n message.params.url = FILE_PREFIX + message.params.url;\n debuggerInfo.prependedFilePrefix = true;\n }\n\n if (message.params.scriptId != null) {\n this.device._scriptIdToSourcePathMapping.set(message.params.scriptId, message.params.url);\n }\n }\n\n // Block `@react-native/dev-middleware`'s default source map inlining\n return true;\n }\n}\n\n/** @see https://chromedevtools.github.io/devtools-protocol/v8/Debugger/#event-scriptParsed */\nexport type DebuggerScriptParsed = CdpMessage<\n 'Debugger.scriptParsed',\n Protocol.Debugger.ScriptParsedEvent,\n never\n>;\n"],"names":["EMULATOR_LOCALHOST_ADDRESSES","FILE_PREFIX","VscodeDebuggerScriptParsedHandler","constructor","device","onDeviceMessage","message","debuggerInfo","getDebuggerType","userAgent","method","params","sourceMapURL","i","length","address","indexOf","replace","originalSourceURLAddress","url","match","prependedFilePrefix","scriptId","_scriptIdToSourcePathMapping","set"],"mappings":"AAAA;;;;AAIgC,IAAA,MAAS,WAAT,SAAS,CAAA;AAEzC,sGAAsG,CACtG,MAAMA,4BAA4B,GAAuB;IAAC,UAAU;IAAE,UAAU;CAAC,AAAC;AAClF,wDAAwD,CACxD,MAAMC,WAAW,GAAG,SAAS,AAAC;AAQvB,MAAMC,iCAAiC;IAC5CC,YAA6BC,MAAmB,CAAE;aAArBA,MAAmB,GAAnBA,MAAmB;KAAI;IAEpDC,eAAe,CAACC,OAA4C,EAAEC,YAA8B,EAAE;QAC5F,IACEC,CAAAA,GAAAA,MAAe,AAAwB,CAAA,gBAAxB,CAACD,YAAY,CAACE,SAAS,CAAC,KAAK,QAAQ,IACpDH,OAAO,CAACI,MAAM,KAAK,uBAAuB,EAC1C;YACA,OAAO,KAAK,CAAC;SACd;QAED,8IAA8I;QAC9I,IAAIJ,OAAO,CAACK,MAAM,CAACC,YAAY,EAAE;YAC/B,IAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGb,4BAA4B,CAACc,MAAM,EAAE,EAAED,CAAC,CAAE;gBAC5D,MAAME,OAAO,GAAGf,4BAA4B,CAACa,CAAC,CAAC,AAAC;gBAChD,IAAIP,OAAO,CAACK,MAAM,CAACC,YAAY,CAACI,OAAO,CAACD,OAAO,CAAC,IAAI,CAAC,EAAE;oBACrDT,OAAO,CAACK,MAAM,CAACC,YAAY,GAAGN,OAAO,CAACK,MAAM,CAACC,YAAY,CAACK,OAAO,CAACF,OAAO,EAAE,WAAW,CAAC,CAAC;oBACxFR,YAAY,CAACW,wBAAwB,GAAGH,OAAO,CAAC;iBACjD;aACF;SACF;QAED,8IAA8I;QAC9I,IAAIT,OAAO,CAACK,MAAM,CAACQ,GAAG,EAAE;YACtB,IAAK,IAAIN,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGb,4BAA4B,CAACc,MAAM,EAAE,EAAED,CAAC,CAAE;gBAC5D,MAAME,OAAO,GAAGf,4BAA4B,CAACa,CAAC,CAAC,AAAC;gBAChD,IAAIP,OAAO,CAACK,MAAM,CAACQ,GAAG,CAACH,OAAO,CAACD,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC5CT,OAAO,CAACK,MAAM,CAACQ,GAAG,GAAGb,OAAO,CAACK,MAAM,CAACQ,GAAG,CAACF,OAAO,CAACF,OAAO,EAAE,WAAW,CAAC,CAAC;oBACtER,YAAY,CAACW,wBAAwB,GAAGH,OAAO,CAAC;iBACjD;aACF;YAED,kEAAkE;YAClE,+EAA+E;YAC/E,gFAAgF;YAChF,yBAAyB;YACzB,IAAIT,OAAO,CAACK,MAAM,CAACQ,GAAG,CAACC,KAAK,eAAe,EAAE;gBAC3Cd,OAAO,CAACK,MAAM,CAACQ,GAAG,GAAGlB,WAAW,GAAGK,OAAO,CAACK,MAAM,CAACQ,GAAG,CAAC;gBACtDZ,YAAY,CAACc,mBAAmB,GAAG,IAAI,CAAC;aACzC;YAED,IAAIf,OAAO,CAACK,MAAM,CAACW,QAAQ,IAAI,IAAI,EAAE;gBACnC,IAAI,CAAClB,MAAM,CAACmB,4BAA4B,CAACC,GAAG,CAAClB,OAAO,CAACK,MAAM,CAACW,QAAQ,EAAEhB,OAAO,CAACK,MAAM,CAACQ,GAAG,CAAC,CAAC;aAC3F;SACF;QAED,qEAAqE;QACrE,OAAO,IAAI,CAAC;KACb;CACF;QAjDYjB,iCAAiC,GAAjCA,iCAAiC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- var _utils = require("./utils");
6
- class VscodeDebuggerSetBreakpointByUrlHandler {
7
- onDebuggerMessage(message, { userAgent }) {
8
- if ((0, _utils).getDebuggerType(userAgent) === "vscode" && message.method === "Debugger.setBreakpointByUrl" && message.params.urlRegex) {
9
- // Explicitly force the breakpoint to be unbounded
10
- message.params.url = "file://__invalid_url__";
11
- delete message.params.urlRegex;
12
- }
13
- return false;
14
- }
15
- }
16
- exports.VscodeDebuggerSetBreakpointByUrlHandler = VscodeDebuggerSetBreakpointByUrlHandler;
17
-
18
- //# sourceMappingURL=VscodeDebuggerSetBreakpointByUrl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.ts"],"sourcesContent":["import Protocol from 'devtools-protocol';\n\nimport { CdpMessage, DebuggerMetadata, DebuggerRequest, InspectorHandler } from './types';\nimport { getDebuggerType } from './utils';\n\n/**\n * Hermes and vscode have trouble setting breakpoints by `urlRegex` through `Debugger.setBreakpointByUrl`.\n * Vscode adds `file://` to a URL containing `http://`, which confuses Hermes and sets it to the wrong location.\n * Hermes needs to create the breakpoint to get the proper ID, but it must be unbounded.\n * Once the sourcemap is loaded, vscode will rebind the unbounded breakpoint to the correct location (using `Debugger.setBreakpoint`).\n */\nexport class VscodeDebuggerSetBreakpointByUrlHandler implements InspectorHandler {\n onDebuggerMessage(\n message: DebuggerRequest<DebuggerSetBreakpointByUrl>,\n { userAgent }: DebuggerMetadata\n ): boolean {\n if (\n getDebuggerType(userAgent) === 'vscode' &&\n message.method === 'Debugger.setBreakpointByUrl' &&\n message.params.urlRegex\n ) {\n // Explicitly force the breakpoint to be unbounded\n message.params.url = 'file://__invalid_url__';\n delete message.params.urlRegex;\n }\n\n return false;\n }\n}\n\n/** @see https://chromedevtools.github.io/devtools-protocol/v8/Debugger/#method-setBreakpointByUrl */\nexport type DebuggerSetBreakpointByUrl = CdpMessage<\n 'Debugger.setBreakpointByUrl',\n Protocol.Debugger.SetBreakpointByUrlRequest,\n Protocol.Debugger.SetBreakpointByUrlResponse\n>;\n"],"names":["VscodeDebuggerSetBreakpointByUrlHandler","onDebuggerMessage","message","userAgent","getDebuggerType","method","params","urlRegex","url"],"mappings":"AAAA;;;;AAGgC,IAAA,MAAS,WAAT,SAAS,CAAA;AAQlC,MAAMA,uCAAuC;IAClDC,iBAAiB,CACfC,OAAoD,EACpD,EAAEC,SAAS,CAAA,EAAoB,EACtB;QACT,IACEC,CAAAA,GAAAA,MAAe,AAAW,CAAA,gBAAX,CAACD,SAAS,CAAC,KAAK,QAAQ,IACvCD,OAAO,CAACG,MAAM,KAAK,6BAA6B,IAChDH,OAAO,CAACI,MAAM,CAACC,QAAQ,EACvB;YACA,kDAAkD;YAClDL,OAAO,CAACI,MAAM,CAACE,GAAG,GAAG,wBAAwB,CAAC;YAC9C,OAAON,OAAO,CAACI,MAAM,CAACC,QAAQ,CAAC;SAChC;QAED,OAAO,KAAK,CAAC;KACd;CACF;QAjBYP,uCAAuC,GAAvCA,uCAAuC"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- var _utils = require("./utils");
6
- class VscodeRuntimeCallFunctionOnHandler {
7
- onDebuggerMessage(message, { socket , userAgent }) {
8
- if ((0, _utils).getDebuggerType(userAgent) === "vscode" && message.method === "Runtime.callFunctionOn") {
9
- return (0, _utils).respond(socket, {
10
- id: message.id,
11
- result: {
12
- // We don't know the `type` and vscode allows `type: undefined`
13
- result: {
14
- objectId: message.params.objectId
15
- }
16
- }
17
- });
18
- }
19
- return false;
20
- }
21
- }
22
- exports.VscodeRuntimeCallFunctionOnHandler = VscodeRuntimeCallFunctionOnHandler;
23
-
24
- //# sourceMappingURL=VscodeRuntimeCallFunctionOn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.ts"],"sourcesContent":["import Protocol from 'devtools-protocol';\n\nimport {\n CdpMessage,\n DebuggerMetadata,\n DebuggerRequest,\n DeviceResponse,\n InspectorHandler,\n} from './types';\nimport { getDebuggerType, respond } from './utils';\n\n/**\n * Vscode is trying to inject a script to fetch information about \"Stringy\" variables.\n * Unfortunately, this script causes a Hermes exception and crashes the app.\n *\n * @see https://github.com/expo/vscode-expo/issues/231\n * @see https://github.com/microsoft/vscode-js-debug/blob/dcccaf3972d675cc1e5c776450bb4c3dc8c178c1/src/adapter/stackTrace.ts#L319-L324\n */\nexport class VscodeRuntimeCallFunctionOnHandler implements InspectorHandler {\n onDebuggerMessage(\n message: DebuggerRequest<RuntimeCallFunctionOn>,\n { socket, userAgent }: DebuggerMetadata\n ): boolean {\n if (getDebuggerType(userAgent) === 'vscode' && message.method === 'Runtime.callFunctionOn') {\n return respond<DeviceResponse<RuntimeCallFunctionOn>>(socket, {\n id: message.id,\n result: {\n // We don't know the `type` and vscode allows `type: undefined`\n result: { objectId: message.params.objectId } as any,\n },\n });\n }\n\n return false;\n }\n}\n\n/** @see https://chromedevtools.github.io/devtools-protocol/v8/Runtime/#method-callFunctionOn */\nexport type RuntimeCallFunctionOn = CdpMessage<\n 'Runtime.callFunctionOn',\n Protocol.Runtime.CallFunctionOnRequest,\n Protocol.Runtime.CallFunctionOnResponse\n>;\n"],"names":["VscodeRuntimeCallFunctionOnHandler","onDebuggerMessage","message","socket","userAgent","getDebuggerType","method","respond","id","result","objectId","params"],"mappings":"AAAA;;;;AASyC,IAAA,MAAS,WAAT,SAAS,CAAA;AAS3C,MAAMA,kCAAkC;IAC7CC,iBAAiB,CACfC,OAA+C,EAC/C,EAAEC,MAAM,CAAA,EAAEC,SAAS,CAAA,EAAoB,EAC9B;QACT,IAAIC,CAAAA,GAAAA,MAAe,AAAW,CAAA,gBAAX,CAACD,SAAS,CAAC,KAAK,QAAQ,IAAIF,OAAO,CAACI,MAAM,KAAK,wBAAwB,EAAE;YAC1F,OAAOC,CAAAA,GAAAA,MAAO,AAMZ,CAAA,QANY,CAAwCJ,MAAM,EAAE;gBAC5DK,EAAE,EAAEN,OAAO,CAACM,EAAE;gBACdC,MAAM,EAAE;oBACN,+DAA+D;oBAC/DA,MAAM,EAAE;wBAAEC,QAAQ,EAAER,OAAO,CAACS,MAAM,CAACD,QAAQ;qBAAE;iBAC9C;aACF,CAAC,CAAC;SACJ;QAED,OAAO,KAAK,CAAC;KACd;CACF;QAjBYV,kCAAkC,GAAlCA,kCAAkC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeGetProperties.ts"],"sourcesContent":["import Protocol from 'devtools-protocol';\n\nimport {\n CdpMessage,\n DebuggerMetadata,\n DebuggerRequest,\n DeviceResponse,\n InspectorHandler,\n} from './types';\nimport { getDebuggerType } from './utils';\n\n/**\n * Vscode doesn't seem to work nicely with missing `description` fields on `RemoteObject` instances.\n * It also tries to invoke `Runtime.callFunctionOn` on `Symbol` types, which crashes Hermes.\n * This handler tries to compensate for these two separate issues.\n *\n * @see https://github.com/facebook/hermes/issues/114\n * @see https://github.com/microsoft/vscode-js-debug/issues/1583\n */\nexport class VscodeRuntimeGetPropertiesHandler implements InspectorHandler {\n /** Keep track of `Runtime.getProperties` responses to intercept, by request id */\n interceptGetProperties = new Set<number>();\n\n onDebuggerMessage(\n message: DebuggerRequest<RuntimeGetProperties>,\n { userAgent }: DebuggerMetadata\n ): boolean {\n if (getDebuggerType(userAgent) === 'vscode' && message.method === 'Runtime.getProperties') {\n this.interceptGetProperties.add(message.id);\n }\n\n // Do not block propagation of this message\n return false;\n }\n\n onDeviceMessage(message: DeviceResponse<RuntimeGetProperties>, { userAgent }: DebuggerMetadata) {\n if (\n getDebuggerType(userAgent) === 'vscode' &&\n 'id' in message &&\n this.interceptGetProperties.has(message.id)\n ) {\n this.interceptGetProperties.delete(message.id);\n\n for (const item of message.result.result ?? []) {\n // Force-fully format the properties description to be an empty string\n if (item.value) {\n item.value.description = item.value.description ?? '';\n }\n\n // Avoid passing the `objectId` for symbol types.\n // When collapsing in vscode, it will fetch information about the symbol using the `objectId`.\n // The `Runtime.getProperties` request of the symbol hard-crashes Hermes.\n if (item.value?.type === 'symbol' && item.value.objectId) {\n delete item.value.objectId;\n }\n }\n }\n\n // Do not block propagation of this message\n return false;\n }\n}\n\n/** @see https://chromedevtools.github.io/devtools-protocol/v8/Runtime/#method-getProperties */\nexport type RuntimeGetProperties = CdpMessage<\n 'Runtime.getProperties',\n Protocol.Runtime.GetPropertiesRequest,\n Protocol.Runtime.GetPropertiesResponse\n>;\n"],"names":["VscodeRuntimeGetPropertiesHandler","interceptGetProperties","Set","onDebuggerMessage","message","userAgent","getDebuggerType","method","add","id","onDeviceMessage","has","delete","item","result","value","description","type","objectId"],"mappings":"AAAA;;;;AASgC,IAAA,MAAS,WAAT,SAAS,CAAA;AAUlC,MAAMA,iCAAiC;IAC5C,kFAAkF,CAClFC,sBAAsB,GAAG,IAAIC,GAAG,EAAU,CAAC;IAE3CC,iBAAiB,CACfC,OAA8C,EAC9C,EAAEC,SAAS,CAAA,EAAoB,EACtB;QACT,IAAIC,CAAAA,GAAAA,MAAe,AAAW,CAAA,gBAAX,CAACD,SAAS,CAAC,KAAK,QAAQ,IAAID,OAAO,CAACG,MAAM,KAAK,uBAAuB,EAAE;YACzF,IAAI,CAACN,sBAAsB,CAACO,GAAG,CAACJ,OAAO,CAACK,EAAE,CAAC,CAAC;SAC7C;QAED,2CAA2C;QAC3C,OAAO,KAAK,CAAC;KACd;IAEDC,eAAe,CAACN,OAA6C,EAAE,EAAEC,SAAS,CAAA,EAAoB,EAAE;QAC9F,IACEC,CAAAA,GAAAA,MAAe,AAAW,CAAA,gBAAX,CAACD,SAAS,CAAC,KAAK,QAAQ,IACvC,IAAI,IAAID,OAAO,IACf,IAAI,CAACH,sBAAsB,CAACU,GAAG,CAACP,OAAO,CAACK,EAAE,CAAC,EAC3C;YACA,IAAI,CAACR,sBAAsB,CAACW,MAAM,CAACR,OAAO,CAACK,EAAE,CAAC,CAAC;gBAE5BL,OAAqB;YAAxC,KAAK,MAAMS,IAAI,IAAIT,CAAAA,OAAqB,GAArBA,OAAO,CAACU,MAAM,CAACA,MAAM,YAArBV,OAAqB,GAAI,EAAE,CAAE;oBAS1CS,GAAU;gBARd,sEAAsE;gBACtE,IAAIA,IAAI,CAACE,KAAK,EAAE;wBACWF,YAAsB;oBAA/CA,IAAI,CAACE,KAAK,CAACC,WAAW,GAAGH,CAAAA,YAAsB,GAAtBA,IAAI,CAACE,KAAK,CAACC,WAAW,YAAtBH,YAAsB,GAAI,EAAE,CAAC;iBACvD;gBAED,iDAAiD;gBACjD,8FAA8F;gBAC9F,yEAAyE;gBACzE,IAAIA,CAAAA,CAAAA,GAAU,GAAVA,IAAI,CAACE,KAAK,SAAM,GAAhBF,KAAAA,CAAgB,GAAhBA,GAAU,CAAEI,IAAI,CAAA,KAAK,QAAQ,IAAIJ,IAAI,CAACE,KAAK,CAACG,QAAQ,EAAE;oBACxD,OAAOL,IAAI,CAACE,KAAK,CAACG,QAAQ,CAAC;iBAC5B;aACF;SACF;QAED,2CAA2C;QAC3C,OAAO,KAAK,CAAC;KACd;CACF;QA1CYlB,iCAAiC,GAAjCA,iCAAiC"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/start/server/metro/debugging/inspectorHandlers/types.ts"],"sourcesContent":["import type { unstable_Device } from '@react-native/dev-middleware';\n\nexport type DebuggerMetadata = NonNullable<unstable_Device['_debuggerConnection']>;\n\nexport interface InspectorHandler {\n /**\n * Intercept a message coming from the device, modify or respond to it through `this._sendMessageToDevice`.\n * Return `true` if the message was handled, this will stop the message propagation.\n */\n onDeviceMessage?(message: DeviceRequest | DeviceResponse, info: DebuggerMetadata): boolean;\n\n /**\n * Intercept a message coming from the debugger, modify or respond to it through `socket.send`.\n * Return `true` if the message was handled, this will stop the message propagation.\n */\n onDebuggerMessage?(message: DebuggerRequest, info: DebuggerMetadata): boolean;\n}\n\n/**\n * The outline of a basic Chrome DevTools Protocol request, either from device or debugger.\n * Both the request and response parameters could be optional, use `never` to enforce these fields.\n */\nexport type CdpMessage<\n Method extends string = string,\n Request extends object = object,\n Response extends object = object,\n> = {\n id: number;\n method: Method;\n params: Request;\n result: Response;\n};\n\nexport type DeviceRequest<M extends CdpMessage = CdpMessage> = Pick<M, 'method' | 'params'>;\nexport type DeviceResponse<M extends CdpMessage = CdpMessage> = Pick<M, 'id' | 'result'>;\n\nexport type DebuggerRequest<M extends CdpMessage = CdpMessage> = Pick<\n M,\n 'id' | 'method' | 'params'\n>;\nexport type DebuggerResponse<M extends CdpMessage = CdpMessage> = Pick<M, 'result'>;\n"],"names":[],"mappings":"AAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../../src/start/server/metro/debugging/inspectorHandlers/utils.ts"],"sourcesContent":["import type WS from 'ws';\n\nimport { DebuggerResponse, DeviceResponse } from './types';\n\n/**\n * Helper function to respond to a message from the debugger or device.\n * The return value is used to stop the message propagation, \"canceling\" further handling.\n *\n * @example ```\n * return respond<DeviceResponse<CDP>>(socket, { id: message.id, result: {} });\n * ```\n */\nexport function respond<T = DeviceResponse | DebuggerResponse>(socket: WS, message: T) {\n socket.send(JSON.stringify(message));\n return true;\n}\n\n/** Known compatible debuggers that require specific workarounds */\nexport type DebuggerType = 'chrome' | 'vscode' | 'unknown';\n\n// Patterns to test against user agents\nconst CHROME_USER_AGENT = /chrome/i;\nconst VSCODE_USER_AGENT = /vscode/i;\n\n/**\n * Determine the debugger type based on the known user agent.\n */\nexport function getDebuggerType(userAgent?: string | null): DebuggerType {\n if (userAgent && CHROME_USER_AGENT.test(userAgent)) return 'chrome';\n if (userAgent && VSCODE_USER_AGENT.test(userAgent)) return 'vscode';\n return 'unknown';\n}\n"],"names":["respond","getDebuggerType","socket","message","send","JSON","stringify","CHROME_USER_AGENT","VSCODE_USER_AGENT","userAgent","test"],"mappings":"AAAA;;;;QAYgBA,OAAO,GAAPA,OAAO;QAePC,eAAe,GAAfA,eAAe;AAfxB,SAASD,OAAO,CAAwCE,MAAU,EAAEC,OAAU,EAAE;IACrFD,MAAM,CAACE,IAAI,CAACC,IAAI,CAACC,SAAS,CAACH,OAAO,CAAC,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC;CACb;AAKD,uCAAuC;AACvC,MAAMI,iBAAiB,YAAY,AAAC;AACpC,MAAMC,iBAAiB,YAAY,AAAC;AAK7B,SAASP,eAAe,CAACQ,SAAyB,EAAgB;IACvE,IAAIA,SAAS,IAAIF,iBAAiB,CAACG,IAAI,CAACD,SAAS,CAAC,EAAE,OAAO,QAAQ,CAAC;IACpE,IAAIA,SAAS,IAAID,iBAAiB,CAACE,IAAI,CAACD,SAAS,CAAC,EAAE,OAAO,QAAQ,CAAC;IACpE,OAAO,SAAS,CAAC;CAClB"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- var _build = _interopRequireWildcard(require("expo-router/build"));
6
- Object.keys(_build).forEach(function(key) {
7
- if (key === "default" || key === "__esModule") return;
8
- if (key in exports && exports[key] === _build[key]) return;
9
- Object.defineProperty(exports, key, {
10
- enumerable: true,
11
- get: function() {
12
- return _build[key];
13
- }
14
- });
15
- });
16
- function _interopRequireWildcard(obj) {
17
- if (obj && obj.__esModule) {
18
- return obj;
19
- } else {
20
- var newObj = {};
21
- if (obj != null) {
22
- for(var key in obj){
23
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
24
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
25
- if (desc.get || desc.set) {
26
- Object.defineProperty(newObj, key, desc);
27
- } else {
28
- newObj[key] = obj[key];
29
- }
30
- }
31
- }
32
- }
33
- newObj.default = obj;
34
- return newObj;
35
- }
36
- }
37
-
38
- //# sourceMappingURL=basic.js.map