@expo/cli 0.17.10 → 0.18.1

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 (693) hide show
  1. package/build/bin/cli +98 -118
  2. package/build/bin/cli.map +1 -1
  3. package/build/src/api/endpoint.js +11 -3
  4. package/build/src/api/endpoint.js.map +1 -1
  5. package/build/src/api/getExpoGoIntermediateCertificate.js +7 -4
  6. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  7. package/build/src/api/getExpoSchema.js +32 -12
  8. package/build/src/api/getExpoSchema.js.map +1 -1
  9. package/build/src/api/getNativeModuleVersions.js +7 -4
  10. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  11. package/build/src/api/getProjectDevelopmentCertificate.js +7 -4
  12. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  13. package/build/src/api/getVersions.js +7 -4
  14. package/build/src/api/getVersions.js.map +1 -1
  15. package/build/src/api/graphql/client.js +78 -40
  16. package/build/src/api/graphql/client.js.map +1 -1
  17. package/build/src/api/graphql/queries/AppQuery.js +22 -8
  18. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  19. package/build/src/api/graphql/queries/UserQuery.js +13 -5
  20. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  21. package/build/src/api/graphql/types/App.js +12 -4
  22. package/build/src/api/graphql/types/App.js.map +1 -1
  23. package/build/src/api/rest/cache/FileSystemCache.js +25 -11
  24. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
  25. package/build/src/api/rest/cache/response.js +13 -4
  26. package/build/src/api/rest/cache/response.js.map +1 -1
  27. package/build/src/api/rest/cache/wrapFetchWithCache.js +51 -18
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  29. package/build/src/api/rest/client.js +55 -30
  30. package/build/src/api/rest/client.js.map +1 -1
  31. package/build/src/api/rest/wrapFetchWithBaseUrl.js +13 -5
  32. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithOffline.js +5 -2
  34. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithProgress.js +40 -19
  36. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProxy.js +13 -4
  38. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  39. package/build/src/api/settings.js +16 -5
  40. package/build/src/api/settings.js.map +1 -1
  41. package/build/src/api/updateDevelopmentSession.js +33 -13
  42. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  43. package/build/src/api/user/UserSettings.js +31 -11
  44. package/build/src/api/user/UserSettings.js.map +1 -1
  45. package/build/src/api/user/actions.js +78 -41
  46. package/build/src/api/user/actions.js.map +1 -1
  47. package/build/src/api/user/expoSsoLauncher.js +72 -27
  48. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  49. package/build/src/api/user/otp.js +82 -50
  50. package/build/src/api/user/otp.js.map +1 -1
  51. package/build/src/api/user/user.js +80 -48
  52. package/build/src/api/user/user.js.map +1 -1
  53. package/build/src/config/configAsync.js +82 -45
  54. package/build/src/config/configAsync.js.map +1 -1
  55. package/build/src/config/index.js +52 -30
  56. package/build/src/config/index.js.map +1 -1
  57. package/build/src/customize/customizeAsync.js +21 -12
  58. package/build/src/customize/customizeAsync.js.map +1 -1
  59. package/build/src/customize/generate.js +74 -47
  60. package/build/src/customize/generate.js.map +1 -1
  61. package/build/src/customize/index.js +16 -8
  62. package/build/src/customize/index.js.map +1 -1
  63. package/build/src/customize/resolveOptions.js +7 -4
  64. package/build/src/customize/resolveOptions.js.map +1 -1
  65. package/build/src/customize/templates.js +58 -37
  66. package/build/src/customize/templates.js.map +1 -1
  67. package/build/src/customize/typescript.js +50 -29
  68. package/build/src/customize/typescript.js.map +1 -1
  69. package/build/src/export/createMetadataJson.js +14 -7
  70. package/build/src/export/createMetadataJson.js.map +1 -1
  71. package/build/src/export/embed/exportEmbedAsync.js +103 -50
  72. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  73. package/build/src/export/embed/index.js +61 -37
  74. package/build/src/export/embed/index.js.map +1 -1
  75. package/build/src/export/embed/resolveOptions.js +14 -5
  76. package/build/src/export/embed/resolveOptions.js.map +1 -1
  77. package/build/src/export/embed/xcodeCompilerLogger.js +33 -9
  78. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  79. package/build/src/export/exportApp.js +110 -73
  80. package/build/src/export/exportApp.js.map +1 -1
  81. package/build/src/export/exportAssets.js +84 -47
  82. package/build/src/export/exportAssets.js.map +1 -1
  83. package/build/src/export/exportAsync.js +56 -27
  84. package/build/src/export/exportAsync.js.map +1 -1
  85. package/build/src/export/exportHermes.js +46 -26
  86. package/build/src/export/exportHermes.js.map +1 -1
  87. package/build/src/export/exportStaticAsync.js +109 -66
  88. package/build/src/export/exportStaticAsync.js.map +1 -1
  89. package/build/src/export/favicon.js +47 -15
  90. package/build/src/export/favicon.js.map +1 -1
  91. package/build/src/export/fork-bundleAsync.js +92 -44
  92. package/build/src/export/fork-bundleAsync.js.map +1 -1
  93. package/build/src/export/getPublicExpoManifest.js +16 -7
  94. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  95. package/build/src/export/getResolvedLocales.js +20 -5
  96. package/build/src/export/getResolvedLocales.js.map +1 -1
  97. package/build/src/export/html.js +12 -4
  98. package/build/src/export/html.js.map +1 -1
  99. package/build/src/export/index.js +55 -33
  100. package/build/src/export/index.js.map +1 -1
  101. package/build/src/export/metroAssetLocalPath.js +30 -8
  102. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  103. package/build/src/export/persistMetroAssets.js +59 -33
  104. package/build/src/export/persistMetroAssets.js.map +1 -1
  105. package/build/src/export/publicFolder.js +31 -11
  106. package/build/src/export/publicFolder.js.map +1 -1
  107. package/build/src/export/resolveOptions.js +26 -16
  108. package/build/src/export/resolveOptions.js.map +1 -1
  109. package/build/src/export/saveAssets.js +77 -49
  110. package/build/src/export/saveAssets.js.map +1 -1
  111. package/build/src/export/web/exportWebAsync.js +28 -13
  112. package/build/src/export/web/exportWebAsync.js.map +1 -1
  113. package/build/src/export/web/index.js +53 -31
  114. package/build/src/export/web/index.js.map +1 -1
  115. package/build/src/export/web/resolveOptions.js +4 -1
  116. package/build/src/export/web/resolveOptions.js.map +1 -1
  117. package/build/src/export/writeContents.js +12 -7
  118. package/build/src/export/writeContents.js.map +1 -1
  119. package/build/src/graphql/generated.js +141 -128
  120. package/build/src/graphql/generated.js.map +1 -1
  121. package/build/src/install/applyPlugins.js +50 -26
  122. package/build/src/install/applyPlugins.js.map +1 -1
  123. package/build/src/install/checkPackages.js +68 -36
  124. package/build/src/install/checkPackages.js.map +1 -1
  125. package/build/src/install/fixPackages.js +58 -35
  126. package/build/src/install/fixPackages.js.map +1 -1
  127. package/build/src/install/index.js +21 -13
  128. package/build/src/install/index.js.map +1 -1
  129. package/build/src/install/installAsync.js +107 -64
  130. package/build/src/install/installAsync.js.map +1 -1
  131. package/build/src/install/installExpoPackage.js +60 -27
  132. package/build/src/install/installExpoPackage.js.map +1 -1
  133. package/build/src/install/resolveOptions.js +8 -5
  134. package/build/src/install/resolveOptions.js.map +1 -1
  135. package/build/src/install/utils/autoAddConfigPlugins.js +29 -9
  136. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  137. package/build/src/lint/ESlintPrerequisite.js +174 -0
  138. package/build/src/lint/ESlintPrerequisite.js.map +1 -0
  139. package/build/src/lint/index.js +66 -0
  140. package/build/src/lint/index.js.map +1 -0
  141. package/build/src/lint/lintAsync.js +33 -0
  142. package/build/src/lint/lintAsync.js.map +1 -0
  143. package/build/src/log.js +27 -15
  144. package/build/src/log.js.map +1 -1
  145. package/build/src/login/index.js +43 -25
  146. package/build/src/login/index.js.map +1 -1
  147. package/build/src/logout/index.js +43 -25
  148. package/build/src/logout/index.js.map +1 -1
  149. package/build/src/prebuild/clearNativeFolder.js +97 -50
  150. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  151. package/build/src/prebuild/configureProjectAsync.js +64 -31
  152. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  153. package/build/src/prebuild/copyTemplateFiles.js +41 -17
  154. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  155. package/build/src/prebuild/ensureConfigAsync.js +74 -30
  156. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  157. package/build/src/prebuild/index.js +58 -38
  158. package/build/src/prebuild/index.js.map +1 -1
  159. package/build/src/prebuild/prebuildAsync.js +75 -52
  160. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  161. package/build/src/prebuild/renameTemplateAppName.js +124 -0
  162. package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
  163. package/build/src/prebuild/resolveOptions.js +85 -36
  164. package/build/src/prebuild/resolveOptions.js.map +1 -1
  165. package/build/src/prebuild/resolveTemplate.js +102 -46
  166. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  167. package/build/src/prebuild/updateFromTemplate.js +80 -41
  168. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  169. package/build/src/prebuild/updatePackageJson.js +111 -54
  170. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  171. package/build/src/prebuild/validateTemplatePlatforms.js +56 -23
  172. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  173. package/build/src/register/index.js +43 -25
  174. package/build/src/register/index.js.map +1 -1
  175. package/build/src/register/registerAsync.js +14 -11
  176. package/build/src/register/registerAsync.js.map +1 -1
  177. package/build/src/run/android/index.js +64 -32
  178. package/build/src/run/android/index.js.map +1 -1
  179. package/build/src/run/android/resolveDevice.js +9 -6
  180. package/build/src/run/android/resolveDevice.js.map +1 -1
  181. package/build/src/run/android/resolveGradlePropsAsync.js +56 -0
  182. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
  183. package/build/src/run/android/resolveInstallApkName.js +28 -14
  184. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  185. package/build/src/run/android/resolveLaunchProps.js +16 -7
  186. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  187. package/build/src/run/android/resolveOptions.js +14 -9
  188. package/build/src/run/android/resolveOptions.js.map +1 -1
  189. package/build/src/run/android/runAndroidAsync.js +39 -27
  190. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  191. package/build/src/run/ensureNativeProject.js +24 -9
  192. package/build/src/run/ensureNativeProject.js.map +1 -1
  193. package/build/src/run/hints.js +23 -9
  194. package/build/src/run/hints.js.map +1 -1
  195. package/build/src/run/index.js +55 -35
  196. package/build/src/run/index.js.map +1 -1
  197. package/build/src/run/ios/XcodeBuild.js +126 -66
  198. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  199. package/build/src/run/ios/appleDevice/AppleDevice.js +52 -27
  200. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  201. package/build/src/run/ios/appleDevice/ClientManager.js +70 -31
  202. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  203. package/build/src/run/ios/appleDevice/client/AFCClient.js +94 -44
  204. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  205. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +63 -24
  206. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  207. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -6
  208. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  209. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +64 -25
  210. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  211. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +66 -28
  212. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  213. package/build/src/run/ios/appleDevice/client/ServiceClient.js +18 -4
  214. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  215. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +42 -15
  216. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  217. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +78 -34
  218. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  219. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +85 -66
  220. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  221. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +41 -15
  222. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  223. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +30 -11
  224. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  225. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +39 -14
  226. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  227. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +36 -11
  228. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  229. package/build/src/run/ios/codeSigning/Security.js +40 -21
  230. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  231. package/build/src/run/ios/codeSigning/configureCodeSigning.js +55 -28
  232. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  233. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +67 -36
  234. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  235. package/build/src/run/ios/codeSigning/settings.js +11 -3
  236. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  237. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +30 -10
  238. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  239. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +33 -15
  240. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  241. package/build/src/run/ios/index.js +63 -35
  242. package/build/src/run/ios/index.js.map +1 -1
  243. package/build/src/run/ios/launchApp.js +65 -32
  244. package/build/src/run/ios/launchApp.js.map +1 -1
  245. package/build/src/run/ios/options/promptDevice.js +24 -14
  246. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  247. package/build/src/run/ios/options/resolveDevice.js +64 -41
  248. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  249. package/build/src/run/ios/options/resolveNativeScheme.js +80 -39
  250. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  251. package/build/src/run/ios/options/resolveOptions.js +15 -12
  252. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  253. package/build/src/run/ios/options/resolveXcodeProject.js +13 -4
  254. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  255. package/build/src/run/ios/runIosAsync.js +71 -42
  256. package/build/src/run/ios/runIosAsync.js.map +1 -1
  257. package/build/src/run/resolveBundlerProps.js +8 -5
  258. package/build/src/run/resolveBundlerProps.js.map +1 -1
  259. package/build/src/run/startBundler.js +60 -27
  260. package/build/src/run/startBundler.js.map +1 -1
  261. package/build/src/start/detectDevClient.js +32 -0
  262. package/build/src/start/detectDevClient.js.map +1 -0
  263. package/build/src/start/doctor/Prerequisite.js +15 -7
  264. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  265. package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -4
  266. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  267. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +57 -24
  268. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  269. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +57 -24
  270. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  271. package/build/src/start/doctor/apple/XcodePrerequisite.js +132 -57
  272. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  273. package/build/src/start/doctor/apple/XcrunPrerequisite.js +34 -13
  274. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  275. package/build/src/start/doctor/dependencies/bundledNativeModules.js +69 -30
  276. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  277. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +120 -57
  278. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  279. package/build/src/start/doctor/dependencies/getMissingPackages.js +38 -12
  280. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  281. package/build/src/start/doctor/dependencies/getVersionedPackages.js +29 -15
  282. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  283. package/build/src/start/doctor/dependencies/resolvePackages.js +39 -15
  284. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  285. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +88 -55
  286. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  287. package/build/src/start/doctor/ngrok/ExternalModule.js +88 -39
  288. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  289. package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -5
  290. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  291. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +75 -45
  292. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  293. package/build/src/start/doctor/typescript/updateTSConfig.js +81 -40
  294. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  295. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +70 -32
  296. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  297. package/build/src/start/index.js +62 -42
  298. package/build/src/start/index.js.map +1 -1
  299. package/build/src/start/interface/KeyPressHandler.js +43 -22
  300. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  301. package/build/src/start/interface/commandsTable.js +81 -41
  302. package/build/src/start/interface/commandsTable.js.map +1 -1
  303. package/build/src/start/interface/interactiveActions.js +91 -68
  304. package/build/src/start/interface/interactiveActions.js.map +1 -1
  305. package/build/src/start/interface/startInterface.js +84 -57
  306. package/build/src/start/interface/startInterface.js.map +1 -1
  307. package/build/src/start/platforms/AppIdResolver.js +16 -7
  308. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  309. package/build/src/start/platforms/DeviceManager.js +47 -20
  310. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  311. package/build/src/start/platforms/ExpoGoInstaller.js +81 -45
  312. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  313. package/build/src/start/platforms/PlatformManager.js +42 -20
  314. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  315. package/build/src/start/platforms/android/ADBServer.js +28 -13
  316. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  317. package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -10
  318. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  319. package/build/src/start/platforms/android/AndroidDeviceManager.js +86 -54
  320. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  321. package/build/src/start/platforms/android/AndroidPlatformManager.js +9 -6
  322. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  323. package/build/src/start/platforms/android/AndroidSdk.js +38 -11
  324. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  325. package/build/src/start/platforms/android/activateWindow.js +54 -21
  326. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  327. package/build/src/start/platforms/android/adb.js +89 -51
  328. package/build/src/start/platforms/android/adb.js.map +1 -1
  329. package/build/src/start/platforms/android/adbReverse.js +57 -31
  330. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  331. package/build/src/start/platforms/android/emulator.js +89 -44
  332. package/build/src/start/platforms/android/emulator.js.map +1 -1
  333. package/build/src/start/platforms/android/getDevices.js +11 -10
  334. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  335. package/build/src/start/platforms/android/gradle.js +38 -14
  336. package/build/src/start/platforms/android/gradle.js.map +1 -1
  337. package/build/src/start/platforms/android/promptAndroidDevice.js +22 -16
  338. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  339. package/build/src/start/platforms/ios/AppleAppIdResolver.js +31 -10
  340. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  341. package/build/src/start/platforms/ios/AppleDeviceManager.js +120 -62
  342. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  343. package/build/src/start/platforms/ios/ApplePlatformManager.js +7 -4
  344. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  345. package/build/src/start/platforms/ios/assertSystemRequirements.js +11 -7
  346. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  347. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +60 -27
  348. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  349. package/build/src/start/platforms/ios/getBestSimulator.js +60 -30
  350. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  351. package/build/src/start/platforms/ios/promptAppleDevice.js +25 -13
  352. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  353. package/build/src/start/platforms/ios/simctl.js +75 -46
  354. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  355. package/build/src/start/platforms/ios/simctlLogging.js +100 -47
  356. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  357. package/build/src/start/platforms/ios/xcrun.js +21 -6
  358. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  359. package/build/src/start/project/devices.js +19 -16
  360. package/build/src/start/project/devices.js.map +1 -1
  361. package/build/src/start/project/dotExpo.js +37 -11
  362. package/build/src/start/project/dotExpo.js.map +1 -1
  363. package/build/src/start/project/settings.js +6 -4
  364. package/build/src/start/project/settings.js.map +1 -1
  365. package/build/src/start/resolveOptions.js +52 -27
  366. package/build/src/start/resolveOptions.js.map +1 -1
  367. package/build/src/start/server/AsyncNgrok.js +91 -47
  368. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  369. package/build/src/start/server/BundlerDevServer.js +77 -45
  370. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  371. package/build/src/start/server/DevServerManager.js +100 -70
  372. package/build/src/start/server/DevServerManager.js.map +1 -1
  373. package/build/src/start/server/DevToolsPluginManager.js +35 -18
  374. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  375. package/build/src/start/server/DevelopmentSession.js +57 -33
  376. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  377. package/build/src/start/server/ReactDevToolsProxy.js +37 -11
  378. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  379. package/build/src/start/server/UrlCreator.js +61 -27
  380. package/build/src/start/server/UrlCreator.js.map +1 -1
  381. package/build/src/start/server/getStaticRenderFunctions.js +125 -77
  382. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  383. package/build/src/start/server/metro/MetroBundlerDevServer.js +333 -158
  384. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  385. package/build/src/start/server/metro/MetroTerminalReporter.js +50 -28
  386. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  387. package/build/src/start/server/metro/TerminalReporter.js +40 -12
  388. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  389. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  390. package/build/src/start/server/metro/createExpoMetroResolver.js +82 -35
  391. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  392. package/build/src/start/server/metro/createJResolver.js +143 -73
  393. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  394. package/build/src/start/server/metro/createServerRouteMiddleware.js +47 -38
  395. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  396. package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
  397. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
  398. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +18 -14
  399. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  400. package/build/src/start/server/metro/debugging/createHandlersFactory.js +64 -0
  401. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
  402. package/build/src/start/server/metro/debugging/{inspectorHandlers/utils.js → getDebuggerType.js} +6 -8
  403. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
  404. package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/NetworkResponse.js +12 -6
  405. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
  406. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +26 -0
  407. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
  408. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +28 -0
  409. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
  410. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +25 -0
  411. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
  412. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +31 -0
  413. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
  414. package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/VscodeRuntimeGetProperties.js +14 -7
  415. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
  416. package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
  417. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
  418. package/build/src/start/server/metro/debugging/types.js.map +1 -0
  419. package/build/src/start/server/metro/externals.js +67 -69
  420. package/build/src/start/server/metro/externals.js.map +1 -1
  421. package/build/src/start/server/metro/fetchRouterManifest.js +26 -7
  422. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  423. package/build/src/start/server/metro/formatFileCandidates.js +28 -18
  424. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  425. package/build/src/start/server/metro/getCssModulesFromBundler.js +44 -12
  426. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  427. package/build/src/start/server/metro/instantiateMetro.js +141 -62
  428. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  429. package/build/src/start/server/metro/metroErrorInterface.js +75 -47
  430. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  431. package/build/src/start/server/metro/metroErrors.js +11 -2
  432. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  433. package/build/src/start/server/metro/metroVirtualModules.js +90 -0
  434. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
  435. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +12 -3
  436. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  437. package/build/src/start/server/metro/router.js +64 -30
  438. package/build/src/start/server/metro/router.js.map +1 -1
  439. package/build/src/start/server/metro/runServer-fork.js +68 -19
  440. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  441. package/build/src/start/server/metro/serializeHtml.js +32 -19
  442. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  443. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +19 -5
  444. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  445. package/build/src/start/server/metro/withMetroMultiPlatform.js +232 -104
  446. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  447. package/build/src/start/server/metro/withMetroResolvers.js +95 -47
  448. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  449. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
  450. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  451. package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
  452. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  453. package/build/src/start/server/middleware/CreateFileMiddleware.js +33 -13
  454. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  455. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +27 -12
  456. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  457. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +65 -28
  458. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  459. package/build/src/start/server/middleware/ExpoMiddleware.js +54 -22
  460. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  461. package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
  462. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  463. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
  464. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  465. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +58 -21
  466. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  467. package/build/src/start/server/middleware/ManifestMiddleware.js +117 -63
  468. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  469. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +35 -10
  470. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  471. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +54 -27
  472. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  473. package/build/src/start/server/middleware/ServeStaticMiddleware.js +31 -10
  474. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  475. package/build/src/start/server/middleware/inspector/JsInspector.js +45 -22
  476. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  477. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +25 -11
  478. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
  479. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
  480. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
  481. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +36 -14
  482. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
  483. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +84 -38
  484. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
  485. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +42 -20
  486. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
  487. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +40 -13
  488. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  489. package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
  490. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  491. package/build/src/start/server/middleware/metroOptions.js +36 -18
  492. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  493. package/build/src/start/server/middleware/mutations.js +11 -4
  494. package/build/src/start/server/middleware/mutations.js.map +1 -1
  495. package/build/src/start/server/middleware/resolveAssets.js +78 -42
  496. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  497. package/build/src/start/server/middleware/resolvePlatform.js +21 -7
  498. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  499. package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
  500. package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
  501. package/build/src/start/server/openPlatforms.js +7 -6
  502. package/build/src/start/server/openPlatforms.js.map +1 -1
  503. package/build/src/start/server/platformBundlers.js +12 -3
  504. package/build/src/start/server/platformBundlers.js.map +1 -1
  505. package/build/src/start/server/serverLogLikeMetro.js +93 -40
  506. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  507. package/build/src/start/server/type-generation/expo-env.js +26 -6
  508. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  509. package/build/src/start/server/type-generation/routes.js +137 -82
  510. package/build/src/start/server/type-generation/routes.js.map +1 -1
  511. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +44 -23
  512. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  513. package/build/src/start/server/type-generation/tsconfig.js +41 -16
  514. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  515. package/build/src/start/server/webTemplate.js +43 -19
  516. package/build/src/start/server/webTemplate.js.map +1 -1
  517. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +105 -56
  518. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  519. package/build/src/start/server/webpack/compile.js +60 -27
  520. package/build/src/start/server/webpack/compile.js.map +1 -1
  521. package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
  522. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  523. package/build/src/start/server/webpack/resolveFromProject.js +20 -6
  524. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  525. package/build/src/start/server/webpack/tls.js +84 -34
  526. package/build/src/start/server/webpack/tls.js.map +1 -1
  527. package/build/src/start/startAsync.js +98 -52
  528. package/build/src/start/startAsync.js.map +1 -1
  529. package/build/src/utils/FileNotifier.js +73 -28
  530. package/build/src/utils/FileNotifier.js.map +1 -1
  531. package/build/src/utils/analytics/getDevClientProperties.js +48 -22
  532. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
  533. package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
  534. package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
  535. package/build/src/utils/analytics/getMetroProperties.js +4 -1
  536. package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
  537. package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
  538. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
  539. package/build/src/utils/ansi.js +5 -2
  540. package/build/src/utils/ansi.js.map +1 -1
  541. package/build/src/utils/args.js +83 -31
  542. package/build/src/utils/args.js.map +1 -1
  543. package/build/src/utils/array.js +16 -9
  544. package/build/src/utils/array.js.map +1 -1
  545. package/build/src/utils/cocoapods.js +127 -67
  546. package/build/src/utils/cocoapods.js.map +1 -1
  547. package/build/src/utils/codesigning.js +144 -72
  548. package/build/src/utils/codesigning.js.map +1 -1
  549. package/build/src/utils/createFileTransform.js +34 -71
  550. package/build/src/utils/createFileTransform.js.map +1 -1
  551. package/build/src/utils/delay.js +13 -6
  552. package/build/src/utils/delay.js.map +1 -1
  553. package/build/src/utils/dir.js +50 -40
  554. package/build/src/utils/dir.js.map +1 -1
  555. package/build/src/utils/downloadAppAsync.js +51 -18
  556. package/build/src/utils/downloadAppAsync.js.map +1 -1
  557. package/build/src/utils/downloadExpoGoAsync.js +47 -26
  558. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  559. package/build/src/utils/editor.js +65 -27
  560. package/build/src/utils/editor.js.map +1 -1
  561. package/build/src/utils/env.js +44 -33
  562. package/build/src/utils/env.js.map +1 -1
  563. package/build/src/utils/errors.js +35 -12
  564. package/build/src/utils/errors.js.map +1 -1
  565. package/build/src/utils/exit.js +10 -7
  566. package/build/src/utils/exit.js.map +1 -1
  567. package/build/src/utils/findUp.js +38 -8
  568. package/build/src/utils/findUp.js.map +1 -1
  569. package/build/src/utils/fn.js +11 -3
  570. package/build/src/utils/fn.js.map +1 -1
  571. package/build/src/utils/getOrPromptApplicationId.js +84 -46
  572. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  573. package/build/src/utils/getRunningProcess.js +63 -25
  574. package/build/src/utils/getRunningProcess.js.map +1 -1
  575. package/build/src/utils/git.js +76 -38
  576. package/build/src/utils/git.js.map +1 -1
  577. package/build/src/utils/glob.js +23 -12
  578. package/build/src/utils/glob.js.map +1 -1
  579. package/build/src/utils/interactive.js +5 -2
  580. package/build/src/utils/interactive.js.map +1 -1
  581. package/build/src/utils/ip.js +12 -3
  582. package/build/src/utils/ip.js.map +1 -1
  583. package/build/src/utils/isModuleSymlinked.js +20 -5
  584. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  585. package/build/src/utils/link.js +28 -8
  586. package/build/src/utils/link.js.map +1 -1
  587. package/build/src/utils/mergeGitIgnorePaths.js +45 -28
  588. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  589. package/build/src/utils/modifyConfigAsync.js +69 -31
  590. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  591. package/build/src/utils/modifyConfigPlugins.js +50 -23
  592. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  593. package/build/src/utils/nodeEnv.js +8 -1
  594. package/build/src/utils/nodeEnv.js.map +1 -1
  595. package/build/src/utils/nodeModules.js +29 -8
  596. package/build/src/utils/nodeModules.js.map +1 -1
  597. package/build/src/utils/npm.js +86 -31
  598. package/build/src/utils/npm.js.map +1 -1
  599. package/build/src/utils/obj.js +12 -4
  600. package/build/src/utils/obj.js.map +1 -1
  601. package/build/src/utils/open.js +13 -4
  602. package/build/src/utils/open.js.map +1 -1
  603. package/build/src/utils/ora.js +38 -22
  604. package/build/src/utils/ora.js.map +1 -1
  605. package/build/src/utils/plist.js +73 -29
  606. package/build/src/utils/plist.js.map +1 -1
  607. package/build/src/utils/port.js +74 -36
  608. package/build/src/utils/port.js.map +1 -1
  609. package/build/src/utils/profile.js +56 -29
  610. package/build/src/utils/profile.js.map +1 -1
  611. package/build/src/utils/progress.js +23 -13
  612. package/build/src/utils/progress.js.map +1 -1
  613. package/build/src/utils/prompts.js +45 -28
  614. package/build/src/utils/prompts.js.map +1 -1
  615. package/build/src/utils/resolveArgs.js +23 -20
  616. package/build/src/utils/resolveArgs.js.map +1 -1
  617. package/build/src/utils/scheme.js +128 -52
  618. package/build/src/utils/scheme.js.map +1 -1
  619. package/build/src/utils/strings.js +11 -4
  620. package/build/src/utils/strings.js.map +1 -1
  621. package/build/src/utils/tar.js +56 -23
  622. package/build/src/utils/tar.js.map +1 -1
  623. package/build/src/utils/telemetry/DetachedClient.js +90 -0
  624. package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
  625. package/build/src/utils/telemetry/RudderClient.js +101 -0
  626. package/build/src/utils/telemetry/RudderClient.js.map +1 -0
  627. package/build/src/utils/telemetry/flushDetached.js +44 -0
  628. package/build/src/utils/telemetry/flushDetached.js.map +1 -0
  629. package/build/src/utils/telemetry/getContext.js +112 -0
  630. package/build/src/utils/telemetry/getContext.js.map +1 -0
  631. package/build/src/utils/telemetry/index.js +37 -0
  632. package/build/src/utils/telemetry/index.js.map +1 -0
  633. package/build/src/utils/telemetry/types.js +6 -0
  634. package/build/src/utils/telemetry/types.js.map +1 -0
  635. package/build/src/utils/template.js +27 -2
  636. package/build/src/utils/template.js.map +1 -1
  637. package/build/src/utils/terminal.js +5 -2
  638. package/build/src/utils/terminal.js.map +1 -1
  639. package/build/src/utils/tsconfig/evaluateTsConfig.js +32 -14
  640. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  641. package/build/src/utils/tsconfig/loadTsConfigPaths.js +34 -14
  642. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  643. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
  644. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  645. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +20 -11
  646. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  647. package/build/src/utils/url.js +35 -19
  648. package/build/src/utils/url.js.map +1 -1
  649. package/build/src/utils/validateApplicationId.js +47 -28
  650. package/build/src/utils/validateApplicationId.js.map +1 -1
  651. package/build/src/utils/variadic.js +15 -11
  652. package/build/src/utils/variadic.js.map +1 -1
  653. package/build/src/whoami/index.js +43 -25
  654. package/build/src/whoami/index.js.map +1 -1
  655. package/build/src/whoami/whoamiAsync.js +50 -23
  656. package/build/src/whoami/whoamiAsync.js.map +1 -1
  657. package/package.json +16 -17
  658. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +27907 -0
  659. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +9494 -0
  660. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +10015 -0
  661. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +28375 -0
  662. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +9714 -0
  663. package/build/src/run/android/resolveGradleProps.js +0 -37
  664. package/build/src/run/android/resolveGradleProps.js.map +0 -1
  665. package/build/src/start/server/metro/bundleApiRoutes.js +0 -52
  666. package/build/src/start/server/metro/bundleApiRoutes.js.map +0 -1
  667. package/build/src/start/server/metro/debugging/InspectorDevice.js +0 -80
  668. package/build/src/start/server/metro/debugging/InspectorDevice.js.map +0 -1
  669. package/build/src/start/server/metro/debugging/InspectorProxy.js +0 -116
  670. package/build/src/start/server/metro/debugging/InspectorProxy.js.map +0 -1
  671. package/build/src/start/server/metro/debugging/inspectorHandlers/NetworkResponse.js.map +0 -1
  672. package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js +0 -22
  673. package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js.map +0 -1
  674. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js +0 -21
  675. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +0 -1
  676. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js +0 -56
  677. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js.map +0 -1
  678. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js +0 -18
  679. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +0 -1
  680. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js +0 -24
  681. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js.map +0 -1
  682. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeGetProperties.js.map +0 -1
  683. package/build/src/start/server/metro/debugging/inspectorHandlers/types.js.map +0 -1
  684. package/build/src/start/server/metro/debugging/inspectorHandlers/utils.js.map +0 -1
  685. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +0 -38
  686. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +0 -1
  687. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +0 -38
  688. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +0 -1
  689. package/build/src/start/server/type-generation/__typetests__/route.test.js +0 -184
  690. package/build/src/start/server/type-generation/__typetests__/route.test.js.map +0 -1
  691. package/build/src/utils/analytics/rudderstackClient.js +0 -147
  692. package/build/src/utils/analytics/rudderstackClient.js.map +0 -1
  693. /package/build/src/start/server/metro/debugging/{inspectorHandlers/types.js → types.js} +0 -0
