@expo/cli 0.22.25 → 0.22.26

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 (722) hide show
  1. package/build/bin/cli +91 -93
  2. package/build/bin/cli.map +1 -1
  3. package/build/metro-require/require.js +52 -53
  4. package/build/src/api/endpoint.js +2 -6
  5. package/build/src/api/endpoint.js.map +1 -1
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +3 -5
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  8. package/build/src/api/getExpoSchema.js +12 -16
  9. package/build/src/api/getExpoSchema.js.map +1 -1
  10. package/build/src/api/getNativeModuleVersions.js +4 -6
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  12. package/build/src/api/getProjectDevelopmentCertificate.js +3 -5
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  14. package/build/src/api/getVersions.js +5 -7
  15. package/build/src/api/getVersions.js.map +1 -1
  16. package/build/src/api/graphql/client.js +26 -32
  17. package/build/src/api/graphql/client.js.map +1 -1
  18. package/build/src/api/graphql/queries/AppQuery.js +4 -6
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  20. package/build/src/api/graphql/queries/UserQuery.js +3 -5
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  22. package/build/src/api/graphql/types/App.js +1 -3
  23. package/build/src/api/graphql/types/App.js.map +1 -1
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +8 -10
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
  26. package/build/src/api/rest/cache/ResponseCache.js +12 -20
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +11 -13
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  30. package/build/src/api/rest/client.js +35 -53
  31. package/build/src/api/rest/client.js.map +1 -1
  32. package/build/src/api/rest/client.types.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithBaseUrl.js +3 -5
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithOffline.js +3 -5
  36. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProgress.js +7 -11
  38. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  39. package/build/src/api/rest/wrapFetchWithProxy.js +3 -5
  40. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js +6 -8
  42. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
  43. package/build/src/api/settings.js +5 -7
  44. package/build/src/api/settings.js.map +1 -1
  45. package/build/src/api/updateDevelopmentSession.js +17 -23
  46. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  47. package/build/src/api/user/UserSettings.js +21 -39
  48. package/build/src/api/user/UserSettings.js.map +1 -1
  49. package/build/src/api/user/actions.js +21 -27
  50. package/build/src/api/user/actions.js.map +1 -1
  51. package/build/src/api/user/expoSsoLauncher.js +26 -30
  52. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  53. package/build/src/api/user/otp.js +29 -35
  54. package/build/src/api/user/otp.js.map +1 -1
  55. package/build/src/api/user/user.js +30 -44
  56. package/build/src/api/user/user.js.map +1 -1
  57. package/build/src/config/configAsync.js +23 -29
  58. package/build/src/config/configAsync.js.map +1 -1
  59. package/build/src/config/index.js +21 -25
  60. package/build/src/config/index.js.map +1 -1
  61. package/build/src/customize/customizeAsync.js +6 -8
  62. package/build/src/customize/customizeAsync.js.map +1 -1
  63. package/build/src/customize/generate.js +16 -20
  64. package/build/src/customize/generate.js.map +1 -1
  65. package/build/src/customize/index.js +12 -14
  66. package/build/src/customize/index.js.map +1 -1
  67. package/build/src/customize/resolveOptions.js +2 -4
  68. package/build/src/customize/resolveOptions.js.map +1 -1
  69. package/build/src/customize/templates.js +54 -58
  70. package/build/src/customize/templates.js.map +1 -1
  71. package/build/src/customize/typescript.js +7 -11
  72. package/build/src/customize/typescript.js.map +1 -1
  73. package/build/src/export/createMetadataJson.js +9 -11
  74. package/build/src/export/createMetadataJson.js.map +1 -1
  75. package/build/src/export/embed/exportEager.js +6 -8
  76. package/build/src/export/embed/exportEager.js.map +1 -1
  77. package/build/src/export/embed/exportEmbedAsync.js +61 -71
  78. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  79. package/build/src/export/embed/exportServer.js +55 -57
  80. package/build/src/export/embed/exportServer.js.map +1 -1
  81. package/build/src/export/embed/index.js +40 -44
  82. package/build/src/export/embed/index.js.map +1 -1
  83. package/build/src/export/embed/resolveOptions.js +36 -44
  84. package/build/src/export/embed/resolveOptions.js.map +1 -1
  85. package/build/src/export/embed/xcodeCompilerLogger.js +27 -39
  86. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  87. package/build/src/export/exportApp.js +63 -67
  88. package/build/src/export/exportApp.js.map +1 -1
  89. package/build/src/export/exportAssets.js +27 -35
  90. package/build/src/export/exportAssets.js.map +1 -1
  91. package/build/src/export/exportAsync.js +9 -13
  92. package/build/src/export/exportAsync.js.map +1 -1
  93. package/build/src/export/exportDomComponents.js +45 -53
  94. package/build/src/export/exportDomComponents.js.map +1 -1
  95. package/build/src/export/exportHermes.js +63 -85
  96. package/build/src/export/exportHermes.js.map +1 -1
  97. package/build/src/export/exportStaticAsync.js +62 -72
  98. package/build/src/export/exportStaticAsync.js.map +1 -1
  99. package/build/src/export/favicon.js +27 -33
  100. package/build/src/export/favicon.js.map +1 -1
  101. package/build/src/export/getPublicExpoManifest.js +5 -7
  102. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  103. package/build/src/export/getResolvedLocales.js +9 -11
  104. package/build/src/export/getResolvedLocales.js.map +1 -1
  105. package/build/src/export/html.js +6 -10
  106. package/build/src/export/html.js.map +1 -1
  107. package/build/src/export/index.js +28 -32
  108. package/build/src/export/index.js.map +1 -1
  109. package/build/src/export/metroAssetLocalPath.js +30 -36
  110. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  111. package/build/src/export/persistMetroAssets.js +34 -42
  112. package/build/src/export/persistMetroAssets.js.map +1 -1
  113. package/build/src/export/publicFolder.js +6 -10
  114. package/build/src/export/publicFolder.js.map +1 -1
  115. package/build/src/export/resolveOptions.js +24 -28
  116. package/build/src/export/resolveOptions.js.map +1 -1
  117. package/build/src/export/saveAssets.js +46 -50
  118. package/build/src/export/saveAssets.js.map +1 -1
  119. package/build/src/export/web/exportWebAsync.js +11 -13
  120. package/build/src/export/web/exportWebAsync.js.map +1 -1
  121. package/build/src/export/web/index.js +15 -19
  122. package/build/src/export/web/index.js.map +1 -1
  123. package/build/src/export/web/resolveOptions.js +3 -5
  124. package/build/src/export/web/resolveOptions.js.map +1 -1
  125. package/build/src/export/writeContents.js +2 -4
  126. package/build/src/export/writeContents.js.map +1 -1
  127. package/build/src/graphql/generated.js +274 -400
  128. package/build/src/graphql/generated.js.map +1 -1
  129. package/build/src/install/applyPlugins.js +7 -11
  130. package/build/src/install/applyPlugins.js.map +1 -1
  131. package/build/src/install/checkPackages.js +22 -26
  132. package/build/src/install/checkPackages.js.map +1 -1
  133. package/build/src/install/fixPackages.js +12 -16
  134. package/build/src/install/fixPackages.js.map +1 -1
  135. package/build/src/install/index.js +16 -18
  136. package/build/src/install/index.js.map +1 -1
  137. package/build/src/install/installAsync.js +26 -32
  138. package/build/src/install/installAsync.js.map +1 -1
  139. package/build/src/install/installExpoPackage.js +18 -22
  140. package/build/src/install/installExpoPackage.js.map +1 -1
  141. package/build/src/install/resolveOptions.js +19 -21
  142. package/build/src/install/resolveOptions.js.map +1 -1
  143. package/build/src/install/utils/autoAddConfigPlugins.js +14 -18
  144. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  145. package/build/src/install/utils/checkPackagesCompatibility.js +11 -13
  146. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
  147. package/build/src/lint/ESlintPrerequisite.js +44 -50
  148. package/build/src/lint/ESlintPrerequisite.js.map +1 -1
  149. package/build/src/lint/index.js +8 -12
  150. package/build/src/lint/index.js.map +1 -1
  151. package/build/src/lint/lintAsync.js +8 -10
  152. package/build/src/lint/lintAsync.js.map +1 -1
  153. package/build/src/log.js +16 -36
  154. package/build/src/log.js.map +1 -1
  155. package/build/src/login/index.js +20 -24
  156. package/build/src/login/index.js.map +1 -1
  157. package/build/src/logout/index.js +7 -11
  158. package/build/src/logout/index.js.map +1 -1
  159. package/build/src/prebuild/clearNativeFolder.js +26 -38
  160. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  161. package/build/src/prebuild/configureProjectAsync.js +14 -18
  162. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  163. package/build/src/prebuild/copyTemplateFiles.js +13 -17
  164. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  165. package/build/src/prebuild/ensureConfigAsync.js +4 -6
  166. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  167. package/build/src/prebuild/index.js +32 -36
  168. package/build/src/prebuild/index.js.map +1 -1
  169. package/build/src/prebuild/prebuildAsync.js +25 -29
  170. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  171. package/build/src/prebuild/renameTemplateAppName.js +40 -46
  172. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  173. package/build/src/prebuild/resolveOptions.js +52 -66
  174. package/build/src/prebuild/resolveOptions.js.map +1 -1
  175. package/build/src/prebuild/resolveTemplate.js +32 -36
  176. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  177. package/build/src/prebuild/updateFromTemplate.js +13 -19
  178. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  179. package/build/src/prebuild/updatePackageJson.js +39 -53
  180. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  181. package/build/src/prebuild/validateTemplatePlatforms.js +8 -12
  182. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  183. package/build/src/register/index.js +7 -11
  184. package/build/src/register/index.js.map +1 -1
  185. package/build/src/register/registerAsync.js +3 -5
  186. package/build/src/register/registerAsync.js.map +1 -1
  187. package/build/src/run/android/index.js +32 -36
  188. package/build/src/run/android/index.js.map +1 -1
  189. package/build/src/run/android/resolveDevice.js +8 -10
  190. package/build/src/run/android/resolveDevice.js.map +1 -1
  191. package/build/src/run/android/resolveGradlePropsAsync.js +16 -18
  192. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  193. package/build/src/run/android/resolveInstallApkName.js +15 -17
  194. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  195. package/build/src/run/android/resolveLaunchProps.js +10 -12
  196. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  197. package/build/src/run/android/resolveOptions.js +2 -4
  198. package/build/src/run/android/resolveOptions.js.map +1 -1
  199. package/build/src/run/android/runAndroidAsync.js +21 -23
  200. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  201. package/build/src/run/ensureNativeProject.js +5 -7
  202. package/build/src/run/ensureNativeProject.js.map +1 -1
  203. package/build/src/run/hints.js +7 -13
  204. package/build/src/run/hints.js.map +1 -1
  205. package/build/src/run/index.js +23 -27
  206. package/build/src/run/index.js.map +1 -1
  207. package/build/src/run/ios/XcodeBuild.js +56 -74
  208. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  209. package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
  210. package/build/src/run/ios/appleDevice/AppleDevice.js +63 -69
  211. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  212. package/build/src/run/ios/appleDevice/ClientManager.js +26 -29
  213. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  214. package/build/src/run/ios/appleDevice/client/AFCClient.js +25 -28
  215. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  216. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +26 -29
  217. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  218. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +21 -22
  219. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  220. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +29 -32
  221. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  222. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +24 -28
  223. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  224. package/build/src/run/ios/appleDevice/client/ServiceClient.js +4 -7
  225. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  226. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +27 -28
  227. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  228. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +17 -23
  229. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  230. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +132 -146
  231. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  232. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +21 -29
  233. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  234. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +21 -29
  235. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  236. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +22 -34
  237. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  238. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +17 -27
  239. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  240. package/build/src/run/ios/codeSigning/Security.js +39 -53
  241. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  242. package/build/src/run/ios/codeSigning/configureCodeSigning.js +9 -13
  243. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  244. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +19 -27
  245. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  246. package/build/src/run/ios/codeSigning/settings.js +5 -9
  247. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  248. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +12 -14
  249. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  250. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +21 -27
  251. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  252. package/build/src/run/ios/index.js +36 -40
  253. package/build/src/run/ios/index.js.map +1 -1
  254. package/build/src/run/ios/launchApp.js +17 -23
  255. package/build/src/run/ios/launchApp.js.map +1 -1
  256. package/build/src/run/ios/options/appleDestinations.js +36 -38
  257. package/build/src/run/ios/options/appleDestinations.js.map +1 -1
  258. package/build/src/run/ios/options/promptDevice.js +16 -20
  259. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  260. package/build/src/run/ios/options/resolveDevice.js +24 -30
  261. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  262. package/build/src/run/ios/options/resolveNativeScheme.js +23 -31
  263. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  264. package/build/src/run/ios/options/resolveOptions.js +5 -7
  265. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  266. package/build/src/run/ios/options/resolveXcodeProject.js +5 -7
  267. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  268. package/build/src/run/ios/runIosAsync.js +44 -48
  269. package/build/src/run/ios/runIosAsync.js.map +1 -1
  270. package/build/src/run/ios/validateExternalBinary.js +22 -24
  271. package/build/src/run/ios/validateExternalBinary.js.map +1 -1
  272. package/build/src/run/resolveBundlerProps.js +2 -4
  273. package/build/src/run/resolveBundlerProps.js.map +1 -1
  274. package/build/src/run/startBundler.js +12 -16
  275. package/build/src/run/startBundler.js.map +1 -1
  276. package/build/src/serve/index.js +16 -20
  277. package/build/src/serve/index.js.map +1 -1
  278. package/build/src/serve/serveAsync.js +32 -36
  279. package/build/src/serve/serveAsync.js.map +1 -1
  280. package/build/src/start/detectDevClient.js +9 -13
  281. package/build/src/start/detectDevClient.js.map +1 -1
  282. package/build/src/start/doctor/Prerequisite.js +7 -12
  283. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  284. package/build/src/start/doctor/SecurityBinPrerequisite.js +11 -13
  285. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  286. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +19 -23
  287. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  288. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +19 -23
  289. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  290. package/build/src/start/doctor/apple/XcodePrerequisite.js +45 -51
  291. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  292. package/build/src/start/doctor/apple/XcrunPrerequisite.js +16 -18
  293. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  294. package/build/src/start/doctor/dependencies/bundledNativeModules.js +19 -23
  295. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  296. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +25 -31
  297. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  298. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -25
  299. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  300. package/build/src/start/doctor/dependencies/getVersionedPackages.js +32 -40
  301. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  302. package/build/src/start/doctor/dependencies/resolvePackages.js +26 -32
  303. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  304. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +31 -41
  305. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  306. package/build/src/start/doctor/ngrok/ExternalModule.js +29 -34
  307. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  308. package/build/src/start/doctor/ngrok/NgrokResolver.js +8 -12
  309. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  310. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +28 -32
  311. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  312. package/build/src/start/doctor/typescript/updateTSConfig.js +17 -23
  313. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  314. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +27 -33
  315. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  316. package/build/src/start/index.js +42 -46
  317. package/build/src/start/index.js.map +1 -1
  318. package/build/src/start/interface/KeyPressHandler.js +14 -18
  319. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  320. package/build/src/start/interface/commandsTable.js +80 -94
  321. package/build/src/start/interface/commandsTable.js.map +1 -1
  322. package/build/src/start/interface/interactiveActions.js +40 -44
  323. package/build/src/start/interface/interactiveActions.js.map +1 -1
  324. package/build/src/start/interface/startInterface.js +61 -65
  325. package/build/src/start/interface/startInterface.js.map +1 -1
  326. package/build/src/start/platforms/AppIdResolver.js +4 -6
  327. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  328. package/build/src/start/platforms/DeviceManager.js +6 -10
  329. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  330. package/build/src/start/platforms/ExpoGoInstaller.js +20 -25
  331. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  332. package/build/src/start/platforms/PlatformManager.js +15 -17
  333. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  334. package/build/src/start/platforms/android/ADBServer.js +35 -39
  335. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  336. package/build/src/start/platforms/android/AndroidAppIdResolver.js +16 -18
  337. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  338. package/build/src/start/platforms/android/AndroidDeviceManager.js +20 -24
  339. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  340. package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
  341. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  342. package/build/src/start/platforms/android/AndroidSdk.js +9 -11
  343. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  344. package/build/src/start/platforms/android/activateWindow.js +22 -26
  345. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  346. package/build/src/start/platforms/android/adb.js +83 -121
  347. package/build/src/start/platforms/android/adb.js.map +1 -1
  348. package/build/src/start/platforms/android/adbReverse.js +12 -20
  349. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  350. package/build/src/start/platforms/android/emulator.js +26 -36
  351. package/build/src/start/platforms/android/emulator.js.map +1 -1
  352. package/build/src/start/platforms/android/getDevices.js +5 -7
  353. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  354. package/build/src/start/platforms/android/gradle.js +28 -36
  355. package/build/src/start/platforms/android/gradle.js.map +1 -1
  356. package/build/src/start/platforms/android/promptAndroidDevice.js +15 -19
  357. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  358. package/build/src/start/platforms/ios/AppleAppIdResolver.js +19 -21
  359. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  360. package/build/src/start/platforms/ios/AppleDeviceManager.js +31 -37
  361. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  362. package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
  363. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  364. package/build/src/start/platforms/ios/assertSystemRequirements.js +7 -9
  365. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  366. package/build/src/start/platforms/ios/devicectl.js +73 -87
  367. package/build/src/start/platforms/ios/devicectl.js.map +1 -1
  368. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +18 -22
  369. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  370. package/build/src/start/platforms/ios/getBestSimulator.js +19 -29
  371. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  372. package/build/src/start/platforms/ios/promptAppleDevice.js +10 -14
  373. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  374. package/build/src/start/platforms/ios/simctl.js +74 -102
  375. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  376. package/build/src/start/platforms/ios/simctlLogging.js +52 -57
  377. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  378. package/build/src/start/platforms/ios/xcrun.js +18 -22
  379. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  380. package/build/src/start/project/devices.js +9 -19
  381. package/build/src/start/project/devices.js.map +1 -1
  382. package/build/src/start/project/dotExpo.js +11 -15
  383. package/build/src/start/project/dotExpo.js.map +1 -1
  384. package/build/src/start/project/settings.js +2 -4
  385. package/build/src/start/project/settings.js.map +1 -1
  386. package/build/src/start/resolveOptions.js +40 -48
  387. package/build/src/start/resolveOptions.js.map +1 -1
  388. package/build/src/start/server/AsyncNgrok.js +51 -55
  389. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  390. package/build/src/start/server/AsyncWsTunnel.js +36 -40
  391. package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
  392. package/build/src/start/server/BundlerDevServer.js +79 -81
  393. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  394. package/build/src/start/server/DevServerManager.js +38 -42
  395. package/build/src/start/server/DevServerManager.js.map +1 -1
  396. package/build/src/start/server/DevToolsPluginManager.js +14 -18
  397. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  398. package/build/src/start/server/DevelopmentSession.js +14 -18
  399. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  400. package/build/src/start/server/ReactDevToolsProxy.js +10 -16
  401. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  402. package/build/src/start/server/UrlCreator.js +33 -36
  403. package/build/src/start/server/UrlCreator.js.map +1 -1
  404. package/build/src/start/server/getStaticRenderFunctions.js +21 -29
  405. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  406. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +4 -6
  407. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
  408. package/build/src/start/server/metro/MetroBundlerDevServer.js +271 -269
  409. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  410. package/build/src/start/server/metro/MetroTerminalReporter.js +56 -63
  411. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  412. package/build/src/start/server/metro/TerminalReporter.js +33 -39
  413. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  414. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  415. package/build/src/start/server/metro/createExpoMetroResolver.js +40 -46
  416. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  417. package/build/src/start/server/metro/createJResolver.js +28 -32
  418. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createServerComponentsMiddleware.js +92 -96
  420. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  421. package/build/src/start/server/metro/createServerRouteMiddleware.js +30 -32
  422. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +11 -13
  424. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/MessageHandler.js +1 -3
  426. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/attachAtlas.js +22 -26
  428. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +17 -19
  430. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createHandlersFactory.js +31 -25
  432. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/getDebuggerType.js +4 -6
  434. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +8 -14
  436. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  437. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +5 -7
  438. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  439. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +6 -8
  440. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  441. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +5 -7
  442. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  443. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +12 -14
  444. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
  445. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +10 -14
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -6
  448. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  449. package/build/src/start/server/metro/debugging/types.js.map +1 -1
  450. package/build/src/start/server/metro/dev-server/createEventSocket.js +16 -18
  451. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
  452. package/build/src/start/server/metro/dev-server/createMessageSocket.js +21 -23
  453. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  454. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +21 -23
  455. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  456. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +2 -4
  457. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
  458. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +2 -4
  459. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
  460. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +4 -8
  461. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  462. package/build/src/start/server/metro/externals.js +25 -33
  463. package/build/src/start/server/metro/externals.js.map +1 -1
  464. package/build/src/start/server/metro/fetchRouterManifest.js +12 -16
  465. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  466. package/build/src/start/server/metro/formatFileCandidates.js +9 -11
  467. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  468. package/build/src/start/server/metro/getCssModulesFromBundler.js +18 -22
  469. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  470. package/build/src/start/server/metro/instantiateMetro.js +79 -85
  471. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  472. package/build/src/start/server/metro/log-box/LogBoxLog.js +36 -40
  473. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  474. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +14 -20
  475. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  476. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +6 -10
  477. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  478. package/build/src/start/server/metro/metroErrorInterface.js +78 -88
  479. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrors.js +4 -8
  481. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  482. package/build/src/start/server/metro/metroPrivateServer.js +7 -9
  483. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  484. package/build/src/start/server/metro/metroVirtualModules.js +8 -10
  485. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  486. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +22 -24
  487. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  488. package/build/src/start/server/metro/router.js +32 -48
  489. package/build/src/start/server/metro/router.js.map +1 -1
  490. package/build/src/start/server/metro/runServer-fork.js +22 -24
  491. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  492. package/build/src/start/server/metro/serializeHtml.js +22 -24
  493. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  494. package/build/src/start/server/metro/symbolicate.js.map +1 -1
  495. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +29 -35
  496. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  497. package/build/src/start/server/metro/withMetroMultiPlatform.js +139 -149
  498. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroResolvers.js +39 -49
  500. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  501. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +6 -8
  502. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  503. package/build/src/start/server/middleware/CorsMiddleware.js +15 -17
  504. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CreateFileMiddleware.js +31 -32
  506. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +19 -22
  508. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DomComponentsMiddleware.js +27 -33
  510. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +60 -64
  512. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoMiddleware.js +9 -15
  514. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/FaviconMiddleware.js +14 -15
  516. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +2 -4
  518. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +31 -34
  520. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/ManifestMiddleware.js +56 -64
  522. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +19 -23
  524. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +19 -20
  526. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/ServeStaticMiddleware.js +9 -11
  528. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +11 -17
  530. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  531. package/build/src/start/server/middleware/inspector/CdpClient.js +10 -12
  532. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/JsInspector.js +27 -35
  534. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +19 -21
  536. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/middlwareMutations.js +2 -6
  538. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  539. package/build/src/start/server/middleware/metroOptions.js +96 -120
  540. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  541. package/build/src/start/server/middleware/mutations.js +3 -7
  542. package/build/src/start/server/middleware/mutations.js.map +1 -1
  543. package/build/src/start/server/middleware/resolveAssets.js +18 -26
  544. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  545. package/build/src/start/server/middleware/resolvePlatform.js +15 -23
  546. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  547. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +9 -11
  548. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  549. package/build/src/start/server/middleware/server.types.js.map +1 -1
  550. package/build/src/start/server/openPlatforms.js +8 -10
  551. package/build/src/start/server/openPlatforms.js.map +1 -1
  552. package/build/src/start/server/platformBundlers.js +11 -13
  553. package/build/src/start/server/platformBundlers.js.map +1 -1
  554. package/build/src/start/server/serverLogLikeMetro.js +50 -58
  555. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  556. package/build/src/start/server/type-generation/expo-env.js +7 -11
  557. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  558. package/build/src/start/server/type-generation/routes.js +54 -76
  559. package/build/src/start/server/type-generation/routes.js.map +1 -1
  560. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +19 -21
  561. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  562. package/build/src/start/server/type-generation/tsconfig.js +28 -36
  563. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  564. package/build/src/start/server/webTemplate.js +24 -28
  565. package/build/src/start/server/webTemplate.js.map +1 -1
  566. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +46 -52
  567. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  568. package/build/src/start/server/webpack/compile.js +11 -15
  569. package/build/src/start/server/webpack/compile.js.map +1 -1
  570. package/build/src/start/server/webpack/formatWebpackMessages.js +26 -28
  571. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  572. package/build/src/start/server/webpack/resolveFromProject.js +12 -18
  573. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  574. package/build/src/start/server/webpack/tls.js +12 -18
  575. package/build/src/start/server/webpack/tls.js.map +1 -1
  576. package/build/src/start/startAsync.js +27 -31
  577. package/build/src/start/startAsync.js.map +1 -1
  578. package/build/src/utils/FileNotifier.js +17 -20
  579. package/build/src/utils/FileNotifier.js.map +1 -1
  580. package/build/src/utils/ansi.js +5 -7
  581. package/build/src/utils/ansi.js.map +1 -1
  582. package/build/src/utils/args.js +14 -24
  583. package/build/src/utils/args.js.map +1 -1
  584. package/build/src/utils/array.js +6 -18
  585. package/build/src/utils/array.js.map +1 -1
  586. package/build/src/utils/cocoapods.js +46 -54
  587. package/build/src/utils/cocoapods.js.map +1 -1
  588. package/build/src/utils/codesigning.js +68 -78
  589. package/build/src/utils/codesigning.js.map +1 -1
  590. package/build/src/utils/createFileTransform.js +12 -16
  591. package/build/src/utils/createFileTransform.js.map +1 -1
  592. package/build/src/utils/createTempPath.js +13 -17
  593. package/build/src/utils/createTempPath.js.map +1 -1
  594. package/build/src/utils/delay.js +6 -12
  595. package/build/src/utils/delay.js.map +1 -1
  596. package/build/src/utils/dir.js +28 -46
  597. package/build/src/utils/dir.js.map +1 -1
  598. package/build/src/utils/downloadAppAsync.js +8 -10
  599. package/build/src/utils/downloadAppAsync.js.map +1 -1
  600. package/build/src/utils/downloadExpoGoAsync.js +21 -25
  601. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  602. package/build/src/utils/editor.js +35 -41
  603. package/build/src/utils/editor.js.map +1 -1
  604. package/build/src/utils/env.js +59 -63
  605. package/build/src/utils/env.js.map +1 -1
  606. package/build/src/utils/errors.js +30 -37
  607. package/build/src/utils/errors.js.map +1 -1
  608. package/build/src/utils/exit.js +31 -35
  609. package/build/src/utils/exit.js.map +1 -1
  610. package/build/src/utils/expoUpdatesCli.js +22 -32
  611. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  612. package/build/src/utils/fetch.js +4 -8
  613. package/build/src/utils/fetch.js.map +1 -1
  614. package/build/src/utils/filePath.js +6 -10
  615. package/build/src/utils/filePath.js.map +1 -1
  616. package/build/src/utils/findUp.js +9 -13
  617. package/build/src/utils/findUp.js.map +1 -1
  618. package/build/src/utils/fn.js +2 -6
  619. package/build/src/utils/fn.js.map +1 -1
  620. package/build/src/utils/getOrPromptApplicationId.js +26 -32
  621. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  622. package/build/src/utils/getRunningProcess.js +21 -29
  623. package/build/src/utils/getRunningProcess.js.map +1 -1
  624. package/build/src/utils/git.js +20 -26
  625. package/build/src/utils/git.js.map +1 -1
  626. package/build/src/utils/glob.js +4 -8
  627. package/build/src/utils/glob.js.map +1 -1
  628. package/build/src/utils/interactive.js +1 -3
  629. package/build/src/utils/interactive.js.map +1 -1
  630. package/build/src/utils/ip.js +19 -21
  631. package/build/src/utils/ip.js.map +1 -1
  632. package/build/src/utils/isModuleSymlinked.js +9 -11
  633. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  634. package/build/src/utils/jsonSchemaDeref.js +18 -20
  635. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  636. package/build/src/utils/link.js +13 -17
  637. package/build/src/utils/link.js.map +1 -1
  638. package/build/src/utils/mergeGitIgnorePaths.js +28 -46
  639. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  640. package/build/src/utils/modifyConfigAsync.js +10 -16
  641. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  642. package/build/src/utils/modifyConfigPlugins.js +6 -10
  643. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  644. package/build/src/utils/nodeEnv.js +6 -12
  645. package/build/src/utils/nodeEnv.js.map +1 -1
  646. package/build/src/utils/nodeModules.js +8 -10
  647. package/build/src/utils/nodeModules.js.map +1 -1
  648. package/build/src/utils/npm.js +36 -50
  649. package/build/src/utils/npm.js.map +1 -1
  650. package/build/src/utils/obj.js +5 -11
  651. package/build/src/utils/obj.js.map +1 -1
  652. package/build/src/utils/open.js +8 -10
  653. package/build/src/utils/open.js.map +1 -1
  654. package/build/src/utils/ora.js +7 -13
  655. package/build/src/utils/ora.js.map +1 -1
  656. package/build/src/utils/plist.js +15 -21
  657. package/build/src/utils/plist.js.map +1 -1
  658. package/build/src/utils/port.js +33 -43
  659. package/build/src/utils/port.js.map +1 -1
  660. package/build/src/utils/profile.js +7 -11
  661. package/build/src/utils/profile.js.map +1 -1
  662. package/build/src/utils/progress.js +5 -11
  663. package/build/src/utils/progress.js.map +1 -1
  664. package/build/src/utils/prompts.js +29 -47
  665. package/build/src/utils/prompts.js.map +1 -1
  666. package/build/src/utils/resolveArgs.js +24 -36
  667. package/build/src/utils/resolveArgs.js.map +1 -1
  668. package/build/src/utils/scheme.js +32 -40
  669. package/build/src/utils/scheme.js.map +1 -1
  670. package/build/src/utils/stream.js +3 -5
  671. package/build/src/utils/stream.js.map +1 -1
  672. package/build/src/utils/strings.js +4 -6
  673. package/build/src/utils/strings.js.map +1 -1
  674. package/build/src/utils/tar.js +15 -19
  675. package/build/src/utils/tar.js.map +1 -1
  676. package/build/src/utils/telemetry/Telemetry.js +27 -29
  677. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  678. package/build/src/utils/telemetry/clients/FetchClient.js +13 -15
  679. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  680. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +22 -26
  681. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/RudderClient.js +8 -10
  683. package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/RudderDetachedClient.js +22 -26
  685. package/build/src/utils/telemetry/clients/RudderDetachedClient.js.map +1 -1
  686. package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
  687. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
  688. package/build/src/utils/telemetry/clients/flushRudderDetached.js +10 -10
  689. package/build/src/utils/telemetry/clients/flushRudderDetached.js.map +1 -1
  690. package/build/src/utils/telemetry/events.js +2 -4
  691. package/build/src/utils/telemetry/events.js.map +1 -1
  692. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  693. package/build/src/utils/telemetry/index.js +29 -25
  694. package/build/src/utils/telemetry/index.js.map +1 -1
  695. package/build/src/utils/telemetry/types.js.map +1 -1
  696. package/build/src/utils/telemetry/utils/constants.js +4 -8
  697. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  698. package/build/src/utils/telemetry/utils/context.js +14 -18
  699. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  700. package/build/src/utils/template.js +4 -6
  701. package/build/src/utils/template.js.map +1 -1
  702. package/build/src/utils/terminal.js +2 -4
  703. package/build/src/utils/terminal.js.map +1 -1
  704. package/build/src/utils/tsconfig/evaluateTsConfig.js +17 -21
  705. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  706. package/build/src/utils/tsconfig/loadTsConfigPaths.js +14 -18
  707. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  708. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +5 -7
  709. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  710. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -14
  711. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  712. package/build/src/utils/url.js +13 -23
  713. package/build/src/utils/url.js.map +1 -1
  714. package/build/src/utils/validateApplicationId.js +86 -108
  715. package/build/src/utils/validateApplicationId.js.map +1 -1
  716. package/build/src/utils/variadic.js +16 -22
  717. package/build/src/utils/variadic.js.map +1 -1
  718. package/build/src/whoami/index.js +7 -11
  719. package/build/src/whoami/index.js.map +1 -1
  720. package/build/src/whoami/whoamiAsync.js +7 -11
  721. package/build/src/whoami/whoamiAsync.js.map +1 -1
  722. package/package.json +3 -3
