@expo/cli 0.18.0 → 0.18.2

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 (653) hide show
  1. package/build/bin/cli +90 -114
  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 +13 -11
  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 +55 -35
  16. package/build/src/api/graphql/client.js.map +1 -1
  17. package/build/src/api/graphql/queries/AppQuery.js +9 -7
  18. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  19. package/build/src/api/graphql/queries/UserQuery.js +7 -5
  20. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  21. package/build/src/api/graphql/types/App.js +6 -4
  22. package/build/src/api/graphql/types/App.js.map +1 -1
  23. package/build/src/api/rest/cache/FileSystemCache.js +6 -4
  24. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
  25. package/build/src/api/rest/cache/response.js +4 -1
  26. package/build/src/api/rest/cache/response.js.map +1 -1
  27. package/build/src/api/rest/cache/wrapFetchWithCache.js +21 -12
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  29. package/build/src/api/rest/client.js +36 -29
  30. package/build/src/api/rest/client.js.map +1 -1
  31. package/build/src/api/rest/wrapFetchWithBaseUrl.js +4 -1
  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 +7 -4
  38. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  39. package/build/src/api/settings.js +9 -4
  40. package/build/src/api/settings.js.map +1 -1
  41. package/build/src/api/updateDevelopmentSession.js +16 -8
  42. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  43. package/build/src/api/user/UserSettings.js +10 -8
  44. package/build/src/api/user/UserSettings.js.map +1 -1
  45. package/build/src/api/user/actions.js +66 -41
  46. package/build/src/api/user/actions.js.map +1 -1
  47. package/build/src/api/user/expoSsoLauncher.js +46 -25
  48. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  49. package/build/src/api/user/otp.js +70 -50
  50. package/build/src/api/user/otp.js.map +1 -1
  51. package/build/src/api/user/user.js +66 -41
  52. package/build/src/api/user/user.js.map +1 -1
  53. package/build/src/config/configAsync.js +62 -43
  54. package/build/src/config/configAsync.js.map +1 -1
  55. package/build/src/config/index.js +46 -30
  56. package/build/src/config/index.js.map +1 -1
  57. package/build/src/customize/customizeAsync.js +14 -11
  58. package/build/src/customize/customizeAsync.js.map +1 -1
  59. package/build/src/customize/generate.js +61 -46
  60. package/build/src/customize/generate.js.map +1 -1
  61. package/build/src/customize/index.js +10 -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 +31 -34
  66. package/build/src/customize/templates.js.map +1 -1
  67. package/build/src/customize/typescript.js +43 -28
  68. package/build/src/customize/typescript.js.map +1 -1
  69. package/build/src/export/createMetadataJson.js +7 -6
  70. package/build/src/export/createMetadataJson.js.map +1 -1
  71. package/build/src/export/embed/exportEmbedAsync.js +51 -38
  72. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  73. package/build/src/export/embed/index.js +48 -36
  74. package/build/src/export/embed/index.js.map +1 -1
  75. package/build/src/export/embed/resolveOptions.js +7 -4
  76. package/build/src/export/embed/resolveOptions.js.map +1 -1
  77. package/build/src/export/embed/xcodeCompilerLogger.js +20 -8
  78. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  79. package/build/src/export/exportApp.js +84 -67
  80. package/build/src/export/exportApp.js.map +1 -1
  81. package/build/src/export/exportAssets.js +62 -43
  82. package/build/src/export/exportAssets.js.map +1 -1
  83. package/build/src/export/exportAsync.js +47 -26
  84. package/build/src/export/exportAsync.js.map +1 -1
  85. package/build/src/export/exportHermes.js +19 -11
  86. package/build/src/export/exportHermes.js.map +1 -1
  87. package/build/src/export/exportStaticAsync.js +49 -38
  88. package/build/src/export/exportStaticAsync.js.map +1 -1
  89. package/build/src/export/favicon.js +19 -11
  90. package/build/src/export/favicon.js.map +1 -1
  91. package/build/src/export/fork-bundleAsync.js +42 -39
  92. package/build/src/export/fork-bundleAsync.js.map +1 -1
  93. package/build/src/export/getPublicExpoManifest.js +9 -6
  94. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  95. package/build/src/export/getResolvedLocales.js +7 -4
  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 +49 -33
  100. package/build/src/export/index.js.map +1 -1
  101. package/build/src/export/metroAssetLocalPath.js +22 -6
  102. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  103. package/build/src/export/persistMetroAssets.js +38 -24
  104. package/build/src/export/persistMetroAssets.js.map +1 -1
  105. package/build/src/export/publicFolder.js +15 -7
  106. package/build/src/export/publicFolder.js.map +1 -1
  107. package/build/src/export/resolveOptions.js +19 -15
  108. package/build/src/export/resolveOptions.js.map +1 -1
  109. package/build/src/export/saveAssets.js +42 -38
  110. package/build/src/export/saveAssets.js.map +1 -1
  111. package/build/src/export/web/exportWebAsync.js +15 -12
  112. package/build/src/export/web/exportWebAsync.js.map +1 -1
  113. package/build/src/export/web/index.js +47 -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 +43 -25
  122. package/build/src/install/applyPlugins.js.map +1 -1
  123. package/build/src/install/checkPackages.js +55 -35
  124. package/build/src/install/checkPackages.js.map +1 -1
  125. package/build/src/install/fixPackages.js +52 -35
  126. package/build/src/install/fixPackages.js.map +1 -1
  127. package/build/src/install/index.js +15 -13
  128. package/build/src/install/index.js.map +1 -1
  129. package/build/src/install/installAsync.js +90 -65
  130. package/build/src/install/installAsync.js.map +1 -1
  131. package/build/src/install/installExpoPackage.js +48 -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 +15 -7
  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 +20 -14
  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 +65 -42
  150. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  151. package/build/src/prebuild/configureProjectAsync.js +50 -29
  152. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  153. package/build/src/prebuild/copyTemplateFiles.js +19 -13
  154. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  155. package/build/src/prebuild/ensureConfigAsync.js +54 -28
  156. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  157. package/build/src/prebuild/index.js +52 -38
  158. package/build/src/prebuild/index.js.map +1 -1
  159. package/build/src/prebuild/prebuildAsync.js +68 -51
  160. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  161. package/build/src/prebuild/renameTemplateAppName.js +15 -10
  162. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  163. package/build/src/prebuild/resolveOptions.js +60 -35
  164. package/build/src/prebuild/resolveOptions.js.map +1 -1
  165. package/build/src/prebuild/resolveTemplate.js +66 -40
  166. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  167. package/build/src/prebuild/updateFromTemplate.js +67 -44
  168. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  169. package/build/src/prebuild/updatePackageJson.js +70 -49
  170. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  171. package/build/src/prebuild/validateTemplatePlatforms.js +44 -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 +47 -31
  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 +10 -9
  182. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  183. package/build/src/run/android/resolveInstallApkName.js +14 -12
  184. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  185. package/build/src/run/android/resolveLaunchProps.js +6 -3
  186. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  187. package/build/src/run/android/resolveOptions.js +12 -9
  188. package/build/src/run/android/resolveOptions.js.map +1 -1
  189. package/build/src/run/android/runAndroidAsync.js +27 -24
  190. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  191. package/build/src/run/ensureNativeProject.js +11 -8
  192. package/build/src/run/ensureNativeProject.js.map +1 -1
  193. package/build/src/run/hints.js +15 -7
  194. package/build/src/run/hints.js.map +1 -1
  195. package/build/src/run/index.js +49 -35
  196. package/build/src/run/index.js.map +1 -1
  197. package/build/src/run/ios/XcodeBuild.js +75 -51
  198. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  199. package/build/src/run/ios/appleDevice/AppleDevice.js +31 -24
  200. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  201. package/build/src/run/ios/appleDevice/ClientManager.js +66 -33
  202. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  203. package/build/src/run/ios/appleDevice/client/AFCClient.js +73 -47
  204. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  205. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +53 -26
  206. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  207. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +15 -6
  208. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  209. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +54 -27
  210. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  211. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +56 -30
  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 +22 -13
  216. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  217. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +57 -31
  218. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  219. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +79 -66
  220. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  221. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +28 -14
  222. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  223. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +24 -11
  224. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  225. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +26 -13
  226. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  227. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +23 -10
  228. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  229. package/build/src/run/ios/codeSigning/Security.js +27 -20
  230. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  231. package/build/src/run/ios/codeSigning/configureCodeSigning.js +49 -28
  232. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  233. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +61 -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 +7 -5
  238. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  239. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +14 -8
  240. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  241. package/build/src/run/ios/index.js +50 -34
  242. package/build/src/run/ios/index.js.map +1 -1
  243. package/build/src/run/ios/launchApp.js +52 -31
  244. package/build/src/run/ios/launchApp.js.map +1 -1
  245. package/build/src/run/ios/options/promptDevice.js +17 -13
  246. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  247. package/build/src/run/ios/options/resolveDevice.js +63 -39
  248. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  249. package/build/src/run/ios/options/resolveNativeScheme.js +57 -34
  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 +6 -3
  254. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  255. package/build/src/run/ios/runIosAsync.js +63 -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 +47 -26
  260. package/build/src/run/startBundler.js.map +1 -1
  261. package/build/src/start/detectDevClient.js +6 -3
  262. package/build/src/start/detectDevClient.js.map +1 -1
  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 +7 -4
  266. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  267. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +44 -23
  268. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  269. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +44 -23
  270. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  271. package/build/src/start/doctor/apple/XcodePrerequisite.js +61 -36
  272. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  273. package/build/src/start/doctor/apple/XcrunPrerequisite.js +15 -12
  274. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  275. package/build/src/start/doctor/dependencies/bundledNativeModules.js +49 -28
  276. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  277. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +98 -53
  278. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  279. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -9
  280. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  281. package/build/src/start/doctor/dependencies/getVersionedPackages.js +23 -15
  282. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  283. package/build/src/start/doctor/dependencies/resolvePackages.js +19 -13
  284. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  285. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +63 -41
  286. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  287. package/build/src/start/doctor/ngrok/ExternalModule.js +64 -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 +59 -41
  292. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  293. package/build/src/start/doctor/typescript/updateTSConfig.js +59 -36
  294. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  295. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +57 -31
  296. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  297. package/build/src/start/index.js +56 -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 +60 -38
  302. package/build/src/start/interface/commandsTable.js.map +1 -1
  303. package/build/src/start/interface/interactiveActions.js +85 -68
  304. package/build/src/start/interface/interactiveActions.js.map +1 -1
  305. package/build/src/start/interface/startInterface.js +78 -57
  306. package/build/src/start/interface/startInterface.js.map +1 -1
  307. package/build/src/start/platforms/AppIdResolver.js +9 -6
  308. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  309. package/build/src/start/platforms/DeviceManager.js +41 -20
  310. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  311. package/build/src/start/platforms/ExpoGoInstaller.js +55 -35
  312. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  313. package/build/src/start/platforms/PlatformManager.js +19 -17
  314. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  315. package/build/src/start/platforms/android/ADBServer.js +15 -12
  316. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  317. package/build/src/start/platforms/android/AndroidAppIdResolver.js +6 -4
  318. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  319. package/build/src/start/platforms/android/AndroidDeviceManager.js +70 -50
  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 +11 -8
  324. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  325. package/build/src/start/platforms/android/activateWindow.js +43 -22
  326. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  327. package/build/src/start/platforms/android/adb.js +73 -52
  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 +63 -42
  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 +18 -11
  336. package/build/src/start/platforms/android/gradle.js.map +1 -1
  337. package/build/src/start/platforms/android/promptAndroidDevice.js +14 -14
  338. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  339. package/build/src/start/platforms/ios/AppleAppIdResolver.js +7 -4
  340. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  341. package/build/src/start/platforms/ios/AppleDeviceManager.js +80 -54
  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 -8
  346. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  347. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +50 -29
  348. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  349. package/build/src/start/platforms/ios/getBestSimulator.js +53 -29
  350. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  351. package/build/src/start/platforms/ios/promptAppleDevice.js +18 -12
  352. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  353. package/build/src/start/platforms/ios/simctl.js +65 -42
  354. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  355. package/build/src/start/platforms/ios/simctlLogging.js +67 -44
  356. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  357. package/build/src/start/platforms/ios/xcrun.js +8 -5
  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 +13 -5
  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 +26 -19
  366. package/build/src/start/resolveOptions.js.map +1 -1
  367. package/build/src/start/server/AsyncNgrok.js +66 -46
  368. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  369. package/build/src/start/server/BundlerDevServer.js +64 -44
  370. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  371. package/build/src/start/server/DevServerManager.js +81 -69
  372. package/build/src/start/server/DevServerManager.js.map +1 -1
  373. package/build/src/start/server/DevToolsPluginManager.js +21 -16
  374. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  375. package/build/src/start/server/DevelopmentSession.js +49 -31
  376. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  377. package/build/src/start/server/ReactDevToolsProxy.js +14 -6
  378. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  379. package/build/src/start/server/UrlCreator.js +44 -23
  380. package/build/src/start/server/UrlCreator.js.map +1 -1
  381. package/build/src/start/server/getStaticRenderFunctions.js +46 -34
  382. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  383. package/build/src/start/server/metro/MetroBundlerDevServer.js +135 -108
  384. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  385. package/build/src/start/server/metro/MetroTerminalReporter.js +24 -17
  386. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  387. package/build/src/start/server/metro/TerminalReporter.js +18 -8
  388. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  389. package/build/src/start/server/metro/createExpoMetroResolver.js +31 -20
  390. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  391. package/build/src/start/server/metro/createJResolver.js +76 -51
  392. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  393. package/build/src/start/server/metro/createServerRouteMiddleware.js +22 -14
  394. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  395. package/build/src/start/server/metro/debugging/MessageHandler.js +4 -1
  396. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  397. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +10 -9
  398. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  399. package/build/src/start/server/metro/debugging/createHandlersFactory.js +14 -13
  400. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  401. package/build/src/start/server/metro/debugging/getDebuggerType.js +5 -2
  402. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  403. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +5 -2
  404. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  405. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +5 -2
  406. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -1
  407. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -4
  408. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  409. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +7 -4
  410. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  411. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -4
  412. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  413. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +7 -4
  414. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  415. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -1
  416. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  417. package/build/src/start/server/metro/externals.js +21 -10
  418. package/build/src/start/server/metro/externals.js.map +1 -1
  419. package/build/src/start/server/metro/fetchRouterManifest.js +20 -7
  420. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  421. package/build/src/start/server/metro/formatFileCandidates.js +21 -17
  422. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  423. package/build/src/start/server/metro/getCssModulesFromBundler.js +15 -7
  424. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  425. package/build/src/start/server/metro/instantiateMetro.js +57 -44
  426. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  427. package/build/src/start/server/metro/metroErrorInterface.js +43 -34
  428. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  429. package/build/src/start/server/metro/metroErrors.js +11 -2
  430. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  431. package/build/src/start/server/metro/metroVirtualModules.js +10 -2
  432. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  433. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +5 -2
  434. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  435. package/build/src/start/server/metro/router.js +27 -20
  436. package/build/src/start/server/metro/router.js.map +1 -1
  437. package/build/src/start/server/metro/runServer-fork.js +21 -14
  438. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  439. package/build/src/start/server/metro/serializeHtml.js +7 -7
  440. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  441. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +12 -4
  442. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  443. package/build/src/start/server/metro/withMetroMultiPlatform.js +107 -81
  444. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  445. package/build/src/start/server/metro/withMetroResolvers.js +72 -42
  446. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  447. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
  448. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  449. package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
  450. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  451. package/build/src/start/server/middleware/CreateFileMiddleware.js +13 -5
  452. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  453. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +15 -12
  454. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  455. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +30 -23
  456. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  457. package/build/src/start/server/middleware/ExpoMiddleware.js +47 -21
  458. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  459. package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
  460. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  461. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
  462. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  463. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +23 -16
  464. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  465. package/build/src/start/server/middleware/ManifestMiddleware.js +84 -60
  466. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  467. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +14 -7
  468. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  469. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +47 -26
  470. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  471. package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -8
  472. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  473. package/build/src/start/server/middleware/inspector/JsInspector.js +30 -24
  474. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  475. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +16 -8
  476. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
  477. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
  478. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
  479. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +16 -12
  480. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
  481. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +59 -37
  482. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
  483. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +22 -16
  484. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
  485. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +9 -6
  486. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  487. package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
  488. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  489. package/build/src/start/server/middleware/metroOptions.js +26 -18
  490. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  491. package/build/src/start/server/middleware/mutations.js +11 -4
  492. package/build/src/start/server/middleware/mutations.js.map +1 -1
  493. package/build/src/start/server/middleware/resolveAssets.js +65 -41
  494. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  495. package/build/src/start/server/middleware/resolvePlatform.js +14 -6
  496. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  497. package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
  498. package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
  499. package/build/src/start/server/openPlatforms.js +7 -6
  500. package/build/src/start/server/openPlatforms.js.map +1 -1
  501. package/build/src/start/server/platformBundlers.js +5 -2
  502. package/build/src/start/server/platformBundlers.js.map +1 -1
  503. package/build/src/start/server/serverLogLikeMetro.js +62 -33
  504. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  505. package/build/src/start/server/type-generation/expo-env.js +12 -4
  506. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  507. package/build/src/start/server/type-generation/routes.js +52 -51
  508. package/build/src/start/server/type-generation/routes.js.map +1 -1
  509. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +22 -19
  510. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  511. package/build/src/start/server/type-generation/tsconfig.js +18 -11
  512. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  513. package/build/src/start/server/webTemplate.js +21 -15
  514. package/build/src/start/server/webTemplate.js.map +1 -1
  515. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +81 -56
  516. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  517. package/build/src/start/server/webpack/compile.js +47 -26
  518. package/build/src/start/server/webpack/compile.js.map +1 -1
  519. package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
  520. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  521. package/build/src/start/server/webpack/resolveFromProject.js +13 -5
  522. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  523. package/build/src/start/server/webpack/tls.js +54 -28
  524. package/build/src/start/server/webpack/tls.js.map +1 -1
  525. package/build/src/start/startAsync.js +73 -52
  526. package/build/src/start/startAsync.js.map +1 -1
  527. package/build/src/utils/FileNotifier.js +46 -25
  528. package/build/src/utils/FileNotifier.js.map +1 -1
  529. package/build/src/utils/analytics/getDevClientProperties.js +29 -21
  530. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
  531. package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
  532. package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
  533. package/build/src/utils/analytics/getMetroProperties.js +4 -1
  534. package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
  535. package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
  536. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
  537. package/build/src/utils/ansi.js +5 -2
  538. package/build/src/utils/ansi.js.map +1 -1
  539. package/build/src/utils/args.js +57 -29
  540. package/build/src/utils/args.js.map +1 -1
  541. package/build/src/utils/array.js +16 -9
  542. package/build/src/utils/array.js.map +1 -1
  543. package/build/src/utils/cocoapods.js +77 -53
  544. package/build/src/utils/cocoapods.js.map +1 -1
  545. package/build/src/utils/codesigning.js +80 -58
  546. package/build/src/utils/codesigning.js.map +1 -1
  547. package/build/src/utils/createFileTransform.js +13 -5
  548. package/build/src/utils/createFileTransform.js.map +1 -1
  549. package/build/src/utils/delay.js +13 -6
  550. package/build/src/utils/delay.js.map +1 -1
  551. package/build/src/utils/dir.js +24 -21
  552. package/build/src/utils/dir.js.map +1 -1
  553. package/build/src/utils/downloadAppAsync.js +16 -13
  554. package/build/src/utils/downloadAppAsync.js.map +1 -1
  555. package/build/src/utils/downloadExpoGoAsync.js +26 -20
  556. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  557. package/build/src/utils/editor.js +50 -24
  558. package/build/src/utils/editor.js.map +1 -1
  559. package/build/src/utils/env.js +35 -33
  560. package/build/src/utils/env.js.map +1 -1
  561. package/build/src/utils/errors.js +17 -9
  562. package/build/src/utils/errors.js.map +1 -1
  563. package/build/src/utils/exit.js +10 -7
  564. package/build/src/utils/exit.js.map +1 -1
  565. package/build/src/utils/findUp.js +22 -4
  566. package/build/src/utils/findUp.js.map +1 -1
  567. package/build/src/utils/fn.js +11 -3
  568. package/build/src/utils/fn.js.map +1 -1
  569. package/build/src/utils/getOrPromptApplicationId.js +71 -45
  570. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  571. package/build/src/utils/getRunningProcess.js +52 -26
  572. package/build/src/utils/getRunningProcess.js.map +1 -1
  573. package/build/src/utils/git.js +64 -38
  574. package/build/src/utils/git.js.map +1 -1
  575. package/build/src/utils/glob.js +14 -9
  576. package/build/src/utils/glob.js.map +1 -1
  577. package/build/src/utils/interactive.js +5 -2
  578. package/build/src/utils/interactive.js.map +1 -1
  579. package/build/src/utils/ip.js +5 -2
  580. package/build/src/utils/ip.js.map +1 -1
  581. package/build/src/utils/isModuleSymlinked.js +7 -4
  582. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  583. package/build/src/utils/link.js +13 -5
  584. package/build/src/utils/link.js.map +1 -1
  585. package/build/src/utils/mergeGitIgnorePaths.js +22 -17
  586. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  587. package/build/src/utils/modifyConfigAsync.js +56 -30
  588. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  589. package/build/src/utils/modifyConfigPlugins.js +43 -22
  590. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  591. package/build/src/utils/nodeEnv.js +6 -1
  592. package/build/src/utils/nodeEnv.js.map +1 -1
  593. package/build/src/utils/nodeModules.js +9 -6
  594. package/build/src/utils/nodeModules.js.map +1 -1
  595. package/build/src/utils/npm.js +32 -24
  596. package/build/src/utils/npm.js.map +1 -1
  597. package/build/src/utils/obj.js +12 -4
  598. package/build/src/utils/obj.js.map +1 -1
  599. package/build/src/utils/open.js +7 -4
  600. package/build/src/utils/open.js.map +1 -1
  601. package/build/src/utils/ora.js +25 -21
  602. package/build/src/utils/ora.js.map +1 -1
  603. package/build/src/utils/plist.js +53 -27
  604. package/build/src/utils/plist.js.map +1 -1
  605. package/build/src/utils/port.js +58 -32
  606. package/build/src/utils/port.js.map +1 -1
  607. package/build/src/utils/profile.js +49 -28
  608. package/build/src/utils/profile.js.map +1 -1
  609. package/build/src/utils/progress.js +16 -12
  610. package/build/src/utils/progress.js.map +1 -1
  611. package/build/src/utils/prompts.js +33 -28
  612. package/build/src/utils/prompts.js.map +1 -1
  613. package/build/src/utils/resolveArgs.js +23 -20
  614. package/build/src/utils/resolveArgs.js.map +1 -1
  615. package/build/src/utils/scheme.js +61 -37
  616. package/build/src/utils/scheme.js.map +1 -1
  617. package/build/src/utils/strings.js +11 -4
  618. package/build/src/utils/strings.js.map +1 -1
  619. package/build/src/utils/tar.js +43 -22
  620. package/build/src/utils/tar.js.map +1 -1
  621. package/build/src/utils/telemetry/DetachedClient.js +8 -5
  622. package/build/src/utils/telemetry/DetachedClient.js.map +1 -1
  623. package/build/src/utils/telemetry/RudderClient.js +12 -9
  624. package/build/src/utils/telemetry/RudderClient.js.map +1 -1
  625. package/build/src/utils/telemetry/flushDetached.js +8 -7
  626. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  627. package/build/src/utils/telemetry/getContext.js +48 -28
  628. package/build/src/utils/telemetry/getContext.js.map +1 -1
  629. package/build/src/utils/telemetry/index.js +16 -11
  630. package/build/src/utils/telemetry/index.js.map +1 -1
  631. package/build/src/utils/template.js +27 -2
  632. package/build/src/utils/template.js.map +1 -1
  633. package/build/src/utils/terminal.js +5 -2
  634. package/build/src/utils/terminal.js.map +1 -1
  635. package/build/src/utils/tsconfig/evaluateTsConfig.js +18 -12
  636. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  637. package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -10
  638. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  639. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
  640. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  641. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -9
  642. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  643. package/build/src/utils/url.js +17 -10
  644. package/build/src/utils/url.js.map +1 -1
  645. package/build/src/utils/validateApplicationId.js +32 -25
  646. package/build/src/utils/validateApplicationId.js.map +1 -1
  647. package/build/src/utils/variadic.js +15 -11
  648. package/build/src/utils/variadic.js.map +1 -1
  649. package/build/src/whoami/index.js +43 -25
  650. package/build/src/whoami/index.js.map +1 -1
  651. package/build/src/whoami/whoamiAsync.js +44 -23
  652. package/build/src/whoami/whoamiAsync.js.map +1 -1
  653. package/package.json +4 -4