@@ -1,18 +1,49 @@
1
- "use strict";
1
+ /**
2
+ * Copyright (c) 2021 Expo, Inc.
3
+ * Copyright (c) 2018 Drifty Co.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */ "use strict";
2
8
  Object.defineProperty(exports, "__esModule", {
3
9
  value: true
4
10
  });
5
- var _plist = _interopRequireDefault(require("@expo/plist"));
6
- var _debug = _interopRequireDefault(require("debug"));
7
- var _errors = require("../../../../utils/errors");
8
- var _plist1 = require("../../../../utils/plist");
11
+ function _export(target, all) {
12
+ for(var name in all)Object.defineProperty(target, name, {
13
+ enumerable: true,
14
+ get: all[name]
15
+ });
16
+ }
17
+ _export(exports, {
18
+ ProtocolClientError: ()=>ProtocolClientError,
19
+ ProtocolReaderFactory: ()=>ProtocolReaderFactory,
20
+ ProtocolReader: ()=>ProtocolReader,
21
+ PlistProtocolReader: ()=>PlistProtocolReader,
22
+ ProtocolClient: ()=>ProtocolClient
23
+ });
24
+ function _plist() {
25
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/plist"));
26
+ _plist = function() {
27
+ return data;
28
+ };
29
+ return data;
30
+ }
31
+ function _debug() {
32
+ const data = /*#__PURE__*/ _interopRequireDefault(require("debug"));
33
+ _debug = function() {
34
+ return data;
35
+ };
36
+ return data;
37
+ }
38
+ const _errors = require("../../../../utils/errors");
39
+ const _plist1 = require("../../../../utils/plist");
9
40
  function _interopRequireDefault(obj) {
10
41
  return obj && obj.__esModule ? obj : {
11
42
  default: obj
12
43
  };
13
44
  }