@@ -5,26 +5,24 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  Object.defineProperty(exports, "expoExportEmbed", {
7
7
  enumerable: true,
8
- get: function() {
9
- return expoExportEmbed;
10
- }
8
+ get: ()=>expoExportEmbed
11
9
  });
12
10
  function _chalk() {
13
- const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
11
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
14
12
  _chalk = function() {
15
13
  return data;
16
14
  };
17
15
  return data;
18
16
  }
19
17
  function _path() {
20
- const data = /*#__PURE__*/ _interop_require_default(require("path"));
18
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
21
19
  _path = function() {
22
20
  return data;
23
21
  };
24
22
  return data;
25
23
  }
26
24
  const _args = require("../../utils/args");
27
- function _interop_require_default(obj) {
25
+ function _interopRequireDefault(obj) {
28
26
  return obj && obj.__esModule ? obj : {
29
27
  default: obj
30
28
  };
@@ -37,7 +35,7 @@ function _getRequireWildcardCache(nodeInterop) {
37
35
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
38
36
  })(nodeInterop);
39
37
  }
40
- function _interop_require_wildcard(obj, nodeInterop) {
38
+ function _interopRequireWildcard(obj, nodeInterop) {
41
39
  if (!nodeInterop && obj && obj.__esModule) {
42
40
  return obj;
43
41
  }
@@ -50,9 +48,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
50
48
  if (cache && cache.has(obj)) {
51
49
  return cache.get(obj);
52
50
  }
53
- var newObj = {
54
- __proto__: null
55
- };
51
+ var newObj = {};
56
52
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
57
53
  for(var key in obj){
58
54
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -73,39 +69,39 @@ function _interop_require_wildcard(obj, nodeInterop) {
73
69
  const expoExportEmbed = async (argv)=>{
74
70
  const rawArgsMap = {
75
71
  // Types
76
- '--entry-file': String,
77
- '--platform': String,
78
- '--transformer': String,
79
- '--bundle-output': String,
80
- '--bundle-encoding': String,
81
- '--max-workers': Number,
82
- '--sourcemap-output': String,
83
- '--sourcemap-sources-root': String,
84
- '--assets-dest': String,
85
- '--asset-catalog-dest': String,
86
- '--unstable-transform-profile': String,
87
- '--config': String,
72
+ "--entry-file": String,
73
+ "--platform": String,
74
+ "--transformer": String,
75
+ "--bundle-output": String,
76
+ "--bundle-encoding": String,
77
+ "--max-workers": Number,
78
+ "--sourcemap-output": String,
79
+ "--sourcemap-sources-root": String,
80
+ "--assets-dest": String,
81
+ "--asset-catalog-dest": String,
82
+ "--unstable-transform-profile": String,
83
+ "--config": String,
88
84
  // Hack: This is added because react-native-xcode.sh script always includes this value.
89
85
  // If supplied, we'll do nothing with the value, but at least the process won't crash.
90
86
  // Note that we also don't show this value in the `--help` prompt since we don't want people to use it.
91
- '--config-cmd': String,
87
+ "--config-cmd": String,
92
88
  // New flag to guess the other flags based on the environment.
93
- '--eager': Boolean,
89
+ "--eager": Boolean,
94
90
  // Export the bundle as Hermes bytecode bundle
95
- '--bytecode': Boolean,
91
+ "--bytecode": Boolean,
96
92
  // This is here for compatibility with the `npx react-native bundle` command.
97
93
  // devs should use `DEBUG=expo:*` instead.
98
- '--verbose': Boolean,
99
- '--help': Boolean,
94
+ "--verbose": Boolean,
95
+ "--help": Boolean,
100
96
  // Aliases
101
- '-h': '--help',
102
- '-v': '--verbose'
97
+ "-h": "--help",
98
+ "-v": "--verbose"
103
99
  };
104
100
  const args = (0, _args.assertWithOptionsArgs)(rawArgsMap, {
105
101
  argv,
106
102
  permissive: true
107
103
  });
108
- if (args['--help']) {
104
+ if (args["--help"]) {
109
105
  (0, _args.printHelp)(`(Internal) Export the JavaScript bundle during a native build script for embedding in a native binary`, (0, _chalk().default)`npx expo export:embed {dim <dir>}`, [
110
106
  (0, _chalk().default)`<dir> Directory of the Expo project. {dim Default: Current working directory}`,
111
107
  `--entry-file <path> Path to the root JS file, either absolute or relative to JS root`,
@@ -129,24 +125,24 @@ const expoExportEmbed = async (argv)=>{
129
125
  `--config <string> Path to the CLI configuration file`,
130
126
  // This is seemingly unused.
131
127
  `--read-global-cache Try to fetch transformed JS code from the global cache, if configured.`,
132
- `-h, --help Usage info`
133
- ].join('\n'));
128
+ `-h, --help Usage info`,
129
+ ].join("\n"));
134
130
  }
135
- const [{ exportEmbedAsync }, { resolveOptions }, { logCmdError }, { resolveCustomBooleanArgsAsync }] = await Promise.all([
136
- Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./exportEmbedAsync.js"))),
137
- Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./resolveOptions.js"))),
138
- Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("../../utils/errors.js"))),
139
- Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("../../utils/resolveArgs.js")))
131
+ const [{ exportEmbedAsync }, { resolveOptions }, { logCmdError }, { resolveCustomBooleanArgsAsync }, ] = await Promise.all([
132
+ Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("./exportEmbedAsync.js"))),
133
+ Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("./resolveOptions.js"))),
134
+ Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../../utils/errors.js"))),
135
+ Promise.resolve().then(()=>/*#__PURE__*/ _interopRequireWildcard(require("../../utils/resolveArgs.js"))),
140
136
  ]);