@@ -2,66 +2,92 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.getAppDeltaDirectory = getAppDeltaDirectory;
6
- exports.installOnDeviceAsync = installOnDeviceAsync;
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
+ getAppDeltaDirectory: ()=>getAppDeltaDirectory,
13
+ installOnDeviceAsync: ()=>installOnDeviceAsync
14
+ });
7
15
  function _chalk() {
8
- const data = _interopRequireDefault(require("chalk"));
16
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
9
17
  _chalk = function() {
10
18
  return data;
11
19
  };
12
20
  return data;
13
21
  }
14
22
  function _os() {
15
- const data = _interopRequireDefault(require("os"));
23
+ const data = /*#__PURE__*/ _interopRequireDefault(require("os"));
16
24
  _os = function() {
17
25
  return data;
18
26
  };
19
27
  return data;
20
28
  }
21
29
  function _path() {
22
- const data = _interopRequireDefault(require("path"));
30
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
23
31
  _path = function() {
24
32
  return data;
25
33
  };
26
34
  return data;
27
35
  }
28
- var AppleDevice = _interopRequireWildcard(require("./AppleDevice"));
29
- var _dir = require("../../../utils/dir");
30
- var _errors = require("../../../utils/errors");
31
- var _interactive = require("../../../utils/interactive");
32
- var _ora = require("../../../utils/ora");
33
- var _prompts = require("../../../utils/prompts");
36
+ const _appleDevice = /*#__PURE__*/ _interopRequireWildcard(require("./AppleDevice"));
37
+ const _dir = require("../../../utils/dir");
38
+ const _errors = require("../../../utils/errors");
39
+ const _interactive = require("../../../utils/interactive");
40
+ const _ora = require("../../../utils/ora");
41
+ const _prompts = require("../../../utils/prompts");
34
42
  function _interopRequireDefault(obj) {
35
43
  return obj && obj.__esModule ? obj : {
36
44
  default: obj
37
45
  };
38
46
  }