14
45
  const BPLIST_MAGIC = Buffer.from("bplist00");
15
- const debug = (0, _debug).default("expo:apple-device:protocol");
46
+ const debug = (0, _debug().default)("expo:apple-device:protocol");
16
47
  class ProtocolClientError extends _errors.CommandError {
17
48
  constructor(msg, error, protocolMessage){
18
49
  super(msg);
@@ -20,16 +51,14 @@ class ProtocolClientError extends _errors.CommandError {
20
51
  this.protocolMessage = protocolMessage;
21
52
  }
22
53
  }
23
- exports.ProtocolClientError = ProtocolClientError;
24
54
  class ProtocolReaderFactory {
25
- constructor(ProtocolReader1){
26
- this.ProtocolReader = ProtocolReader1;
55
+ constructor(ProtocolReader){
56
+ this.ProtocolReader = ProtocolReader;
27
57
  }
28
58
  create(callback) {
29
59
  return new this.ProtocolReader(callback);
30
60
  }
31
61
  }
32
- exports.ProtocolReaderFactory = ProtocolReaderFactory;
33
62
  class ProtocolReader {
34
63
  constructor(headerSize, callback){
35
64
  this.headerSize = headerSize;
@@ -82,17 +111,15 @@ class ProtocolReader {
82
111
  }
83
112
  }
84
113
  }
85
- exports.ProtocolReader = ProtocolReader;
86
114
  class PlistProtocolReader extends ProtocolReader {
87
115
  parseBody(body) {
88
116
  if (BPLIST_MAGIC.compare(body, 0, 8) === 0) {
89
- return (0, _plist1).parsePlistBuffer(body);
117
+ return (0, _plist1.parsePlistBuffer)(body);
90
118
  } else {
91
- return _plist.default.parse(body.toString("utf8"));
119
+ return _plist().default.parse(body.toString("utf8"));
92
120
  }
93
121
  }
94
122
  }
95
- exports.PlistProtocolReader = PlistProtocolReader;
96
123
  class ProtocolClient {
97
124
  constructor(socket, readerFactory, writer){
98
125
  this.socket = socket;
@@ -128,6 +155,5 @@ class ProtocolClient {
128
155
  });
129
156
  }
130
157
  }
131
- exports.ProtocolClient = ProtocolClient;
132
158
 
133
159
  //# sourceMappingURL=AbstractProtocol.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/run/ios/appleDevice/protocol/AbstractProtocol.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 Expo, Inc.\n * Copyright (c) 2018 Drifty Co.\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 */\nimport plist from '@expo/plist';\nimport Debug from 'debug';\nimport { Socket } from 'net';\n\nimport { CommandError } from '../../../../utils/errors';\nimport { parsePlistBuffer } from '../../../../utils/plist';\n\nconst BPLIST_MAGIC = Buffer.from('bplist00');\nconst debug = Debug('expo:apple-device:protocol');\n\nexport class ProtocolClientError extends CommandError {\n constructor(\n msg: string,\n public error: Error,\n public protocolMessage?: any\n ) {\n super(msg);\n }\n}\n\nexport type ProtocolReaderCallback = (resp: any, err?: Error) => void;\n\nexport class ProtocolReaderFactory<T> {\n constructor(private ProtocolReader: new (callback: ProtocolReaderCallback) => T) {}\n\n create(callback: (resp: any, err?: Error) => void): T {\n return new this.ProtocolReader(callback);\n }\n}\n\nexport abstract class ProtocolReader {\n protected body!: Buffer; // TODO: ! -> ?\n protected bodyLength!: number; // TODO: ! -> ?\n protected buffer = Buffer.alloc(0);\n constructor(\n protected headerSize: number,\n protected callback: ProtocolReaderCallback\n ) {\n this.onData = this.onData.bind(this);\n }\n\n /** Returns length of body, or -1 if header doesn't contain length */\n protected abstract parseHeader(data: Buffer): number;\n protected abstract parseBody(data: Buffer): any;\n\n onData(data?: Buffer) {\n try {\n // if there's data, add it on to existing buffer\n this.buffer = data ? Buffer.concat([this.buffer, data]) : this.buffer;\n // we haven't gotten the body length from the header yet\n if (!this.bodyLength) {\n if (this.buffer.length < this.headerSize) {\n // partial header, wait for rest\n return;\n }\n this.bodyLength = this.parseHeader(this.buffer);\n // move on to body\n this.buffer = this.buffer.slice(this.headerSize);\n if (!this.buffer.length) {\n // only got header, wait for body\n return;\n }\n }\n if (this.buffer.length < this.bodyLength) {\n // wait for rest of body\n return;\n }\n\n if (this.bodyLength === -1) {\n this.callback(this.parseBody(this.buffer));\n this.buffer = Buffer.alloc(0);\n } else {\n this.body = this.buffer.slice(0, this.bodyLength);\n this.bodyLength -= this.body.length;\n if (!this.bodyLength) {\n this.callback(this.parseBody(this.body));\n }\n this.buffer = this.buffer.slice(this.body.length);\n // There are multiple messages here, call parse again\n if (this.buffer.length) {\n this.onData();\n }\n }\n } catch (err: any) {\n this.callback(null, err);\n }\n }\n}\n\nexport abstract class PlistProtocolReader extends ProtocolReader {\n protected parseBody(body: Buffer) {\n if (BPLIST_MAGIC.compare(body, 0, 8) === 0) {\n return parsePlistBuffer(body);\n } else {\n return plist.parse(body.toString('utf8'));\n }\n }\n}\n\nexport interface ProtocolWriter {\n write(sock: Socket, msg: any): void;\n}\n\nexport abstract class ProtocolClient<MessageType = any> {\n constructor(\n public socket: Socket,\n protected readerFactory: ProtocolReaderFactory<ProtocolReader>,\n protected writer: ProtocolWriter\n ) {}\n\n sendMessage<ResponseType = any>(msg: MessageType): Promise<ResponseType>;\n sendMessage<CallbackType = void, ResponseType = any>(\n msg: MessageType,\n callback: (response: ResponseType, resolve: any, reject: any) => void\n ): Promise<CallbackType>;\n sendMessage<CallbackType = void, ResponseType = any>(\n msg: MessageType,\n callback?: (response: ResponseType, resolve: any, reject: any) => void\n ): Promise<CallbackType | ResponseType> {\n const onError = (error: Error) => {\n debug('Unexpected protocol socket error encountered: %s', error);\n throw new ProtocolClientError(\n `Unexpected protocol error encountered: ${error.message}`,\n error,\n msg\n );\n };\n\n return new Promise<ResponseType | CallbackType>((resolve, reject) => {\n const reader = this.readerFactory.create(async (response: ResponseType, error?: Error) => {\n if (error) {\n reject(error);\n return;\n }\n if (callback) {\n callback(\n response,\n (value: any) => {\n this.socket.removeListener('data', reader.onData);\n this.socket.removeListener('error', onError);\n resolve(value);\n },\n reject\n );\n } else {\n this.socket.removeListener('data', reader.onData);\n this.socket.removeListener('error', onError);\n resolve(response);\n }\n });\n this.socket.on('data', reader.onData);\n this.socket.on('error', onError);\n this.writer.write(this.socket, msg);\n });\n }\n}\n"],"names":["BPLIST_MAGIC","Buffer","from","debug","Debug","ProtocolClientError","CommandError","constructor","msg","error","protocolMessage","ProtocolReaderFactory","ProtocolReader","create","callback","headerSize","buffer","alloc","onData","bind","data","concat","bodyLength","length","parseHeader","slice","parseBody","body","err","PlistProtocolReader","compare","parsePlistBuffer","plist","parse","toString","ProtocolClient","socket","readerFactory","writer","sendMessage","onError","message","Promise","resolve","reject","reader","response","value","removeListener","on","write"],"mappings":"AAOA;;;;AAAkB,IAAA,MAAa,kCAAb,aAAa,EAAA;AACb,IAAA,MAAO,kCAAP,OAAO,EAAA;AAGI,IAAA,OAA0B,WAA1B,0BAA0B,CAAA;AACtB,IAAA,OAAyB,WAAzB,yBAAyB,CAAA;;;;;;AAE1D,MAAMA,YAAY,GAAGC,MAAM,CAACC,IAAI,CAAC,UAAU,CAAC,AAAC;AAC7C,MAAMC,KAAK,GAAGC,CAAAA,GAAAA,MAAK,AAA8B,CAAA,QAA9B,CAAC,4BAA4B,CAAC,AAAC;AAE3C,MAAMC,mBAAmB,SAASC,OAAY,aAAA;IACnDC,YACEC,GAAW,EACJC,KAAY,EACZC,eAAqB,CAC5B;QACA,KAAK,CAACF,GAAG,CAAC,CAAC;aAHJC,KAAY,GAAZA,KAAY;aACZC,eAAqB,GAArBA,eAAqB;KAG7B;CACF;QARYL,mBAAmB,GAAnBA,mBAAmB;AAYzB,MAAMM,qBAAqB;IAChCJ,YAAoBK,eAA2D,CAAE;aAA7DA,cAA2D,GAA3DA,eAA2D;KAAI;IAEnFC,MAAM,CAACC,QAA0C,EAAK;QACpD,OAAO,IAAI,IAAI,CAACF,cAAc,CAACE,QAAQ,CAAC,CAAC;KAC1C;CACF;QANYH,qBAAqB,GAArBA,qBAAqB;AAQ3B,MAAeC,cAAc;IAIlCL,YACYQ,UAAkB,EAClBD,QAAgC,CAC1C;aAFUC,UAAkB,GAAlBA,UAAkB;aAClBD,QAAgC,GAAhCA,QAAgC;aAHlCE,MAAM,GAAGf,MAAM,CAACgB,KAAK,CAAC,CAAC,CAAC;QAKhC,IAAI,CAACC,MAAM,GAAG,IAAI,CAACA,MAAM,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtC;IAMDD,MAAM,CAACE,IAAa,EAAE;QACpB,IAAI;YACF,gDAAgD;YAChD,IAAI,CAACJ,MAAM,GAAGI,IAAI,GAAGnB,MAAM,CAACoB,MAAM,CAAC;gBAAC,IAAI,CAACL,MAAM;gBAAEI,IAAI;aAAC,CAAC,GAAG,IAAI,CAACJ,MAAM,CAAC;YACtE,wDAAwD;YACxD,IAAI,CAAC,IAAI,CAACM,UAAU,EAAE;gBACpB,IAAI,IAAI,CAACN,MAAM,CAACO,MAAM,GAAG,IAAI,CAACR,UAAU,EAAE;oBACxC,gCAAgC;oBAChC,OAAO;iBACR;gBACD,IAAI,CAACO,UAAU,GAAG,IAAI,CAACE,WAAW,CAAC,IAAI,CAACR,MAAM,CAAC,CAAC;gBAChD,kBAAkB;gBAClB,IAAI,CAACA,MAAM,GAAG,IAAI,CAACA,MAAM,CAACS,KAAK,CAAC,IAAI,CAACV,UAAU,CAAC,CAAC;gBACjD,IAAI,CAAC,IAAI,CAACC,MAAM,CAACO,MAAM,EAAE;oBACvB,iCAAiC;oBACjC,OAAO;iBACR;aACF;YACD,IAAI,IAAI,CAACP,MAAM,CAACO,MAAM,GAAG,IAAI,CAACD,UAAU,EAAE;gBACxC,wBAAwB;gBACxB,OAAO;aACR;YAED,IAAI,IAAI,CAACA,UAAU,KAAK,CAAC,CAAC,EAAE;gBAC1B,IAAI,CAACR,QAAQ,CAAC,IAAI,CAACY,SAAS,CAAC,IAAI,CAACV,MAAM,CAAC,CAAC,CAAC;gBAC3C,IAAI,CAACA,MAAM,GAAGf,MAAM,CAACgB,KAAK,CAAC,CAAC,CAAC,CAAC;aAC/B,MAAM;gBACL,IAAI,CAACU,IAAI,GAAG,IAAI,CAACX,MAAM,CAACS,KAAK,CAAC,CAAC,EAAE,IAAI,CAACH,UAAU,CAAC,CAAC;gBAClD,IAAI,CAACA,UAAU,IAAI,IAAI,CAACK,IAAI,CAACJ,MAAM,CAAC;gBACpC,IAAI,CAAC,IAAI,CAACD,UAAU,EAAE;oBACpB,IAAI,CAACR,QAAQ,CAAC,IAAI,CAACY,SAAS,CAAC,IAAI,CAACC,IAAI,CAAC,CAAC,CAAC;iBAC1C;gBACD,IAAI,CAACX,MAAM,GAAG,IAAI,CAACA,MAAM,CAACS,KAAK,CAAC,IAAI,CAACE,IAAI,CAACJ,MAAM,CAAC,CAAC;gBAClD,qDAAqD;gBACrD,IAAI,IAAI,CAACP,MAAM,CAACO,MAAM,EAAE;oBACtB,IAAI,CAACL,MAAM,EAAE,CAAC;iBACf;aACF;SACF,CAAC,OAAOU,GAAG,EAAO;YACjB,IAAI,CAACd,QAAQ,CAAC,IAAI,EAAEc,GAAG,CAAC,CAAC;SAC1B;KACF;CACF;QAzDqBhB,cAAc,GAAdA,cAAc;AA2D7B,MAAeiB,mBAAmB,SAASjB,cAAc;IAC9D,AAAUc,SAAS,CAACC,IAAY,EAAE;QAChC,IAAI3B,YAAY,CAAC8B,OAAO,CAACH,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE;YAC1C,OAAOI,CAAAA,GAAAA,OAAgB,AAAM,CAAA,iBAAN,CAACJ,IAAI,CAAC,CAAC;SAC/B,MAAM;YACL,OAAOK,MAAK,QAAA,CAACC,KAAK,CAACN,IAAI,CAACO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3C;KACF;CACF;QARqBL,mBAAmB,GAAnBA,mBAAmB;AAclC,MAAeM,cAAc;IAClC5B,YACS6B,MAAc,EACXC,aAAoD,EACpDC,MAAsB,CAChC;aAHOF,MAAc,GAAdA,MAAc;aACXC,aAAoD,GAApDA,aAAoD;aACpDC,MAAsB,GAAtBA,MAAsB;KAC9B;IAOJC,WAAW,CACT/B,GAAgB,EAChBM,QAAsE,EAChC;QACtC,MAAM0B,OAAO,GAAG,CAAC/B,KAAY,GAAK;YAChCN,KAAK,CAAC,kDAAkD,EAAEM,KAAK,CAAC,CAAC;YACjE,MAAM,IAAIJ,mBAAmB,CAC3B,CAAC,uCAAuC,EAAEI,KAAK,CAACgC,OAAO,CAAC,CAAC,EACzDhC,KAAK,EACLD,GAAG,CACJ,CAAC;SACH,AAAC;QAEF,OAAO,IAAIkC,OAAO,CAA8B,CAACC,OAAO,EAAEC,MAAM,GAAK;YACnE,MAAMC,MAAM,GAAG,IAAI,CAACR,aAAa,CAACxB,MAAM,CAAC,OAAOiC,QAAsB,EAAErC,KAAa,GAAK;gBACxF,IAAIA,KAAK,EAAE;oBACTmC,MAAM,CAACnC,KAAK,CAAC,CAAC;oBACd,OAAO;iBACR;gBACD,IAAIK,QAAQ,EAAE;oBACZA,QAAQ,CACNgC,QAAQ,EACR,CAACC,KAAU,GAAK;wBACd,IAAI,CAACX,MAAM,CAACY,cAAc,CAAC,MAAM,EAAEH,MAAM,CAAC3B,MAAM,CAAC,CAAC;wBAClD,IAAI,CAACkB,MAAM,CAACY,cAAc,CAAC,OAAO,EAAER,OAAO,CAAC,CAAC;wBAC7CG,OAAO,CAACI,KAAK,CAAC,CAAC;qBAChB,EACDH,MAAM,CACP,CAAC;iBACH,MAAM;oBACL,IAAI,CAACR,MAAM,CAACY,cAAc,CAAC,MAAM,EAAEH,MAAM,CAAC3B,MAAM,CAAC,CAAC;oBAClD,IAAI,CAACkB,MAAM,CAACY,cAAc,CAAC,OAAO,EAAER,OAAO,CAAC,CAAC;oBAC7CG,OAAO,CAACG,QAAQ,CAAC,CAAC;iBACnB;aACF,CAAC,AAAC;YACH,IAAI,CAACV,MAAM,CAACa,EAAE,CAAC,MAAM,EAAEJ,MAAM,CAAC3B,MAAM,CAAC,CAAC;YACtC,IAAI,CAACkB,MAAM,CAACa,EAAE,CAAC,OAAO,EAAET,OAAO,CAAC,CAAC;YACjC,IAAI,CAACF,MAAM,CAACY,KAAK,CAAC,IAAI,CAACd,MAAM,EAAE5B,GAAG,CAAC,CAAC;SACrC,CAAC,CAAC;KACJ;CACF;QApDqB2B,cAAc,GAAdA,cAAc"}
1
+ {"version":3,"sources":["../../../../../../src/run/ios/appleDevice/protocol/AbstractProtocol.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 Expo, Inc.\n * Copyright (c) 2018 Drifty Co.\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 */\nimport plist from '@expo/plist';\nimport Debug from 'debug';\nimport { Socket } from 'net';\n\nimport { CommandError } from '../../../../utils/errors';\nimport { parsePlistBuffer } from '../../../../utils/plist';\n\nconst BPLIST_MAGIC = Buffer.from('bplist00');\nconst debug = Debug('expo:apple-device:protocol');\n\nexport class ProtocolClientError extends CommandError {\n constructor(\n msg: string,\n public error: Error,\n public protocolMessage?: any\n ) {\n super(msg);\n }\n}\n\nexport type ProtocolReaderCallback = (resp: any, err?: Error) => void;\n\nexport class ProtocolReaderFactory<T> {\n constructor(private ProtocolReader: new (callback: ProtocolReaderCallback) => T) {}\n\n create(callback: (resp: any, err?: Error) => void): T {\n return new this.ProtocolReader(callback);\n }\n}\n\nexport abstract class ProtocolReader {\n protected body!: Buffer; // TODO: ! -> ?\n protected bodyLength!: number; // TODO: ! -> ?\n protected buffer = Buffer.alloc(0);\n constructor(\n protected headerSize: number,\n protected callback: ProtocolReaderCallback\n ) {\n this.onData = this.onData.bind(this);\n }\n\n /** Returns length of body, or -1 if header doesn't contain length */\n protected abstract parseHeader(data: Buffer): number;\n protected abstract parseBody(data: Buffer): any;\n\n onData(data?: Buffer) {\n try {\n // if there's data, add it on to existing buffer\n this.buffer = data ? Buffer.concat([this.buffer, data]) : this.buffer;\n // we haven't gotten the body length from the header yet\n if (!this.bodyLength) {\n if (this.buffer.length < this.headerSize) {\n // partial header, wait for rest\n return;\n }\n this.bodyLength = this.parseHeader(this.buffer);\n // move on to body\n this.buffer = this.buffer.slice(this.headerSize);\n if (!this.buffer.length) {\n // only got header, wait for body\n return;\n }\n }\n if (this.buffer.length < this.bodyLength) {\n // wait for rest of body\n return;\n }\n\n if (this.bodyLength === -1) {\n this.callback(this.parseBody(this.buffer));\n this.buffer = Buffer.alloc(0);\n } else {\n this.body = this.buffer.slice(0, this.bodyLength);\n this.bodyLength -= this.body.length;\n if (!this.bodyLength) {\n this.callback(this.parseBody(this.body));\n }\n this.buffer = this.buffer.slice(this.body.length);\n // There are multiple messages here, call parse again\n if (this.buffer.length) {\n this.onData();\n }\n }\n } catch (err: any) {\n this.callback(null, err);\n }\n }\n}\n\nexport abstract class PlistProtocolReader extends ProtocolReader {\n protected parseBody(body: Buffer) {\n if (BPLIST_MAGIC.compare(body, 0, 8) === 0) {\n return parsePlistBuffer(body);\n } else {\n return plist.parse(body.toString('utf8'));\n }\n }\n}\n\nexport interface ProtocolWriter {\n write(sock: Socket, msg: any): void;\n}\n\nexport abstract class ProtocolClient<MessageType = any> {\n constructor(\n public socket: Socket,\n protected readerFactory: ProtocolReaderFactory<ProtocolReader>,\n protected writer: ProtocolWriter\n ) {}\n\n sendMessage<ResponseType = any>(msg: MessageType): Promise<ResponseType>;\n sendMessage<CallbackType = void, ResponseType = any>(\n msg: MessageType,\n callback: (response: ResponseType, resolve: any, reject: any) => void\n ): Promise<CallbackType>;\n sendMessage<CallbackType = void, ResponseType = any>(\n msg: MessageType,\n callback?: (response: ResponseType, resolve: any, reject: any) => void\n ): Promise<CallbackType | ResponseType> {\n const onError = (error: Error) => {\n debug('Unexpected protocol socket error encountered: %s', error);\n throw new ProtocolClientError(\n `Unexpected protocol error encountered: ${error.message}`,\n error,\n msg\n );\n };\n\n return new Promise<ResponseType | CallbackType>((resolve, reject) => {\n const reader = this.readerFactory.create(async (response: ResponseType, error?: Error) => {\n if (error) {\n reject(error);\n return;\n }\n if (callback) {\n callback(\n response,\n (value: any) => {\n this.socket.removeListener('data', reader.onData);\n this.socket.removeListener('error', onError);\n resolve(value);\n },\n reject\n );\n } else {\n this.socket.removeListener('data', reader.onData);\n this.socket.removeListener('error', onError);\n resolve(response);\n }\n });\n this.socket.on('data', reader.onData);\n this.socket.on('error', onError);\n this.writer.write(this.socket, msg);\n });\n }\n}\n"],"names":["ProtocolClientError","ProtocolReaderFactory","ProtocolReader","PlistProtocolReader","ProtocolClient","BPLIST_MAGIC","Buffer","from","debug","Debug","CommandError","constructor","msg","error","protocolMessage","create","callback","headerSize","buffer","alloc","onData","bind","data","concat","bodyLength","length","parseHeader","slice","parseBody","body","err","compare","parsePlistBuffer","plist","parse","toString","socket","readerFactory","writer","sendMessage","onError","message","Promise","resolve","reject","reader","response","value","removeListener","on","write"],"mappings":"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"}
@@ -1,24 +1,46 @@
1
- "use strict";
1
+ /**
2
+ * Copyright (c) 2021 Expo, Inc.
3
+ * Copyright (c) 2018 Drifty Co.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */ "use strict";
2
8
  Object.defineProperty(exports, "__esModule", {
3
9
  value: true
4
10
  });
5
- exports.validateChecksum = validateChecksum;
6
- var _debug = _interopRequireDefault(require("debug"));
7
- var _abstractProtocol = require("./AbstractProtocol");
8
- var _errors = require("../../../../utils/errors");
11
+ function _export(target, all) {
12
+ for(var name in all)Object.defineProperty(target, name, {
13
+ enumerable: true,
14
+ get: all[name]
15
+ });
16
+ }
17
+ _export(exports, {
18
+ GDBProtocolClient: ()=>GDBProtocolClient,
19
+ GDBProtocolReader: ()=>GDBProtocolReader,
20
+ GDBProtocolWriter: ()=>GDBProtocolWriter,
21
+ validateChecksum: ()=>validateChecksum
22
+ });
23
+ function _debug() {
24
+ const data = /*#__PURE__*/ _interopRequireDefault(require("debug"));
25
+ _debug = function() {
26
+ return data;
27
+ };
28
+ return data;
29
+ }
30
+ const _abstractProtocol = require("./AbstractProtocol");
31
+ const _errors = require("../../../../utils/errors");
9
32
  function _interopRequireDefault(obj) {
10
33
  return obj && obj.__esModule ? obj : {
11
34
  default: obj
12
35
  };
13
36
  }
14
- const debug = (0, _debug).default("expo:apple-device:protocol:gdb");
37
+ const debug = (0, _debug().default)("expo:apple-device:protocol:gdb");
15
38
  const ACK_SUCCESS = "+".charCodeAt(0);
16
39
  class GDBProtocolClient extends _abstractProtocol.ProtocolClient {
17
40
  constructor(socket){
18
41
  super(socket, new _abstractProtocol.ProtocolReaderFactory(GDBProtocolReader), new GDBProtocolWriter());
19
42
  }
20
43
  }
21
- exports.GDBProtocolClient = GDBProtocolClient;
22
44
  class GDBProtocolReader extends _abstractProtocol.ProtocolReader {
23
45
  constructor(callback){
24
46
  super(1 /* "Header" is '+' or '-' */ , callback);
@@ -87,20 +109,17 @@ class GDBProtocolReader extends _abstractProtocol.ProtocolReader {
87
109
  }
88
110
  }
89
111
  }
90
- exports.GDBProtocolReader = GDBProtocolReader;
91
112
  class GDBProtocolWriter {
92
113
  write(socket, msg) {
93
114
  const { cmd , args } = msg;
94
115
  debug(`Socket write: ${cmd}, args: ${args}`);
95
116
  // hex encode and concat all args
96
- const encodedArgs = args.map((arg)=>Buffer.from(arg).toString("hex")
97
- ).join().toUpperCase();
117
+ const encodedArgs = args.map((arg)=>Buffer.from(arg).toString("hex")).join().toUpperCase();
98
118
  const checksumStr = calculateChecksum(cmd + encodedArgs);
99
119
  const formattedCmd = `$${cmd}${encodedArgs}#${checksumStr}`;
100
120
  socket.write(formattedCmd);
101
121
  }
102
122
  }
103
- exports.GDBProtocolWriter = GDBProtocolWriter;
104
123
  // hex value of (sum of cmd chars mod 256)
105
124
  function calculateChecksum(cmdStr) {
106
125
  let checksum = 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/run/ios/appleDevice/protocol/GDBProtocol.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 Expo, Inc.\n * Copyright (c) 2018 Drifty Co.\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 */\nimport Debug from 'debug';\nimport { Socket } from 'net';\n\nimport {\n ProtocolClient,\n ProtocolReader,\n ProtocolReaderCallback,\n ProtocolReaderFactory,\n ProtocolWriter,\n} from './AbstractProtocol';\nimport { CommandError } from '../../../../utils/errors';\n\nconst debug = Debug('expo:apple-device:protocol:gdb');\nconst ACK_SUCCESS = '+'.charCodeAt(0);\n\nexport interface GDBMessage {\n cmd: string;\n args: string[];\n}\n\nexport class GDBProtocolClient extends ProtocolClient<GDBMessage> {\n constructor(socket: Socket) {\n super(socket, new ProtocolReaderFactory(GDBProtocolReader), new GDBProtocolWriter());\n }\n}\n\nexport class GDBProtocolReader extends ProtocolReader {\n constructor(callback: ProtocolReaderCallback) {\n super(1 /* \"Header\" is '+' or '-' */, callback);\n }\n\n onData(data?: Buffer) {\n // the GDB protocol does not support body length in its header so we cannot rely on\n // the parent implementation to determine when a payload is complete\n try {\n // if there's data, add it to the existing buffer\n this.buffer = data ? Buffer.concat([this.buffer, data]) : this.buffer;\n\n // do we have enough bytes to proceed\n if (this.buffer.length < this.headerSize) {\n return; // incomplete header, wait for more\n }\n\n // first, check the header\n if (this.parseHeader(this.buffer) === -1) {\n // we have a valid header so check the body. GDB packets will always be a leading '$', data bytes,\n // a trailing '#', and a two digit checksum. minimum valid body is the empty response '$#00'\n // https://developer.apple.com/library/archive/documentation/DeveloperTools/gdb/gdb/gdb_33.html\n const packetData = this.buffer.toString().match('\\\\$.*#[0-9a-f]{2}');\n if (packetData == null) {\n return; // incomplete body, wait for more\n }\n // extract the body and update the buffer\n const body = Buffer.from(packetData[0]);\n this.buffer = this.buffer.slice(this.headerSize + body.length);\n // parse the payload and recurse if there is more data to process\n this.callback(this.parseBody(body));\n if (this.buffer.length) {\n this.onData();\n }\n }\n } catch (err: any) {\n this.callback(null, err);\n }\n }\n\n parseHeader(data: Buffer) {\n if (data[0] !== ACK_SUCCESS) {\n throw new CommandError('APPLE_DEVICE_GDB', 'Unsuccessful debugserver response');\n } // TODO: retry?\n return -1;\n }\n\n parseBody(buffer: Buffer) {\n debug(`Response body: ${buffer.toString()}`);\n // check for checksum\n const checksum = buffer.slice(-3).toString();\n if (checksum.match(/#[0-9a-f]{2}/)) {\n // remove '$' prefix and checksum\n const msg = buffer.slice(1, -3).toString();\n if (validateChecksum(checksum, msg)) {\n return msg;\n } else if (msg.startsWith('E')) {\n if (msg.match(/the device was not, or could not be, unlocked/)) {\n throw new CommandError('APPLE_DEVICE_LOCKED', 'Device is currently locked.');\n }\n\n // Error message from debugserver -- Drop the `E`\n return msg.slice(1);\n } else {\n throw new CommandError(\n 'APPLE_DEVICE_GDB',\n `Invalid checksum received from debugserver. (checksum: ${checksum}, msg: ${msg})`\n );\n }\n } else {\n throw new CommandError('APPLE_DEVICE_GDB', \"Didn't receive checksum\");\n }\n }\n}\n\nexport class GDBProtocolWriter implements ProtocolWriter {\n write(socket: Socket, msg: GDBMessage) {\n const { cmd, args } = msg;\n debug(`Socket write: ${cmd}, args: ${args}`);\n // hex encode and concat all args\n const encodedArgs = args\n .map((arg) => Buffer.from(arg).toString('hex'))\n .join()\n .toUpperCase();\n const checksumStr = calculateChecksum(cmd + encodedArgs);\n const formattedCmd = `$${cmd}${encodedArgs}#${checksumStr}`;\n socket.write(formattedCmd);\n }\n}\n\n// hex value of (sum of cmd chars mod 256)\nfunction calculateChecksum(cmdStr: string) {\n let checksum = 0;\n for (let i = 0; i < cmdStr.length; i++) {\n checksum += cmdStr.charCodeAt(i);\n }\n let result = (checksum % 256).toString(16);\n // pad if necessary\n if (result.length === 1) {\n result = `0${result}`;\n }\n return result;\n}\n\nexport function validateChecksum(checksum: string, msg: string) {\n // remove '#' from checksum\n const checksumVal = checksum.startsWith('#') ? checksum.slice(1) : checksum;\n // remove '$' from msg and calculate its checksum\n const computedChecksum = calculateChecksum(msg);\n // debug(`Checksum: ${checksumVal}, computed checksum: ${computedChecksum}`);\n return checksumVal === computedChecksum;\n}\n"],"names":["validateChecksum","debug","Debug","ACK_SUCCESS","charCodeAt","GDBProtocolClient","ProtocolClient","constructor","socket","ProtocolReaderFactory","GDBProtocolReader","GDBProtocolWriter","ProtocolReader","callback","onData","data","buffer","Buffer","concat","length","headerSize","parseHeader","packetData","toString","match","body","from","slice","parseBody","err","CommandError","checksum","msg","startsWith","write","cmd","args","encodedArgs","map","arg","join","toUpperCase","checksumStr","calculateChecksum","formattedCmd","cmdStr","i","result","checksumVal","computedChecksum"],"mappings":"AAOA;;;;QAkIgBA,gBAAgB,GAAhBA,gBAAgB;AAlId,IAAA,MAAO,kCAAP,OAAO,EAAA;AASlB,IAAA,iBAAoB,WAApB,oBAAoB,CAAA;AACE,IAAA,OAA0B,WAA1B,0BAA0B,CAAA;;;;;;AAEvD,MAAMC,KAAK,GAAGC,CAAAA,GAAAA,MAAK,AAAkC,CAAA,QAAlC,CAAC,gCAAgC,CAAC,AAAC;AACtD,MAAMC,WAAW,GAAG,GAAG,CAACC,UAAU,CAAC,CAAC,CAAC,AAAC;AAO/B,MAAMC,iBAAiB,SAASC,iBAAc,eAAA;IACnDC,YAAYC,MAAc,CAAE;QAC1B,KAAK,CAACA,MAAM,EAAE,IAAIC,iBAAqB,sBAAA,CAACC,iBAAiB,CAAC,EAAE,IAAIC,iBAAiB,EAAE,CAAC,CAAC;KACtF;CACF;QAJYN,iBAAiB,GAAjBA,iBAAiB;AAMvB,MAAMK,iBAAiB,SAASE,iBAAc,eAAA;IACnDL,YAAYM,QAAgC,CAAE;QAC5C,KAAK,CAAC,CAAC,CAAC,4BAA4B,GAAEA,QAAQ,CAAC,CAAC;KACjD;IAEDC,MAAM,CAACC,IAAa,EAAE;QACpB,mFAAmF;QACnF,oEAAoE;QACpE,IAAI;YACF,iDAAiD;YACjD,IAAI,CAACC,MAAM,GAAGD,IAAI,GAAGE,MAAM,CAACC,MAAM,CAAC;gBAAC,IAAI,CAACF,MAAM;gBAAED,IAAI;aAAC,CAAC,GAAG,IAAI,CAACC,MAAM,CAAC;YAEtE,qCAAqC;YACrC,IAAI,IAAI,CAACA,MAAM,CAACG,MAAM,GAAG,IAAI,CAACC,UAAU,EAAE;gBACxC,OAAO,CAAC,mCAAmC;aAC5C;YAED,0BAA0B;YAC1B,IAAI,IAAI,CAACC,WAAW,CAAC,IAAI,CAACL,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;gBACxC,kGAAkG;gBAClG,4FAA4F;gBAC5F,+FAA+F;gBAC/F,MAAMM,UAAU,GAAG,IAAI,CAACN,MAAM,CAACO,QAAQ,EAAE,CAACC,KAAK,CAAC,mBAAmB,CAAC,AAAC;gBACrE,IAAIF,UAAU,IAAI,IAAI,EAAE;oBACtB,OAAO,CAAC,iCAAiC;iBAC1C;gBACD,yCAAyC;gBACzC,MAAMG,IAAI,GAAGR,MAAM,CAACS,IAAI,CAACJ,UAAU,CAAC,CAAC,CAAC,CAAC,AAAC;gBACxC,IAAI,CAACN,MAAM,GAAG,IAAI,CAACA,MAAM,CAACW,KAAK,CAAC,IAAI,CAACP,UAAU,GAAGK,IAAI,CAACN,MAAM,CAAC,CAAC;gBAC/D,iEAAiE;gBACjE,IAAI,CAACN,QAAQ,CAAC,IAAI,CAACe,SAAS,CAACH,IAAI,CAAC,CAAC,CAAC;gBACpC,IAAI,IAAI,CAACT,MAAM,CAACG,MAAM,EAAE;oBACtB,IAAI,CAACL,MAAM,EAAE,CAAC;iBACf;aACF;SACF,CAAC,OAAOe,GAAG,EAAO;YACjB,IAAI,CAAChB,QAAQ,CAAC,IAAI,EAAEgB,GAAG,CAAC,CAAC;SAC1B;KACF;IAEDR,WAAW,CAACN,IAAY,EAAE;QACxB,IAAIA,IAAI,CAAC,CAAC,CAAC,KAAKZ,WAAW,EAAE;YAC3B,MAAM,IAAI2B,OAAY,aAAA,CAAC,kBAAkB,EAAE,mCAAmC,CAAC,CAAC;SACjF,CAAC,eAAe;QACjB,OAAO,CAAC,CAAC,CAAC;KACX;IAEDF,SAAS,CAACZ,MAAc,EAAE;QACxBf,KAAK,CAAC,CAAC,eAAe,EAAEe,MAAM,CAACO,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,qBAAqB;QACrB,MAAMQ,QAAQ,GAAGf,MAAM,CAACW,KAAK,CAAC,CAAC,CAAC,CAAC,CAACJ,QAAQ,EAAE,AAAC;QAC7C,IAAIQ,QAAQ,CAACP,KAAK,gBAAgB,EAAE;YAClC,iCAAiC;YACjC,MAAMQ,GAAG,GAAGhB,MAAM,CAACW,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACJ,QAAQ,EAAE,AAAC;YAC3C,IAAIvB,gBAAgB,CAAC+B,QAAQ,EAAEC,GAAG,CAAC,EAAE;gBACnC,OAAOA,GAAG,CAAC;aACZ,MAAM,IAAIA,GAAG,CAACC,UAAU,CAAC,GAAG,CAAC,EAAE;gBAC9B,IAAID,GAAG,CAACR,KAAK,iDAAiD,EAAE;oBAC9D,MAAM,IAAIM,OAAY,aAAA,CAAC,qBAAqB,EAAE,6BAA6B,CAAC,CAAC;iBAC9E;gBAED,iDAAiD;gBACjD,OAAOE,GAAG,CAACL,KAAK,CAAC,CAAC,CAAC,CAAC;aACrB,MAAM;gBACL,MAAM,IAAIG,OAAY,aAAA,CACpB,kBAAkB,EAClB,CAAC,uDAAuD,EAAEC,QAAQ,CAAC,OAAO,EAAEC,GAAG,CAAC,CAAC,CAAC,CACnF,CAAC;aACH;SACF,MAAM;YACL,MAAM,IAAIF,OAAY,aAAA,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;SACvE;KACF;CACF;QAzEYpB,iBAAiB,GAAjBA,iBAAiB;AA2EvB,MAAMC,iBAAiB;IAC5BuB,KAAK,CAAC1B,MAAc,EAAEwB,GAAe,EAAE;QACrC,MAAM,EAAEG,GAAG,CAAA,EAAEC,IAAI,CAAA,EAAE,GAAGJ,GAAG,AAAC;QAC1B/B,KAAK,CAAC,CAAC,cAAc,EAAEkC,GAAG,CAAC,QAAQ,EAAEC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,iCAAiC;QACjC,MAAMC,WAAW,GAAGD,IAAI,CACrBE,GAAG,CAAC,CAACC,GAAG,GAAKtB,MAAM,CAACS,IAAI,CAACa,GAAG,CAAC,CAAChB,QAAQ,CAAC,KAAK,CAAC;QAAA,CAAC,CAC9CiB,IAAI,EAAE,CACNC,WAAW,EAAE,AAAC;QACjB,MAAMC,WAAW,GAAGC,iBAAiB,CAACR,GAAG,GAAGE,WAAW,CAAC,AAAC;QACzD,MAAMO,YAAY,GAAG,CAAC,CAAC,EAAET,GAAG,CAAC,EAAEE,WAAW,CAAC,CAAC,EAAEK,WAAW,CAAC,CAAC,AAAC;QAC5DlC,MAAM,CAAC0B,KAAK,CAACU,YAAY,CAAC,CAAC;KAC5B;CACF;QAbYjC,iBAAiB,GAAjBA,iBAAiB;AAe9B,0CAA0C;AAC1C,SAASgC,iBAAiB,CAACE,MAAc,EAAE;IACzC,IAAId,QAAQ,GAAG,CAAC,AAAC;IACjB,IAAK,IAAIe,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,MAAM,CAAC1B,MAAM,EAAE2B,CAAC,EAAE,CAAE;QACtCf,QAAQ,IAAIc,MAAM,CAACzC,UAAU,CAAC0C,CAAC,CAAC,CAAC;KAClC;IACD,IAAIC,MAAM,GAAG,CAAChB,QAAQ,GAAG,GAAG,CAAC,CAACR,QAAQ,CAAC,EAAE,CAAC,AAAC;IAC3C,mBAAmB;IACnB,IAAIwB,MAAM,CAAC5B,MAAM,KAAK,CAAC,EAAE;QACvB4B,MAAM,GAAG,CAAC,CAAC,EAAEA,MAAM,CAAC,CAAC,CAAC;KACvB;IACD,OAAOA,MAAM,CAAC;CACf;AAEM,SAAS/C,gBAAgB,CAAC+B,QAAgB,EAAEC,GAAW,EAAE;IAC9D,2BAA2B;IAC3B,MAAMgB,WAAW,GAAGjB,QAAQ,CAACE,UAAU,CAAC,GAAG,CAAC,GAAGF,QAAQ,CAACJ,KAAK,CAAC,CAAC,CAAC,GAAGI,QAAQ,AAAC;IAC5E,iDAAiD;IACjD,MAAMkB,gBAAgB,GAAGN,iBAAiB,CAACX,GAAG,CAAC,AAAC;IAChD,6EAA6E;IAC7E,OAAOgB,WAAW,KAAKC,gBAAgB,CAAC;CACzC"}
1
+ {"version":3,"sources":["../../../../../../src/run/ios/appleDevice/protocol/GDBProtocol.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 Expo, Inc.\n * Copyright (c) 2018 Drifty Co.\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 */\nimport Debug from 'debug';\nimport { Socket } from 'net';\n\nimport {\n ProtocolClient,\n ProtocolReader,\n ProtocolReaderCallback,\n ProtocolReaderFactory,\n ProtocolWriter,\n} from './AbstractProtocol';\nimport { CommandError } from '../../../../utils/errors';\n\nconst debug = Debug('expo:apple-device:protocol:gdb');\nconst ACK_SUCCESS = '+'.charCodeAt(0);\n\nexport interface GDBMessage {\n cmd: string;\n args: string[];\n}\n\nexport class GDBProtocolClient extends ProtocolClient<GDBMessage> {\n constructor(socket: Socket) {\n super(socket, new ProtocolReaderFactory(GDBProtocolReader), new GDBProtocolWriter());\n }\n}\n\nexport class GDBProtocolReader extends ProtocolReader {\n constructor(callback: ProtocolReaderCallback) {\n super(1 /* \"Header\" is '+' or '-' */, callback);\n }\n\n onData(data?: Buffer) {\n // the GDB protocol does not support body length in its header so we cannot rely on\n // the parent implementation to determine when a payload is complete\n try {\n // if there's data, add it to the existing buffer\n this.buffer = data ? Buffer.concat([this.buffer, data]) : this.buffer;\n\n // do we have enough bytes to proceed\n if (this.buffer.length < this.headerSize) {\n return; // incomplete header, wait for more\n }\n\n // first, check the header\n if (this.parseHeader(this.buffer) === -1) {\n // we have a valid header so check the body. GDB packets will always be a leading '$', data bytes,\n // a trailing '#', and a two digit checksum. minimum valid body is the empty response '$#00'\n // https://developer.apple.com/library/archive/documentation/DeveloperTools/gdb/gdb/gdb_33.html\n const packetData = this.buffer.toString().match('\\\\$.*#[0-9a-f]{2}');\n if (packetData == null) {\n return; // incomplete body, wait for more\n }\n // extract the body and update the buffer\n const body = Buffer.from(packetData[0]);\n this.buffer = this.buffer.slice(this.headerSize + body.length);\n // parse the payload and recurse if there is more data to process\n this.callback(this.parseBody(body));\n if (this.buffer.length) {\n this.onData();\n }\n }\n } catch (err: any) {\n this.callback(null, err);\n }\n }\n\n parseHeader(data: Buffer) {\n if (data[0] !== ACK_SUCCESS) {\n throw new CommandError('APPLE_DEVICE_GDB', 'Unsuccessful debugserver response');\n } // TODO: retry?\n return -1;\n }\n\n parseBody(buffer: Buffer) {\n debug(`Response body: ${buffer.toString()}`);\n // check for checksum\n const checksum = buffer.slice(-3).toString();\n if (checksum.match(/#[0-9a-f]{2}/)) {\n // remove '$' prefix and checksum\n const msg = buffer.slice(1, -3).toString();\n if (validateChecksum(checksum, msg)) {\n return msg;\n } else if (msg.startsWith('E')) {\n if (msg.match(/the device was not, or could not be, unlocked/)) {\n throw new CommandError('APPLE_DEVICE_LOCKED', 'Device is currently locked.');\n }\n\n // Error message from debugserver -- Drop the `E`\n return msg.slice(1);\n } else {\n throw new CommandError(\n 'APPLE_DEVICE_GDB',\n `Invalid checksum received from debugserver. (checksum: ${checksum}, msg: ${msg})`\n );\n }\n } else {\n throw new CommandError('APPLE_DEVICE_GDB', \"Didn't receive checksum\");\n }\n }\n}\n\nexport class GDBProtocolWriter implements ProtocolWriter {\n write(socket: Socket, msg: GDBMessage) {\n const { cmd, args } = msg;\n debug(`Socket write: ${cmd}, args: ${args}`);\n // hex encode and concat all args\n const encodedArgs = args\n .map((arg) => Buffer.from(arg).toString('hex'))\n .join()\n .toUpperCase();\n const checksumStr = calculateChecksum(cmd + encodedArgs);\n const formattedCmd = `$${cmd}${encodedArgs}#${checksumStr}`;\n socket.write(formattedCmd);\n }\n}\n\n// hex value of (sum of cmd chars mod 256)\nfunction calculateChecksum(cmdStr: string) {\n let checksum = 0;\n for (let i = 0; i < cmdStr.length; i++) {\n checksum += cmdStr.charCodeAt(i);\n }\n let result = (checksum % 256).toString(16);\n // pad if necessary\n if (result.length === 1) {\n result = `0${result}`;\n }\n return result;\n}\n\nexport function validateChecksum(checksum: string, msg: string) {\n // remove '#' from checksum\n const checksumVal = checksum.startsWith('#') ? checksum.slice(1) : checksum;\n // remove '$' from msg and calculate its checksum\n const computedChecksum = calculateChecksum(msg);\n // debug(`Checksum: ${checksumVal}, computed checksum: ${computedChecksum}`);\n return checksumVal === computedChecksum;\n}\n"],"names":["GDBProtocolClient","GDBProtocolReader","GDBProtocolWriter","validateChecksum","debug","Debug","ACK_SUCCESS","charCodeAt","ProtocolClient","constructor","socket","ProtocolReaderFactory","ProtocolReader","callback","onData","data","buffer","Buffer","concat","length","headerSize","parseHeader","packetData","toString","match","body","from","slice","parseBody","err","CommandError","checksum","msg","startsWith","write","cmd","args","encodedArgs","map","arg","join","toUpperCase","checksumStr","calculateChecksum","formattedCmd","cmdStr","i","result","checksumVal","computedChecksum"],"mappings":"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"}
@@ -1,22 +1,50 @@
1
- "use strict";
1
+ /**
2
+ * Copyright (c) 2021 Expo, Inc.
3
+ * Copyright (c) 2018 Drifty Co.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */ "use strict";
2
8
  Object.defineProperty(exports, "__esModule", {
3
9
  value: true
4
10
  });
5
- exports.isLockdownResponse = isLockdownResponse;
6
- exports.isLockdownErrorResponse = isLockdownErrorResponse;
7
- exports.LOCKDOWN_HEADER_SIZE = void 0;
8
- var _plist = _interopRequireDefault(require("@expo/plist"));
9
- var _debug = _interopRequireDefault(require("debug"));
10
- var _abstractProtocol = require("./AbstractProtocol");
11
- var _errors = require("../../../../utils/errors");
11
+ function _export(target, all) {
12
+ for(var name in all)Object.defineProperty(target, name, {
13
+ enumerable: true,
14
+ get: all[name]
15
+ });
16
+ }
17
+ _export(exports, {
18
+ LOCKDOWN_HEADER_SIZE: ()=>LOCKDOWN_HEADER_SIZE,
19
+ isLockdownResponse: ()=>isLockdownResponse,
20
+ isLockdownErrorResponse: ()=>isLockdownErrorResponse,
21
+ LockdownProtocolClient: ()=>LockdownProtocolClient,
22
+ LockdownProtocolReader: ()=>LockdownProtocolReader,
23
+ LockdownProtocolWriter: ()=>LockdownProtocolWriter
24
+ });
25
+ function _plist() {
26
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/plist"));
27
+ _plist = function() {
28
+ return data;
29
+ };
30
+ return data;
31
+ }
32
+ function _debug() {
33
+ const data = /*#__PURE__*/ _interopRequireDefault(require("debug"));
34
+ _debug = function() {
35
+ return data;
36
+ };
37
+ return data;
38
+ }
39
+ const _abstractProtocol = require("./AbstractProtocol");
40
+ const _errors = require("../../../../utils/errors");
12
41
  function _interopRequireDefault(obj) {
13
42
  return obj && obj.__esModule ? obj : {
14
43
  default: obj
15
44
  };
16
45
  }
17
- const debug = (0, _debug).default("expo:apple-device:protocol:lockdown");
46
+ const debug = (0, _debug().default)("expo:apple-device:protocol:lockdown");
18
47
  const LOCKDOWN_HEADER_SIZE = 4;
19
- exports.LOCKDOWN_HEADER_SIZE = LOCKDOWN_HEADER_SIZE;
20
48
  function isDefined(val) {
21
49
  return typeof val !== "undefined";
22
50
  }
@@ -31,7 +59,6 @@ class LockdownProtocolClient extends _abstractProtocol.ProtocolClient {
31
59
  super(socket, new _abstractProtocol.ProtocolReaderFactory(LockdownProtocolReader), new LockdownProtocolWriter());
32
60
  }
33
61
  }
34
- exports.LockdownProtocolClient = LockdownProtocolClient;
35
62
  class LockdownProtocolReader extends _abstractProtocol.PlistProtocolReader {
36
63
  constructor(callback){
37
64
  super(LOCKDOWN_HEADER_SIZE, callback);
@@ -58,17 +85,15 @@ class LockdownProtocolReader extends _abstractProtocol.PlistProtocolReader {
58
85
  return resp;
59
86
  }
60
87
  }
61
- exports.LockdownProtocolReader = LockdownProtocolReader;
62
88
  class LockdownProtocolWriter {
63
89
  write(socket, plistData) {
64
90
  debug(`socket write: ${JSON.stringify(plistData)}`);
65
- const plistMessage = _plist.default.build(plistData);
91
+ const plistMessage = _plist().default.build(plistData);
66
92
  const header = Buffer.alloc(LOCKDOWN_HEADER_SIZE);
67
93
  header.writeUInt32BE(plistMessage.length, 0);
68
94
  socket.write(header);
69
95
  socket.write(plistMessage);
70
96
  }
71
97
  }
72
- exports.LockdownProtocolWriter = LockdownProtocolWriter;
73
98
 
74
99
  //# sourceMappingURL=LockdownProtocol.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/run/ios/appleDevice/protocol/LockdownProtocol.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 Expo, Inc.\n * Copyright (c) 2018 Drifty Co.\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 plist from '@expo/plist';\nimport Debug from 'debug';\nimport { Socket } from 'net';\n\nimport type { ProtocolWriter } from './AbstractProtocol';\nimport { PlistProtocolReader, ProtocolClient, ProtocolReaderFactory } from './AbstractProtocol';\nimport { CommandError } from '../../../../utils/errors';\n\nconst debug = Debug('expo:apple-device:protocol:lockdown');\nexport const LOCKDOWN_HEADER_SIZE = 4;\n\nexport interface LockdownCommand {\n Command: string;\n [key: string]: any;\n}\n\nexport interface LockdownResponse {\n Status: string;\n [key: string]: any;\n}\n\nexport interface LockdownErrorResponse {\n Error: string;\n Request?: string;\n Service?: string;\n}\n\nexport interface LockdownRequest {\n Request: string;\n [key: string]: any;\n}\n\nfunction isDefined(val: any) {\n return typeof val !== 'undefined';\n}\n\nexport function isLockdownResponse(resp: any): resp is LockdownResponse {\n return isDefined(resp.Status);\n}\n\nexport function isLockdownErrorResponse(resp: any): resp is LockdownErrorResponse {\n return isDefined(resp.Error);\n}\n\nexport class LockdownProtocolClient<\n MessageType extends LockdownRequest | LockdownCommand = LockdownRequest,\n> extends ProtocolClient<MessageType> {\n constructor(socket: Socket) {\n super(socket, new ProtocolReaderFactory(LockdownProtocolReader), new LockdownProtocolWriter());\n }\n}\n\nexport class LockdownProtocolReader extends PlistProtocolReader {\n constructor(callback: (data: any) => any) {\n super(LOCKDOWN_HEADER_SIZE, callback);\n }\n\n parseHeader(data: Buffer) {\n return data.readUInt32BE(0);\n }\n\n parseBody(data: Buffer) {\n const resp = super.parseBody(data);\n debug(`Response: ${JSON.stringify(resp)}`);\n if (isLockdownErrorResponse(resp)) {\n if (resp.Error === 'DeviceLocked') {\n throw new CommandError('APPLE_DEVICE_LOCKED', 'Device is currently locked.');\n }\n\n if (resp.Error === 'InvalidService') {\n let errorMessage = `${resp.Error}: ${resp.Service} (request: ${resp.Request})`;\n if (resp.Service === 'com.apple.debugserver') {\n errorMessage +=\n '\\nTry reconnecting your device. You can also debug service logs with `export DEBUG=expo:xdl:ios:*`';\n }\n throw new CommandError('APPLE_DEVICE_LOCKDOWN', errorMessage);\n }\n\n throw new CommandError('APPLE_DEVICE_LOCKDOWN', resp.Error);\n }\n return resp;\n }\n}\n\nexport class LockdownProtocolWriter implements ProtocolWriter {\n write(socket: Socket, plistData: any) {\n debug(`socket write: ${JSON.stringify(plistData)}`);\n const plistMessage = plist.build(plistData);\n const header = Buffer.alloc(LOCKDOWN_HEADER_SIZE);\n header.writeUInt32BE(plistMessage.length, 0);\n socket.write(header);\n socket.write(plistMessage);\n }\n}\n"],"names":["isLockdownResponse","isLockdownErrorResponse","debug","Debug","LOCKDOWN_HEADER_SIZE","isDefined","val","resp","Status","Error","LockdownProtocolClient","ProtocolClient","constructor","socket","ProtocolReaderFactory","LockdownProtocolReader","LockdownProtocolWriter","PlistProtocolReader","callback","parseHeader","data","readUInt32BE","parseBody","JSON","stringify","CommandError","errorMessage","Service","Request","write","plistData","plistMessage","plist","build","header","Buffer","alloc","writeUInt32BE","length"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../src/run/ios/appleDevice/protocol/LockdownProtocol.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 Expo, Inc.\n * Copyright (c) 2018 Drifty Co.\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 plist from '@expo/plist';\nimport Debug from 'debug';\nimport { Socket } from 'net';\n\nimport type { ProtocolWriter } from './AbstractProtocol';\nimport { PlistProtocolReader, ProtocolClient, ProtocolReaderFactory } from './AbstractProtocol';\nimport { CommandError } from '../../../../utils/errors';\n\nconst debug = Debug('expo:apple-device:protocol:lockdown');\nexport const LOCKDOWN_HEADER_SIZE = 4;\n\nexport interface LockdownCommand {\n Command: string;\n [key: string]: any;\n}\n\nexport interface LockdownResponse {\n Status: string;\n [key: string]: any;\n}\n\nexport interface LockdownErrorResponse {\n Error: string;\n Request?: string;\n Service?: string;\n}\n\nexport interface LockdownRequest {\n Request: string;\n [key: string]: any;\n}\n\nfunction isDefined(val: any) {\n return typeof val !== 'undefined';\n}\n\nexport function isLockdownResponse(resp: any): resp is LockdownResponse {\n return isDefined(resp.Status);\n}\n\nexport function isLockdownErrorResponse(resp: any): resp is LockdownErrorResponse {\n return isDefined(resp.Error);\n}\n\nexport class LockdownProtocolClient<\n MessageType extends LockdownRequest | LockdownCommand = LockdownRequest,\n> extends ProtocolClient<MessageType> {\n constructor(socket: Socket) {\n super(socket, new ProtocolReaderFactory(LockdownProtocolReader), new LockdownProtocolWriter());\n }\n}\n\nexport class LockdownProtocolReader extends PlistProtocolReader {\n constructor(callback: (data: any) => any) {\n super(LOCKDOWN_HEADER_SIZE, callback);\n }\n\n parseHeader(data: Buffer) {\n return data.readUInt32BE(0);\n }\n\n parseBody(data: Buffer) {\n const resp = super.parseBody(data);\n debug(`Response: ${JSON.stringify(resp)}`);\n if (isLockdownErrorResponse(resp)) {\n if (resp.Error === 'DeviceLocked') {\n throw new CommandError('APPLE_DEVICE_LOCKED', 'Device is currently locked.');\n }\n\n if (resp.Error === 'InvalidService') {\n let errorMessage = `${resp.Error}: ${resp.Service} (request: ${resp.Request})`;\n if (resp.Service === 'com.apple.debugserver') {\n errorMessage +=\n '\\nTry reconnecting your device. You can also debug service logs with `export DEBUG=expo:xdl:ios:*`';\n }\n throw new CommandError('APPLE_DEVICE_LOCKDOWN', errorMessage);\n }\n\n throw new CommandError('APPLE_DEVICE_LOCKDOWN', resp.Error);\n }\n return resp;\n }\n}\n\nexport class LockdownProtocolWriter implements ProtocolWriter {\n write(socket: Socket, plistData: any) {\n debug(`socket write: ${JSON.stringify(plistData)}`);\n const plistMessage = plist.build(plistData);\n const header = Buffer.alloc(LOCKDOWN_HEADER_SIZE);\n header.writeUInt32BE(plistMessage.length, 0);\n socket.write(header);\n socket.write(plistMessage);\n }\n}\n"],"names":["LOCKDOWN_HEADER_SIZE","isLockdownResponse","isLockdownErrorResponse","LockdownProtocolClient","LockdownProtocolReader","LockdownProtocolWriter","debug","Debug","isDefined","val","resp","Status","Error","ProtocolClient","constructor","socket","ProtocolReaderFactory","PlistProtocolReader","callback","parseHeader","data","readUInt32BE","parseBody","JSON","stringify","CommandError","errorMessage","Service","Request","write","plistData","plistMessage","plist","build","header","Buffer","alloc","writeUInt32BE","length"],"mappings":"AAAA;;;;;;CAMC,GAED;;;;;;;;;;;IASaA,oBAAoB,MAApBA,oBAAoB;IA2BjBC,kBAAkB,MAAlBA,kBAAkB;IAIlBC,uBAAuB,MAAvBA,uBAAuB;IAI1BC,sBAAsB,MAAtBA,sBAAsB;IAQtBC,sBAAsB,MAAtBA,sBAAsB;IAgCtBC,sBAAsB,MAAtBA,sBAAsB;;;8DApFjB,aAAa;;;;;;;8DACb,OAAO;;;;;;kCAIkD,oBAAoB;wBAClE,0BAA0B;;;;;;AAEvD,MAAMC,KAAK,GAAGC,IAAAA,MAAK,EAAA,QAAA,EAAC,qCAAqC,CAAC,AAAC;AACpD,MAAMP,oBAAoB,GAAG,CAAC,AAAC;AAuBtC,SAASQ,SAAS,CAACC,GAAQ,EAAE;IAC3B,OAAO,OAAOA,GAAG,KAAK,WAAW,CAAC;AACpC,CAAC;AAEM,SAASR,kBAAkB,CAACS,IAAS,EAA4B;IACtE,OAAOF,SAAS,CAACE,IAAI,CAACC,MAAM,CAAC,CAAC;AAChC,CAAC;AAEM,SAAST,uBAAuB,CAACQ,IAAS,EAAiC;IAChF,OAAOF,SAAS,CAACE,IAAI,CAACE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAEM,MAAMT,sBAAsB,SAEzBU,iBAAc,eAAA;IACtBC,YAAYC,MAAc,CAAE;QAC1B,KAAK,CAACA,MAAM,EAAE,IAAIC,iBAAqB,sBAAA,CAACZ,sBAAsB,CAAC,EAAE,IAAIC,sBAAsB,EAAE,CAAC,CAAC;IACjG;CACD;AAEM,MAAMD,sBAAsB,SAASa,iBAAmB,oBAAA;IAC7DH,YAAYI,QAA4B,CAAE;QACxC,KAAK,CAAClB,oBAAoB,EAAEkB,QAAQ,CAAC,CAAC;IACxC;IAEAC,WAAW,CAACC,IAAY,EAAE;QACxB,OAAOA,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B;IAEAC,SAAS,CAACF,IAAY,EAAE;QACtB,MAAMV,IAAI,GAAG,KAAK,CAACY,SAAS,CAACF,IAAI,CAAC,AAAC;QACnCd,KAAK,CAAC,CAAC,UAAU,EAAEiB,IAAI,CAACC,SAAS,CAACd,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAIR,uBAAuB,CAACQ,IAAI,CAAC,EAAE;YACjC,IAAIA,IAAI,CAACE,KAAK,KAAK,cAAc,EAAE;gBACjC,MAAM,IAAIa,OAAY,aAAA,CAAC,qBAAqB,EAAE,6BAA6B,CAAC,CAAC;YAC/E,CAAC;YAED,IAAIf,IAAI,CAACE,KAAK,KAAK,gBAAgB,EAAE;gBACnC,IAAIc,YAAY,GAAG,CAAC,EAAEhB,IAAI,CAACE,KAAK,CAAC,EAAE,EAAEF,IAAI,CAACiB,OAAO,CAAC,WAAW,EAAEjB,IAAI,CAACkB,OAAO,CAAC,CAAC,CAAC,AAAC;gBAC/E,IAAIlB,IAAI,CAACiB,OAAO,KAAK,uBAAuB,EAAE;oBAC5CD,YAAY,IACV,oGAAoG,CAAC;gBACzG,CAAC;gBACD,MAAM,IAAID,OAAY,aAAA,CAAC,uBAAuB,EAAEC,YAAY,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,IAAID,OAAY,aAAA,CAAC,uBAAuB,EAAEf,IAAI,CAACE,KAAK,CAAC,CAAC;QAC9D,CAAC;QACD,OAAOF,IAAI,CAAC;IACd;CACD;AAEM,MAAML,sBAAsB;IACjCwB,KAAK,CAACd,MAAc,EAAEe,SAAc,EAAE;QACpCxB,KAAK,CAAC,CAAC,cAAc,EAAEiB,IAAI,CAACC,SAAS,CAACM,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,MAAMC,YAAY,GAAGC,MAAK,EAAA,QAAA,CAACC,KAAK,CAACH,SAAS,CAAC,AAAC;QAC5C,MAAMI,MAAM,GAAGC,MAAM,CAACC,KAAK,CAACpC,oBAAoB,CAAC,AAAC;QAClDkC,MAAM,CAACG,aAAa,CAACN,YAAY,CAACO,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7CvB,MAAM,CAACc,KAAK,CAACK,MAAM,CAAC,CAAC;QACrBnB,MAAM,CAACc,KAAK,CAACE,YAAY,CAAC,CAAC;IAC7B;CACD"}
@@ -1,25 +1,52 @@
1
- "use strict";
1
+ /**
2
+ * Copyright (c) 2021 Expo, Inc.
3
+ * Copyright (c) 2018 Drifty Co.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */ "use strict";
2
8
  Object.defineProperty(exports, "__esModule", {
3
9
  value: true
4
10
  });
5
- exports.USBMUXD_HEADER_SIZE = void 0;
6
- var _plist = _interopRequireDefault(require("@expo/plist"));
7
- var _debug = _interopRequireDefault(require("debug"));
8
- var _abstractProtocol = require("./AbstractProtocol");
11
+ function _export(target, all) {
12
+ for(var name in all)Object.defineProperty(target, name, {
13
+ enumerable: true,
14
+ get: all[name]
15
+ });
16
+ }
17
+ _export(exports, {
18
+ USBMUXD_HEADER_SIZE: ()=>USBMUXD_HEADER_SIZE,
19
+ UsbmuxProtocolClient: ()=>UsbmuxProtocolClient,
20
+ UsbmuxProtocolReader: ()=>UsbmuxProtocolReader,
21
+ UsbmuxProtocolWriter: ()=>UsbmuxProtocolWriter
22
+ });
23
+ function _plist() {
24
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/plist"));
25
+ _plist = function() {
26
+ return data;
27
+ };
28
+ return data;
29
+ }
30
+ function _debug() {
31
+ const data = /*#__PURE__*/ _interopRequireDefault(require("debug"));
32
+ _debug = function() {
33
+ return data;
34
+ };
35
+ return data;
36
+ }
37
+ const _abstractProtocol = require("./AbstractProtocol");
9
38
  function _interopRequireDefault(obj) {
10
39
  return obj && obj.__esModule ? obj : {
11
40
  default: obj
12
41
  };
13
42
  }
14
- const debug = (0, _debug).default("expo:apple-device:protocol:usbmux");
43
+ const debug = (0, _debug().default)("expo:apple-device:protocol:usbmux");
15
44
  const USBMUXD_HEADER_SIZE = 16;
16
- exports.USBMUXD_HEADER_SIZE = USBMUXD_HEADER_SIZE;
17
45
  class UsbmuxProtocolClient extends _abstractProtocol.ProtocolClient {
18
46
  constructor(socket){
19
47
  super(socket, new _abstractProtocol.ProtocolReaderFactory(UsbmuxProtocolReader), new UsbmuxProtocolWriter());
20
48
  }
21
49
  }
22
- exports.UsbmuxProtocolClient = UsbmuxProtocolClient;
23
50
  class UsbmuxProtocolReader extends _abstractProtocol.PlistProtocolReader {
24
51
  constructor(callback){
25
52
  super(USBMUXD_HEADER_SIZE, callback);
@@ -33,14 +60,13 @@ class UsbmuxProtocolReader extends _abstractProtocol.PlistProtocolReader {
33
60
  return resp;
34
61
  }
35
62
  }
36
- exports.UsbmuxProtocolReader = UsbmuxProtocolReader;
37
63
  class UsbmuxProtocolWriter {
38
64
  useTag = 0;
39
65
  write(socket, msg) {
40
66
  // TODO Usbmux message type
41
67
  debug(`socket write: ${JSON.stringify(msg)}`);
42
68
  const { messageType , extraFields } = msg;
43
- const plistMessage = _plist.default.build({
69
+ const plistMessage = _plist().default.build({
44
70
  BundleID: "dev.expo.native-run",
45
71
  ClientVersionString: "usbmux.js",
46
72
  MessageType: messageType,
@@ -60,6 +86,5 @@ class UsbmuxProtocolWriter {
60
86
  socket.write(plistMessage);
61
87
  }
62
88
  }
63
- exports.UsbmuxProtocolWriter = UsbmuxProtocolWriter;
64
89
 
65
90
  //# sourceMappingURL=UsbmuxProtocol.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/run/ios/appleDevice/protocol/UsbmuxProtocol.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 Expo, Inc.\n * Copyright (c) 2018 Drifty Co.\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 plist from '@expo/plist';\nimport Debug from 'debug';\nimport { Socket } from 'net';\n\nimport type { ProtocolWriter } from './AbstractProtocol';\nimport { PlistProtocolReader, ProtocolClient, ProtocolReaderFactory } from './AbstractProtocol';\n\nconst debug = Debug('expo:apple-device:protocol:usbmux');\n\nexport const USBMUXD_HEADER_SIZE = 16;\n\nexport interface UsbmuxMessage {\n messageType: string;\n extraFields?: { [key: string]: any };\n}\n\nexport class UsbmuxProtocolClient extends ProtocolClient<UsbmuxMessage> {\n constructor(socket: Socket) {\n super(socket, new ProtocolReaderFactory(UsbmuxProtocolReader), new UsbmuxProtocolWriter());\n }\n}\n\nexport class UsbmuxProtocolReader extends PlistProtocolReader {\n constructor(callback: (data: any) => any) {\n super(USBMUXD_HEADER_SIZE, callback);\n }\n\n parseHeader(data: Buffer) {\n return data.readUInt32LE(0) - USBMUXD_HEADER_SIZE;\n }\n\n parseBody(data: Buffer) {\n const resp = super.parseBody(data);\n debug(`Response: ${JSON.stringify(resp)}`);\n return resp;\n }\n}\n\nexport class UsbmuxProtocolWriter implements ProtocolWriter {\n private useTag = 0;\n\n write(socket: Socket, msg: UsbmuxMessage) {\n // TODO Usbmux message type\n debug(`socket write: ${JSON.stringify(msg)}`);\n const { messageType, extraFields } = msg;\n const plistMessage = plist.build({\n BundleID: 'dev.expo.native-run', // TODO\n ClientVersionString: 'usbmux.js', // TODO\n MessageType: messageType,\n ProgName: 'native-run', // TODO\n kLibUSBMuxVersion: 3,\n ...extraFields,\n });\n\n const dataSize = plistMessage ? plistMessage.length : 0;\n const protocolVersion = 1;\n const messageCode = 8;\n\n const header = Buffer.alloc(USBMUXD_HEADER_SIZE);\n header.writeUInt32LE(USBMUXD_HEADER_SIZE + dataSize, 0);\n header.writeUInt32LE(protocolVersion, 4);\n header.writeUInt32LE(messageCode, 8);\n header.writeUInt32LE(this.useTag++, 12); // TODO\n socket.write(header);\n socket.write(plistMessage);\n }\n}\n"],"names":["debug","Debug","USBMUXD_HEADER_SIZE","UsbmuxProtocolClient","ProtocolClient","constructor","socket","ProtocolReaderFactory","UsbmuxProtocolReader","UsbmuxProtocolWriter","PlistProtocolReader","callback","parseHeader","data","readUInt32LE","parseBody","resp","JSON","stringify","useTag","write","msg","messageType","extraFields","plistMessage","plist","build","BundleID","ClientVersionString","MessageType","ProgName","kLibUSBMuxVersion","dataSize","length","protocolVersion","messageCode","header","Buffer","alloc","writeUInt32LE"],"mappings":"AAQA;;;;;AAAkB,IAAA,MAAa,kCAAb,aAAa,EAAA;AACb,IAAA,MAAO,kCAAP,OAAO,EAAA;AAIkD,IAAA,iBAAoB,WAApB,oBAAoB,CAAA;;;;;;AAE/F,MAAMA,KAAK,GAAGC,CAAAA,GAAAA,MAAK,AAAqC,CAAA,QAArC,CAAC,mCAAmC,CAAC,AAAC;AAElD,MAAMC,mBAAmB,GAAG,EAAE,AAAC;QAAzBA,mBAAmB,GAAnBA,mBAAmB;AAOzB,MAAMC,oBAAoB,SAASC,iBAAc,eAAA;IACtDC,YAAYC,MAAc,CAAE;QAC1B,KAAK,CAACA,MAAM,EAAE,IAAIC,iBAAqB,sBAAA,CAACC,oBAAoB,CAAC,EAAE,IAAIC,oBAAoB,EAAE,CAAC,CAAC;KAC5F;CACF;QAJYN,oBAAoB,GAApBA,oBAAoB;AAM1B,MAAMK,oBAAoB,SAASE,iBAAmB,oBAAA;IAC3DL,YAAYM,QAA4B,CAAE;QACxC,KAAK,CAACT,mBAAmB,EAAES,QAAQ,CAAC,CAAC;KACtC;IAEDC,WAAW,CAACC,IAAY,EAAE;QACxB,OAAOA,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC,GAAGZ,mBAAmB,CAAC;KACnD;IAEDa,SAAS,CAACF,IAAY,EAAE;QACtB,MAAMG,IAAI,GAAG,KAAK,CAACD,SAAS,CAACF,IAAI,CAAC,AAAC;QACnCb,KAAK,CAAC,CAAC,UAAU,EAAEiB,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAOA,IAAI,CAAC;KACb;CACF;QAdYR,oBAAoB,GAApBA,oBAAoB;AAgB1B,MAAMC,oBAAoB;IAC/B,AAAQU,MAAM,GAAG,CAAC,CAAC;IAEnBC,KAAK,CAACd,MAAc,EAAEe,GAAkB,EAAE;QACxC,2BAA2B;QAC3BrB,KAAK,CAAC,CAAC,cAAc,EAAEiB,IAAI,CAACC,SAAS,CAACG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,EAAEC,WAAW,CAAA,EAAEC,WAAW,CAAA,EAAE,GAAGF,GAAG,AAAC;QACzC,MAAMG,YAAY,GAAGC,MAAK,QAAA,CAACC,KAAK,CAAC;YAC/BC,QAAQ,EAAE,qBAAqB;YAC/BC,mBAAmB,EAAE,WAAW;YAChCC,WAAW,EAAEP,WAAW;YACxBQ,QAAQ,EAAE,YAAY;YACtBC,iBAAiB,EAAE,CAAC;YACpB,GAAGR,WAAW;SACf,CAAC,AAAC;QAEH,MAAMS,QAAQ,GAAGR,YAAY,GAAGA,YAAY,CAACS,MAAM,GAAG,CAAC,AAAC;QACxD,MAAMC,eAAe,GAAG,CAAC,AAAC;QAC1B,MAAMC,WAAW,GAAG,CAAC,AAAC;QAEtB,MAAMC,MAAM,GAAGC,MAAM,CAACC,KAAK,CAACpC,mBAAmB,CAAC,AAAC;QACjDkC,MAAM,CAACG,aAAa,CAACrC,mBAAmB,GAAG8B,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxDI,MAAM,CAACG,aAAa,CAACL,eAAe,EAAE,CAAC,CAAC,CAAC;QACzCE,MAAM,CAACG,aAAa,CAACJ,WAAW,EAAE,CAAC,CAAC,CAAC;QACrCC,MAAM,CAACG,aAAa,CAAC,IAAI,CAACpB,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;QAChDb,MAAM,CAACc,KAAK,CAACgB,MAAM,CAAC,CAAC;QACrB9B,MAAM,CAACc,KAAK,CAACI,YAAY,CAAC,CAAC;KAC5B;CACF;QA5BYf,oBAAoB,GAApBA,oBAAoB"}
1
+ {"version":3,"sources":["../../../../../../src/run/ios/appleDevice/protocol/UsbmuxProtocol.ts"],"sourcesContent":["/**\n * Copyright (c) 2021 Expo, Inc.\n * Copyright (c) 2018 Drifty Co.\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 plist from '@expo/plist';\nimport Debug from 'debug';\nimport { Socket } from 'net';\n\nimport type { ProtocolWriter } from './AbstractProtocol';\nimport { PlistProtocolReader, ProtocolClient, ProtocolReaderFactory } from './AbstractProtocol';\n\nconst debug = Debug('expo:apple-device:protocol:usbmux');\n\nexport const USBMUXD_HEADER_SIZE = 16;\n\nexport interface UsbmuxMessage {\n messageType: string;\n extraFields?: { [key: string]: any };\n}\n\nexport class UsbmuxProtocolClient extends ProtocolClient<UsbmuxMessage> {\n constructor(socket: Socket) {\n super(socket, new ProtocolReaderFactory(UsbmuxProtocolReader), new UsbmuxProtocolWriter());\n }\n}\n\nexport class UsbmuxProtocolReader extends PlistProtocolReader {\n constructor(callback: (data: any) => any) {\n super(USBMUXD_HEADER_SIZE, callback);\n }\n\n parseHeader(data: Buffer) {\n return data.readUInt32LE(0) - USBMUXD_HEADER_SIZE;\n }\n\n parseBody(data: Buffer) {\n const resp = super.parseBody(data);\n debug(`Response: ${JSON.stringify(resp)}`);\n return resp;\n }\n}\n\nexport class UsbmuxProtocolWriter implements ProtocolWriter {\n private useTag = 0;\n\n write(socket: Socket, msg: UsbmuxMessage) {\n // TODO Usbmux message type\n debug(`socket write: ${JSON.stringify(msg)}`);\n const { messageType, extraFields } = msg;\n const plistMessage = plist.build({\n BundleID: 'dev.expo.native-run', // TODO\n ClientVersionString: 'usbmux.js', // TODO\n MessageType: messageType,\n ProgName: 'native-run', // TODO\n kLibUSBMuxVersion: 3,\n ...extraFields,\n });\n\n const dataSize = plistMessage ? plistMessage.length : 0;\n const protocolVersion = 1;\n const messageCode = 8;\n\n const header = Buffer.alloc(USBMUXD_HEADER_SIZE);\n header.writeUInt32LE(USBMUXD_HEADER_SIZE + dataSize, 0);\n header.writeUInt32LE(protocolVersion, 4);\n header.writeUInt32LE(messageCode, 8);\n header.writeUInt32LE(this.useTag++, 12); // TODO\n socket.write(header);\n socket.write(plistMessage);\n }\n}\n"],"names":["USBMUXD_HEADER_SIZE","UsbmuxProtocolClient","UsbmuxProtocolReader","UsbmuxProtocolWriter","debug","Debug","ProtocolClient","constructor","socket","ProtocolReaderFactory","PlistProtocolReader","callback","parseHeader","data","readUInt32LE","parseBody","resp","JSON","stringify","useTag","write","msg","messageType","extraFields","plistMessage","plist","build","BundleID","ClientVersionString","MessageType","ProgName","kLibUSBMuxVersion","dataSize","length","protocolVersion","messageCode","header","Buffer","alloc","writeUInt32LE"],"mappings":"AAAA;;;;;;CAMC,GAED;;;;;;;;;;;IASaA,mBAAmB,MAAnBA,mBAAmB;IAOnBC,oBAAoB,MAApBA,oBAAoB;IAMpBC,oBAAoB,MAApBA,oBAAoB;IAgBpBC,oBAAoB,MAApBA,oBAAoB;;;8DAtCf,aAAa;;;;;;;8DACb,OAAO;;;;;;kCAIkD,oBAAoB;;;;;;AAE/F,MAAMC,KAAK,GAAGC,IAAAA,MAAK,EAAA,QAAA,EAAC,mCAAmC,CAAC,AAAC;AAElD,MAAML,mBAAmB,GAAG,EAAE,AAAC;AAO/B,MAAMC,oBAAoB,SAASK,iBAAc,eAAA;IACtDC,YAAYC,MAAc,CAAE;QAC1B,KAAK,CAACA,MAAM,EAAE,IAAIC,iBAAqB,sBAAA,CAACP,oBAAoB,CAAC,EAAE,IAAIC,oBAAoB,EAAE,CAAC,CAAC;IAC7F;CACD;AAEM,MAAMD,oBAAoB,SAASQ,iBAAmB,oBAAA;IAC3DH,YAAYI,QAA4B,CAAE;QACxC,KAAK,CAACX,mBAAmB,EAAEW,QAAQ,CAAC,CAAC;IACvC;IAEAC,WAAW,CAACC,IAAY,EAAE;QACxB,OAAOA,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC,GAAGd,mBAAmB,CAAC;IACpD;IAEAe,SAAS,CAACF,IAAY,EAAE;QACtB,MAAMG,IAAI,GAAG,KAAK,CAACD,SAAS,CAACF,IAAI,CAAC,AAAC;QACnCT,KAAK,CAAC,CAAC,UAAU,EAAEa,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAOA,IAAI,CAAC;IACd;CACD;AAEM,MAAMb,oBAAoB;IAC/B,AAAQgB,MAAM,GAAG,CAAC,CAAC;IAEnBC,KAAK,CAACZ,MAAc,EAAEa,GAAkB,EAAE;QACxC,2BAA2B;QAC3BjB,KAAK,CAAC,CAAC,cAAc,EAAEa,IAAI,CAACC,SAAS,CAACG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,EAAEC,WAAW,CAAA,EAAEC,WAAW,CAAA,EAAE,GAAGF,GAAG,AAAC;QACzC,MAAMG,YAAY,GAAGC,MAAK,EAAA,QAAA,CAACC,KAAK,CAAC;YAC/BC,QAAQ,EAAE,qBAAqB;YAC/BC,mBAAmB,EAAE,WAAW;YAChCC,WAAW,EAAEP,WAAW;YACxBQ,QAAQ,EAAE,YAAY;YACtBC,iBAAiB,EAAE,CAAC;YACpB,GAAGR,WAAW;SACf,CAAC,AAAC;QAEH,MAAMS,QAAQ,GAAGR,YAAY,GAAGA,YAAY,CAACS,MAAM,GAAG,CAAC,AAAC;QACxD,MAAMC,eAAe,GAAG,CAAC,AAAC;QAC1B,MAAMC,WAAW,GAAG,CAAC,AAAC;QAEtB,MAAMC,MAAM,GAAGC,MAAM,CAACC,KAAK,CAACtC,mBAAmB,CAAC,AAAC;QACjDoC,MAAM,CAACG,aAAa,CAACvC,mBAAmB,GAAGgC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACxDI,MAAM,CAACG,aAAa,CAACL,eAAe,EAAE,CAAC,CAAC,CAAC;QACzCE,MAAM,CAACG,aAAa,CAACJ,WAAW,EAAE,CAAC,CAAC,CAAC;QACrCC,MAAM,CAACG,aAAa,CAAC,IAAI,CAACpB,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO;QAChDX,MAAM,CAACY,KAAK,CAACgB,MAAM,CAAC,CAAC;QACrB5B,MAAM,CAACY,KAAK,CAACI,YAAY,CAAC,CAAC;IAC7B;CACD"}
@@ -2,17 +2,37 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.getSecurityPemAsync = getSecurityPemAsync;
6
- exports.getCertificateForSigningIdAsync = getCertificateForSigningIdAsync;
7
- exports.findIdentitiesAsync = findIdentitiesAsync;
8
- exports.extractCodeSigningInfo = extractCodeSigningInfo;
9
- exports.resolveIdentitiesAsync = resolveIdentitiesAsync;
10
- exports.resolveCertificateSigningInfoAsync = resolveCertificateSigningInfoAsync;
11
- exports.extractSigningId = extractSigningId;
12
- var _spawnAsync = _interopRequireDefault(require("@expo/spawn-async"));
13
- var _nodeForge = _interopRequireDefault(require("node-forge"));
14
- var _securityBinPrerequisite = require("../../../start/doctor/SecurityBinPrerequisite");
15
- var _errors = require("../../../utils/errors");
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ getSecurityPemAsync: ()=>getSecurityPemAsync,
13
+ getCertificateForSigningIdAsync: ()=>getCertificateForSigningIdAsync,
14
+ findIdentitiesAsync: ()=>findIdentitiesAsync,
15
+ extractCodeSigningInfo: ()=>extractCodeSigningInfo,
16
+ resolveIdentitiesAsync: ()=>resolveIdentitiesAsync,
17
+ resolveCertificateSigningInfoAsync: ()=>resolveCertificateSigningInfoAsync,
18
+ extractSigningId: ()=>extractSigningId
19
+ });
20
+ function _spawnAsync() {
21
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/spawn-async"));
22
+ _spawnAsync = function() {
23
+ return data;
24
+ };
25
+ return data;
26
+ }
27
+ function _nodeForge() {
28
+ const data = /*#__PURE__*/ _interopRequireDefault(require("node-forge"));
29
+ _nodeForge = function() {
30
+ return data;
31
+ };
32
+ return data;
33
+ }
34
+ const _securityBinPrerequisite = require("../../../start/doctor/SecurityBinPrerequisite");
35
+ const _errors = require("../../../utils/errors");
16
36
  function _interopRequireDefault(obj) {
17
37
  return obj && obj.__esModule ? obj : {
18
38
  default: obj
@@ -20,7 +40,7 @@ function _interopRequireDefault(obj) {
20
40
  }
21
41
  async function getSecurityPemAsync(id) {
22
42
  var ref;
23
- const pem = (ref = (await (0, _spawnAsync).default("security", [
43
+ const pem = (ref = (await (0, _spawnAsync().default)("security", [
24
44
  "find-certificate",
25
45
  "-c",
26
46
  id,
@@ -33,12 +53,12 @@ async function getSecurityPemAsync(id) {
33
53
  }
34
54
  async function getCertificateForSigningIdAsync(id) {
35
55
  const pem = await getSecurityPemAsync(id);
36
- return _nodeForge.default.pki.certificateFromPem(pem);
56
+ return _nodeForge().default.pki.certificateFromPem(pem);
37
57
  }
38
58
  async function findIdentitiesAsync() {
39
59
  var _stdout, ref;
40
60
  await _securityBinPrerequisite.SecurityBinPrerequisite.instance.assertAsync();
41
- const results = (ref = (_stdout = (await (0, _spawnAsync).default("security", [
61
+ const results = (ref = (_stdout = (await (0, _spawnAsync().default)("security", [
42
62
  "find-identity",
43
63
  "-p",
44
64
  "codesigning",
@@ -50,8 +70,7 @@ async function findIdentitiesAsync() {
50
70
  // 3) 12442234253761286351826735HGKDHAJGF45283 "iPhone Distribution: Evan Bacon (CC00AABB0B)" (CSSMERR_TP_CERT_REVOKED)
51
71
  // 4) 15672234253761286351826735HGKDHAJGF45283 "Apple Development: Evan Bacon (AA00AABB0A)"
52
72
  // 4 valid identities found
53
- const parsed = results.split("\n").map((line)=>extractCodeSigningInfo(line)
54
- ).filter(Boolean);
73
+ const parsed = results.split("\n").map((line)=>extractCodeSigningInfo(line)).filter(Boolean);
55
74
  // Remove duplicates
56
75
  return [
57
76
  ...new Set(parsed)
@@ -67,19 +86,19 @@ async function resolveIdentitiesAsync(identities) {
67
86
  return Promise.all(values.map(resolveCertificateSigningInfoAsync));
68
87
  }
69
88
  async function resolveCertificateSigningInfoAsync(signingCertificateId) {
70
- var ref, ref2, ref3;
89
+ var ref, ref1, ref2;
71
90
  const certificate = await getCertificateForSigningIdAsync(signingCertificateId);
72
91
  return {
73
92
  signingCertificateId,
74
93
  codeSigningInfo: (ref = certificate.subject.getField("CN")) == null ? void 0 : ref.value,
75
- appleTeamName: (ref2 = certificate.subject.getField("O")) == null ? void 0 : ref2.value,
76
- appleTeamId: (ref3 = certificate.subject.getField("OU")) == null ? void 0 : ref3.value
94
+ appleTeamName: (ref1 = certificate.subject.getField("O")) == null ? void 0 : ref1.value,
95
+ appleTeamId: (ref2 = certificate.subject.getField("OU")) == null ? void 0 : ref2.value
77
96
  };
78
97
  }
79
98
  function extractSigningId(codeSigningInfo) {
80
99
  var ref;
81
- var ref4;
82
- return (ref4 = (ref = codeSigningInfo.match(/.*\(([a-zA-Z0-9]+)\)/)) == null ? void 0 : ref[1]) != null ? ref4 : null;
100
+ var ref1;
101
+ return (ref1 = (ref = codeSigningInfo.match(/.*\(([a-zA-Z0-9]+)\)/)) == null ? void 0 : ref[1]) != null ? ref1 : null;
83
102
  }
84
103
 
85
104
  //# sourceMappingURL=Security.js.map