141
137
  return (async ()=>{
142
138
  const parsed = await resolveCustomBooleanArgsAsync(argv ?? [], rawArgsMap, {
143
- '--eager': Boolean,
144
- '--bytecode': Boolean,
145
- '--dev': Boolean,
146
- '--minify': Boolean,
147
- '--sourcemap-use-absolute-path': Boolean,
148
- '--reset-cache': Boolean,
149
- '--read-global-cache': Boolean
139
+ "--eager": Boolean,
140
+ "--bytecode": Boolean,
141
+ "--dev": Boolean,
142
+ "--minify": Boolean,
143
+ "--sourcemap-use-absolute-path": Boolean,
144
+ "--reset-cache": Boolean,
145
+ "--read-global-cache": Boolean
150
146
  });
151
147
  const projectRoot = _path().default.resolve(parsed.projectRoot);
152
148
  return exportEmbedAsync(projectRoot, resolveOptions(projectRoot, args, parsed));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/export/embed/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport arg from 'arg';\nimport chalk from 'chalk';\nimport path from 'path';\n\nimport { Command } from '../../../bin/cli';\nimport { assertWithOptionsArgs, printHelp } from '../../utils/args';\n\nexport const expoExportEmbed: Command = async (argv) => {\n const rawArgsMap: arg.Spec = {\n // Types\n '--entry-file': String,\n '--platform': String,\n '--transformer': String,\n '--bundle-output': String,\n '--bundle-encoding': String,\n '--max-workers': Number,\n '--sourcemap-output': String,\n '--sourcemap-sources-root': String,\n '--assets-dest': String,\n '--asset-catalog-dest': String,\n '--unstable-transform-profile': String,\n '--config': String,\n\n // Hack: This is added because react-native-xcode.sh script always includes this value.\n // If supplied, we'll do nothing with the value, but at least the process won't crash.\n // Note that we also don't show this value in the `--help` prompt since we don't want people to use it.\n '--config-cmd': String,\n\n // New flag to guess the other flags based on the environment.\n '--eager': Boolean,\n // Export the bundle as Hermes bytecode bundle\n '--bytecode': Boolean,\n\n // This is here for compatibility with the `npx react-native bundle` command.\n // devs should use `DEBUG=expo:*` instead.\n '--verbose': Boolean,\n '--help': Boolean,\n // Aliases\n '-h': '--help',\n '-v': '--verbose',\n };\n const args = assertWithOptionsArgs(rawArgsMap, {\n argv,\n permissive: true,\n });\n\n if (args['--help']) {\n printHelp(\n `(Internal) Export the JavaScript bundle during a native build script for embedding in a native binary`,\n chalk`npx expo export:embed {dim <dir>}`,\n [\n chalk`<dir> Directory of the Expo project. {dim Default: Current working directory}`,\n `--entry-file <path> Path to the root JS file, either absolute or relative to JS root`,\n `--platform <string> Either \"ios\" or \"android\" (default: \"ios\")`,\n `--transformer <string> Specify a custom transformer to be used`,\n `--dev [boolean] If false, warnings are disabled and the bundle is minified (default: true)`,\n `--minify [boolean] Allows overriding whether bundle is minified. This defaults to false if dev is true, and true if dev is false. Disabling minification can be useful for speeding up production builds for testing purposes.`,\n `--bundle-output <string> File name where to store the resulting bundle, ex. /tmp/groups.bundle`,\n `--bundle-encoding <string> Encoding the bundle should be written in (https://nodejs.org/api/buffer.html#buffer_buffer). (default: \"utf8\")`,\n `--max-workers <number> Specifies the maximum number of workers the worker-pool will spawn for transforming files. This defaults to the number of the cores available on your machine.`,\n `--sourcemap-output <string> File name where to store the sourcemap file for resulting bundle, ex. /tmp/groups.map`,\n `--sourcemap-sources-root <string> Path to make sourcemap's sources entries relative to, ex. /root/dir`,\n `--sourcemap-use-absolute-path Report SourceMapURL using its full path`,\n `--assets-dest <string> Directory name where to store assets referenced in the bundle`,\n `--asset-catalog-dest <string> Directory to create an iOS Asset Catalog for images`,\n `--unstable-transform-profile <string> Experimental, transform JS for a specific JS engine. Currently supported: hermes, hermes-canary, default`,\n `--reset-cache Removes cached files`,\n `--eager Eagerly export the bundle with default options`,\n `--bytecode Export the bundle as Hermes bytecode bundle`,\n `-v, --verbose Enables debug logging`,\n\n `--config <string> Path to the CLI configuration file`,\n // This is seemingly unused.\n `--read-global-cache Try to fetch transformed JS code from the global cache, if configured.`,\n\n `-h, --help Usage info`,\n ].join('\\n')\n );\n }\n\n const [\n { exportEmbedAsync },\n { resolveOptions },\n { logCmdError },\n { resolveCustomBooleanArgsAsync },\n ] = await Promise.all([\n import('./exportEmbedAsync.js'),\n import('./resolveOptions.js'),\n import('../../utils/errors.js'),\n import('../../utils/resolveArgs.js'),\n ]);\n\n return (async () => {\n const parsed = await resolveCustomBooleanArgsAsync(argv ?? [], rawArgsMap, {\n '--eager': Boolean,\n '--bytecode': Boolean,\n '--dev': Boolean,\n '--minify': Boolean,\n '--sourcemap-use-absolute-path': Boolean,\n '--reset-cache': Boolean,\n '--read-global-cache': Boolean,\n });\n\n const projectRoot = path.resolve(parsed.projectRoot);\n return exportEmbedAsync(projectRoot, resolveOptions(projectRoot, args, parsed));\n })().catch(logCmdError);\n};\n"],"names":["expoExportEmbed","argv","rawArgsMap","String","Number","Boolean","args","assertWithOptionsArgs","permissive","printHelp","chalk","join","exportEmbedAsync","resolveOptions","logCmdError","resolveCustomBooleanArgsAsync","Promise","all","parsed","projectRoot","path","resolve","catch"],"mappings":";;;;;+BAQaA;;;eAAAA;;;;gEANK;;;;;;;gEACD;;;;;;sBAGgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE1C,MAAMA,kBAA2B,OAAOC;IAC7C,MAAMC,aAAuB;QAC3B,QAAQ;QACR,gBAAgBC;QAChB,cAAcA;QACd,iBAAiBA;QACjB,mBAAmBA;QACnB,qBAAqBA;QACrB,iBAAiBC;QACjB,sBAAsBD;QACtB,4BAA4BA;QAC5B,iBAAiBA;QACjB,wBAAwBA;QACxB,gCAAgCA;QAChC,YAAYA;QAEZ,uFAAuF;QACvF,sFAAsF;QACtF,uGAAuG;QACvG,gBAAgBA;QAEhB,8DAA8D;QAC9D,WAAWE;QACX,8CAA8C;QAC9C,cAAcA;QAEd,6EAA6E;QAC7E,0CAA0C;QAC1C,aAAaA;QACb,UAAUA;QACV,UAAU;QACV,MAAM;QACN,MAAM;IACR;IACA,MAAMC,OAAOC,IAAAA,2BAAqB,EAACL,YAAY;QAC7CD;QACAO,YAAY;IACd;IAEA,IAAIF,IAAI,CAAC,SAAS,EAAE;QAClBG,IAAAA,eAAS,EACP,CAAC,qGAAqG,CAAC,EACvGC,IAAAA,gBAAK,CAAA,CAAC,iCAAiC,CAAC,EACxC;YACEA,IAAAA,gBAAK,CAAA,CAAC,8GAA8G,CAAC;YACrH,CAAC,uGAAuG,CAAC;YACzG,CAAC,iFAAiF,CAAC;YACnF,CAAC,8EAA8E,CAAC;YAChF,CAAC,iHAAiH,CAAC;YACnH,CAAC,kPAAkP,CAAC;YACpP,CAAC,4GAA4G,CAAC;YAC9G,CAAC,qJAAqJ,CAAC;YACvJ,CAAC,qMAAqM,CAAC;YACvM,CAAC,4HAA4H,CAAC;YAC9H,CAAC,0GAA0G,CAAC;YAC5G,CAAC,8EAA8E,CAAC;YAChF,CAAC,oGAAoG,CAAC;YACtG,CAAC,0FAA0F,CAAC;YAC5F,CAAC,+IAA+I,CAAC;YACjJ,CAAC,2DAA2D,CAAC;YAC7D,CAAC,qFAAqF,CAAC;YACvF,CAAC,kFAAkF,CAAC;YACpF,CAAC,4DAA4D,CAAC;YAE9D,CAAC,yEAAyE,CAAC;YAC3E,4BAA4B;YAC5B,CAAC,6GAA6G,CAAC;YAE/G,CAAC,iDAAiD,CAAC;SACpD,CAACC,IAAI,CAAC;IAEX;IAEA,MAAM,CACJ,EAAEC,gBAAgB,EAAE,EACpB,EAAEC,cAAc,EAAE,EAClB,EAAEC,WAAW,EAAE,EACf,EAAEC,6BAA6B,EAAE,CAClC,GAAG,MAAMC,QAAQC,GAAG,CAAC;QACpB,mEAAA,QAAO;QACP,mEAAA,QAAO;QACP,mEAAA,QAAO;QACP,mEAAA,QAAO;KACR;IAED,OAAO,AAAC,CAAA;QACN,MAAMC,SAAS,MAAMH,8BAA8Bd,QAAQ,EAAE,EAAEC,YAAY;YACzE,WAAWG;YACX,cAAcA;YACd,SAASA;YACT,YAAYA;YACZ,iCAAiCA;YACjC,iBAAiBA;YACjB,uBAAuBA;QACzB;QAEA,MAAMc,cAAcC,eAAI,CAACC,OAAO,CAACH,OAAOC,WAAW;QACnD,OAAOP,iBAAiBO,aAAaN,eAAeM,aAAab,MAAMY;IACzE,CAAA,IAAKI,KAAK,CAACR;AACb"}
1
+ {"version":3,"sources":["../../../../src/export/embed/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport arg from 'arg';\nimport chalk from 'chalk';\nimport path from 'path';\n\nimport { Command } from '../../../bin/cli';\nimport { assertWithOptionsArgs, printHelp } from '../../utils/args';\n\nexport const expoExportEmbed: Command = async (argv) => {\n const rawArgsMap: arg.Spec = {\n // Types\n '--entry-file': String,\n '--platform': String,\n '--transformer': String,\n '--bundle-output': String,\n '--bundle-encoding': String,\n '--max-workers': Number,\n '--sourcemap-output': String,\n '--sourcemap-sources-root': String,\n '--assets-dest': String,\n '--asset-catalog-dest': String,\n '--unstable-transform-profile': String,\n '--config': String,\n\n // Hack: This is added because react-native-xcode.sh script always includes this value.\n // If supplied, we'll do nothing with the value, but at least the process won't crash.\n // Note that we also don't show this value in the `--help` prompt since we don't want people to use it.\n '--config-cmd': String,\n\n // New flag to guess the other flags based on the environment.\n '--eager': Boolean,\n // Export the bundle as Hermes bytecode bundle\n '--bytecode': Boolean,\n\n // This is here for compatibility with the `npx react-native bundle` command.\n // devs should use `DEBUG=expo:*` instead.\n '--verbose': Boolean,\n '--help': Boolean,\n // Aliases\n '-h': '--help',\n '-v': '--verbose',\n };\n const args = assertWithOptionsArgs(rawArgsMap, {\n argv,\n permissive: true,\n });\n\n if (args['--help']) {\n printHelp(\n `(Internal) Export the JavaScript bundle during a native build script for embedding in a native binary`,\n chalk`npx expo export:embed {dim <dir>}`,\n [\n chalk`<dir> Directory of the Expo project. {dim Default: Current working directory}`,\n `--entry-file <path> Path to the root JS file, either absolute or relative to JS root`,\n `--platform <string> Either \"ios\" or \"android\" (default: \"ios\")`,\n `--transformer <string> Specify a custom transformer to be used`,\n `--dev [boolean] If false, warnings are disabled and the bundle is minified (default: true)`,\n `--minify [boolean] Allows overriding whether bundle is minified. This defaults to false if dev is true, and true if dev is false. Disabling minification can be useful for speeding up production builds for testing purposes.`,\n `--bundle-output <string> File name where to store the resulting bundle, ex. /tmp/groups.bundle`,\n `--bundle-encoding <string> Encoding the bundle should be written in (https://nodejs.org/api/buffer.html#buffer_buffer). (default: \"utf8\")`,\n `--max-workers <number> Specifies the maximum number of workers the worker-pool will spawn for transforming files. This defaults to the number of the cores available on your machine.`,\n `--sourcemap-output <string> File name where to store the sourcemap file for resulting bundle, ex. /tmp/groups.map`,\n `--sourcemap-sources-root <string> Path to make sourcemap's sources entries relative to, ex. /root/dir`,\n `--sourcemap-use-absolute-path Report SourceMapURL using its full path`,\n `--assets-dest <string> Directory name where to store assets referenced in the bundle`,\n `--asset-catalog-dest <string> Directory to create an iOS Asset Catalog for images`,\n `--unstable-transform-profile <string> Experimental, transform JS for a specific JS engine. Currently supported: hermes, hermes-canary, default`,\n `--reset-cache Removes cached files`,\n `--eager Eagerly export the bundle with default options`,\n `--bytecode Export the bundle as Hermes bytecode bundle`,\n `-v, --verbose Enables debug logging`,\n\n `--config <string> Path to the CLI configuration file`,\n // This is seemingly unused.\n `--read-global-cache Try to fetch transformed JS code from the global cache, if configured.`,\n\n `-h, --help Usage info`,\n ].join('\\n')\n );\n }\n\n const [\n { exportEmbedAsync },\n { resolveOptions },\n { logCmdError },\n { resolveCustomBooleanArgsAsync },\n ] = await Promise.all([\n import('./exportEmbedAsync.js'),\n import('./resolveOptions.js'),\n import('../../utils/errors.js'),\n import('../../utils/resolveArgs.js'),\n ]);\n\n return (async () => {\n const parsed = await resolveCustomBooleanArgsAsync(argv ?? [], rawArgsMap, {\n '--eager': Boolean,\n '--bytecode': Boolean,\n '--dev': Boolean,\n '--minify': Boolean,\n '--sourcemap-use-absolute-path': Boolean,\n '--reset-cache': Boolean,\n '--read-global-cache': Boolean,\n });\n\n const projectRoot = path.resolve(parsed.projectRoot);\n return exportEmbedAsync(projectRoot, resolveOptions(projectRoot, args, parsed));\n })().catch(logCmdError);\n};\n"],"names":["expoExportEmbed","argv","rawArgsMap","String","Number","Boolean","args","assertWithOptionsArgs","permissive","printHelp","chalk","join","exportEmbedAsync","resolveOptions","logCmdError","resolveCustomBooleanArgsAsync","Promise","all","parsed","projectRoot","path","resolve","catch"],"mappings":"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"}
@@ -9,18 +9,10 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- deserializeEagerKey: function() {
13
- return deserializeEagerKey;
14
- },
15
- getExportEmbedOptionsKey: function() {
16
- return getExportEmbedOptionsKey;
17
- },
18
- resolveEagerOptionsAsync: function() {
19
- return resolveEagerOptionsAsync;
20
- },
21
- resolveOptions: function() {
22
- return resolveOptions;
23
- }
12
+ resolveOptions: ()=>resolveOptions,
13
+ resolveEagerOptionsAsync: ()=>resolveEagerOptionsAsync,
14
+ getExportEmbedOptionsKey: ()=>getExportEmbedOptionsKey,
15
+ deserializeEagerKey: ()=>deserializeEagerKey
24
16
  });
25
17
  function _paths() {
26
18
  const data = require("@expo/config/paths");
@@ -30,21 +22,21 @@ function _paths() {
30
22
  return data;
31
23
  }
32
24
  function _canonicalize() {
33
- const data = /*#__PURE__*/ _interop_require_default(require("metro-core/src/canonicalize"));
25
+ const data = /*#__PURE__*/ _interopRequireDefault(require("metro-core/src/canonicalize"));
34
26
  _canonicalize = function() {
35
27
  return data;
36
28
  };
37
29
  return data;
38
30
  }
39
31
  function _os() {
40
- const data = /*#__PURE__*/ _interop_require_default(require("os"));
32
+ const data = /*#__PURE__*/ _interopRequireDefault(require("os"));
41
33
  _os = function() {
42
34
  return data;
43
35
  };
44
36
  return data;
45
37
  }
46
38
  function _path() {
47
- const data = /*#__PURE__*/ _interop_require_default(require("path"));
39
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
48
40
  _path = function() {
49
41
  return data;
50
42
  };
@@ -53,51 +45,51 @@ function _path() {
53
45
  const _env = require("../../utils/env");
54
46
  const _errors = require("../../utils/errors");
55
47
  const _exportHermes = require("../exportHermes");
56
- function _interop_require_default(obj) {
48
+ function _interopRequireDefault(obj) {
57
49
  return obj && obj.__esModule ? obj : {
58
50
  default: obj
59
51
  };
60
52
  }
61
53
  function assertIsBoolean(val) {
62
- if (typeof val !== 'boolean') {
54
+ if (typeof val !== "boolean") {
63
55
  throw new _errors.CommandError(`Expected boolean, got ${typeof val}`);
64
56
  }
65
57
  }
66
58
  function getBundleEncoding(encoding) {
67
- return encoding === 'utf8' || encoding === 'utf16le' || encoding === 'ascii' ? encoding : undefined;
59
+ return encoding === "utf8" || encoding === "utf16le" || encoding === "ascii" ? encoding : undefined;
68
60
  }
69
61
  function resolveOptions(projectRoot, args, parsed) {
70
- const dev = parsed.args['--dev'] ?? true;
62
+ const dev = parsed.args["--dev"] ?? true;
71
63
  assertIsBoolean(dev);
72
- const platform = args['--platform'];
64
+ const platform = args["--platform"];
73
65
  if (!platform) {
74
66
  throw new _errors.CommandError(`Missing required argument: --platform`);
75
67
  }
76
- const bundleOutput = args['--bundle-output'];
68
+ const bundleOutput = args["--bundle-output"];
77
69
  const commonOptions = {
78
- entryFile: args['--entry-file'] ?? (0, _paths().resolveEntryPoint)(projectRoot, {
70
+ entryFile: args["--entry-file"] ?? (0, _paths().resolveEntryPoint)(projectRoot, {
79
71
  platform
80
72
  }),
81
- assetCatalogDest: args['--asset-catalog-dest'],
73
+ assetCatalogDest: args["--asset-catalog-dest"],
82
74
  platform,
83
- transformer: args['--transformer'],
75
+ transformer: args["--transformer"],
84
76
  // TODO: Support `--dev false`
85
77
  // dev: false,
86
78
  bundleOutput,
87
- bundleEncoding: getBundleEncoding(args['--bundle-encoding']) ?? 'utf8',
88
- maxWorkers: args['--max-workers'],
89
- sourcemapOutput: args['--sourcemap-output'],
90
- sourcemapSourcesRoot: args['--sourcemap-sources-root'],
91
- sourcemapUseAbsolutePath: !!parsed.args['--sourcemap-use-absolute-path'],
92
- assetsDest: args['--assets-dest'],
93
- unstableTransformProfile: args['--unstable-transform-profile'],
94
- resetCache: !!parsed.args['--reset-cache'],
95
- verbose: args['--verbose'] ?? _env.env.EXPO_DEBUG,
96
- config: args['--config'] ? _path().default.resolve(args['--config']) : undefined,
79
+ bundleEncoding: getBundleEncoding(args["--bundle-encoding"]) ?? "utf8",
80
+ maxWorkers: args["--max-workers"],
81
+ sourcemapOutput: args["--sourcemap-output"],
82
+ sourcemapSourcesRoot: args["--sourcemap-sources-root"],
83
+ sourcemapUseAbsolutePath: !!parsed.args["--sourcemap-use-absolute-path"],
84
+ assetsDest: args["--assets-dest"],
85
+ unstableTransformProfile: args["--unstable-transform-profile"],
86
+ resetCache: !!parsed.args["--reset-cache"],
87
+ verbose: args["--verbose"] ?? _env.env.EXPO_DEBUG,
88
+ config: args["--config"] ? _path().default.resolve(args["--config"]) : undefined,
97
89
  dev,
98
- minify: parsed.args['--minify'],
99
- eager: !!parsed.args['--eager'],
100
- bytecode: parsed.args['--bytecode']
90
+ minify: parsed.args["--minify"],
91
+ eager: !!parsed.args["--eager"],
92
+ bytecode: parsed.args["--bytecode"]
101
93
  };
102
94
  if (commonOptions.eager) {
103
95
  return resolveEagerOptionsAsync(projectRoot, commonOptions);
@@ -106,7 +98,7 @@ function resolveOptions(projectRoot, args, parsed) {
106
98
  if (!bundleOutput) {
107
99
  throw new _errors.CommandError(`Missing required argument: --bundle-output`);
108
100
  }
109
- const minify = parsed.args['--minify'] ?? !dev;
101
+ const minify = parsed.args["--minify"] ?? !dev;
110
102
  assertIsBoolean(minify);
111
103
  return {
112
104
  ...commonOptions,
@@ -117,17 +109,17 @@ function resolveOptions(projectRoot, args, parsed) {
117
109
  function getTemporaryPath() {
118
110
  return _path().default.join(_os().default.tmpdir(), Math.random().toString(36).substring(2));
119
111
  }
120
- function resolveEagerOptionsAsync(projectRoot, { dev, platform, assetsDest, bundleOutput, minify, ...options }) {
112
+ function resolveEagerOptionsAsync(projectRoot, { dev , platform , assetsDest , bundleOutput , minify , ...options }) {
121
113
  // If the minify prop is undefined, then check if the project is using hermes.
122
- minify ??= !(platform === 'android' ? (0, _exportHermes.isAndroidUsingHermes)(projectRoot) : (0, _exportHermes.isIosUsingHermes)(projectRoot));
114
+ minify ??= !(platform === "android" ? (0, _exportHermes.isAndroidUsingHermes)(projectRoot) : (0, _exportHermes.isIosUsingHermes)(projectRoot));
123
115
  let destination;
124
116
  if (!assetsDest) {
125
117
  destination ??= getTemporaryPath();
126
- assetsDest = _path().default.join(destination, 'assets');
118
+ assetsDest = _path().default.join(destination, "assets");
127
119
  }
128
120
  if (!bundleOutput) {
129
121
  destination ??= getTemporaryPath();
130
- bundleOutput = platform === 'ios' ? _path().default.join(destination, 'main.jsbundle') : _path().default.join(destination, 'index.js');
122
+ bundleOutput = platform === "ios" ? _path().default.join(destination, "main.jsbundle") : _path().default.join(destination, "index.js");
131
123
  }
132
124
  return {
133
125
  ...options,
@@ -141,13 +133,13 @@ function resolveEagerOptionsAsync(projectRoot, { dev, platform, assetsDest, bund
141
133
  platform,
142
134
  minify,
143
135
  dev,
144
- bundleEncoding: 'utf8',
136
+ bundleEncoding: "utf8",
145
137
  sourcemapUseAbsolutePath: false,
146
138
  verbose: _env.env.EXPO_DEBUG
147
139
  };
148
140
  }
149
141
  function getExportEmbedOptionsKey({ // Extract all values that won't change the Metro results.
150
- resetCache, assetsDest, bundleOutput, verbose, maxWorkers, eager, ...options }) {
142
+ resetCache , assetsDest , bundleOutput , verbose , maxWorkers , eager , ...options }) {
151
143
  // Create a sorted key for the options, removing values that won't change the Metro results.
152
144
  return JSON.stringify(options, _canonicalize().default);
153
145
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/export/embed/resolveOptions.ts"],"sourcesContent":["import { resolveEntryPoint } from '@expo/config/paths';\nimport arg from 'arg';\nimport type { OutputOptions } from 'metro/src/shared/types';\nimport canonicalize from 'metro-core/src/canonicalize';\nimport os from 'os';\nimport path from 'path';\n\nimport { env } from '../../utils/env';\nimport { CommandError } from '../../utils/errors';\nimport { resolveCustomBooleanArgsAsync } from '../../utils/resolveArgs';\nimport { isAndroidUsingHermes, isIosUsingHermes } from '../exportHermes';\n\nexport interface Options {\n assetsDest?: string;\n assetCatalogDest?: string;\n entryFile: string;\n resetCache: boolean;\n transformer?: string;\n minify?: boolean;\n config?: string;\n platform: string;\n dev: boolean;\n bundleOutput: string;\n bundleEncoding?: OutputOptions['bundleEncoding'];\n maxWorkers?: number;\n sourcemapOutput?: string;\n sourcemapSourcesRoot?: string;\n sourcemapUseAbsolutePath: boolean;\n verbose: boolean;\n unstableTransformProfile?: string;\n eager?: boolean;\n bytecode?: boolean;\n}\n\nfunction assertIsBoolean(val: any): asserts val is boolean {\n if (typeof val !== 'boolean') {\n throw new CommandError(`Expected boolean, got ${typeof val}`);\n }\n}\n\nfunction getBundleEncoding(encoding: string | undefined): OutputOptions['bundleEncoding'] {\n return encoding === 'utf8' || encoding === 'utf16le' || encoding === 'ascii'\n ? encoding\n : undefined;\n}\n\nexport function resolveOptions(\n projectRoot: string,\n args: arg.Result<arg.Spec>,\n parsed: Awaited<ReturnType<typeof resolveCustomBooleanArgsAsync>>\n): Options {\n const dev = parsed.args['--dev'] ?? true;\n assertIsBoolean(dev);\n\n const platform = args['--platform'];\n if (!platform) {\n throw new CommandError(`Missing required argument: --platform`);\n }\n\n const bundleOutput = args['--bundle-output'];\n\n const commonOptions = {\n entryFile: args['--entry-file'] ?? resolveEntryPoint(projectRoot, { platform }),\n assetCatalogDest: args['--asset-catalog-dest'],\n platform,\n transformer: args['--transformer'],\n // TODO: Support `--dev false`\n // dev: false,\n bundleOutput,\n bundleEncoding: getBundleEncoding(args['--bundle-encoding']) ?? 'utf8',\n maxWorkers: args['--max-workers'],\n sourcemapOutput: args['--sourcemap-output'],\n sourcemapSourcesRoot: args['--sourcemap-sources-root'],\n sourcemapUseAbsolutePath: !!parsed.args['--sourcemap-use-absolute-path'],\n assetsDest: args['--assets-dest'],\n unstableTransformProfile: args['--unstable-transform-profile'],\n resetCache: !!parsed.args['--reset-cache'],\n verbose: args['--verbose'] ?? env.EXPO_DEBUG,\n config: args['--config'] ? path.resolve(args['--config']) : undefined,\n dev,\n minify: parsed.args['--minify'] as boolean | undefined,\n eager: !!parsed.args['--eager'],\n bytecode: parsed.args['--bytecode'] as boolean | undefined,\n };\n\n if (commonOptions.eager) {\n return resolveEagerOptionsAsync(projectRoot, commonOptions);\n }\n\n // Perform extra assertions after the eager options are resolved.\n\n if (!bundleOutput) {\n throw new CommandError(`Missing required argument: --bundle-output`);\n }\n\n const minify = parsed.args['--minify'] ?? !dev;\n assertIsBoolean(minify);\n\n return { ...commonOptions, minify, bundleOutput };\n}\n\nfunction getTemporaryPath() {\n return path.join(os.tmpdir(), Math.random().toString(36).substring(2));\n}\n\n/** Best effort guess of which options will be used for the export:embed invocation that is called from the native build scripts. */\nexport function resolveEagerOptionsAsync(\n projectRoot: string,\n {\n dev,\n platform,\n assetsDest,\n bundleOutput,\n minify,\n ...options\n }: Partial<Omit<Options, 'platform' | 'dev'>> & {\n platform: string;\n dev: boolean;\n }\n): Options {\n // If the minify prop is undefined, then check if the project is using hermes.\n minify ??= !(platform === 'android'\n ? isAndroidUsingHermes(projectRoot)\n : isIosUsingHermes(projectRoot));\n\n let destination: string | undefined;\n\n if (!assetsDest) {\n destination ??= getTemporaryPath();\n assetsDest = path.join(destination, 'assets');\n }\n\n if (!bundleOutput) {\n destination ??= getTemporaryPath();\n bundleOutput =\n platform === 'ios'\n ? path.join(destination, 'main.jsbundle')\n : path.join(destination, 'index.js');\n }\n\n return {\n ...options,\n eager: options.eager ?? true,\n bundleOutput,\n assetsDest,\n entryFile: options.entryFile ?? resolveEntryPoint(projectRoot, { platform }),\n resetCache: !!options.resetCache,\n platform,\n minify,\n dev,\n bundleEncoding: 'utf8',\n sourcemapUseAbsolutePath: false,\n verbose: env.EXPO_DEBUG,\n };\n}\n\nexport function getExportEmbedOptionsKey({\n // Extract all values that won't change the Metro results.\n resetCache,\n assetsDest,\n bundleOutput,\n verbose,\n maxWorkers,\n eager,\n ...options\n}: Options) {\n // Create a sorted key for the options, removing values that won't change the Metro results.\n return JSON.stringify(options, canonicalize);\n}\n\nexport function deserializeEagerKey(key: string) {\n return JSON.parse(key) as { options: Options; key: string };\n}\n"],"names":["deserializeEagerKey","getExportEmbedOptionsKey","resolveEagerOptionsAsync","resolveOptions","assertIsBoolean","val","CommandError","getBundleEncoding","encoding","undefined","projectRoot","args","parsed","dev","platform","bundleOutput","commonOptions","entryFile","resolveEntryPoint","assetCatalogDest","transformer","bundleEncoding","maxWorkers","sourcemapOutput","sourcemapSourcesRoot","sourcemapUseAbsolutePath","assetsDest","unstableTransformProfile","resetCache","verbose","env","EXPO_DEBUG","config","path","resolve","minify","eager","bytecode","getTemporaryPath","join","os","tmpdir","Math","random","toString","substring","options","isAndroidUsingHermes","isIosUsingHermes","destination","JSON","stringify","canonicalize","key","parse"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/export/embed/resolveOptions.ts"],"sourcesContent":["import { resolveEntryPoint } from '@expo/config/paths';\nimport arg from 'arg';\nimport type { OutputOptions } from 'metro/src/shared/types';\nimport canonicalize from 'metro-core/src/canonicalize';\nimport os from 'os';\nimport path from 'path';\n\nimport { env } from '../../utils/env';\nimport { CommandError } from '../../utils/errors';\nimport { resolveCustomBooleanArgsAsync } from '../../utils/resolveArgs';\nimport { isAndroidUsingHermes, isIosUsingHermes } from '../exportHermes';\n\nexport interface Options {\n assetsDest?: string;\n assetCatalogDest?: string;\n entryFile: string;\n resetCache: boolean;\n transformer?: string;\n minify?: boolean;\n config?: string;\n platform: string;\n dev: boolean;\n bundleOutput: string;\n bundleEncoding?: OutputOptions['bundleEncoding'];\n maxWorkers?: number;\n sourcemapOutput?: string;\n sourcemapSourcesRoot?: string;\n sourcemapUseAbsolutePath: boolean;\n verbose: boolean;\n unstableTransformProfile?: string;\n eager?: boolean;\n bytecode?: boolean;\n}\n\nfunction assertIsBoolean(val: any): asserts val is boolean {\n if (typeof val !== 'boolean') {\n throw new CommandError(`Expected boolean, got ${typeof val}`);\n }\n}\n\nfunction getBundleEncoding(encoding: string | undefined): OutputOptions['bundleEncoding'] {\n return encoding === 'utf8' || encoding === 'utf16le' || encoding === 'ascii'\n ? encoding\n : undefined;\n}\n\nexport function resolveOptions(\n projectRoot: string,\n args: arg.Result<arg.Spec>,\n parsed: Awaited<ReturnType<typeof resolveCustomBooleanArgsAsync>>\n): Options {\n const dev = parsed.args['--dev'] ?? true;\n assertIsBoolean(dev);\n\n const platform = args['--platform'];\n if (!platform) {\n throw new CommandError(`Missing required argument: --platform`);\n }\n\n const bundleOutput = args['--bundle-output'];\n\n const commonOptions = {\n entryFile: args['--entry-file'] ?? resolveEntryPoint(projectRoot, { platform }),\n assetCatalogDest: args['--asset-catalog-dest'],\n platform,\n transformer: args['--transformer'],\n // TODO: Support `--dev false`\n // dev: false,\n bundleOutput,\n bundleEncoding: getBundleEncoding(args['--bundle-encoding']) ?? 'utf8',\n maxWorkers: args['--max-workers'],\n sourcemapOutput: args['--sourcemap-output'],\n sourcemapSourcesRoot: args['--sourcemap-sources-root'],\n sourcemapUseAbsolutePath: !!parsed.args['--sourcemap-use-absolute-path'],\n assetsDest: args['--assets-dest'],\n unstableTransformProfile: args['--unstable-transform-profile'],\n resetCache: !!parsed.args['--reset-cache'],\n verbose: args['--verbose'] ?? env.EXPO_DEBUG,\n config: args['--config'] ? path.resolve(args['--config']) : undefined,\n dev,\n minify: parsed.args['--minify'] as boolean | undefined,\n eager: !!parsed.args['--eager'],\n bytecode: parsed.args['--bytecode'] as boolean | undefined,\n };\n\n if (commonOptions.eager) {\n return resolveEagerOptionsAsync(projectRoot, commonOptions);\n }\n\n // Perform extra assertions after the eager options are resolved.\n\n if (!bundleOutput) {\n throw new CommandError(`Missing required argument: --bundle-output`);\n }\n\n const minify = parsed.args['--minify'] ?? !dev;\n assertIsBoolean(minify);\n\n return { ...commonOptions, minify, bundleOutput };\n}\n\nfunction getTemporaryPath() {\n return path.join(os.tmpdir(), Math.random().toString(36).substring(2));\n}\n\n/** Best effort guess of which options will be used for the export:embed invocation that is called from the native build scripts. */\nexport function resolveEagerOptionsAsync(\n projectRoot: string,\n {\n dev,\n platform,\n assetsDest,\n bundleOutput,\n minify,\n ...options\n }: Partial<Omit<Options, 'platform' | 'dev'>> & {\n platform: string;\n dev: boolean;\n }\n): Options {\n // If the minify prop is undefined, then check if the project is using hermes.\n minify ??= !(platform === 'android'\n ? isAndroidUsingHermes(projectRoot)\n : isIosUsingHermes(projectRoot));\n\n let destination: string | undefined;\n\n if (!assetsDest) {\n destination ??= getTemporaryPath();\n assetsDest = path.join(destination, 'assets');\n }\n\n if (!bundleOutput) {\n destination ??= getTemporaryPath();\n bundleOutput =\n platform === 'ios'\n ? path.join(destination, 'main.jsbundle')\n : path.join(destination, 'index.js');\n }\n\n return {\n ...options,\n eager: options.eager ?? true,\n bundleOutput,\n assetsDest,\n entryFile: options.entryFile ?? resolveEntryPoint(projectRoot, { platform }),\n resetCache: !!options.resetCache,\n platform,\n minify,\n dev,\n bundleEncoding: 'utf8',\n sourcemapUseAbsolutePath: false,\n verbose: env.EXPO_DEBUG,\n };\n}\n\nexport function getExportEmbedOptionsKey({\n // Extract all values that won't change the Metro results.\n resetCache,\n assetsDest,\n bundleOutput,\n verbose,\n maxWorkers,\n eager,\n ...options\n}: Options) {\n // Create a sorted key for the options, removing values that won't change the Metro results.\n return JSON.stringify(options, canonicalize);\n}\n\nexport function deserializeEagerKey(key: string) {\n return JSON.parse(key) as { options: Options; key: string };\n}\n"],"names":["resolveOptions","resolveEagerOptionsAsync","getExportEmbedOptionsKey","deserializeEagerKey","assertIsBoolean","val","CommandError","getBundleEncoding","encoding","undefined","projectRoot","args","parsed","dev","platform","bundleOutput","commonOptions","entryFile","resolveEntryPoint","assetCatalogDest","transformer","bundleEncoding","maxWorkers","sourcemapOutput","sourcemapSourcesRoot","sourcemapUseAbsolutePath","assetsDest","unstableTransformProfile","resetCache","verbose","env","EXPO_DEBUG","config","path","resolve","minify","eager","bytecode","getTemporaryPath","join","os","tmpdir","Math","random","toString","substring","options","isAndroidUsingHermes","isIosUsingHermes","destination","JSON","stringify","canonicalize","key","parse"],"mappings":"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"}
@@ -14,66 +14,54 @@ function _export(target, all) {
14
14
  });
15
15
  }
16
16
  _export(exports, {
17
- getXcodeCompilerErrorMessage: function() {
18
- return getXcodeCompilerErrorMessage;
19
- },
20
- isExecutingFromXcodebuild: function() {
21
- return isExecutingFromXcodebuild;
22
- },
23
- isPossiblyUnableToResolveError: function() {
24
- return isPossiblyUnableToResolveError;
25
- },
26
- logInXcode: function() {
27
- return logInXcode;
28
- },
29
- logMetroErrorInXcode: function() {
30
- return logMetroErrorInXcode;
31
- },
32
- warnInXcode: function() {
33
- return warnInXcode;
34
- }
17
+ isPossiblyUnableToResolveError: ()=>isPossiblyUnableToResolveError,
18
+ getXcodeCompilerErrorMessage: ()=>getXcodeCompilerErrorMessage,
19
+ logMetroErrorInXcode: ()=>logMetroErrorInXcode,
20
+ logInXcode: ()=>logInXcode,
21
+ warnInXcode: ()=>warnInXcode,
22
+ isExecutingFromXcodebuild: ()=>isExecutingFromXcodebuild
35
23
  });
36
24
  function _fs() {
37
- const data = /*#__PURE__*/ _interop_require_default(require("fs"));
25
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
38
26
  _fs = function() {
39
27
  return data;
40
28
  };
41
29
  return data;
42
30
  }
43
31
  function _path() {
44
- const data = /*#__PURE__*/ _interop_require_default(require("path"));
32
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
45
33
  _path = function() {
46
34
  return data;
47
35
  };
48
36
  return data;
49
37
  }
50
38
  const _log = require("../../log");
51
- function _interop_require_default(obj) {
39
+ function _interopRequireDefault(obj) {
52
40
  return obj && obj.__esModule ? obj : {
53
41
  default: obj
54
42
  };
55
43
  }
56
44
  function isPossiblyUnableToResolveError(error) {
57
- return 'message' in error && typeof error.message === 'string' && 'originModulePath' in error && typeof error.originModulePath === 'string' && 'targetModuleName' in error && typeof error.targetModuleName === 'string';
45
+ return "message" in error && typeof error.message === "string" && "originModulePath" in error && typeof error.originModulePath === "string" && "targetModuleName" in error && typeof error.targetModuleName === "string";
58
46
  }
59
47
  function isPossiblyTransformError(error) {
60
- return 'message' in error && typeof error.message === 'string' && 'filename' in error && typeof error.filename === 'string' && 'lineNumber' in error && typeof error.lineNumber === 'number';
48
+ return "message" in error && typeof error.message === "string" && "filename" in error && typeof error.filename === "string" && "lineNumber" in error && typeof error.lineNumber === "number";
61
49
  }
62
50
  function getXcodeCompilerErrorMessage(projectRoot, error) {
63
- const makeFilepathAbsolute = (filepath)=>filepath.startsWith('/') ? filepath : _path().default.join(projectRoot, filepath);
64
- if (typeof error === 'string') {
65
- return makeXcodeCompilerLog('error', error);
66
- } else if ('message' in error) {
51
+ const makeFilepathAbsolute = (filepath)=>filepath.startsWith("/") ? filepath : _path().default.join(projectRoot, filepath);
52
+ if (typeof error === "string") {
53
+ return makeXcodeCompilerLog("error", error);
54
+ } else if ("message" in error) {
67
55
  // Metro's `UnableToResolveError`
68
56
  if (isPossiblyUnableToResolveError(error)) {
69
57
  const loc = getLineNumberForStringInFile(error.originModulePath, error.targetModuleName);
70
- return makeXcodeCompilerLog('error', error.message, {
58
+ return makeXcodeCompilerLog("error", error.message, {
71
59
  fileName: error.originModulePath,
72
60
  lineNumber: loc == null ? void 0 : loc.lineNumber,
73
61
  column: loc == null ? void 0 : loc.column
74
62
  });
75
63
  } else if (isPossiblyTransformError(error)) {
76
- return makeXcodeCompilerLog('error', error.message, {
64
+ return makeXcodeCompilerLog("error", error.message, {
77
65
  // Metro generally returns the filename as relative from the project root.
78
66
  fileName: makeFilepathAbsolute(error.filename),
79
67
  lineNumber: error.lineNumber,
@@ -82,7 +70,7 @@ function getXcodeCompilerErrorMessage(projectRoot, error) {
82
70
  // TODO: ResourceNotFoundError, GraphNotFoundError, RevisionNotFoundError, AmbiguousModuleResolutionError
83
71
  } else {
84
72
  // Unknown error
85
- return makeXcodeCompilerLog('error', error.message);
73
+ return makeXcodeCompilerLog("error", error.message);
86
74
  }
87
75
  }
88
76
  return null;
@@ -94,22 +82,22 @@ function logMetroErrorInXcode(projectRoot, error) {
94
82
  }
95
83
  }
96
84
  function logInXcode(message) {
97
- _log.Log.log(makeXcodeCompilerLog('note', message));
85
+ _log.Log.log(makeXcodeCompilerLog("note", message));
98
86
  }
99
87
  function warnInXcode(message) {
100
- _log.Log.warn(makeXcodeCompilerLog('warning', message));
88
+ _log.Log.warn(makeXcodeCompilerLog("warning", message));
101
89
  }
102
90
  function isExecutingFromXcodebuild() {
103
91
  return !!process.env.BUILT_PRODUCTS_DIR;
104
92
  }
105
- function makeXcodeCompilerLog(type, message, { fileName, lineNumber, column } = {}) {
93
+ function makeXcodeCompilerLog(type, message, { fileName , lineNumber , column } = {}) {
106
94
  if (!isExecutingFromXcodebuild()) {
107
95
  return message;
108
96
  }
109
97
  // TODO: Figure out how to support multi-line logs.
110
- const firstLine = message.split('\n')[0];
111
- if (fileName && !(fileName == null ? void 0 : fileName.includes(':'))) {
112
- return `${fileName}:${lineNumber || 0}:${column != null ? column + ':' : ''} ${type}: ${firstLine}`;
98
+ const firstLine = message.split("\n")[0];
99
+ if (fileName && !(fileName == null ? void 0 : fileName.includes(":"))) {
100
+ return `${fileName}:${lineNumber || 0}:${column != null ? column + ":" : ""} ${type}: ${firstLine}`;
113
101
  }
114
102
  return `${type}: ${firstLine}`;
115
103
  }
@@ -117,9 +105,9 @@ function makeXcodeCompilerLog(type, message, { fileName, lineNumber, column } =
117
105
  function getLineNumberForStringInFile(originModulePath, targetModuleName) {
118
106
  let file;
119
107
  try {
120
- file = _fs().default.readFileSync(originModulePath, 'utf8');
108
+ file = _fs().default.readFileSync(originModulePath, "utf8");
121
109
  } catch (error) {
122
- if (error.code === 'ENOENT' || error.code === 'EISDIR') {
110
+ if (error.code === "ENOENT" || error.code === "EISDIR") {
123
111
  // We're probably dealing with a virtualised file system where
124
112
  // `this.originModulePath` doesn't actually exist on disk.
125
113
  // We can't show a code frame, but there's no need to let this I/O
@@ -128,7 +116,7 @@ function getLineNumberForStringInFile(originModulePath, targetModuleName) {
128
116
  }
129
117
  throw error;
130
118
  }
131
- const lines = file.split('\n');
119
+ const lines = file.split("\n");
132
120
  let lineNumber = 0;
133
121
  let column = -1;
134
122
  for(let line = 0; line < lines.length; line++){
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/export/embed/xcodeCompilerLogger.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport fs from 'fs';\nimport path from 'path';\n\nimport { Log } from '../../log';\n\nexport function isPossiblyUnableToResolveError(\n error: any\n): error is { message: string; originModulePath: string; targetModuleName: string } {\n return (\n 'message' in error &&\n typeof error.message === 'string' &&\n 'originModulePath' in error &&\n typeof error.originModulePath === 'string' &&\n 'targetModuleName' in error &&\n typeof error.targetModuleName === 'string'\n );\n}\nfunction isPossiblyTransformError(\n error: any\n): error is { message: string; filename: string; lineNumber: number; column?: number } {\n return (\n 'message' in error &&\n typeof error.message === 'string' &&\n 'filename' in error &&\n typeof error.filename === 'string' &&\n 'lineNumber' in error &&\n typeof error.lineNumber === 'number'\n );\n}\n\nexport function getXcodeCompilerErrorMessage(\n projectRoot: string,\n error: Error | any\n): string | null {\n const makeFilepathAbsolute = (filepath: string) =>\n filepath.startsWith('/') ? filepath : path.join(projectRoot, filepath);\n\n if (typeof error === 'string') {\n return makeXcodeCompilerLog('error', error);\n } else if ('message' in error) {\n // Metro's `UnableToResolveError`\n if (isPossiblyUnableToResolveError(error)) {\n const loc = getLineNumberForStringInFile(error.originModulePath, error.targetModuleName);\n return makeXcodeCompilerLog('error', error.message, {\n fileName: error.originModulePath,\n lineNumber: loc?.lineNumber,\n column: loc?.column,\n });\n } else if (isPossiblyTransformError(error)) {\n return makeXcodeCompilerLog('error', error.message, {\n // Metro generally returns the filename as relative from the project root.\n fileName: makeFilepathAbsolute(error.filename),\n lineNumber: error.lineNumber,\n column: error.column,\n });\n // TODO: ResourceNotFoundError, GraphNotFoundError, RevisionNotFoundError, AmbiguousModuleResolutionError\n } else {\n // Unknown error\n return makeXcodeCompilerLog('error', error.message);\n }\n }\n\n return null;\n}\n\n/** Log an error that can be parsed by Xcode and related build tools https://developer.apple.com/documentation/xcode/running-custom-scripts-during-a-build#Log-errors-and-warnings-from-your-script */\nexport function logMetroErrorInXcode(projectRoot: string, error: Error | string) {\n const message = getXcodeCompilerErrorMessage(projectRoot, error);\n if (message != null) {\n console.error(message);\n }\n}\n\nexport function logInXcode(message: string) {\n Log.log(makeXcodeCompilerLog('note', message));\n}\n\nexport function warnInXcode(message: string) {\n Log.warn(makeXcodeCompilerLog('warning', message));\n}\n\n// Detect running in xcode build script. This means the logs need to be formatted in a way that Xcode can parse them, it also means that the shell is not reliable or interactive.\n// https://developer.apple.com/documentation/xcode/running-custom-scripts-during-a-build#Access-script-related-files-from-environment-variables\nexport function isExecutingFromXcodebuild() {\n return !!process.env.BUILT_PRODUCTS_DIR;\n}\n\nfunction makeXcodeCompilerLog(\n type: 'error' | 'fatal error' | 'warning' | 'note',\n message: string,\n {\n fileName,\n lineNumber,\n column,\n }: {\n /** Absolute file path to link to in Xcode. */\n fileName?: string;\n lineNumber?: number;\n column?: number;\n } = {}\n) {\n if (!isExecutingFromXcodebuild()) {\n return message;\n }\n // TODO: Figure out how to support multi-line logs.\n const firstLine = message.split('\\n')[0];\n if (fileName && !fileName?.includes(':')) {\n return `${fileName}:${lineNumber || 0}:${\n column != null ? column + ':' : ''\n } ${type}: ${firstLine}`;\n }\n return `${type}: ${firstLine}`;\n}\n\n// TODO: Metro doesn't expose this info even though it knows it.\nfunction getLineNumberForStringInFile(originModulePath: string, targetModuleName: string) {\n let file;\n try {\n file = fs.readFileSync(originModulePath, 'utf8');\n } catch (error: any) {\n if (error.code === 'ENOENT' || error.code === 'EISDIR') {\n // We're probably dealing with a virtualised file system where\n // `this.originModulePath` doesn't actually exist on disk.\n // We can't show a code frame, but there's no need to let this I/O\n // error shadow the original module resolution error.\n return null;\n }\n throw error;\n }\n const lines = file.split('\\n');\n let lineNumber = 0;\n let column = -1;\n for (let line = 0; line < lines.length; line++) {\n const columnLocation = lines[line].lastIndexOf(targetModuleName);\n if (columnLocation >= 0) {\n lineNumber = line;\n column = columnLocation;\n break;\n }\n }\n return { lineNumber, column };\n}\n"],"names":["getXcodeCompilerErrorMessage","isExecutingFromXcodebuild","isPossiblyUnableToResolveError","logInXcode","logMetroErrorInXcode","warnInXcode","error","message","originModulePath","targetModuleName","isPossiblyTransformError","filename","lineNumber","projectRoot","makeFilepathAbsolute","filepath","startsWith","path","join","makeXcodeCompilerLog","loc","getLineNumberForStringInFile","fileName","column","console","Log","log","warn","process","env","BUILT_PRODUCTS_DIR","type","firstLine","split","includes","file","fs","readFileSync","code","lines","line","length","columnLocation","lastIndexOf"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/export/embed/xcodeCompilerLogger.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport fs from 'fs';\nimport path from 'path';\n\nimport { Log } from '../../log';\n\nexport function isPossiblyUnableToResolveError(\n error: any\n): error is { message: string; originModulePath: string; targetModuleName: string } {\n return (\n 'message' in error &&\n typeof error.message === 'string' &&\n 'originModulePath' in error &&\n typeof error.originModulePath === 'string' &&\n 'targetModuleName' in error &&\n typeof error.targetModuleName === 'string'\n );\n}\nfunction isPossiblyTransformError(\n error: any\n): error is { message: string; filename: string; lineNumber: number; column?: number } {\n return (\n 'message' in error &&\n typeof error.message === 'string' &&\n 'filename' in error &&\n typeof error.filename === 'string' &&\n 'lineNumber' in error &&\n typeof error.lineNumber === 'number'\n );\n}\n\nexport function getXcodeCompilerErrorMessage(\n projectRoot: string,\n error: Error | any\n): string | null {\n const makeFilepathAbsolute = (filepath: string) =>\n filepath.startsWith('/') ? filepath : path.join(projectRoot, filepath);\n\n if (typeof error === 'string') {\n return makeXcodeCompilerLog('error', error);\n } else if ('message' in error) {\n // Metro's `UnableToResolveError`\n if (isPossiblyUnableToResolveError(error)) {\n const loc = getLineNumberForStringInFile(error.originModulePath, error.targetModuleName);\n return makeXcodeCompilerLog('error', error.message, {\n fileName: error.originModulePath,\n lineNumber: loc?.lineNumber,\n column: loc?.column,\n });\n } else if (isPossiblyTransformError(error)) {\n return makeXcodeCompilerLog('error', error.message, {\n // Metro generally returns the filename as relative from the project root.\n fileName: makeFilepathAbsolute(error.filename),\n lineNumber: error.lineNumber,\n column: error.column,\n });\n // TODO: ResourceNotFoundError, GraphNotFoundError, RevisionNotFoundError, AmbiguousModuleResolutionError\n } else {\n // Unknown error\n return makeXcodeCompilerLog('error', error.message);\n }\n }\n\n return null;\n}\n\n/** Log an error that can be parsed by Xcode and related build tools https://developer.apple.com/documentation/xcode/running-custom-scripts-during-a-build#Log-errors-and-warnings-from-your-script */\nexport function logMetroErrorInXcode(projectRoot: string, error: Error | string) {\n const message = getXcodeCompilerErrorMessage(projectRoot, error);\n if (message != null) {\n console.error(message);\n }\n}\n\nexport function logInXcode(message: string) {\n Log.log(makeXcodeCompilerLog('note', message));\n}\n\nexport function warnInXcode(message: string) {\n Log.warn(makeXcodeCompilerLog('warning', message));\n}\n\n// Detect running in xcode build script. This means the logs need to be formatted in a way that Xcode can parse them, it also means that the shell is not reliable or interactive.\n// https://developer.apple.com/documentation/xcode/running-custom-scripts-during-a-build#Access-script-related-files-from-environment-variables\nexport function isExecutingFromXcodebuild() {\n return !!process.env.BUILT_PRODUCTS_DIR;\n}\n\nfunction makeXcodeCompilerLog(\n type: 'error' | 'fatal error' | 'warning' | 'note',\n message: string,\n {\n fileName,\n lineNumber,\n column,\n }: {\n /** Absolute file path to link to in Xcode. */\n fileName?: string;\n lineNumber?: number;\n column?: number;\n } = {}\n) {\n if (!isExecutingFromXcodebuild()) {\n return message;\n }\n // TODO: Figure out how to support multi-line logs.\n const firstLine = message.split('\\n')[0];\n if (fileName && !fileName?.includes(':')) {\n return `${fileName}:${lineNumber || 0}:${\n column != null ? column + ':' : ''\n } ${type}: ${firstLine}`;\n }\n return `${type}: ${firstLine}`;\n}\n\n// TODO: Metro doesn't expose this info even though it knows it.\nfunction getLineNumberForStringInFile(originModulePath: string, targetModuleName: string) {\n let file;\n try {\n file = fs.readFileSync(originModulePath, 'utf8');\n } catch (error: any) {\n if (error.code === 'ENOENT' || error.code === 'EISDIR') {\n // We're probably dealing with a virtualised file system where\n // `this.originModulePath` doesn't actually exist on disk.\n // We can't show a code frame, but there's no need to let this I/O\n // error shadow the original module resolution error.\n return null;\n }\n throw error;\n }\n const lines = file.split('\\n');\n let lineNumber = 0;\n let column = -1;\n for (let line = 0; line < lines.length; line++) {\n const columnLocation = lines[line].lastIndexOf(targetModuleName);\n if (columnLocation >= 0) {\n lineNumber = line;\n column = columnLocation;\n break;\n }\n }\n return { lineNumber, column };\n}\n"],"names":["isPossiblyUnableToResolveError","getXcodeCompilerErrorMessage","logMetroErrorInXcode","logInXcode","warnInXcode","isExecutingFromXcodebuild","error","message","originModulePath","targetModuleName","isPossiblyTransformError","filename","lineNumber","projectRoot","makeFilepathAbsolute","filepath","startsWith","path","join","makeXcodeCompilerLog","loc","getLineNumberForStringInFile","fileName","column","console","Log","log","warn","process","env","BUILT_PRODUCTS_DIR","type","firstLine","split","includes","file","fs","readFileSync","code","lines","line","length","columnLocation","lastIndexOf"],"mappings":"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"}