39
- function _interopRequireWildcard(obj) {
40
- if (obj && obj.__esModule) {
47
+ function _getRequireWildcardCache(nodeInterop) {
48
+ if (typeof WeakMap !== "function") return null;
49
+ var cacheBabelInterop = new WeakMap();
50
+ var cacheNodeInterop = new WeakMap();
51
+ return (_getRequireWildcardCache = function(nodeInterop) {
52
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
53
+ })(nodeInterop);
54
+ }
55
+ function _interopRequireWildcard(obj, nodeInterop) {
56
+ if (!nodeInterop && obj && obj.__esModule) {
41
57
  return obj;
42
- } else {
43
- var newObj = {};
44
- if (obj != null) {
45
- for(var key in obj){
46
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
47
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
48
- if (desc.get || desc.set) {
49
- Object.defineProperty(newObj, key, desc);
50
- } else {
51
- newObj[key] = obj[key];
52
- }
53
- }
58
+ }
59
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
60
+ return {
61
+ default: obj
62
+ };
63
+ }
64
+ var cache = _getRequireWildcardCache(nodeInterop);
65
+ if (cache && cache.has(obj)) {
66
+ return cache.get(obj);
67
+ }
68
+ var newObj = {};
69
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
70
+ for(var key in obj){
71
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
72
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
73
+ if (desc && (desc.get || desc.set)) {
74
+ Object.defineProperty(newObj, key, desc);
75
+ } else {
76
+ newObj[key] = obj[key];
54
77
  }
55
78
  }
56
- newObj.default = obj;
57
- return newObj;
58
79
  }
80
+ newObj.default = obj;
81
+ if (cache) {
82
+ cache.set(obj, newObj);
83
+ }
84
+ return newObj;
59
85
  }
60
86
  function getAppDeltaDirectory(bundleId) {
61
87
  // TODO: Maybe use .expo folder instead for debugging
62
88
  // TODO: Reuse existing folder from xcode?
63
89
  const deltaFolder = _path().default.join(_os().default.tmpdir(), "ios", "app-delta", bundleId);
64
- (0, _dir).ensureDirectory(deltaFolder);
90
+ (0, _dir.ensureDirectory)(deltaFolder);
65
91
  return deltaFolder;
66
92
  }
67
93
  async function installOnDeviceAsync(props) {
@@ -69,7 +95,7 @@ async function installOnDeviceAsync(props) {
69
95
  let indicator;
70
96
  try {
71
97
  // TODO: Connect for logs
72
- await AppleDevice.runOnDevice({
98
+ await _appleDevice.runOnDevice({
73
99
  udid,
74
100
  appPath: bundle,
75
101
  bundleId: bundleIdentifier,
@@ -77,7 +103,7 @@ async function installOnDeviceAsync(props) {
77
103
  deltaPath: appDeltaDirectory,
78
104
  onProgress ({ status , isComplete , progress }) {
79
105
  if (!indicator) {
80
- indicator = (0, _ora).ora(status).start();
106
+ indicator = (0, _ora.ora)(status).start();
81
107
  }
82
108
  indicator.text = `${_chalk().default.bold(status)} ${progress}%`;
83
109
  if (isComplete) {
@@ -93,7 +119,7 @@ async function installOnDeviceAsync(props) {
93
119
  var ref;
94
120
  // Get the app name from the binary path.
95
121
  const appName = (ref = _path().default.basename(bundle).split(".")[0]) != null ? ref : "app";
96
- if ((0, _interactive).isInteractive() && await (0, _prompts).confirmAsync({
122
+ if ((0, _interactive.isInteractive)() && await (0, _prompts.confirmAsync)({
97
123
  message: `Cannot launch ${appName} because the device is locked. Unlock ${deviceName} to continue...`,
98
124
  initial: true
99
125
  })) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/run/ios/appleDevice/installOnDeviceAsync.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Ora } from 'ora';\nimport os from 'os';\nimport path from 'path';\n\nimport * as AppleDevice from './AppleDevice';\nimport { ensureDirectory } from '../../../utils/dir';\nimport { CommandError } from '../../../utils/errors';\nimport { isInteractive } from '../../../utils/interactive';\nimport { ora } from '../../../utils/ora';\nimport { confirmAsync } from '../../../utils/prompts';\n\n/** Get the app_delta folder for faster subsequent rebuilds on devices. */\nexport function getAppDeltaDirectory(bundleId: string): string {\n // TODO: Maybe use .expo folder instead for debugging\n // TODO: Reuse existing folder from xcode?\n const deltaFolder = path.join(os.tmpdir(), 'ios', 'app-delta', bundleId);\n ensureDirectory(deltaFolder);\n return deltaFolder;\n}\n\n/**\n * Wraps the apple device method for installing and running an app,\n * adds indicator and retry loop for when the device is locked.\n */\nexport async function installOnDeviceAsync(props: {\n bundle: string;\n bundleIdentifier: string;\n appDeltaDirectory: string;\n udid: string;\n deviceName: string;\n}): Promise<void> {\n const { bundle, bundleIdentifier, appDeltaDirectory, udid, deviceName } = props;\n let indicator: Ora | undefined;\n\n try {\n // TODO: Connect for logs\n await AppleDevice.runOnDevice({\n udid,\n appPath: bundle,\n bundleId: bundleIdentifier,\n waitForApp: false,\n deltaPath: appDeltaDirectory,\n onProgress({\n status,\n isComplete,\n progress,\n }: {\n status: string;\n isComplete: boolean;\n progress: number;\n }) {\n if (!indicator) {\n indicator = ora(status).start();\n }\n indicator.text = `${chalk.bold(status)} ${progress}%`;\n if (isComplete) {\n indicator.succeed();\n }\n },\n });\n } catch (error: any) {\n if (indicator) {\n indicator.fail();\n }\n if (error.code === 'APPLE_DEVICE_LOCKED') {\n // Get the app name from the binary path.\n const appName = path.basename(bundle).split('.')[0] ?? 'app';\n if (\n isInteractive() &&\n (await confirmAsync({\n message: `Cannot launch ${appName} because the device is locked. Unlock ${deviceName} to continue...`,\n initial: true,\n }))\n ) {\n return installOnDeviceAsync(props);\n }\n throw new CommandError(\n `Cannot launch ${appName} on ${deviceName} because the device is locked.`\n );\n }\n throw error;\n }\n}\n"],"names":["getAppDeltaDirectory","installOnDeviceAsync","AppleDevice","bundleId","deltaFolder","path","join","os","tmpdir","ensureDirectory","props","bundle","bundleIdentifier","appDeltaDirectory","udid","deviceName","indicator","runOnDevice","appPath","waitForApp","deltaPath","onProgress","status","isComplete","progress","ora","start","text","chalk","bold","succeed","error","fail","code","appName","basename","split","isInteractive","confirmAsync","message","initial","CommandError"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/run/ios/appleDevice/installOnDeviceAsync.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Ora } from 'ora';\nimport os from 'os';\nimport path from 'path';\n\nimport * as AppleDevice from './AppleDevice';\nimport { ensureDirectory } from '../../../utils/dir';\nimport { CommandError } from '../../../utils/errors';\nimport { isInteractive } from '../../../utils/interactive';\nimport { ora } from '../../../utils/ora';\nimport { confirmAsync } from '../../../utils/prompts';\n\n/** Get the app_delta folder for faster subsequent rebuilds on devices. */\nexport function getAppDeltaDirectory(bundleId: string): string {\n // TODO: Maybe use .expo folder instead for debugging\n // TODO: Reuse existing folder from xcode?\n const deltaFolder = path.join(os.tmpdir(), 'ios', 'app-delta', bundleId);\n ensureDirectory(deltaFolder);\n return deltaFolder;\n}\n\n/**\n * Wraps the apple device method for installing and running an app,\n * adds indicator and retry loop for when the device is locked.\n */\nexport async function installOnDeviceAsync(props: {\n bundle: string;\n bundleIdentifier: string;\n appDeltaDirectory: string;\n udid: string;\n deviceName: string;\n}): Promise<void> {\n const { bundle, bundleIdentifier, appDeltaDirectory, udid, deviceName } = props;\n let indicator: Ora | undefined;\n\n try {\n // TODO: Connect for logs\n await AppleDevice.runOnDevice({\n udid,\n appPath: bundle,\n bundleId: bundleIdentifier,\n waitForApp: false,\n deltaPath: appDeltaDirectory,\n onProgress({\n status,\n isComplete,\n progress,\n }: {\n status: string;\n isComplete: boolean;\n progress: number;\n }) {\n if (!indicator) {\n indicator = ora(status).start();\n }\n indicator.text = `${chalk.bold(status)} ${progress}%`;\n if (isComplete) {\n indicator.succeed();\n }\n },\n });\n } catch (error: any) {\n if (indicator) {\n indicator.fail();\n }\n if (error.code === 'APPLE_DEVICE_LOCKED') {\n // Get the app name from the binary path.\n const appName = path.basename(bundle).split('.')[0] ?? 'app';\n if (\n isInteractive() &&\n (await confirmAsync({\n message: `Cannot launch ${appName} because the device is locked. Unlock ${deviceName} to continue...`,\n initial: true,\n }))\n ) {\n return installOnDeviceAsync(props);\n }\n throw new CommandError(\n `Cannot launch ${appName} on ${deviceName} because the device is locked.`\n );\n }\n throw error;\n }\n}\n"],"names":["getAppDeltaDirectory","installOnDeviceAsync","bundleId","deltaFolder","path","join","os","tmpdir","ensureDirectory","props","bundle","bundleIdentifier","appDeltaDirectory","udid","deviceName","indicator","AppleDevice","runOnDevice","appPath","waitForApp","deltaPath","onProgress","status","isComplete","progress","ora","start","text","chalk","bold","succeed","error","fail","code","appName","basename","split","isInteractive","confirmAsync","message","initial","CommandError"],"mappings":"AAAA;;;;;;;;;;;IAagBA,oBAAoB,MAApBA,oBAAoB;IAYdC,oBAAoB,MAApBA,oBAAoB;;;8DAzBxB,OAAO;;;;;;;8DAEV,IAAI;;;;;;;8DACF,MAAM;;;;;;mEAEM,eAAe;qBACZ,oBAAoB;wBACvB,uBAAuB;6BACtB,4BAA4B;qBACtC,oBAAoB;yBACX,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAG9C,SAASD,oBAAoB,CAACE,QAAgB,EAAU;IAC7D,qDAAqD;IACrD,0CAA0C;IAC1C,MAAMC,WAAW,GAAGC,KAAI,EAAA,QAAA,CAACC,IAAI,CAACC,GAAE,EAAA,QAAA,CAACC,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAEL,QAAQ,CAAC,AAAC;IACzEM,IAAAA,IAAe,gBAAA,EAACL,WAAW,CAAC,CAAC;IAC7B,OAAOA,WAAW,CAAC;AACrB,CAAC;AAMM,eAAeF,oBAAoB,CAACQ,KAM1C,EAAiB;IAChB,MAAM,EAAEC,MAAM,CAAA,EAAEC,gBAAgB,CAAA,EAAEC,iBAAiB,CAAA,EAAEC,IAAI,CAAA,EAAEC,UAAU,CAAA,EAAE,GAAGL,KAAK,AAAC;IAChF,IAAIM,SAAS,AAAiB,AAAC;IAE/B,IAAI;QACF,yBAAyB;QACzB,MAAMC,YAAW,CAACC,WAAW,CAAC;YAC5BJ,IAAI;YACJK,OAAO,EAAER,MAAM;YACfR,QAAQ,EAAES,gBAAgB;YAC1BQ,UAAU,EAAE,KAAK;YACjBC,SAAS,EAAER,iBAAiB;YAC5BS,UAAU,EAAC,EACTC,MAAM,CAAA,EACNC,UAAU,CAAA,EACVC,QAAQ,CAAA,EAKT,EAAE;gBACD,IAAI,CAACT,SAAS,EAAE;oBACdA,SAAS,GAAGU,IAAAA,IAAG,IAAA,EAACH,MAAM,CAAC,CAACI,KAAK,EAAE,CAAC;gBAClC,CAAC;gBACDX,SAAS,CAACY,IAAI,GAAG,CAAC,EAAEC,MAAK,EAAA,QAAA,CAACC,IAAI,CAACP,MAAM,CAAC,CAAC,CAAC,EAAEE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAID,UAAU,EAAE;oBACdR,SAAS,CAACe,OAAO,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,EAAE,OAAOC,KAAK,EAAO;QACnB,IAAIhB,SAAS,EAAE;YACbA,SAAS,CAACiB,IAAI,EAAE,CAAC;QACnB,CAAC;QACD,IAAID,KAAK,CAACE,IAAI,KAAK,qBAAqB,EAAE;gBAExB7B,GAAmC;YADnD,yCAAyC;YACzC,MAAM8B,OAAO,GAAG9B,CAAAA,GAAmC,GAAnCA,KAAI,EAAA,QAAA,CAAC+B,QAAQ,CAACzB,MAAM,CAAC,CAAC0B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAnChC,GAAmC,GAAI,KAAK,AAAC;YAC7D,IACEiC,IAAAA,YAAa,cAAA,GAAE,IACd,MAAMC,IAAAA,QAAY,aAAA,EAAC;gBAClBC,OAAO,EAAE,CAAC,cAAc,EAAEL,OAAO,CAAC,sCAAsC,EAAEpB,UAAU,CAAC,eAAe,CAAC;gBACrG0B,OAAO,EAAE,IAAI;aACd,CAAC,AAAC,EACH;gBACA,OAAOvC,oBAAoB,CAACQ,KAAK,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,IAAIgC,OAAY,aAAA,CACpB,CAAC,cAAc,EAAEP,OAAO,CAAC,IAAI,EAAEpB,UAAU,CAAC,8BAA8B,CAAC,CAC1E,CAAC;QACJ,CAAC;QACD,MAAMiB,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,158 +1,176 @@
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.AFC_FILE_OPEN_FLAGS = exports.AFC_STATUS = exports.AFC_OPS = exports.AFC_HEADER_SIZE = exports.AFC_MAGIC = void 0;
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
+ AFC_OPS: ()=>AFC_OPS,
19
+ AFC_STATUS: ()=>AFC_STATUS,
20
+ AFC_FILE_OPEN_FLAGS: ()=>AFC_FILE_OPEN_FLAGS,
21
+ AFC_MAGIC: ()=>AFC_MAGIC,
22
+ AFC_HEADER_SIZE: ()=>AFC_HEADER_SIZE,
23
+ AFCError: ()=>AFCError,
24
+ AFCProtocolClient: ()=>AFCProtocolClient,
25
+ AFCProtocolReader: ()=>AFCProtocolReader,
26
+ AFCProtocolWriter: ()=>AFCProtocolWriter
27
+ });
6
28
  function _debug() {
7
- const data = _interopRequireDefault(require("debug"));
29
+ const data = /*#__PURE__*/ _interopRequireDefault(require("debug"));
8
30
  _debug = function() {
9
31
  return data;
10
32
  };
11
33
  return data;
12
34
  }
13
- var _abstractProtocol = require("./AbstractProtocol");
14
- var _errors = require("../../../../utils/errors");
35
+ const _abstractProtocol = require("./AbstractProtocol");
36
+ const _errors = require("../../../../utils/errors");
15
37
  function _interopRequireDefault(obj) {
16
38
  return obj && obj.__esModule ? obj : {
17
39
  default: obj
18
40
  };
19
41
  }
20
- const debug = _debug().default("expo:apple-device:protocol:afc");
42
+ const debug = (0, _debug().default)("expo:apple-device:protocol:afc");
21
43
  const AFC_MAGIC = "CFA6LPAA";
22
- exports.AFC_MAGIC = AFC_MAGIC;
23
44
  const AFC_HEADER_SIZE = 40;
24
- exports.AFC_HEADER_SIZE = AFC_HEADER_SIZE;
25
45
  var AFC_OPS;
26
- exports.AFC_OPS = AFC_OPS;
27
46
  (function(AFC_OPS) {
28
47
  AFC_OPS[AFC_OPS[/**
29
48
  * Invalid
30
- */ "INVALID"] = 0] = "INVALID";
49
+ */ "INVALID"] = 0x00000000] = "INVALID";
31
50
  AFC_OPS[AFC_OPS[/**
32
51
  * Status
33
- */ "STATUS"] = 1] = "STATUS";
52
+ */ "STATUS"] = 0x00000001] = "STATUS";
34
53
  AFC_OPS[AFC_OPS[/**
35
54
  * Data
36
- */ "DATA"] = 2] = "DATA";
55
+ */ "DATA"] = 0x00000002] = "DATA";
37
56
  AFC_OPS[AFC_OPS[/**
38
57
  * ReadDir
39
- */ "READ_DIR"] = 3] = "READ_DIR";
58
+ */ "READ_DIR"] = 0x00000003] = "READ_DIR";
40
59
  AFC_OPS[AFC_OPS[/**
41
60
  * ReadFile
42
- */ "READ_FILE"] = 4] = "READ_FILE";
61
+ */ "READ_FILE"] = 0x00000004] = "READ_FILE";
43
62
  AFC_OPS[AFC_OPS[/**
44
63
  * WriteFile
45
- */ "WRITE_FILE"] = 5] = "WRITE_FILE";
64
+ */ "WRITE_FILE"] = 0x00000005] = "WRITE_FILE";
46
65
  AFC_OPS[AFC_OPS[/**
47
66
  * WritePart
48
- */ "WRITE_PART"] = 6] = "WRITE_PART";
67
+ */ "WRITE_PART"] = 0x00000006] = "WRITE_PART";
49
68
  AFC_OPS[AFC_OPS[/**
50
69
  * TruncateFile
51
- */ "TRUNCATE"] = 7] = "TRUNCATE";
70
+ */ "TRUNCATE"] = 0x00000007] = "TRUNCATE";
52
71
  AFC_OPS[AFC_OPS[/**
53
72
  * RemovePath
54
- */ "REMOVE_PATH"] = 8] = "REMOVE_PATH";
73
+ */ "REMOVE_PATH"] = 0x00000008] = "REMOVE_PATH";
55
74
  AFC_OPS[AFC_OPS[/**
56
75
  * MakeDir
57
- */ "MAKE_DIR"] = 9] = "MAKE_DIR";
76
+ */ "MAKE_DIR"] = 0x00000009] = "MAKE_DIR";
58
77
  AFC_OPS[AFC_OPS[/**
59
78
  * GetFileInfo
60
- */ "GET_FILE_INFO"] = 10] = "GET_FILE_INFO";
79
+ */ "GET_FILE_INFO"] = 0x0000000a] = "GET_FILE_INFO";
61
80
  AFC_OPS[AFC_OPS[/**
62
81
  * GetDeviceInfo
63
- */ "GET_DEVINFO"] = 11] = "GET_DEVINFO";
82
+ */ "GET_DEVINFO"] = 0x0000000b] = "GET_DEVINFO";
64
83
  AFC_OPS[AFC_OPS[/**
65
84
  * WriteFileAtomic (tmp file+rename)
66
- */ "WRITE_FILE_ATOM"] = 12] = "WRITE_FILE_ATOM";
85
+ */ "WRITE_FILE_ATOM"] = 0x0000000c] = "WRITE_FILE_ATOM";
67
86
  AFC_OPS[AFC_OPS[/**
68
87
  * FileRefOpen
69
- */ "FILE_OPEN"] = 13] = "FILE_OPEN";
88
+ */ "FILE_OPEN"] = 0x0000000d] = "FILE_OPEN";
70
89
  AFC_OPS[AFC_OPS[/**
71
90
  * FileRefOpenResult
72
- */ "FILE_OPEN_RES"] = 14] = "FILE_OPEN_RES";
91
+ */ "FILE_OPEN_RES"] = 0x0000000e] = "FILE_OPEN_RES";
73
92
  AFC_OPS[AFC_OPS[/**
74
93
  * FileRefRead
75
- */ "FILE_READ"] = 15] = "FILE_READ";
94
+ */ "FILE_READ"] = 0x0000000f] = "FILE_READ";
76
95
  AFC_OPS[AFC_OPS[/**
77
96
  * FileRefWrite
78
- */ "FILE_WRITE"] = 16] = "FILE_WRITE";
97
+ */ "FILE_WRITE"] = 0x00000010] = "FILE_WRITE";
79
98
  AFC_OPS[AFC_OPS[/**
80
99
  * FileRefSeek
81
- */ "FILE_SEEK"] = 17] = "FILE_SEEK";
100
+ */ "FILE_SEEK"] = 0x00000011] = "FILE_SEEK";
82
101
  AFC_OPS[AFC_OPS[/**
83
102
  * FileRefTell
84
- */ "FILE_TELL"] = 18] = "FILE_TELL";
103
+ */ "FILE_TELL"] = 0x00000012] = "FILE_TELL";
85
104
  AFC_OPS[AFC_OPS[/**
86
105
  * FileRefTellResult
87
- */ "FILE_TELL_RES"] = 19] = "FILE_TELL_RES";
106
+ */ "FILE_TELL_RES"] = 0x00000013] = "FILE_TELL_RES";
88
107
  AFC_OPS[AFC_OPS[/**
89
108
  * FileRefClose
90
- */ "FILE_CLOSE"] = 20] = "FILE_CLOSE";
109
+ */ "FILE_CLOSE"] = 0x00000014] = "FILE_CLOSE";
91
110
  AFC_OPS[AFC_OPS[/**
92
111
  * FileRefSetFileSize (ftruncate)
93
- */ "FILE_SET_SIZE"] = 21] = "FILE_SET_SIZE";
112
+ */ "FILE_SET_SIZE"] = 0x00000015] = "FILE_SET_SIZE";
94
113
  AFC_OPS[AFC_OPS[/**
95
114
  * GetConnectionInfo
96
- */ "GET_CON_INFO"] = 22] = "GET_CON_INFO";
115
+ */ "GET_CON_INFO"] = 0x00000016] = "GET_CON_INFO";
97
116
  AFC_OPS[AFC_OPS[/**
98
117
  * SetConnectionOptions
99
- */ "SET_CON_OPTIONS"] = 23] = "SET_CON_OPTIONS";
118
+ */ "SET_CON_OPTIONS"] = 0x00000017] = "SET_CON_OPTIONS";
100
119
  AFC_OPS[AFC_OPS[/**
101
120
  * RenamePath
102
- */ "RENAME_PATH"] = 24] = "RENAME_PATH";
121
+ */ "RENAME_PATH"] = 0x00000018] = "RENAME_PATH";
103
122
  AFC_OPS[AFC_OPS[/**
104
123
  * SetFSBlockSize (0x800000)
105
- */ "SET_FS_BS"] = 25] = "SET_FS_BS";
124
+ */ "SET_FS_BS"] = 0x00000019] = "SET_FS_BS";
106
125
  AFC_OPS[AFC_OPS[/**
107
126
  * SetSocketBlockSize (0x800000)
108
- */ "SET_SOCKET_BS"] = 26] = "SET_SOCKET_BS";
127
+ */ "SET_SOCKET_BS"] = 0x0000001a] = "SET_SOCKET_BS";
109
128
  AFC_OPS[AFC_OPS[/**
110
129
  * FileRefLock
111
- */ "FILE_LOCK"] = 27] = "FILE_LOCK";
130
+ */ "FILE_LOCK"] = 0x0000001b] = "FILE_LOCK";
112
131
  AFC_OPS[AFC_OPS[/**
113
132
  * MakeLink
114
- */ "MAKE_LINK"] = 28] = "MAKE_LINK";
133
+ */ "MAKE_LINK"] = 0x0000001c] = "MAKE_LINK";
115
134
  AFC_OPS[AFC_OPS[/**
116
135
  * GetFileHash
117
- */ "GET_FILE_HASH"] = 29] = "GET_FILE_HASH";
136
+ */ "GET_FILE_HASH"] = 0x0000001d] = "GET_FILE_HASH";
118
137
  AFC_OPS[AFC_OPS[/**
119
138
  * SetModTime
120
- */ "SET_FILE_MOD_TIME"] = 30] = "SET_FILE_MOD_TIME";
139
+ */ "SET_FILE_MOD_TIME"] = 0x0000001e] = "SET_FILE_MOD_TIME";
121
140
  AFC_OPS[AFC_OPS[/**
122
141
  * GetFileHashWithRange
123
- */ "GET_FILE_HASH_RANGE"] = 31] = "GET_FILE_HASH_RANGE";
142
+ */ "GET_FILE_HASH_RANGE"] = 0x0000001f] = "GET_FILE_HASH_RANGE";
124
143
  AFC_OPS[AFC_OPS[// iOS 6+
125
144
  /**
126
145
  * FileRefSetImmutableHint
127
- */ "FILE_SET_IMMUTABLE_HINT"] = 32] = "FILE_SET_IMMUTABLE_HINT";
146
+ */ "FILE_SET_IMMUTABLE_HINT"] = 0x00000020] = "FILE_SET_IMMUTABLE_HINT";
128
147
  AFC_OPS[AFC_OPS[/**
129
148
  * GetSizeOfPathContents
130
- */ "GET_SIZE_OF_PATH_CONTENTS"] = 33] = "GET_SIZE_OF_PATH_CONTENTS";
149
+ */ "GET_SIZE_OF_PATH_CONTENTS"] = 0x00000021] = "GET_SIZE_OF_PATH_CONTENTS";
131
150
  AFC_OPS[AFC_OPS[/**
132
151
  * RemovePathAndContents
133
- */ "REMOVE_PATH_AND_CONTENTS"] = 34] = "REMOVE_PATH_AND_CONTENTS";
152
+ */ "REMOVE_PATH_AND_CONTENTS"] = 0x00000022] = "REMOVE_PATH_AND_CONTENTS";
134
153
  AFC_OPS[AFC_OPS[/**
135
154
  * DirectoryEnumeratorRefOpen
136
- */ "DIR_OPEN"] = 35] = "DIR_OPEN";
155
+ */ "DIR_OPEN"] = 0x00000023] = "DIR_OPEN";
137
156
  AFC_OPS[AFC_OPS[/**
138
157
  * DirectoryEnumeratorRefOpenResult
139
- */ "DIR_OPEN_RESULT"] = 36] = "DIR_OPEN_RESULT";
158
+ */ "DIR_OPEN_RESULT"] = 0x00000024] = "DIR_OPEN_RESULT";
140
159
  AFC_OPS[AFC_OPS[/**
141
160
  * DirectoryEnumeratorRefRead
142
- */ "DIR_READ"] = 37] = "DIR_READ";
161
+ */ "DIR_READ"] = 0x00000025] = "DIR_READ";
143
162
  AFC_OPS[AFC_OPS[/**
144
163
  * DirectoryEnumeratorRefClose
145
- */ "DIR_CLOSE"] = 38] = "DIR_CLOSE";
164
+ */ "DIR_CLOSE"] = 0x00000026] = "DIR_CLOSE";
146
165
  AFC_OPS[AFC_OPS[// iOS 7+
147
166
  /**
148
167
  * FileRefReadWithOffset
149
- */ "FILE_READ_OFFSET"] = 39] = "FILE_READ_OFFSET";
168
+ */ "FILE_READ_OFFSET"] = 0x00000027] = "FILE_READ_OFFSET";
150
169
  AFC_OPS[AFC_OPS[/**
151
170
  * FileRefWriteWithOffset
152
- */ "FILE_WRITE_OFFSET"] = 40] = "FILE_WRITE_OFFSET";
153
- })(AFC_OPS || (exports.AFC_OPS = AFC_OPS = {}));
171
+ */ "FILE_WRITE_OFFSET"] = 0x00000028] = "FILE_WRITE_OFFSET";
172
+ })(AFC_OPS || (AFC_OPS = {}));
154
173
  var AFC_STATUS;
155
- exports.AFC_STATUS = AFC_STATUS;
156
174
  (function(AFC_STATUS) {
157
175
  AFC_STATUS[AFC_STATUS["SUCCESS"] = 0] = "SUCCESS";
158
176
  AFC_STATUS[AFC_STATUS["UNKNOWN_ERROR"] = 1] = "UNKNOWN_ERROR";
@@ -183,34 +201,33 @@ exports.AFC_STATUS = AFC_STATUS;
183
201
  AFC_STATUS[AFC_STATUS["NOT_ENOUGH_DATA"] = 32] = "NOT_ENOUGH_DATA";
184
202
  AFC_STATUS[AFC_STATUS["DIR_NOT_EMPTY"] = 33] = "DIR_NOT_EMPTY";
185
203
  AFC_STATUS[AFC_STATUS["FORCE_SIGNED_TYPE"] = -1] = "FORCE_SIGNED_TYPE";
186
- })(AFC_STATUS || (exports.AFC_STATUS = AFC_STATUS = {}));
204
+ })(AFC_STATUS || (AFC_STATUS = {}));
187
205
  var AFC_FILE_OPEN_FLAGS;
188
- exports.AFC_FILE_OPEN_FLAGS = AFC_FILE_OPEN_FLAGS;
189
206
  (function(AFC_FILE_OPEN_FLAGS) {
190
207
  AFC_FILE_OPEN_FLAGS[AFC_FILE_OPEN_FLAGS[/**
191
208
  * r (O_RDONLY)
192
- */ "RDONLY"] = 1] = "RDONLY";
209
+ */ "RDONLY"] = 0x00000001] = "RDONLY";
193
210
  AFC_FILE_OPEN_FLAGS[AFC_FILE_OPEN_FLAGS[/**
194
211
  * r+ (O_RDWR | O_CREAT)
195
- */ "RW"] = 2] = "RW";
212
+ */ "RW"] = 0x00000002] = "RW";
196
213
  AFC_FILE_OPEN_FLAGS[AFC_FILE_OPEN_FLAGS[/**
197
214
  * w (O_WRONLY | O_CREAT | O_TRUNC)
198
- */ "WRONLY"] = 3] = "WRONLY";
215
+ */ "WRONLY"] = 0x00000003] = "WRONLY";
199
216
  AFC_FILE_OPEN_FLAGS[AFC_FILE_OPEN_FLAGS[/**
200
217
  * w+ (O_RDWR | O_CREAT | O_TRUNC)
201
- */ "WR"] = 4] = "WR";
218
+ */ "WR"] = 0x00000004] = "WR";
202
219
  AFC_FILE_OPEN_FLAGS[AFC_FILE_OPEN_FLAGS[/**
203
220
  * a (O_WRONLY | O_APPEND | O_CREAT)
204
- */ "APPEND"] = 5] = "APPEND";
221
+ */ "APPEND"] = 0x00000005] = "APPEND";
205
222
  AFC_FILE_OPEN_FLAGS[AFC_FILE_OPEN_FLAGS[/**
206
223
  * a+ (O_RDWR | O_APPEND | O_CREAT)
207
- */ "RDAPPEND"] = 6] = "RDAPPEND";
208
- })(AFC_FILE_OPEN_FLAGS || (exports.AFC_FILE_OPEN_FLAGS = AFC_FILE_OPEN_FLAGS = {}));
224
+ */ "RDAPPEND"] = 0x00000006] = "RDAPPEND";
225
+ })(AFC_FILE_OPEN_FLAGS || (AFC_FILE_OPEN_FLAGS = {}));
209
226
  function isAFCResponse(resp) {
210
227
  return AFC_OPS[resp.operation] !== undefined && resp.id !== undefined && resp.data !== undefined;
211
228
  }
212
229
  function isStatusResponse(resp) {
213
- return isAFCResponse(resp) && resp.operation === 1;
230
+ return isAFCResponse(resp) && resp.operation === 0x00000001;
214
231
  }
215
232
  function isErrorStatusResponse(resp) {
216
233
  return isStatusResponse(resp) && resp.data !== 0;
@@ -227,7 +244,6 @@ class AFCError extends Error {
227
244
  this.status = status;
228
245
  }
229
246
  }
230
- exports.AFCError = AFCError;
231
247
  class AFCProtocolClient extends _abstractProtocol.ProtocolClient {
232
248
  requestId = 0;
233
249
  requestCallbacks = {};
@@ -265,7 +281,6 @@ class AFCProtocolClient extends _abstractProtocol.ProtocolClient {
265
281
  });
266
282
  }
267
283
  }
268
- exports.AFCProtocolClient = AFCProtocolClient;
269
284
  class AFCProtocolReader extends _abstractProtocol.ProtocolReader {
270
285
  constructor(callback){
271
286
  super(AFC_HEADER_SIZE, callback);
@@ -307,7 +322,6 @@ class AFCProtocolReader extends _abstractProtocol.ProtocolReader {
307
322
  return body;
308
323
  }
309
324
  }
310
- exports.AFCProtocolReader = AFCProtocolReader;
311
325
  class AFCProtocolWriter {
312
326
  write(socket, msg) {
313
327
  const { data , payload , operation , requestId } = msg;
@@ -333,6 +347,5 @@ class AFCProtocolWriter {
333
347
  }
334
348
  }
335
349
  }
336
- exports.AFCProtocolWriter = AFCProtocolWriter;
337
350
 
338
351
  //# sourceMappingURL=AFCProtocol.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/run/ios/appleDevice/protocol/AFCProtocol.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 type { ProtocolReaderCallback, ProtocolWriter } from './AbstractProtocol';\nimport { ProtocolClient, ProtocolReader, ProtocolReaderFactory } from './AbstractProtocol';\nimport { CommandError } from '../../../../utils/errors';\n\nconst debug = Debug('expo:apple-device:protocol:afc');\n\nexport const AFC_MAGIC = 'CFA6LPAA';\nexport const AFC_HEADER_SIZE = 40;\n\nexport interface AFCHeader {\n magic: typeof AFC_MAGIC;\n totalLength: number;\n headerLength: number;\n requestId: number;\n operation: AFC_OPS;\n}\n\nexport interface AFCMessage {\n operation: AFC_OPS;\n data?: any;\n payload?: any;\n}\n\nexport interface AFCResponse {\n operation: AFC_OPS;\n id: number;\n data: Buffer;\n}\n\nexport interface AFCStatusResponse {\n operation: AFC_OPS.STATUS;\n id: number;\n data: number;\n}\n\n/**\n * AFC Operations\n */\nexport enum AFC_OPS {\n /**\n * Invalid\n */\n INVALID = 0x00000000,\n\n /**\n * Status\n */\n STATUS = 0x00000001,\n\n /**\n * Data\n */\n DATA = 0x00000002,\n\n /**\n * ReadDir\n */\n READ_DIR = 0x00000003,\n\n /**\n * ReadFile\n */\n READ_FILE = 0x00000004,\n\n /**\n * WriteFile\n */\n WRITE_FILE = 0x00000005,\n\n /**\n * WritePart\n */\n WRITE_PART = 0x00000006,\n\n /**\n * TruncateFile\n */\n TRUNCATE = 0x00000007,\n\n /**\n * RemovePath\n */\n REMOVE_PATH = 0x00000008,\n\n /**\n * MakeDir\n */\n MAKE_DIR = 0x00000009,\n\n /**\n * GetFileInfo\n */\n GET_FILE_INFO = 0x0000000a,\n\n /**\n * GetDeviceInfo\n */\n GET_DEVINFO = 0x0000000b,\n\n /**\n * WriteFileAtomic (tmp file+rename)\n */\n WRITE_FILE_ATOM = 0x0000000c,\n\n /**\n * FileRefOpen\n */\n FILE_OPEN = 0x0000000d,\n\n /**\n * FileRefOpenResult\n */\n FILE_OPEN_RES = 0x0000000e,\n\n /**\n * FileRefRead\n */\n FILE_READ = 0x0000000f,\n\n /**\n * FileRefWrite\n */\n FILE_WRITE = 0x00000010,\n\n /**\n * FileRefSeek\n */\n FILE_SEEK = 0x00000011,\n\n /**\n * FileRefTell\n */\n FILE_TELL = 0x00000012,\n\n /**\n * FileRefTellResult\n */\n FILE_TELL_RES = 0x00000013,\n\n /**\n * FileRefClose\n */\n FILE_CLOSE = 0x00000014,\n\n /**\n * FileRefSetFileSize (ftruncate)\n */\n FILE_SET_SIZE = 0x00000015,\n\n /**\n * GetConnectionInfo\n */\n GET_CON_INFO = 0x00000016,\n\n /**\n * SetConnectionOptions\n */\n SET_CON_OPTIONS = 0x00000017,\n\n /**\n * RenamePath\n */\n RENAME_PATH = 0x00000018,\n\n /**\n * SetFSBlockSize (0x800000)\n */\n SET_FS_BS = 0x00000019,\n\n /**\n * SetSocketBlockSize (0x800000)\n */\n SET_SOCKET_BS = 0x0000001a,\n\n /**\n * FileRefLock\n */\n FILE_LOCK = 0x0000001b,\n\n /**\n * MakeLink\n */\n MAKE_LINK = 0x0000001c,\n\n /**\n * GetFileHash\n */\n GET_FILE_HASH = 0x0000001d,\n\n /**\n * SetModTime\n */\n SET_FILE_MOD_TIME = 0x0000001e,\n\n /**\n * GetFileHashWithRange\n */\n GET_FILE_HASH_RANGE = 0x0000001f,\n\n // iOS 6+\n\n /**\n * FileRefSetImmutableHint\n */\n FILE_SET_IMMUTABLE_HINT = 0x00000020,\n\n /**\n * GetSizeOfPathContents\n */\n GET_SIZE_OF_PATH_CONTENTS = 0x00000021,\n\n /**\n * RemovePathAndContents\n */\n REMOVE_PATH_AND_CONTENTS = 0x00000022,\n\n /**\n * DirectoryEnumeratorRefOpen\n */\n DIR_OPEN = 0x00000023,\n\n /**\n * DirectoryEnumeratorRefOpenResult\n */\n DIR_OPEN_RESULT = 0x00000024,\n\n /**\n * DirectoryEnumeratorRefRead\n */\n DIR_READ = 0x00000025,\n\n /**\n * DirectoryEnumeratorRefClose\n */\n DIR_CLOSE = 0x00000026,\n\n // iOS 7+\n\n /**\n * FileRefReadWithOffset\n */\n FILE_READ_OFFSET = 0x00000027,\n\n /**\n * FileRefWriteWithOffset\n */\n FILE_WRITE_OFFSET = 0x00000028,\n}\n\n/**\n * Error Codes\n */\nexport enum AFC_STATUS {\n SUCCESS = 0,\n UNKNOWN_ERROR = 1,\n OP_HEADER_INVALID = 2,\n NO_RESOURCES = 3,\n READ_ERROR = 4,\n WRITE_ERROR = 5,\n UNKNOWN_PACKET_TYPE = 6,\n INVALID_ARG = 7,\n OBJECT_NOT_FOUND = 8,\n OBJECT_IS_DIR = 9,\n PERM_DENIED = 10,\n SERVICE_NOT_CONNECTED = 11,\n OP_TIMEOUT = 12,\n TOO_MUCH_DATA = 13,\n END_OF_DATA = 14,\n OP_NOT_SUPPORTED = 15,\n OBJECT_EXISTS = 16,\n OBJECT_BUSY = 17,\n NO_SPACE_LEFT = 18,\n OP_WOULD_BLOCK = 19,\n IO_ERROR = 20,\n OP_INTERRUPTED = 21,\n OP_IN_PROGRESS = 22,\n INTERNAL_ERROR = 23,\n MUX_ERROR = 30,\n NO_MEM = 31,\n NOT_ENOUGH_DATA = 32,\n DIR_NOT_EMPTY = 33,\n FORCE_SIGNED_TYPE = -1,\n}\n\nexport enum AFC_FILE_OPEN_FLAGS {\n /**\n * r (O_RDONLY)\n */\n RDONLY = 0x00000001,\n\n /**\n * r+ (O_RDWR | O_CREAT)\n */\n RW = 0x00000002,\n\n /**\n * w (O_WRONLY | O_CREAT | O_TRUNC)\n */\n WRONLY = 0x00000003,\n\n /**\n * w+ (O_RDWR | O_CREAT | O_TRUNC)\n */\n WR = 0x00000004,\n\n /**\n * a (O_WRONLY | O_APPEND | O_CREAT)\n */\n APPEND = 0x00000005,\n\n /**\n * a+ (O_RDWR | O_APPEND | O_CREAT)\n */\n RDAPPEND = 0x00000006,\n}\n\nfunction isAFCResponse(resp: any): resp is AFCResponse {\n return AFC_OPS[resp.operation] !== undefined && resp.id !== undefined && resp.data !== undefined;\n}\n\nfunction isStatusResponse(resp: any): resp is AFCStatusResponse {\n return isAFCResponse(resp) && resp.operation === AFC_OPS.STATUS;\n}\n\nfunction isErrorStatusResponse(resp: AFCResponse): boolean {\n return isStatusResponse(resp) && resp.data !== AFC_STATUS.SUCCESS;\n}\n\nclass AFCInternalError extends Error {\n constructor(\n msg: string,\n public requestId: number\n ) {\n super(msg);\n }\n}\n\nexport class AFCError extends Error {\n constructor(\n msg: string,\n public status: AFC_STATUS\n ) {\n super(msg);\n }\n}\n\nexport class AFCProtocolClient extends ProtocolClient {\n private requestId = 0;\n private requestCallbacks: { [key: number]: ProtocolReaderCallback } = {};\n\n constructor(socket: Socket) {\n super(socket, new ProtocolReaderFactory(AFCProtocolReader), new AFCProtocolWriter());\n\n const reader = this.readerFactory.create((resp, err) => {\n if (err && err instanceof AFCInternalError) {\n this.requestCallbacks[err.requestId](resp, err);\n } else if (isErrorStatusResponse(resp)) {\n this.requestCallbacks[resp.id](resp, new AFCError(AFC_STATUS[resp.data], resp.data));\n } else {\n this.requestCallbacks[resp.id](resp);\n }\n });\n socket.on('data', reader.onData);\n }\n\n sendMessage(msg: AFCMessage): Promise<AFCResponse> {\n return new Promise<AFCResponse>((resolve, reject) => {\n const requestId = this.requestId++;\n this.requestCallbacks[requestId] = async (resp: any, err?: Error) => {\n if (err) {\n reject(err);\n return;\n }\n if (isAFCResponse(resp)) {\n resolve(resp);\n } else {\n reject(new CommandError('APPLE_DEVICE_AFC', 'Malformed AFC response'));\n }\n };\n this.writer.write(this.socket, { ...msg, requestId });\n });\n }\n}\n\nexport class AFCProtocolReader extends ProtocolReader {\n private header!: AFCHeader; // TODO: ! -> ?\n\n constructor(callback: ProtocolReaderCallback) {\n super(AFC_HEADER_SIZE, callback);\n }\n\n parseHeader(data: Buffer) {\n const magic = data.slice(0, 8).toString('ascii');\n if (magic !== AFC_MAGIC) {\n throw new AFCInternalError(\n `Invalid AFC packet received (magic != ${AFC_MAGIC})`,\n data.readUInt32LE(24)\n );\n }\n // technically these are uint64\n this.header = {\n magic,\n totalLength: data.readUInt32LE(8),\n headerLength: data.readUInt32LE(16),\n requestId: data.readUInt32LE(24),\n operation: data.readUInt32LE(32),\n };\n\n debug(`parse header: ${JSON.stringify(this.header)}`);\n if (this.header.headerLength < AFC_HEADER_SIZE) {\n throw new AFCInternalError('Invalid AFC header', this.header.requestId);\n }\n return this.header.totalLength - AFC_HEADER_SIZE;\n }\n\n parseBody(data: Buffer): AFCResponse | AFCStatusResponse {\n const body: any = {\n operation: this.header.operation,\n id: this.header.requestId,\n data,\n };\n if (isStatusResponse(body)) {\n const status = data.readUInt32LE(0);\n debug(`${AFC_OPS[this.header.operation]} response: ${AFC_STATUS[status]}`);\n body.data = status;\n } else if (data.length <= 8) {\n debug(`${AFC_OPS[this.header.operation]} response: ${Array.prototype.toString.call(body)}`);\n } else {\n debug(`${AFC_OPS[this.header.operation]} response length: ${data.length} bytes`);\n }\n return body;\n }\n}\n\nexport class AFCProtocolWriter implements ProtocolWriter {\n write(socket: Socket, msg: AFCMessage & { requestId: number }) {\n const { data, payload, operation, requestId } = msg;\n\n const dataLength = data ? data.length : 0;\n const payloadLength = payload ? payload.length : 0;\n\n const header = Buffer.alloc(AFC_HEADER_SIZE);\n const magic = Buffer.from(AFC_MAGIC);\n magic.copy(header);\n header.writeUInt32LE(AFC_HEADER_SIZE + dataLength + payloadLength, 8);\n header.writeUInt32LE(AFC_HEADER_SIZE + dataLength, 16);\n header.writeUInt32LE(requestId, 24);\n header.writeUInt32LE(operation, 32);\n socket.write(header);\n socket.write(data);\n if (data.length <= 8) {\n debug(\n `socket write, header: { requestId: ${requestId}, operation: ${\n AFC_OPS[operation]\n }}, body: ${Array.prototype.toString.call(data)}`\n );\n } else {\n debug(\n `socket write, header: { requestId: ${requestId}, operation: ${AFC_OPS[operation]}}, body: ${data.length} bytes`\n );\n }\n\n debug(`socket write, bytes written ${header.length} (header), ${data.length} (body)`);\n if (payload) {\n socket.write(payload);\n }\n }\n}\n"],"names":["debug","Debug","AFC_MAGIC","AFC_HEADER_SIZE","AFC_OPS","INVALID","STATUS","DATA","READ_DIR","READ_FILE","WRITE_FILE","WRITE_PART","TRUNCATE","REMOVE_PATH","MAKE_DIR","GET_FILE_INFO","GET_DEVINFO","WRITE_FILE_ATOM","FILE_OPEN","FILE_OPEN_RES","FILE_READ","FILE_WRITE","FILE_SEEK","FILE_TELL","FILE_TELL_RES","FILE_CLOSE","FILE_SET_SIZE","GET_CON_INFO","SET_CON_OPTIONS","RENAME_PATH","SET_FS_BS","SET_SOCKET_BS","FILE_LOCK","MAKE_LINK","GET_FILE_HASH","SET_FILE_MOD_TIME","GET_FILE_HASH_RANGE","FILE_SET_IMMUTABLE_HINT","GET_SIZE_OF_PATH_CONTENTS","REMOVE_PATH_AND_CONTENTS","DIR_OPEN","DIR_OPEN_RESULT","DIR_READ","DIR_CLOSE","FILE_READ_OFFSET","FILE_WRITE_OFFSET","AFC_STATUS","SUCCESS","UNKNOWN_ERROR","OP_HEADER_INVALID","NO_RESOURCES","READ_ERROR","WRITE_ERROR","UNKNOWN_PACKET_TYPE","INVALID_ARG","OBJECT_NOT_FOUND","OBJECT_IS_DIR","PERM_DENIED","SERVICE_NOT_CONNECTED","OP_TIMEOUT","TOO_MUCH_DATA","END_OF_DATA","OP_NOT_SUPPORTED","OBJECT_EXISTS","OBJECT_BUSY","NO_SPACE_LEFT","OP_WOULD_BLOCK","IO_ERROR","OP_INTERRUPTED","OP_IN_PROGRESS","INTERNAL_ERROR","MUX_ERROR","NO_MEM","NOT_ENOUGH_DATA","DIR_NOT_EMPTY","FORCE_SIGNED_TYPE","AFC_FILE_OPEN_FLAGS","RDONLY","RW","WRONLY","WR","APPEND","RDAPPEND","isAFCResponse","resp","operation","undefined","id","data","isStatusResponse","isErrorStatusResponse","AFCInternalError","Error","constructor","msg","requestId","AFCError","status","AFCProtocolClient","ProtocolClient","requestCallbacks","socket","ProtocolReaderFactory","AFCProtocolReader","AFCProtocolWriter","reader","readerFactory","create","err","on","onData","sendMessage","Promise","resolve","reject","CommandError","writer","write","ProtocolReader","callback","parseHeader","magic","slice","toString","readUInt32LE","header","totalLength","headerLength","JSON","stringify","parseBody","body","length","Array","prototype","call","payload","dataLength","payloadLength","Buffer","alloc","from","copy","writeUInt32LE"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../src/run/ios/appleDevice/protocol/AFCProtocol.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 type { ProtocolReaderCallback, ProtocolWriter } from './AbstractProtocol';\nimport { ProtocolClient, ProtocolReader, ProtocolReaderFactory } from './AbstractProtocol';\nimport { CommandError } from '../../../../utils/errors';\n\nconst debug = Debug('expo:apple-device:protocol:afc');\n\nexport const AFC_MAGIC = 'CFA6LPAA';\nexport const AFC_HEADER_SIZE = 40;\n\nexport interface AFCHeader {\n magic: typeof AFC_MAGIC;\n totalLength: number;\n headerLength: number;\n requestId: number;\n operation: AFC_OPS;\n}\n\nexport interface AFCMessage {\n operation: AFC_OPS;\n data?: any;\n payload?: any;\n}\n\nexport interface AFCResponse {\n operation: AFC_OPS;\n id: number;\n data: Buffer;\n}\n\nexport interface AFCStatusResponse {\n operation: AFC_OPS.STATUS;\n id: number;\n data: number;\n}\n\n/**\n * AFC Operations\n */\nexport enum AFC_OPS {\n /**\n * Invalid\n */\n INVALID = 0x00000000,\n\n /**\n * Status\n */\n STATUS = 0x00000001,\n\n /**\n * Data\n */\n DATA = 0x00000002,\n\n /**\n * ReadDir\n */\n READ_DIR = 0x00000003,\n\n /**\n * ReadFile\n */\n READ_FILE = 0x00000004,\n\n /**\n * WriteFile\n */\n WRITE_FILE = 0x00000005,\n\n /**\n * WritePart\n */\n WRITE_PART = 0x00000006,\n\n /**\n * TruncateFile\n */\n TRUNCATE = 0x00000007,\n\n /**\n * RemovePath\n */\n REMOVE_PATH = 0x00000008,\n\n /**\n * MakeDir\n */\n MAKE_DIR = 0x00000009,\n\n /**\n * GetFileInfo\n */\n GET_FILE_INFO = 0x0000000a,\n\n /**\n * GetDeviceInfo\n */\n GET_DEVINFO = 0x0000000b,\n\n /**\n * WriteFileAtomic (tmp file+rename)\n */\n WRITE_FILE_ATOM = 0x0000000c,\n\n /**\n * FileRefOpen\n */\n FILE_OPEN = 0x0000000d,\n\n /**\n * FileRefOpenResult\n */\n FILE_OPEN_RES = 0x0000000e,\n\n /**\n * FileRefRead\n */\n FILE_READ = 0x0000000f,\n\n /**\n * FileRefWrite\n */\n FILE_WRITE = 0x00000010,\n\n /**\n * FileRefSeek\n */\n FILE_SEEK = 0x00000011,\n\n /**\n * FileRefTell\n */\n FILE_TELL = 0x00000012,\n\n /**\n * FileRefTellResult\n */\n FILE_TELL_RES = 0x00000013,\n\n /**\n * FileRefClose\n */\n FILE_CLOSE = 0x00000014,\n\n /**\n * FileRefSetFileSize (ftruncate)\n */\n FILE_SET_SIZE = 0x00000015,\n\n /**\n * GetConnectionInfo\n */\n GET_CON_INFO = 0x00000016,\n\n /**\n * SetConnectionOptions\n */\n SET_CON_OPTIONS = 0x00000017,\n\n /**\n * RenamePath\n */\n RENAME_PATH = 0x00000018,\n\n /**\n * SetFSBlockSize (0x800000)\n */\n SET_FS_BS = 0x00000019,\n\n /**\n * SetSocketBlockSize (0x800000)\n */\n SET_SOCKET_BS = 0x0000001a,\n\n /**\n * FileRefLock\n */\n FILE_LOCK = 0x0000001b,\n\n /**\n * MakeLink\n */\n MAKE_LINK = 0x0000001c,\n\n /**\n * GetFileHash\n */\n GET_FILE_HASH = 0x0000001d,\n\n /**\n * SetModTime\n */\n SET_FILE_MOD_TIME = 0x0000001e,\n\n /**\n * GetFileHashWithRange\n */\n GET_FILE_HASH_RANGE = 0x0000001f,\n\n // iOS 6+\n\n /**\n * FileRefSetImmutableHint\n */\n FILE_SET_IMMUTABLE_HINT = 0x00000020,\n\n /**\n * GetSizeOfPathContents\n */\n GET_SIZE_OF_PATH_CONTENTS = 0x00000021,\n\n /**\n * RemovePathAndContents\n */\n REMOVE_PATH_AND_CONTENTS = 0x00000022,\n\n /**\n * DirectoryEnumeratorRefOpen\n */\n DIR_OPEN = 0x00000023,\n\n /**\n * DirectoryEnumeratorRefOpenResult\n */\n DIR_OPEN_RESULT = 0x00000024,\n\n /**\n * DirectoryEnumeratorRefRead\n */\n DIR_READ = 0x00000025,\n\n /**\n * DirectoryEnumeratorRefClose\n */\n DIR_CLOSE = 0x00000026,\n\n // iOS 7+\n\n /**\n * FileRefReadWithOffset\n */\n FILE_READ_OFFSET = 0x00000027,\n\n /**\n * FileRefWriteWithOffset\n */\n FILE_WRITE_OFFSET = 0x00000028,\n}\n\n/**\n * Error Codes\n */\nexport enum AFC_STATUS {\n SUCCESS = 0,\n UNKNOWN_ERROR = 1,\n OP_HEADER_INVALID = 2,\n NO_RESOURCES = 3,\n READ_ERROR = 4,\n WRITE_ERROR = 5,\n UNKNOWN_PACKET_TYPE = 6,\n INVALID_ARG = 7,\n OBJECT_NOT_FOUND = 8,\n OBJECT_IS_DIR = 9,\n PERM_DENIED = 10,\n SERVICE_NOT_CONNECTED = 11,\n OP_TIMEOUT = 12,\n TOO_MUCH_DATA = 13,\n END_OF_DATA = 14,\n OP_NOT_SUPPORTED = 15,\n OBJECT_EXISTS = 16,\n OBJECT_BUSY = 17,\n NO_SPACE_LEFT = 18,\n OP_WOULD_BLOCK = 19,\n IO_ERROR = 20,\n OP_INTERRUPTED = 21,\n OP_IN_PROGRESS = 22,\n INTERNAL_ERROR = 23,\n MUX_ERROR = 30,\n NO_MEM = 31,\n NOT_ENOUGH_DATA = 32,\n DIR_NOT_EMPTY = 33,\n FORCE_SIGNED_TYPE = -1,\n}\n\nexport enum AFC_FILE_OPEN_FLAGS {\n /**\n * r (O_RDONLY)\n */\n RDONLY = 0x00000001,\n\n /**\n * r+ (O_RDWR | O_CREAT)\n */\n RW = 0x00000002,\n\n /**\n * w (O_WRONLY | O_CREAT | O_TRUNC)\n */\n WRONLY = 0x00000003,\n\n /**\n * w+ (O_RDWR | O_CREAT | O_TRUNC)\n */\n WR = 0x00000004,\n\n /**\n * a (O_WRONLY | O_APPEND | O_CREAT)\n */\n APPEND = 0x00000005,\n\n /**\n * a+ (O_RDWR | O_APPEND | O_CREAT)\n */\n RDAPPEND = 0x00000006,\n}\n\nfunction isAFCResponse(resp: any): resp is AFCResponse {\n return AFC_OPS[resp.operation] !== undefined && resp.id !== undefined && resp.data !== undefined;\n}\n\nfunction isStatusResponse(resp: any): resp is AFCStatusResponse {\n return isAFCResponse(resp) && resp.operation === AFC_OPS.STATUS;\n}\n\nfunction isErrorStatusResponse(resp: AFCResponse): boolean {\n return isStatusResponse(resp) && resp.data !== AFC_STATUS.SUCCESS;\n}\n\nclass AFCInternalError extends Error {\n constructor(\n msg: string,\n public requestId: number\n ) {\n super(msg);\n }\n}\n\nexport class AFCError extends Error {\n constructor(\n msg: string,\n public status: AFC_STATUS\n ) {\n super(msg);\n }\n}\n\nexport class AFCProtocolClient extends ProtocolClient {\n private requestId = 0;\n private requestCallbacks: { [key: number]: ProtocolReaderCallback } = {};\n\n constructor(socket: Socket) {\n super(socket, new ProtocolReaderFactory(AFCProtocolReader), new AFCProtocolWriter());\n\n const reader = this.readerFactory.create((resp, err) => {\n if (err && err instanceof AFCInternalError) {\n this.requestCallbacks[err.requestId](resp, err);\n } else if (isErrorStatusResponse(resp)) {\n this.requestCallbacks[resp.id](resp, new AFCError(AFC_STATUS[resp.data], resp.data));\n } else {\n this.requestCallbacks[resp.id](resp);\n }\n });\n socket.on('data', reader.onData);\n }\n\n sendMessage(msg: AFCMessage): Promise<AFCResponse> {\n return new Promise<AFCResponse>((resolve, reject) => {\n const requestId = this.requestId++;\n this.requestCallbacks[requestId] = async (resp: any, err?: Error) => {\n if (err) {\n reject(err);\n return;\n }\n if (isAFCResponse(resp)) {\n resolve(resp);\n } else {\n reject(new CommandError('APPLE_DEVICE_AFC', 'Malformed AFC response'));\n }\n };\n this.writer.write(this.socket, { ...msg, requestId });\n });\n }\n}\n\nexport class AFCProtocolReader extends ProtocolReader {\n private header!: AFCHeader; // TODO: ! -> ?\n\n constructor(callback: ProtocolReaderCallback) {\n super(AFC_HEADER_SIZE, callback);\n }\n\n parseHeader(data: Buffer) {\n const magic = data.slice(0, 8).toString('ascii');\n if (magic !== AFC_MAGIC) {\n throw new AFCInternalError(\n `Invalid AFC packet received (magic != ${AFC_MAGIC})`,\n data.readUInt32LE(24)\n );\n }\n // technically these are uint64\n this.header = {\n magic,\n totalLength: data.readUInt32LE(8),\n headerLength: data.readUInt32LE(16),\n requestId: data.readUInt32LE(24),\n operation: data.readUInt32LE(32),\n };\n\n debug(`parse header: ${JSON.stringify(this.header)}`);\n if (this.header.headerLength < AFC_HEADER_SIZE) {\n throw new AFCInternalError('Invalid AFC header', this.header.requestId);\n }\n return this.header.totalLength - AFC_HEADER_SIZE;\n }\n\n parseBody(data: Buffer): AFCResponse | AFCStatusResponse {\n const body: any = {\n operation: this.header.operation,\n id: this.header.requestId,\n data,\n };\n if (isStatusResponse(body)) {\n const status = data.readUInt32LE(0);\n debug(`${AFC_OPS[this.header.operation]} response: ${AFC_STATUS[status]}`);\n body.data = status;\n } else if (data.length <= 8) {\n debug(`${AFC_OPS[this.header.operation]} response: ${Array.prototype.toString.call(body)}`);\n } else {\n debug(`${AFC_OPS[this.header.operation]} response length: ${data.length} bytes`);\n }\n return body;\n }\n}\n\nexport class AFCProtocolWriter implements ProtocolWriter {\n write(socket: Socket, msg: AFCMessage & { requestId: number }) {\n const { data, payload, operation, requestId } = msg;\n\n const dataLength = data ? data.length : 0;\n const payloadLength = payload ? payload.length : 0;\n\n const header = Buffer.alloc(AFC_HEADER_SIZE);\n const magic = Buffer.from(AFC_MAGIC);\n magic.copy(header);\n header.writeUInt32LE(AFC_HEADER_SIZE + dataLength + payloadLength, 8);\n header.writeUInt32LE(AFC_HEADER_SIZE + dataLength, 16);\n header.writeUInt32LE(requestId, 24);\n header.writeUInt32LE(operation, 32);\n socket.write(header);\n socket.write(data);\n if (data.length <= 8) {\n debug(\n `socket write, header: { requestId: ${requestId}, operation: ${\n AFC_OPS[operation]\n }}, body: ${Array.prototype.toString.call(data)}`\n );\n } else {\n debug(\n `socket write, header: { requestId: ${requestId}, operation: ${AFC_OPS[operation]}}, body: ${data.length} bytes`\n );\n }\n\n debug(`socket write, bytes written ${header.length} (header), ${data.length} (body)`);\n if (payload) {\n socket.write(payload);\n }\n }\n}\n"],"names":["AFC_MAGIC","AFC_HEADER_SIZE","AFCError","AFCProtocolClient","AFCProtocolReader","AFCProtocolWriter","debug","Debug","AFC_OPS","INVALID","STATUS","DATA","READ_DIR","READ_FILE","WRITE_FILE","WRITE_PART","TRUNCATE","REMOVE_PATH","MAKE_DIR","GET_FILE_INFO","GET_DEVINFO","WRITE_FILE_ATOM","FILE_OPEN","FILE_OPEN_RES","FILE_READ","FILE_WRITE","FILE_SEEK","FILE_TELL","FILE_TELL_RES","FILE_CLOSE","FILE_SET_SIZE","GET_CON_INFO","SET_CON_OPTIONS","RENAME_PATH","SET_FS_BS","SET_SOCKET_BS","FILE_LOCK","MAKE_LINK","GET_FILE_HASH","SET_FILE_MOD_TIME","GET_FILE_HASH_RANGE","FILE_SET_IMMUTABLE_HINT","GET_SIZE_OF_PATH_CONTENTS","REMOVE_PATH_AND_CONTENTS","DIR_OPEN","DIR_OPEN_RESULT","DIR_READ","DIR_CLOSE","FILE_READ_OFFSET","FILE_WRITE_OFFSET","AFC_STATUS","SUCCESS","UNKNOWN_ERROR","OP_HEADER_INVALID","NO_RESOURCES","READ_ERROR","WRITE_ERROR","UNKNOWN_PACKET_TYPE","INVALID_ARG","OBJECT_NOT_FOUND","OBJECT_IS_DIR","PERM_DENIED","SERVICE_NOT_CONNECTED","OP_TIMEOUT","TOO_MUCH_DATA","END_OF_DATA","OP_NOT_SUPPORTED","OBJECT_EXISTS","OBJECT_BUSY","NO_SPACE_LEFT","OP_WOULD_BLOCK","IO_ERROR","OP_INTERRUPTED","OP_IN_PROGRESS","INTERNAL_ERROR","MUX_ERROR","NO_MEM","NOT_ENOUGH_DATA","DIR_NOT_EMPTY","FORCE_SIGNED_TYPE","AFC_FILE_OPEN_FLAGS","RDONLY","RW","WRONLY","WR","APPEND","RDAPPEND","isAFCResponse","resp","operation","undefined","id","data","isStatusResponse","isErrorStatusResponse","AFCInternalError","Error","constructor","msg","requestId","status","ProtocolClient","requestCallbacks","socket","ProtocolReaderFactory","reader","readerFactory","create","err","on","onData","sendMessage","Promise","resolve","reject","CommandError","writer","write","ProtocolReader","callback","parseHeader","magic","slice","toString","readUInt32LE","header","totalLength","headerLength","JSON","stringify","parseBody","body","length","Array","prototype","call","payload","dataLength","payloadLength","Buffer","alloc","from","copy","writeUInt32LE"],"mappings":"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"}