@depup/expo__cli 55.0.16-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (782) hide show
  1. package/README.md +55 -0
  2. package/add-module.js +8 -0
  3. package/build/bin/cli +278 -0
  4. package/build/bin/cli.map +1 -0
  5. package/build/metro-require/require.js +608 -0
  6. package/build/src/api/endpoint.js +39 -0
  7. package/build/src/api/endpoint.js.map +1 -0
  8. package/build/src/api/getExpoGoIntermediateCertificate.js +23 -0
  9. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
  10. package/build/src/api/getExpoSchema.js +97 -0
  11. package/build/src/api/getExpoSchema.js.map +1 -0
  12. package/build/src/api/getNativeModuleVersions.js +37 -0
  13. package/build/src/api/getNativeModuleVersions.js.map +1 -0
  14. package/build/src/api/getProjectDevelopmentCertificate.js +26 -0
  15. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
  16. package/build/src/api/getVersions.js +29 -0
  17. package/build/src/api/getVersions.js.map +1 -0
  18. package/build/src/api/graphql/client.js +204 -0
  19. package/build/src/api/graphql/client.js.map +1 -0
  20. package/build/src/api/graphql/queries/AppQuery.js +40 -0
  21. package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
  22. package/build/src/api/graphql/queries/UserQuery.js +63 -0
  23. package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +184 -0
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -0
  26. package/build/src/api/rest/cache/ResponseCache.js +116 -0
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -0
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +76 -0
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
  30. package/build/src/api/rest/client.js +168 -0
  31. package/build/src/api/rest/client.js.map +1 -0
  32. package/build/src/api/rest/client.types.js +6 -0
  33. package/build/src/api/rest/client.types.js.map +1 -0
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js +32 -0
  35. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
  36. package/build/src/api/rest/wrapFetchWithOffline.js +26 -0
  37. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
  38. package/build/src/api/rest/wrapFetchWithProgress.js +108 -0
  39. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
  40. package/build/src/api/rest/wrapFetchWithUserAgent.js +34 -0
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -0
  42. package/build/src/api/settings.js +33 -0
  43. package/build/src/api/settings.js.map +1 -0
  44. package/build/src/api/updateDevelopmentSession.js +100 -0
  45. package/build/src/api/updateDevelopmentSession.js.map +1 -0
  46. package/build/src/api/user/UserSettings.js +183 -0
  47. package/build/src/api/user/UserSettings.js.map +1 -0
  48. package/build/src/api/user/actions.js +167 -0
  49. package/build/src/api/user/actions.js.map +1 -0
  50. package/build/src/api/user/expoSsoLauncher.js +149 -0
  51. package/build/src/api/user/expoSsoLauncher.js.map +1 -0
  52. package/build/src/api/user/otp.js +177 -0
  53. package/build/src/api/user/otp.js.map +1 -0
  54. package/build/src/api/user/user.js +154 -0
  55. package/build/src/api/user/user.js.map +1 -0
  56. package/build/src/config/configAsync.js +180 -0
  57. package/build/src/config/configAsync.js.map +1 -0
  58. package/build/src/config/index.js +101 -0
  59. package/build/src/config/index.js.map +1 -0
  60. package/build/src/customize/customizeAsync.js +57 -0
  61. package/build/src/customize/customizeAsync.js.map +1 -0
  62. package/build/src/customize/generate.js +94 -0
  63. package/build/src/customize/generate.js.map +1 -0
  64. package/build/src/customize/index.js +51 -0
  65. package/build/src/customize/index.js.map +1 -0
  66. package/build/src/customize/resolveOptions.js +23 -0
  67. package/build/src/customize/resolveOptions.js.map +1 -0
  68. package/build/src/customize/templates.js +189 -0
  69. package/build/src/customize/templates.js.map +1 -0
  70. package/build/src/customize/typescript.js +81 -0
  71. package/build/src/customize/typescript.js.map +1 -0
  72. package/build/src/events/builder.js +6 -0
  73. package/build/src/events/builder.js.map +1 -0
  74. package/build/src/events/index.js +132 -0
  75. package/build/src/events/index.js.map +1 -0
  76. package/build/src/events/stream.js +303 -0
  77. package/build/src/events/stream.js.map +1 -0
  78. package/build/src/events/types.js +6 -0
  79. package/build/src/events/types.js.map +1 -0
  80. package/build/src/expoUpdatesExports.js +28 -0
  81. package/build/src/expoUpdatesExports.js.map +1 -0
  82. package/build/src/export/createMetadataJson.js +55 -0
  83. package/build/src/export/createMetadataJson.js.map +1 -0
  84. package/build/src/export/embed/exportEager.js +33 -0
  85. package/build/src/export/embed/exportEager.js.map +1 -0
  86. package/build/src/export/embed/exportEmbedAsync.js +457 -0
  87. package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
  88. package/build/src/export/embed/exportServer.js +353 -0
  89. package/build/src/export/embed/exportServer.js.map +1 -0
  90. package/build/src/export/embed/index.js +161 -0
  91. package/build/src/export/embed/index.js.map +1 -0
  92. package/build/src/export/embed/resolveOptions.js +159 -0
  93. package/build/src/export/embed/resolveOptions.js.map +1 -0
  94. package/build/src/export/embed/xcodeCompilerLogger.js +148 -0
  95. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
  96. package/build/src/export/exportApp.js +387 -0
  97. package/build/src/export/exportApp.js.map +1 -0
  98. package/build/src/export/exportAssets.js +245 -0
  99. package/build/src/export/exportAssets.js.map +1 -0
  100. package/build/src/export/exportAsync.js +103 -0
  101. package/build/src/export/exportAsync.js.map +1 -0
  102. package/build/src/export/exportDomComponents.js +185 -0
  103. package/build/src/export/exportDomComponents.js.map +1 -0
  104. package/build/src/export/exportHermes.js +251 -0
  105. package/build/src/export/exportHermes.js.map +1 -0
  106. package/build/src/export/exportStaticAsync.js +623 -0
  107. package/build/src/export/exportStaticAsync.js.map +1 -0
  108. package/build/src/export/favicon.js +138 -0
  109. package/build/src/export/favicon.js.map +1 -0
  110. package/build/src/export/getPublicExpoManifest.js +39 -0
  111. package/build/src/export/getPublicExpoManifest.js.map +1 -0
  112. package/build/src/export/getResolvedLocales.js +52 -0
  113. package/build/src/export/getResolvedLocales.js.map +1 -0
  114. package/build/src/export/html.js +33 -0
  115. package/build/src/export/html.js.map +1 -0
  116. package/build/src/export/index.js +146 -0
  117. package/build/src/export/index.js.map +1 -0
  118. package/build/src/export/metroAssetLocalPath.js +130 -0
  119. package/build/src/export/metroAssetLocalPath.js.map +1 -0
  120. package/build/src/export/persistMetroAssets.js +269 -0
  121. package/build/src/export/persistMetroAssets.js.map +1 -0
  122. package/build/src/export/publicFolder.js +61 -0
  123. package/build/src/export/publicFolder.js.map +1 -0
  124. package/build/src/export/resolveOptions.js +92 -0
  125. package/build/src/export/resolveOptions.js.map +1 -0
  126. package/build/src/export/saveAssets.js +273 -0
  127. package/build/src/export/saveAssets.js.map +1 -0
  128. package/build/src/export/web/exportWebAsync.js +57 -0
  129. package/build/src/export/web/exportWebAsync.js.map +1 -0
  130. package/build/src/export/web/index.js +92 -0
  131. package/build/src/export/web/index.js.map +1 -0
  132. package/build/src/export/web/resolveOptions.js +18 -0
  133. package/build/src/export/web/resolveOptions.js.map +1 -0
  134. package/build/src/export/writeContents.js +19 -0
  135. package/build/src/export/writeContents.js.map +1 -0
  136. package/build/src/install/applyPlugins.js +81 -0
  137. package/build/src/install/applyPlugins.js.map +1 -0
  138. package/build/src/install/checkPackages.js +157 -0
  139. package/build/src/install/checkPackages.js.map +1 -0
  140. package/build/src/install/fixPackages.js +111 -0
  141. package/build/src/install/fixPackages.js.map +1 -0
  142. package/build/src/install/index.js +64 -0
  143. package/build/src/install/index.js.map +1 -0
  144. package/build/src/install/installAsync.js +203 -0
  145. package/build/src/install/installAsync.js.map +1 -0
  146. package/build/src/install/installExpoPackage.js +124 -0
  147. package/build/src/install/installExpoPackage.js.map +1 -0
  148. package/build/src/install/resolveOptions.js +65 -0
  149. package/build/src/install/resolveOptions.js.map +1 -0
  150. package/build/src/install/utils/autoAddConfigPlugins.js +90 -0
  151. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
  152. package/build/src/install/utils/checkPackagesCompatibility.js +66 -0
  153. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -0
  154. package/build/src/install/utils/parsePackageSpecifier.js +24 -0
  155. package/build/src/install/utils/parsePackageSpecifier.js.map +1 -0
  156. package/build/src/lint/ESlintPrerequisite.js +163 -0
  157. package/build/src/lint/ESlintPrerequisite.js.map +1 -0
  158. package/build/src/lint/index.js +68 -0
  159. package/build/src/lint/index.js.map +1 -0
  160. package/build/src/lint/lintAsync.js +183 -0
  161. package/build/src/lint/lintAsync.js.map +1 -0
  162. package/build/src/lint/resolveOptions.js +115 -0
  163. package/build/src/lint/resolveOptions.js.map +1 -0
  164. package/build/src/log.js +106 -0
  165. package/build/src/log.js.map +1 -0
  166. package/build/src/login/index.js +92 -0
  167. package/build/src/login/index.js.map +1 -0
  168. package/build/src/logout/index.js +70 -0
  169. package/build/src/logout/index.js.map +1 -0
  170. package/build/src/prebuild/clearNativeFolder.js +202 -0
  171. package/build/src/prebuild/clearNativeFolder.js.map +1 -0
  172. package/build/src/prebuild/configureProjectAsync.js +106 -0
  173. package/build/src/prebuild/configureProjectAsync.js.map +1 -0
  174. package/build/src/prebuild/copyTemplateFiles.js +95 -0
  175. package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
  176. package/build/src/prebuild/ensureConfigAsync.js +32 -0
  177. package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
  178. package/build/src/prebuild/index.js +122 -0
  179. package/build/src/prebuild/index.js.map +1 -0
  180. package/build/src/prebuild/prebuildAsync.js +192 -0
  181. package/build/src/prebuild/prebuildAsync.js.map +1 -0
  182. package/build/src/prebuild/renameTemplateAppName.js +135 -0
  183. package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
  184. package/build/src/prebuild/resolveLocalTemplate.js +72 -0
  185. package/build/src/prebuild/resolveLocalTemplate.js.map +1 -0
  186. package/build/src/prebuild/resolveOptions.js +222 -0
  187. package/build/src/prebuild/resolveOptions.js.map +1 -0
  188. package/build/src/prebuild/resolveTemplate.js +216 -0
  189. package/build/src/prebuild/resolveTemplate.js.map +1 -0
  190. package/build/src/prebuild/updateFromTemplate.js +148 -0
  191. package/build/src/prebuild/updateFromTemplate.js.map +1 -0
  192. package/build/src/prebuild/updatePackageJson.js +305 -0
  193. package/build/src/prebuild/updatePackageJson.js.map +1 -0
  194. package/build/src/prebuild/validateTemplatePlatforms.js +85 -0
  195. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
  196. package/build/src/register/index.js +70 -0
  197. package/build/src/register/index.js.map +1 -0
  198. package/build/src/register/registerAsync.js +39 -0
  199. package/build/src/register/registerAsync.js.map +1 -0
  200. package/build/src/run/android/index.js +139 -0
  201. package/build/src/run/android/index.js.map +1 -0
  202. package/build/src/run/android/resolveDevice.js +28 -0
  203. package/build/src/run/android/resolveDevice.js.map +1 -0
  204. package/build/src/run/android/resolveGradlePropsAsync.js +82 -0
  205. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
  206. package/build/src/run/android/resolveInstallApkName.js +67 -0
  207. package/build/src/run/android/resolveInstallApkName.js.map +1 -0
  208. package/build/src/run/android/resolveLaunchProps.js +44 -0
  209. package/build/src/run/android/resolveLaunchProps.js.map +1 -0
  210. package/build/src/run/android/resolveOptions.js +43 -0
  211. package/build/src/run/android/resolveOptions.js.map +1 -0
  212. package/build/src/run/android/runAndroidAsync.js +157 -0
  213. package/build/src/run/android/runAndroidAsync.js.map +1 -0
  214. package/build/src/run/ensureNativeProject.js +53 -0
  215. package/build/src/run/ensureNativeProject.js.map +1 -0
  216. package/build/src/run/hints.js +46 -0
  217. package/build/src/run/hints.js.map +1 -0
  218. package/build/src/run/index.js +124 -0
  219. package/build/src/run/index.js.map +1 -0
  220. package/build/src/run/ios/XcodeBuild.js +382 -0
  221. package/build/src/run/ios/XcodeBuild.js.map +1 -0
  222. package/build/src/run/ios/XcodeBuild.types.js +6 -0
  223. package/build/src/run/ios/XcodeBuild.types.js.map +1 -0
  224. package/build/src/run/ios/appleDevice/AppleDevice.js +316 -0
  225. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
  226. package/build/src/run/ios/appleDevice/ClientManager.js +207 -0
  227. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
  228. package/build/src/run/ios/appleDevice/client/AFCClient.js +248 -0
  229. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
  230. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +149 -0
  231. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
  232. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +113 -0
  233. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
  234. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +186 -0
  235. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
  236. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +133 -0
  237. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
  238. package/build/src/run/ios/appleDevice/client/ServiceClient.js +38 -0
  239. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
  240. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +146 -0
  241. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
  242. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +153 -0
  243. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
  244. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +365 -0
  245. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
  246. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +167 -0
  247. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
  248. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +153 -0
  249. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
  250. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +111 -0
  251. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
  252. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +100 -0
  253. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
  254. package/build/src/run/ios/codeSigning/Security.js +116 -0
  255. package/build/src/run/ios/codeSigning/Security.js.map +1 -0
  256. package/build/src/run/ios/codeSigning/configureCodeSigning.js +108 -0
  257. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
  258. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +165 -0
  259. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
  260. package/build/src/run/ios/codeSigning/settings.js +27 -0
  261. package/build/src/run/ios/codeSigning/settings.js.map +1 -0
  262. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +67 -0
  263. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
  264. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +103 -0
  265. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
  266. package/build/src/run/ios/index.js +137 -0
  267. package/build/src/run/ios/index.js.map +1 -0
  268. package/build/src/run/ios/launchApp.js +142 -0
  269. package/build/src/run/ios/launchApp.js.map +1 -0
  270. package/build/src/run/ios/options/appleDestinations.js +126 -0
  271. package/build/src/run/ios/options/appleDestinations.js.map +1 -0
  272. package/build/src/run/ios/options/promptDevice.js +64 -0
  273. package/build/src/run/ios/options/promptDevice.js.map +1 -0
  274. package/build/src/run/ios/options/resolveDevice.js +151 -0
  275. package/build/src/run/ios/options/resolveDevice.js.map +1 -0
  276. package/build/src/run/ios/options/resolveNativeScheme.js +147 -0
  277. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
  278. package/build/src/run/ios/options/resolveOptions.js +66 -0
  279. package/build/src/run/ios/options/resolveOptions.js.map +1 -0
  280. package/build/src/run/ios/options/resolveXcodeProject.js +50 -0
  281. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
  282. package/build/src/run/ios/runIosAsync.js +255 -0
  283. package/build/src/run/ios/runIosAsync.js.map +1 -0
  284. package/build/src/run/ios/validateExternalBinary.js +113 -0
  285. package/build/src/run/ios/validateExternalBinary.js.map +1 -0
  286. package/build/src/run/resolveBundlerProps.js +38 -0
  287. package/build/src/run/resolveBundlerProps.js.map +1 -0
  288. package/build/src/run/startBundler.js +119 -0
  289. package/build/src/run/startBundler.js.map +1 -0
  290. package/build/src/serve/index.js +95 -0
  291. package/build/src/serve/index.js.map +1 -0
  292. package/build/src/serve/serveAsync.js +227 -0
  293. package/build/src/serve/serveAsync.js.map +1 -0
  294. package/build/src/start/detectDevClient.js +53 -0
  295. package/build/src/start/detectDevClient.js.map +1 -0
  296. package/build/src/start/doctor/Prerequisite.js +60 -0
  297. package/build/src/start/doctor/Prerequisite.js.map +1 -0
  298. package/build/src/start/doctor/SecurityBinPrerequisite.js +38 -0
  299. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
  300. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +144 -0
  301. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
  302. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +106 -0
  303. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
  304. package/build/src/start/doctor/apple/XcodePrerequisite.js +239 -0
  305. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
  306. package/build/src/start/doctor/apple/XcrunPrerequisite.js +88 -0
  307. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
  308. package/build/src/start/doctor/dependencies/bundledNativeModules.js +112 -0
  309. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
  310. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +192 -0
  311. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
  312. package/build/src/start/doctor/dependencies/getMissingPackages.js +108 -0
  313. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
  314. package/build/src/start/doctor/dependencies/getVersionedPackages.js +165 -0
  315. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
  316. package/build/src/start/doctor/dependencies/resolvePackages.js +95 -0
  317. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -0
  318. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +262 -0
  319. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
  320. package/build/src/start/doctor/ngrok/ExternalModule.js +214 -0
  321. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
  322. package/build/src/start/doctor/ngrok/NgrokResolver.js +33 -0
  323. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
  324. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +205 -0
  325. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
  326. package/build/src/start/doctor/typescript/updateTSConfig.js +144 -0
  327. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
  328. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +164 -0
  329. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
  330. package/build/src/start/index.js +151 -0
  331. package/build/src/start/index.js.map +1 -0
  332. package/build/src/start/interface/KeyPressHandler.js +126 -0
  333. package/build/src/start/interface/KeyPressHandler.js.map +1 -0
  334. package/build/src/start/interface/cliExtensionMenuItemHandler.js +173 -0
  335. package/build/src/start/interface/cliExtensionMenuItemHandler.js.map +1 -0
  336. package/build/src/start/interface/commandsTable.js +273 -0
  337. package/build/src/start/interface/commandsTable.js.map +1 -0
  338. package/build/src/start/interface/createDevToolsMenuItems.js +159 -0
  339. package/build/src/start/interface/createDevToolsMenuItems.js.map +1 -0
  340. package/build/src/start/interface/interactiveActions.js +225 -0
  341. package/build/src/start/interface/interactiveActions.js.map +1 -0
  342. package/build/src/start/interface/startInterface.js +261 -0
  343. package/build/src/start/interface/startInterface.js.map +1 -0
  344. package/build/src/start/platforms/AppIdResolver.js +55 -0
  345. package/build/src/start/platforms/AppIdResolver.js.map +1 -0
  346. package/build/src/start/platforms/DeviceManager.js +74 -0
  347. package/build/src/start/platforms/DeviceManager.js.map +1 -0
  348. package/build/src/start/platforms/ExpoGoInstaller.js +167 -0
  349. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
  350. package/build/src/start/platforms/PlatformManager.js +149 -0
  351. package/build/src/start/platforms/PlatformManager.js.map +1 -0
  352. package/build/src/start/platforms/android/ADBServer.js +139 -0
  353. package/build/src/start/platforms/android/ADBServer.js.map +1 -0
  354. package/build/src/start/platforms/android/AndroidAppIdResolver.js +54 -0
  355. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
  356. package/build/src/start/platforms/android/AndroidDeviceManager.js +216 -0
  357. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
  358. package/build/src/start/platforms/android/AndroidPlatformManager.js +80 -0
  359. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
  360. package/build/src/start/platforms/android/AndroidSdk.js +79 -0
  361. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -0
  362. package/build/src/start/platforms/android/activateWindow.js +117 -0
  363. package/build/src/start/platforms/android/activateWindow.js.map +1 -0
  364. package/build/src/start/platforms/android/adb.js +367 -0
  365. package/build/src/start/platforms/android/adb.js.map +1 -0
  366. package/build/src/start/platforms/android/adbReverse.js +129 -0
  367. package/build/src/start/platforms/android/adbReverse.js.map +1 -0
  368. package/build/src/start/platforms/android/emulator.js +185 -0
  369. package/build/src/start/platforms/android/emulator.js.map +1 -0
  370. package/build/src/start/platforms/android/getDevices.js +39 -0
  371. package/build/src/start/platforms/android/getDevices.js.map +1 -0
  372. package/build/src/start/platforms/android/gradle.js +125 -0
  373. package/build/src/start/platforms/android/gradle.js.map +1 -0
  374. package/build/src/start/platforms/android/promptAndroidDevice.js +82 -0
  375. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
  376. package/build/src/start/platforms/ios/AppleAppIdResolver.js +76 -0
  377. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
  378. package/build/src/start/platforms/ios/AppleDeviceManager.js +283 -0
  379. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
  380. package/build/src/start/platforms/ios/ApplePlatformManager.js +34 -0
  381. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
  382. package/build/src/start/platforms/ios/assertSystemRequirements.js +22 -0
  383. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
  384. package/build/src/start/platforms/ios/devicectl.js +398 -0
  385. package/build/src/start/platforms/ios/devicectl.js.map +1 -0
  386. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +122 -0
  387. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
  388. package/build/src/start/platforms/ios/getBestSimulator.js +148 -0
  389. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
  390. package/build/src/start/platforms/ios/promptAppleDevice.js +72 -0
  391. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
  392. package/build/src/start/platforms/ios/simctl.js +386 -0
  393. package/build/src/start/platforms/ios/simctl.js.map +1 -0
  394. package/build/src/start/platforms/ios/simctlLogging.js +276 -0
  395. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
  396. package/build/src/start/platforms/ios/xcrun.js +74 -0
  397. package/build/src/start/platforms/ios/xcrun.js.map +1 -0
  398. package/build/src/start/project/devices.js +92 -0
  399. package/build/src/start/project/devices.js.map +1 -0
  400. package/build/src/start/project/dotExpo.js +109 -0
  401. package/build/src/start/project/dotExpo.js.map +1 -0
  402. package/build/src/start/project/settings.js +17 -0
  403. package/build/src/start/project/settings.js.map +1 -0
  404. package/build/src/start/resolveOptions.js +173 -0
  405. package/build/src/start/resolveOptions.js.map +1 -0
  406. package/build/src/start/server/AsyncNgrok.js +269 -0
  407. package/build/src/start/server/AsyncNgrok.js.map +1 -0
  408. package/build/src/start/server/AsyncWsTunnel.js +156 -0
  409. package/build/src/start/server/AsyncWsTunnel.js.map +1 -0
  410. package/build/src/start/server/Bonjour.js +103 -0
  411. package/build/src/start/server/Bonjour.js.map +1 -0
  412. package/build/src/start/server/BundlerDevServer.js +410 -0
  413. package/build/src/start/server/BundlerDevServer.js.map +1 -0
  414. package/build/src/start/server/DevServerManager.js +259 -0
  415. package/build/src/start/server/DevServerManager.js.map +1 -0
  416. package/build/src/start/server/DevToolsPlugin.js +60 -0
  417. package/build/src/start/server/DevToolsPlugin.js.map +1 -0
  418. package/build/src/start/server/DevToolsPlugin.schema.js +79 -0
  419. package/build/src/start/server/DevToolsPlugin.schema.js.map +1 -0
  420. package/build/src/start/server/DevToolsPluginCliExtensionExecutor.js +119 -0
  421. package/build/src/start/server/DevToolsPluginCliExtensionExecutor.js.map +1 -0
  422. package/build/src/start/server/DevToolsPluginCliExtensionResults.js +61 -0
  423. package/build/src/start/server/DevToolsPluginCliExtensionResults.js.map +1 -0
  424. package/build/src/start/server/DevToolsPluginManager.js +60 -0
  425. package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
  426. package/build/src/start/server/DevelopmentSession.js +132 -0
  427. package/build/src/start/server/DevelopmentSession.js.map +1 -0
  428. package/build/src/start/server/MCP.js +106 -0
  429. package/build/src/start/server/MCP.js.map +1 -0
  430. package/build/src/start/server/MCPDevToolsPluginCLIExtensions.js +86 -0
  431. package/build/src/start/server/MCPDevToolsPluginCLIExtensions.js.map +1 -0
  432. package/build/src/start/server/UrlCreator.js +219 -0
  433. package/build/src/start/server/UrlCreator.js.map +1 -0
  434. package/build/src/start/server/createMCPDevToolsExtensionSchema.js +67 -0
  435. package/build/src/start/server/createMCPDevToolsExtensionSchema.js.map +1 -0
  436. package/build/src/start/server/getStaticRenderFunctions.js +171 -0
  437. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
  438. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +39 -0
  439. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -0
  440. package/build/src/start/server/metro/MetroBundlerDevServer.js +1654 -0
  441. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
  442. package/build/src/start/server/metro/MetroTerminalReporter.js +438 -0
  443. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
  444. package/build/src/start/server/metro/TerminalReporter.js +180 -0
  445. package/build/src/start/server/metro/TerminalReporter.js.map +1 -0
  446. package/build/src/start/server/metro/TerminalReporter.types.js +6 -0
  447. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -0
  448. package/build/src/start/server/metro/createExpoAutolinkingResolver.js +123 -0
  449. package/build/src/start/server/metro/createExpoAutolinkingResolver.js.map +1 -0
  450. package/build/src/start/server/metro/createExpoFallbackResolver.js +143 -0
  451. package/build/src/start/server/metro/createExpoFallbackResolver.js.map +1 -0
  452. package/build/src/start/server/metro/createServerComponentsMiddleware.js +501 -0
  453. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -0
  454. package/build/src/start/server/metro/createServerRouteMiddleware.js +229 -0
  455. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
  456. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +49 -0
  457. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -0
  458. package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
  459. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
  460. package/build/src/start/server/metro/debugging/attachAtlas.js +103 -0
  461. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -0
  462. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +127 -0
  463. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -0
  464. package/build/src/start/server/metro/debugging/createHandlersFactory.js +58 -0
  465. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
  466. package/build/src/start/server/metro/debugging/getDebuggerType.js +20 -0
  467. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
  468. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +44 -0
  469. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
  470. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +30 -0
  471. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
  472. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +27 -0
  473. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
  474. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +33 -0
  475. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
  476. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +56 -0
  477. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -0
  478. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +49 -0
  479. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
  480. package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
  481. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
  482. package/build/src/start/server/metro/debugging/types.js +6 -0
  483. package/build/src/start/server/metro/debugging/types.js.map +1 -0
  484. package/build/src/start/server/metro/dev-server/compression.js +45 -0
  485. package/build/src/start/server/metro/dev-server/compression.js.map +1 -0
  486. package/build/src/start/server/metro/dev-server/createEventSocket.js +103 -0
  487. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -0
  488. package/build/src/start/server/metro/dev-server/createMessageSocket.js +129 -0
  489. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -0
  490. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +82 -0
  491. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -0
  492. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +27 -0
  493. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -0
  494. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +43 -0
  495. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -0
  496. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +41 -0
  497. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -0
  498. package/build/src/start/server/metro/errors/FailedToResolveNativeOnlyModuleError.js +17 -0
  499. package/build/src/start/server/metro/errors/FailedToResolveNativeOnlyModuleError.js.map +1 -0
  500. package/build/src/start/server/metro/externals.js +89 -0
  501. package/build/src/start/server/metro/externals.js.map +1 -0
  502. package/build/src/start/server/metro/fetchRouterManifest.js +83 -0
  503. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
  504. package/build/src/start/server/metro/getCssModulesFromBundler.js +114 -0
  505. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
  506. package/build/src/start/server/metro/instantiateMetro.js +492 -0
  507. package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
  508. package/build/src/start/server/metro/log-box/LogBoxLog.js +211 -0
  509. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -0
  510. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +124 -0
  511. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -0
  512. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +46 -0
  513. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -0
  514. package/build/src/start/server/metro/metroErrorInterface.js +403 -0
  515. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
  516. package/build/src/start/server/metro/metroErrors.js +27 -0
  517. package/build/src/start/server/metro/metroErrors.js.map +1 -0
  518. package/build/src/start/server/metro/metroVirtualModules.js +92 -0
  519. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
  520. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +62 -0
  521. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
  522. package/build/src/start/server/metro/resolveLoader.js +68 -0
  523. package/build/src/start/server/metro/resolveLoader.js.map +1 -0
  524. package/build/src/start/server/metro/router.js +218 -0
  525. package/build/src/start/server/metro/router.js.map +1 -0
  526. package/build/src/start/server/metro/runServer-fork.js +179 -0
  527. package/build/src/start/server/metro/runServer-fork.js.map +1 -0
  528. package/build/src/start/server/metro/serializeHtml.js +138 -0
  529. package/build/src/start/server/metro/serializeHtml.js.map +1 -0
  530. package/build/src/start/server/metro/symbolicate.js +6 -0
  531. package/build/src/start/server/metro/symbolicate.js.map +1 -0
  532. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +103 -0
  533. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
  534. package/build/src/start/server/metro/withMetroErrorReportingResolver.js +266 -0
  535. package/build/src/start/server/metro/withMetroErrorReportingResolver.js.map +1 -0
  536. package/build/src/start/server/metro/withMetroMultiPlatform.js +748 -0
  537. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
  538. package/build/src/start/server/metro/withMetroResolvers.js +110 -0
  539. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
  540. package/build/src/start/server/metro/withMetroSupervisingTransformWorker.js +63 -0
  541. package/build/src/start/server/metro/withMetroSupervisingTransformWorker.js.map +1 -0
  542. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +32 -0
  543. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
  544. package/build/src/start/server/middleware/CorsMiddleware.js +92 -0
  545. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -0
  546. package/build/src/start/server/middleware/CreateFileMiddleware.js +166 -0
  547. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
  548. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +78 -0
  549. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
  550. package/build/src/start/server/middleware/DomComponentsMiddleware.js +138 -0
  551. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -0
  552. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +288 -0
  553. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
  554. package/build/src/start/server/middleware/ExpoMiddleware.js +121 -0
  555. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
  556. package/build/src/start/server/middleware/FaviconMiddleware.js +52 -0
  557. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
  558. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +29 -0
  559. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
  560. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +116 -0
  561. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
  562. package/build/src/start/server/middleware/ManifestMiddleware.js +362 -0
  563. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
  564. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +103 -0
  565. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
  566. package/build/src/start/server/middleware/ServeStaticMiddleware.js +85 -0
  567. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
  568. package/build/src/start/server/middleware/inspector/CdpClient.js +81 -0
  569. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -0
  570. package/build/src/start/server/middleware/inspector/JsInspector.js +123 -0
  571. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
  572. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +91 -0
  573. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
  574. package/build/src/start/server/middleware/inspector/middlwareMutations.js +30 -0
  575. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
  576. package/build/src/start/server/middleware/metroOptions.js +367 -0
  577. package/build/src/start/server/middleware/metroOptions.js.map +1 -0
  578. package/build/src/start/server/middleware/mutations.js +33 -0
  579. package/build/src/start/server/middleware/mutations.js.map +1 -0
  580. package/build/src/start/server/middleware/resolveAssets.js +154 -0
  581. package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
  582. package/build/src/start/server/middleware/resolvePlatform.js +71 -0
  583. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
  584. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +38 -0
  585. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -0
  586. package/build/src/start/server/middleware/server.types.js +6 -0
  587. package/build/src/start/server/middleware/server.types.js.map +1 -0
  588. package/build/src/start/server/openPlatforms.js +33 -0
  589. package/build/src/start/server/openPlatforms.js.map +1 -0
  590. package/build/src/start/server/platformBundlers.js +39 -0
  591. package/build/src/start/server/platformBundlers.js.map +1 -0
  592. package/build/src/start/server/serverLogLikeMetro.js +309 -0
  593. package/build/src/start/server/serverLogLikeMetro.js.map +1 -0
  594. package/build/src/start/server/type-generation/expo-env.js +51 -0
  595. package/build/src/start/server/type-generation/expo-env.js.map +1 -0
  596. package/build/src/start/server/type-generation/routes.js +510 -0
  597. package/build/src/start/server/type-generation/routes.js.map +1 -0
  598. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +79 -0
  599. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
  600. package/build/src/start/server/type-generation/tsconfig.js +122 -0
  601. package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
  602. package/build/src/start/server/webTemplate.js +111 -0
  603. package/build/src/start/server/webTemplate.js.map +1 -0
  604. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +316 -0
  605. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
  606. package/build/src/start/server/webpack/compile.js +101 -0
  607. package/build/src/start/server/webpack/compile.js.map +1 -0
  608. package/build/src/start/server/webpack/formatWebpackMessages.js +106 -0
  609. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
  610. package/build/src/start/server/webpack/resolveFromProject.js +63 -0
  611. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
  612. package/build/src/start/server/webpack/tls.js +128 -0
  613. package/build/src/start/server/webpack/tls.js.map +1 -0
  614. package/build/src/start/startAsync.js +204 -0
  615. package/build/src/start/startAsync.js.map +1 -0
  616. package/build/src/types.d.ts +2 -0
  617. package/build/src/utils/FileNotifier.js +138 -0
  618. package/build/src/utils/FileNotifier.js.map +1 -0
  619. package/build/src/utils/ansi.js +22 -0
  620. package/build/src/utils/ansi.js.map +1 -0
  621. package/build/src/utils/args.js +141 -0
  622. package/build/src/utils/args.js.map +1 -0
  623. package/build/src/utils/array.js +92 -0
  624. package/build/src/utils/array.js.map +1 -0
  625. package/build/src/utils/build-cache-providers/helpers.js +61 -0
  626. package/build/src/utils/build-cache-providers/helpers.js.map +1 -0
  627. package/build/src/utils/build-cache-providers/index.js +283 -0
  628. package/build/src/utils/build-cache-providers/index.js.map +1 -0
  629. package/build/src/utils/cocoapods.js +258 -0
  630. package/build/src/utils/cocoapods.js.map +1 -0
  631. package/build/src/utils/codesigning.js +395 -0
  632. package/build/src/utils/codesigning.js.map +1 -0
  633. package/build/src/utils/createFileTransform.js +34 -0
  634. package/build/src/utils/createFileTransform.js.map +1 -0
  635. package/build/src/utils/createTempPath.js +68 -0
  636. package/build/src/utils/createTempPath.js.map +1 -0
  637. package/build/src/utils/delay.js +58 -0
  638. package/build/src/utils/delay.js.map +1 -0
  639. package/build/src/utils/dir.js +121 -0
  640. package/build/src/utils/dir.js.map +1 -0
  641. package/build/src/utils/downloadAppAsync.js +98 -0
  642. package/build/src/utils/downloadAppAsync.js.map +1 -0
  643. package/build/src/utils/downloadExpoGoAsync.js +170 -0
  644. package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
  645. package/build/src/utils/editor.js +527 -0
  646. package/build/src/utils/editor.js.map +1 -0
  647. package/build/src/utils/env.js +266 -0
  648. package/build/src/utils/env.js.map +1 -0
  649. package/build/src/utils/errors.js +134 -0
  650. package/build/src/utils/errors.js.map +1 -0
  651. package/build/src/utils/exit.js +210 -0
  652. package/build/src/utils/exit.js.map +1 -0
  653. package/build/src/utils/expoUpdatesCli.js +120 -0
  654. package/build/src/utils/expoUpdatesCli.js.map +1 -0
  655. package/build/src/utils/fetch.js +41 -0
  656. package/build/src/utils/fetch.js.map +1 -0
  657. package/build/src/utils/filePath.js +42 -0
  658. package/build/src/utils/filePath.js.map +1 -0
  659. package/build/src/utils/findUp.js +61 -0
  660. package/build/src/utils/findUp.js.map +1 -0
  661. package/build/src/utils/fn.js +44 -0
  662. package/build/src/utils/fn.js.map +1 -0
  663. package/build/src/utils/freeport.js +70 -0
  664. package/build/src/utils/freeport.js.map +1 -0
  665. package/build/src/utils/getOrPromptApplicationId.js +259 -0
  666. package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
  667. package/build/src/utils/getRunningProcess.js +181 -0
  668. package/build/src/utils/getRunningProcess.js.map +1 -0
  669. package/build/src/utils/git.js +132 -0
  670. package/build/src/utils/git.js.map +1 -0
  671. package/build/src/utils/glob.js +46 -0
  672. package/build/src/utils/glob.js.map +1 -0
  673. package/build/src/utils/interactive.js +17 -0
  674. package/build/src/utils/interactive.js.map +1 -0
  675. package/build/src/utils/ip.js +63 -0
  676. package/build/src/utils/ip.js.map +1 -0
  677. package/build/src/utils/isModuleSymlinked.js +54 -0
  678. package/build/src/utils/isModuleSymlinked.js.map +1 -0
  679. package/build/src/utils/link.js +55 -0
  680. package/build/src/utils/link.js.map +1 -0
  681. package/build/src/utils/mergeGitIgnorePaths.js +189 -0
  682. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
  683. package/build/src/utils/modifyConfigAsync.js +106 -0
  684. package/build/src/utils/modifyConfigAsync.js.map +1 -0
  685. package/build/src/utils/modifyConfigPlugins.js +79 -0
  686. package/build/src/utils/modifyConfigPlugins.js.map +1 -0
  687. package/build/src/utils/net.js +43 -0
  688. package/build/src/utils/net.js.map +1 -0
  689. package/build/src/utils/nodeEnv.js +168 -0
  690. package/build/src/utils/nodeEnv.js.map +1 -0
  691. package/build/src/utils/nodeModules.js +52 -0
  692. package/build/src/utils/nodeModules.js.map +1 -0
  693. package/build/src/utils/npm.js +222 -0
  694. package/build/src/utils/npm.js.map +1 -0
  695. package/build/src/utils/obj.js +59 -0
  696. package/build/src/utils/obj.js.map +1 -0
  697. package/build/src/utils/open.js +36 -0
  698. package/build/src/utils/open.js.map +1 -0
  699. package/build/src/utils/ora.js +113 -0
  700. package/build/src/utils/ora.js.map +1 -0
  701. package/build/src/utils/plist.js +108 -0
  702. package/build/src/utils/plist.js.map +1 -0
  703. package/build/src/utils/port.js +196 -0
  704. package/build/src/utils/port.js.map +1 -0
  705. package/build/src/utils/profile.js +94 -0
  706. package/build/src/utils/profile.js.map +1 -0
  707. package/build/src/utils/progress.js +76 -0
  708. package/build/src/utils/progress.js.map +1 -0
  709. package/build/src/utils/prompts.js +151 -0
  710. package/build/src/utils/prompts.js.map +1 -0
  711. package/build/src/utils/qr.js +186 -0
  712. package/build/src/utils/qr.js.map +1 -0
  713. package/build/src/utils/resolveArgs.js +236 -0
  714. package/build/src/utils/resolveArgs.js.map +1 -0
  715. package/build/src/utils/resolveGlobal.js +195 -0
  716. package/build/src/utils/resolveGlobal.js.map +1 -0
  717. package/build/src/utils/scheme.js +212 -0
  718. package/build/src/utils/scheme.js.map +1 -0
  719. package/build/src/utils/stream.js +31 -0
  720. package/build/src/utils/stream.js.map +1 -0
  721. package/build/src/utils/strings.js +33 -0
  722. package/build/src/utils/strings.js.map +1 -0
  723. package/build/src/utils/tar.js +168 -0
  724. package/build/src/utils/tar.js.map +1 -0
  725. package/build/src/utils/telemetry/Telemetry.js +131 -0
  726. package/build/src/utils/telemetry/Telemetry.js.map +1 -0
  727. package/build/src/utils/telemetry/clients/FetchClient.js +91 -0
  728. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -0
  729. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +86 -0
  730. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -0
  731. package/build/src/utils/telemetry/clients/flushFetchDetached.js +39 -0
  732. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -0
  733. package/build/src/utils/telemetry/events.js +20 -0
  734. package/build/src/utils/telemetry/events.js.map +1 -0
  735. package/build/src/utils/telemetry/index.js +72 -0
  736. package/build/src/utils/telemetry/index.js.map +1 -0
  737. package/build/src/utils/telemetry/types.js +6 -0
  738. package/build/src/utils/telemetry/types.js.map +1 -0
  739. package/build/src/utils/telemetry/utils/constants.js +23 -0
  740. package/build/src/utils/telemetry/utils/constants.js.map +1 -0
  741. package/build/src/utils/telemetry/utils/context.js +115 -0
  742. package/build/src/utils/telemetry/utils/context.js.map +1 -0
  743. package/build/src/utils/template.js +48 -0
  744. package/build/src/utils/template.js.map +1 -0
  745. package/build/src/utils/terminal.js +15 -0
  746. package/build/src/utils/terminal.js.map +1 -0
  747. package/build/src/utils/tsconfig/evaluateTsConfig.js +87 -0
  748. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
  749. package/build/src/utils/tsconfig/loadTsConfigPaths.js +84 -0
  750. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
  751. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +94 -0
  752. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
  753. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +62 -0
  754. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
  755. package/build/src/utils/url.js +92 -0
  756. package/build/src/utils/url.js.map +1 -0
  757. package/build/src/utils/validateApplicationId.js +255 -0
  758. package/build/src/utils/validateApplicationId.js.map +1 -0
  759. package/build/src/utils/variadic.js +132 -0
  760. package/build/src/utils/variadic.js.map +1 -0
  761. package/build/src/whoami/index.js +69 -0
  762. package/build/src/whoami/index.js.map +1 -0
  763. package/build/src/whoami/whoamiAsync.js +75 -0
  764. package/build/src/whoami/whoamiAsync.js.map +1 -0
  765. package/changes.json +106 -0
  766. package/internal/unstable-expo-updates-exports.d.ts +31 -0
  767. package/internal/unstable-expo-updates-exports.js +3 -0
  768. package/package.json +275 -0
  769. package/static/loading-page/index.html +363 -0
  770. package/static/shims/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +13 -0
  771. package/static/shims/react-native-web/dist/cjs/exports/BackHandler/index.js +10 -0
  772. package/static/shims/react-native-web/dist/exports/AppRegistry/AppContainer.js +12 -0
  773. package/static/shims/react-native-web/dist/exports/BackHandler/index.js +7 -0
  774. package/static/template/+html.tsx +28 -0
  775. package/static/template/+native-intent.ts +9 -0
  776. package/static/template/.eslintrc.js +5 -0
  777. package/static/template/[...rsc]+api.ts +16 -0
  778. package/static/template/babel.config.js +6 -0
  779. package/static/template/eslint.config.js +10 -0
  780. package/static/template/index.html +36 -0
  781. package/static/template/metro.config.js +7 -0
  782. package/static/template/webpack.config.js +7 -0
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Copyright © 2023 650 Industries.
3
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ * Based on the community asset persisting for Metro but with base path and web support:
9
+ * https://github.com/facebook/react-native/blob/d6e0bc714ad4d215ede4949d3c4f44af6dea5dd3/packages/community-cli-plugin/src/commands/bundle/saveAssets.js#L1
10
+ */ "use strict";
11
+ Object.defineProperty(exports, "__esModule", {
12
+ value: true
13
+ });
14
+ function _export(target, all) {
15
+ for(var name in all)Object.defineProperty(target, name, {
16
+ enumerable: true,
17
+ get: all[name]
18
+ });
19
+ }
20
+ _export(exports, {
21
+ drawableFileTypes: function() {
22
+ return drawableFileTypes;
23
+ },
24
+ getAssetLocalPath: function() {
25
+ return getAssetLocalPath;
26
+ },
27
+ stripAssetPrefix: function() {
28
+ return stripAssetPrefix;
29
+ }
30
+ });
31
+ function _path() {
32
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
33
+ _path = function() {
34
+ return data;
35
+ };
36
+ return data;
37
+ }
38
+ function _interop_require_default(obj) {
39
+ return obj && obj.__esModule ? obj : {
40
+ default: obj
41
+ };
42
+ }
43
+ function getAssetLocalPath(asset, { baseUrl, scale, platform }) {
44
+ if (platform === 'android') {
45
+ return getAssetLocalPathAndroid(asset, {
46
+ baseUrl,
47
+ scale
48
+ });
49
+ }
50
+ return getAssetLocalPathDefault(asset, {
51
+ baseUrl,
52
+ scale
53
+ });
54
+ }
55
+ function getAssetLocalPathAndroid(asset, { baseUrl, scale }) {
56
+ const androidFolder = getAndroidResourceFolderName(asset, scale);
57
+ const fileName = getResourceIdentifier(asset);
58
+ return _path().default.join(androidFolder, `${fileName}.${asset.type}`);
59
+ }
60
+ function getAssetLocalPathDefault(asset, { baseUrl, scale }) {
61
+ const suffix = scale === 1 ? '' : `@${scale}x`;
62
+ const fileName = `${asset.name}${suffix}.${asset.type}`;
63
+ const adjustedHttpServerLocation = stripAssetPrefix(asset.httpServerLocation, baseUrl);
64
+ return _path().default.join(// Assets can have relative paths outside of the project root.
65
+ // Replace `../` with `_` to make sure they don't end up outside of
66
+ // the expected assets directory.
67
+ adjustedHttpServerLocation.replace(/^\/+/g, '').replace(/\.\.\//g, '_'), fileName);
68
+ }
69
+ function stripAssetPrefix(path, baseUrl) {
70
+ path = path.replace(/\/assets\?export_path=(.*)/, '$1');
71
+ // TODO: Windows?
72
+ if (baseUrl) {
73
+ return path.replace(/^\/+/g, '').replace(new RegExp(`^${baseUrl.replace(/^\/+/g, '').replace(/[|\\{}()[\]^$+*?.]/g, '\\$&').replace(/-/g, '\\x2d')}`, 'g'), '');
74
+ }
75
+ return path;
76
+ }
77
+ /**
78
+ * FIXME: using number to represent discrete scale numbers is fragile in essence because of
79
+ * floating point numbers imprecision.
80
+ */ function getAndroidAssetSuffix(scale) {
81
+ switch(scale){
82
+ case 0.75:
83
+ return 'ldpi';
84
+ case 1:
85
+ return 'mdpi';
86
+ case 1.5:
87
+ return 'hdpi';
88
+ case 2:
89
+ return 'xhdpi';
90
+ case 3:
91
+ return 'xxhdpi';
92
+ case 4:
93
+ return 'xxxhdpi';
94
+ default:
95
+ return null;
96
+ }
97
+ }
98
+ const drawableFileTypes = new Set([
99
+ 'gif',
100
+ 'jpeg',
101
+ 'jpg',
102
+ 'png',
103
+ 'webp',
104
+ 'xml'
105
+ ]);
106
+ function getAndroidResourceFolderName(asset, scale) {
107
+ if (!drawableFileTypes.has(asset.type)) {
108
+ return 'raw';
109
+ }
110
+ const suffix = getAndroidAssetSuffix(scale);
111
+ if (!suffix) {
112
+ throw new Error(`Asset "${JSON.stringify(asset)}" does not use a supported Android resolution suffix`);
113
+ }
114
+ return `drawable-${suffix}`;
115
+ }
116
+ function getResourceIdentifier(asset) {
117
+ const folderPath = getBaseUrl(asset);
118
+ return `${folderPath}/${asset.name}`.toLowerCase().replace(/\//g, '_') // Encode folder structure in file name
119
+ .replace(/([^a-z0-9_])/g, '') // Remove illegal chars
120
+ .replace(/^assets_/, ''); // Remove "assets_" prefix
121
+ }
122
+ function getBaseUrl(asset) {
123
+ let baseUrl = asset.httpServerLocation;
124
+ if (baseUrl[0] === '/') {
125
+ baseUrl = baseUrl.substring(1);
126
+ }
127
+ return baseUrl;
128
+ }
129
+
130
+ //# sourceMappingURL=metroAssetLocalPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/export/metroAssetLocalPath.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Based on the community asset persisting for Metro but with base path and web support:\n * https://github.com/facebook/react-native/blob/d6e0bc714ad4d215ede4949d3c4f44af6dea5dd3/packages/community-cli-plugin/src/commands/bundle/saveAssets.js#L1\n */\nimport type { AssetData } from '@expo/metro/metro';\nimport path from 'path';\n\nexport function getAssetLocalPath(\n asset: Pick<AssetData, 'type' | 'httpServerLocation' | 'name'>,\n { baseUrl, scale, platform }: { baseUrl?: string; scale: number; platform: string }\n): string {\n if (platform === 'android') {\n return getAssetLocalPathAndroid(asset, { baseUrl, scale });\n }\n return getAssetLocalPathDefault(asset, { baseUrl, scale });\n}\n\nfunction getAssetLocalPathAndroid(\n asset: Pick<AssetData, 'type' | 'httpServerLocation' | 'name'>,\n {\n baseUrl,\n scale,\n }: {\n // TODO: baseUrl support\n baseUrl?: string;\n scale: number;\n }\n): string {\n const androidFolder = getAndroidResourceFolderName(asset, scale);\n const fileName = getResourceIdentifier(asset);\n return path.join(androidFolder, `${fileName}.${asset.type}`);\n}\n\nfunction getAssetLocalPathDefault(\n asset: Pick<AssetData, 'type' | 'httpServerLocation' | 'name'>,\n { baseUrl, scale }: { baseUrl?: string; scale: number }\n): string {\n const suffix = scale === 1 ? '' : `@${scale}x`;\n const fileName = `${asset.name}${suffix}.${asset.type}`;\n\n const adjustedHttpServerLocation = stripAssetPrefix(asset.httpServerLocation, baseUrl);\n\n return path.join(\n // Assets can have relative paths outside of the project root.\n // Replace `../` with `_` to make sure they don't end up outside of\n // the expected assets directory.\n adjustedHttpServerLocation.replace(/^\\/+/g, '').replace(/\\.\\.\\//g, '_'),\n fileName\n );\n}\n\nexport function stripAssetPrefix(path: string, baseUrl?: string) {\n path = path.replace(/\\/assets\\?export_path=(.*)/, '$1');\n\n // TODO: Windows?\n if (baseUrl) {\n return path.replace(/^\\/+/g, '').replace(\n new RegExp(\n `^${baseUrl\n .replace(/^\\/+/g, '')\n .replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n .replace(/-/g, '\\\\x2d')}`,\n 'g'\n ),\n ''\n );\n }\n return path;\n}\n\n/**\n * FIXME: using number to represent discrete scale numbers is fragile in essence because of\n * floating point numbers imprecision.\n */\nfunction getAndroidAssetSuffix(scale: number): string | null {\n switch (scale) {\n case 0.75:\n return 'ldpi';\n case 1:\n return 'mdpi';\n case 1.5:\n return 'hdpi';\n case 2:\n return 'xhdpi';\n case 3:\n return 'xxhdpi';\n case 4:\n return 'xxxhdpi';\n default:\n return null;\n }\n}\n\n// See https://developer.android.com/guide/topics/resources/drawable-resource.html\nexport const drawableFileTypes = new Set<string>(['gif', 'jpeg', 'jpg', 'png', 'webp', 'xml']);\n\nfunction getAndroidResourceFolderName(asset: Pick<AssetData, 'type'>, scale: number): string {\n if (!drawableFileTypes.has(asset.type)) {\n return 'raw';\n }\n const suffix = getAndroidAssetSuffix(scale);\n if (!suffix) {\n throw new Error(\n `Asset \"${JSON.stringify(asset)}\" does not use a supported Android resolution suffix`\n );\n }\n return `drawable-${suffix}`;\n}\n\nfunction getResourceIdentifier(asset: Pick<AssetData, 'httpServerLocation' | 'name'>): string {\n const folderPath = getBaseUrl(asset);\n return `${folderPath}/${asset.name}`\n .toLowerCase()\n .replace(/\\//g, '_') // Encode folder structure in file name\n .replace(/([^a-z0-9_])/g, '') // Remove illegal chars\n .replace(/^assets_/, ''); // Remove \"assets_\" prefix\n}\n\nfunction getBaseUrl(asset: Pick<AssetData, 'httpServerLocation'>): string {\n let baseUrl = asset.httpServerLocation;\n if (baseUrl[0] === '/') {\n baseUrl = baseUrl.substring(1);\n }\n return baseUrl;\n}\n"],"names":["drawableFileTypes","getAssetLocalPath","stripAssetPrefix","asset","baseUrl","scale","platform","getAssetLocalPathAndroid","getAssetLocalPathDefault","androidFolder","getAndroidResourceFolderName","fileName","getResourceIdentifier","path","join","type","suffix","name","adjustedHttpServerLocation","httpServerLocation","replace","RegExp","getAndroidAssetSuffix","Set","has","Error","JSON","stringify","folderPath","getBaseUrl","toLowerCase","substring"],"mappings":"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"}
@@ -0,0 +1,269 @@
1
+ /**
2
+ * Copyright © 2023 650 Industries.
3
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ *
8
+ * Based on the community asset persisting for Metro but with base path and web support:
9
+ * https://github.com/facebook/react-native/blob/d6e0bc714ad4d215ede4949d3c4f44af6dea5dd3/packages/community-cli-plugin/src/commands/bundle/saveAssets.js#L1
10
+ */ "use strict";
11
+ Object.defineProperty(exports, "__esModule", {
12
+ value: true
13
+ });
14
+ function _export(target, all) {
15
+ for(var name in all)Object.defineProperty(target, name, {
16
+ enumerable: true,
17
+ get: all[name]
18
+ });
19
+ }
20
+ _export(exports, {
21
+ copyInBatchesAsync: function() {
22
+ return copyInBatchesAsync;
23
+ },
24
+ createKeepFileAsync: function() {
25
+ return createKeepFileAsync;
26
+ },
27
+ filterPlatformAssetScales: function() {
28
+ return filterPlatformAssetScales;
29
+ },
30
+ getAssetIdForLogGrouping: function() {
31
+ return getAssetIdForLogGrouping;
32
+ },
33
+ persistMetroAssetsAsync: function() {
34
+ return persistMetroAssetsAsync;
35
+ }
36
+ });
37
+ function _fs() {
38
+ const data = /*#__PURE__*/ _interop_require_default(require("fs"));
39
+ _fs = function() {
40
+ return data;
41
+ };
42
+ return data;
43
+ }
44
+ function _path() {
45
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
46
+ _path = function() {
47
+ return data;
48
+ };
49
+ return data;
50
+ }
51
+ const _metroAssetLocalPath = require("./metroAssetLocalPath");
52
+ const _log = require("../log");
53
+ function _interop_require_default(obj) {
54
+ return obj && obj.__esModule ? obj : {
55
+ default: obj
56
+ };
57
+ }
58
+ function cleanAssetCatalog(catalogDir) {
59
+ const files = _fs().default.readdirSync(catalogDir).filter((file)=>file.endsWith('.imageset'));
60
+ for (const file of files){
61
+ _fs().default.rmSync(_path().default.join(catalogDir, file));
62
+ }
63
+ }
64
+ async function persistMetroAssetsAsync(projectRoot, assets, { platform, outputDirectory, baseUrl, iosAssetCatalogDirectory, files }) {
65
+ if (outputDirectory == null) {
66
+ _log.Log.warn('Assets destination folder is not set, skipping...');
67
+ return;
68
+ }
69
+ // For iOS, we need to ensure that the outputDirectory exists.
70
+ // The bundle code and images build phase script always tries to access this folder
71
+ if (platform === 'ios' && !_fs().default.existsSync(outputDirectory)) {
72
+ _fs().default.mkdirSync(outputDirectory, {
73
+ recursive: true
74
+ });
75
+ }
76
+ let assetsToCopy = [];
77
+ // TODO: Use `files` as below to defer writing files
78
+ if (platform === 'ios' && iosAssetCatalogDirectory != null) {
79
+ // Use iOS Asset Catalog for images. This will allow Apple app thinning to
80
+ // remove unused scales from the optimized bundle.
81
+ const catalogDir = _path().default.join(iosAssetCatalogDirectory, 'RNAssets.xcassets');
82
+ if (!_fs().default.existsSync(catalogDir)) {
83
+ _log.Log.error(`Could not find asset catalog 'RNAssets.xcassets' in ${iosAssetCatalogDirectory}. Make sure to create it if it does not exist.`);
84
+ return;
85
+ }
86
+ _log.Log.log('Adding images to asset catalog', catalogDir);
87
+ cleanAssetCatalog(catalogDir);
88
+ for (const asset of assets){
89
+ if (isCatalogAsset(asset)) {
90
+ const imageSet = getImageSet(catalogDir, asset, filterPlatformAssetScales(platform, asset.scales));
91
+ writeImageSet(imageSet);
92
+ } else {
93
+ assetsToCopy.push(asset);
94
+ }
95
+ }
96
+ _log.Log.log('Done adding images to asset catalog');
97
+ } else {
98
+ assetsToCopy = [
99
+ ...assets
100
+ ];
101
+ }
102
+ if (platform === 'android') {
103
+ await createKeepFileAsync(assetsToCopy, outputDirectory);
104
+ }
105
+ const batches = {};
106
+ for (const asset of assetsToCopy){
107
+ const validScales = new Set(filterPlatformAssetScales(platform, asset.scales));
108
+ for(let idx = 0; idx < asset.scales.length; idx++){
109
+ const scale = asset.scales[idx];
110
+ if (validScales.has(scale)) {
111
+ const src = asset.files[idx];
112
+ const dest = (0, _metroAssetLocalPath.getAssetLocalPath)(asset, {
113
+ platform,
114
+ scale,
115
+ baseUrl
116
+ });
117
+ if (files) {
118
+ const data = await _fs().default.promises.readFile(src);
119
+ files.set(dest, {
120
+ contents: data,
121
+ assetId: getAssetIdForLogGrouping(projectRoot, asset),
122
+ targetDomain: platform === 'web' ? 'client' : undefined
123
+ });
124
+ } else {
125
+ batches[src] = _path().default.join(outputDirectory, dest);
126
+ }
127
+ }
128
+ }
129
+ }
130
+ if (!files) {
131
+ await copyInBatchesAsync(batches);
132
+ }
133
+ }
134
+ async function createKeepFileAsync(assets, outputDirectory) {
135
+ if (!assets.length) {
136
+ return;
137
+ }
138
+ const assetsList = [];
139
+ for (const asset of assets){
140
+ const prefix = _metroAssetLocalPath.drawableFileTypes.has(asset.type) ? 'drawable' : 'raw';
141
+ assetsList.push(`@${prefix}/${getResourceIdentifier(asset)}`);
142
+ }
143
+ const keepPath = _path().default.join(outputDirectory, 'raw/keep.xml');
144
+ const content = `<resources xmlns:tools="http://schemas.android.com/tools" tools:keep="${assetsList.join(',')}" />`;
145
+ await _fs().default.promises.mkdir(_path().default.dirname(keepPath), {
146
+ recursive: true
147
+ });
148
+ await _fs().default.promises.writeFile(keepPath, content);
149
+ }
150
+ function getAssetIdForLogGrouping(projectRoot, asset) {
151
+ return 'fileSystemLocation' in asset && asset.fileSystemLocation != null && asset.name != null ? _path().default.relative(projectRoot, _path().default.join(asset.fileSystemLocation, asset.name)) + (asset.type ? '.' + asset.type : '') : undefined;
152
+ }
153
+ function writeImageSet(imageSet) {
154
+ _fs().default.mkdirSync(imageSet.baseUrl, {
155
+ recursive: true
156
+ });
157
+ for (const file of imageSet.files){
158
+ const dest = _path().default.join(imageSet.baseUrl, file.name);
159
+ _fs().default.copyFileSync(file.src, dest);
160
+ }
161
+ _fs().default.writeFileSync(_path().default.join(imageSet.baseUrl, 'Contents.json'), JSON.stringify({
162
+ images: imageSet.files.map((file)=>({
163
+ filename: file.name,
164
+ idiom: 'universal',
165
+ scale: `${file.scale}x`
166
+ })),
167
+ info: {
168
+ author: 'expo',
169
+ version: 1
170
+ }
171
+ }));
172
+ }
173
+ function isCatalogAsset(asset) {
174
+ return asset.type === 'png' || asset.type === 'jpg' || asset.type === 'jpeg';
175
+ }
176
+ function getImageSet(catalogDir, asset, scales) {
177
+ const fileName = getResourceIdentifier(asset);
178
+ return {
179
+ baseUrl: _path().default.join(catalogDir, `${fileName}.imageset`),
180
+ files: scales.map((scale, idx)=>{
181
+ const suffix = scale === 1 ? '' : `@${scale}x`;
182
+ return {
183
+ name: `${fileName + suffix}.${asset.type}`,
184
+ scale,
185
+ src: asset.files[idx]
186
+ };
187
+ })
188
+ };
189
+ }
190
+ function copyInBatchesAsync(filesToCopy) {
191
+ const queue = Object.keys(filesToCopy);
192
+ if (queue.length === 0) {
193
+ return;
194
+ }
195
+ _log.Log.log(`Copying ${queue.length} asset files`);
196
+ return new Promise((resolve, reject)=>{
197
+ const copyNext = (error)=>{
198
+ if (error) {
199
+ return reject(error);
200
+ }
201
+ if (queue.length) {
202
+ // queue.length === 0 is checked in previous branch, so this is string
203
+ const src = queue.shift();
204
+ const dest = filesToCopy[src];
205
+ copy(src, dest, copyNext);
206
+ } else {
207
+ resolve();
208
+ }
209
+ };
210
+ copyNext();
211
+ });
212
+ }
213
+ function copy(src, dest, callback) {
214
+ _fs().default.mkdir(_path().default.dirname(dest), {
215
+ recursive: true
216
+ }, (err)=>{
217
+ if (err) {
218
+ callback(err);
219
+ return;
220
+ }
221
+ _fs().default.createReadStream(src).pipe(_fs().default.createWriteStream(dest)).on('finish', callback);
222
+ });
223
+ }
224
+ const ALLOWED_SCALES = {
225
+ ios: [
226
+ 1,
227
+ 2,
228
+ 3
229
+ ]
230
+ };
231
+ function filterPlatformAssetScales(platform, scales) {
232
+ const whitelist = ALLOWED_SCALES[platform];
233
+ if (!whitelist) {
234
+ return scales;
235
+ }
236
+ const result = scales.filter((scale)=>whitelist.includes(scale));
237
+ if (!result.length && scales.length) {
238
+ // No matching scale found, but there are some available. Ideally we don't
239
+ // want to be in this situation and should throw, but for now as a fallback
240
+ // let's just use the closest larger image
241
+ const maxScale = whitelist[whitelist.length - 1];
242
+ for (const scale of scales){
243
+ if (scale > maxScale) {
244
+ result.push(scale);
245
+ break;
246
+ }
247
+ }
248
+ // There is no larger scales available, use the largest we have
249
+ if (!result.length) {
250
+ result.push(scales[scales.length - 1]);
251
+ }
252
+ }
253
+ return result;
254
+ }
255
+ function getResourceIdentifier(asset) {
256
+ const folderPath = getBaseUrl(asset);
257
+ return `${folderPath}/${asset.name}`.toLowerCase().replace(/\//g, '_') // Encode folder structure in file name
258
+ .replace(/([^a-z0-9_])/g, '') // Remove illegal chars
259
+ .replace(/^assets_/, ''); // Remove "assets_" prefix
260
+ }
261
+ function getBaseUrl(asset) {
262
+ let baseUrl = asset.httpServerLocation;
263
+ if (baseUrl[0] === '/') {
264
+ baseUrl = baseUrl.substring(1);
265
+ }
266
+ return baseUrl;
267
+ }
268
+
269
+ //# sourceMappingURL=persistMetroAssets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/export/persistMetroAssets.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Based on the community asset persisting for Metro but with base path and web support:\n * https://github.com/facebook/react-native/blob/d6e0bc714ad4d215ede4949d3c4f44af6dea5dd3/packages/community-cli-plugin/src/commands/bundle/saveAssets.js#L1\n */\nimport type { AssetData } from '@expo/metro/metro';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { drawableFileTypes, getAssetLocalPath } from './metroAssetLocalPath';\nimport { ExportAssetMap } from './saveAssets';\nimport { Log } from '../log';\n\nfunction cleanAssetCatalog(catalogDir: string): void {\n const files = fs.readdirSync(catalogDir).filter((file) => file.endsWith('.imageset'));\n for (const file of files) {\n fs.rmSync(path.join(catalogDir, file));\n }\n}\n\nexport async function persistMetroAssetsAsync(\n projectRoot: string,\n assets: readonly AssetData[],\n {\n platform,\n outputDirectory,\n baseUrl,\n iosAssetCatalogDirectory,\n files,\n }: {\n platform: string;\n outputDirectory: string;\n baseUrl?: string;\n iosAssetCatalogDirectory?: string;\n files?: ExportAssetMap;\n }\n) {\n if (outputDirectory == null) {\n Log.warn('Assets destination folder is not set, skipping...');\n return;\n }\n\n // For iOS, we need to ensure that the outputDirectory exists.\n // The bundle code and images build phase script always tries to access this folder\n if (platform === 'ios' && !fs.existsSync(outputDirectory)) {\n fs.mkdirSync(outputDirectory, { recursive: true });\n }\n\n let assetsToCopy: AssetData[] = [];\n\n // TODO: Use `files` as below to defer writing files\n if (platform === 'ios' && iosAssetCatalogDirectory != null) {\n // Use iOS Asset Catalog for images. This will allow Apple app thinning to\n // remove unused scales from the optimized bundle.\n const catalogDir = path.join(iosAssetCatalogDirectory, 'RNAssets.xcassets');\n if (!fs.existsSync(catalogDir)) {\n Log.error(\n `Could not find asset catalog 'RNAssets.xcassets' in ${iosAssetCatalogDirectory}. Make sure to create it if it does not exist.`\n );\n return;\n }\n\n Log.log('Adding images to asset catalog', catalogDir);\n cleanAssetCatalog(catalogDir);\n for (const asset of assets) {\n if (isCatalogAsset(asset)) {\n const imageSet = getImageSet(\n catalogDir,\n asset,\n filterPlatformAssetScales(platform, asset.scales)\n );\n writeImageSet(imageSet);\n } else {\n assetsToCopy.push(asset);\n }\n }\n Log.log('Done adding images to asset catalog');\n } else {\n assetsToCopy = [...assets];\n }\n if (platform === 'android') {\n await createKeepFileAsync(assetsToCopy, outputDirectory);\n }\n\n const batches: Record<string, string> = {};\n\n for (const asset of assetsToCopy) {\n const validScales = new Set(filterPlatformAssetScales(platform, asset.scales));\n for (let idx = 0; idx < asset.scales.length; idx++) {\n const scale = asset.scales[idx];\n if (validScales.has(scale)) {\n const src = asset.files[idx];\n const dest = getAssetLocalPath(asset, { platform, scale, baseUrl });\n if (files) {\n const data = await fs.promises.readFile(src);\n files.set(dest, {\n contents: data,\n assetId: getAssetIdForLogGrouping(projectRoot, asset),\n targetDomain: platform === 'web' ? 'client' : undefined,\n });\n } else {\n batches[src] = path.join(outputDirectory, dest);\n }\n }\n }\n }\n\n if (!files) {\n await copyInBatchesAsync(batches);\n }\n}\n\nexport async function createKeepFileAsync(\n assets: AssetData[],\n outputDirectory: string\n): Promise<void> {\n if (!assets.length) {\n return;\n }\n const assetsList = [];\n for (const asset of assets) {\n const prefix = drawableFileTypes.has(asset.type) ? 'drawable' : 'raw';\n assetsList.push(`@${prefix}/${getResourceIdentifier(asset)}`);\n }\n const keepPath = path.join(outputDirectory, 'raw/keep.xml');\n const content = `<resources xmlns:tools=\"http://schemas.android.com/tools\" tools:keep=\"${assetsList.join(',')}\" />`;\n await fs.promises.mkdir(path.dirname(keepPath), { recursive: true });\n await fs.promises.writeFile(keepPath, content);\n}\n\nexport function getAssetIdForLogGrouping(\n projectRoot: string,\n asset: Partial<Pick<AssetData, 'fileSystemLocation' | 'name' | 'type'>>\n): string | undefined {\n return 'fileSystemLocation' in asset && asset.fileSystemLocation != null && asset.name != null\n ? path.relative(projectRoot, path.join(asset.fileSystemLocation, asset.name)) +\n (asset.type ? '.' + asset.type : '')\n : undefined;\n}\n\nfunction writeImageSet(imageSet: ImageSet): void {\n fs.mkdirSync(imageSet.baseUrl, { recursive: true });\n\n for (const file of imageSet.files) {\n const dest = path.join(imageSet.baseUrl, file.name);\n fs.copyFileSync(file.src, dest);\n }\n\n fs.writeFileSync(\n path.join(imageSet.baseUrl, 'Contents.json'),\n JSON.stringify({\n images: imageSet.files.map((file) => ({\n filename: file.name,\n idiom: 'universal',\n scale: `${file.scale}x`,\n })),\n info: {\n author: 'expo',\n version: 1,\n },\n })\n );\n}\n\nfunction isCatalogAsset(asset: Pick<AssetData, 'type'>): boolean {\n return asset.type === 'png' || asset.type === 'jpg' || asset.type === 'jpeg';\n}\n\ntype ImageSet = {\n baseUrl: string;\n files: { name: string; src: string; scale: number }[];\n};\n\nfunction getImageSet(\n catalogDir: string,\n asset: Pick<AssetData, 'httpServerLocation' | 'name' | 'type' | 'files'>,\n scales: number[]\n): ImageSet {\n const fileName = getResourceIdentifier(asset);\n return {\n baseUrl: path.join(catalogDir, `${fileName}.imageset`),\n files: scales.map((scale, idx) => {\n const suffix = scale === 1 ? '' : `@${scale}x`;\n return {\n name: `${fileName + suffix}.${asset.type}`,\n scale,\n src: asset.files[idx],\n };\n }),\n };\n}\n\nexport function copyInBatchesAsync(filesToCopy: Record<string, string>) {\n const queue = Object.keys(filesToCopy);\n if (queue.length === 0) {\n return;\n }\n\n Log.log(`Copying ${queue.length} asset files`);\n return new Promise<void>((resolve, reject) => {\n const copyNext = (error?: NodeJS.ErrnoException) => {\n if (error) {\n return reject(error);\n }\n if (queue.length) {\n // queue.length === 0 is checked in previous branch, so this is string\n const src = queue.shift() as string;\n const dest = filesToCopy[src];\n copy(src, dest, copyNext);\n } else {\n resolve();\n }\n };\n copyNext();\n });\n}\n\nfunction copy(src: string, dest: string, callback: (error?: NodeJS.ErrnoException) => void): void {\n fs.mkdir(path.dirname(dest), { recursive: true }, (err?) => {\n if (err) {\n callback(err);\n return;\n }\n fs.createReadStream(src).pipe(fs.createWriteStream(dest)).on('finish', callback);\n });\n}\n\nconst ALLOWED_SCALES: { [key: string]: number[] } = {\n ios: [1, 2, 3],\n};\n\nexport function filterPlatformAssetScales(platform: string, scales: number[]): number[] {\n const whitelist: number[] = ALLOWED_SCALES[platform];\n if (!whitelist) {\n return scales;\n }\n const result = scales.filter((scale) => whitelist.includes(scale));\n if (!result.length && scales.length) {\n // No matching scale found, but there are some available. Ideally we don't\n // want to be in this situation and should throw, but for now as a fallback\n // let's just use the closest larger image\n const maxScale = whitelist[whitelist.length - 1];\n for (const scale of scales) {\n if (scale > maxScale) {\n result.push(scale);\n break;\n }\n }\n\n // There is no larger scales available, use the largest we have\n if (!result.length) {\n result.push(scales[scales.length - 1]);\n }\n }\n return result;\n}\n\nfunction getResourceIdentifier(asset: Pick<AssetData, 'httpServerLocation' | 'name'>): string {\n const folderPath = getBaseUrl(asset);\n return `${folderPath}/${asset.name}`\n .toLowerCase()\n .replace(/\\//g, '_') // Encode folder structure in file name\n .replace(/([^a-z0-9_])/g, '') // Remove illegal chars\n .replace(/^assets_/, ''); // Remove \"assets_\" prefix\n}\n\nfunction getBaseUrl(asset: Pick<AssetData, 'httpServerLocation'>): string {\n let baseUrl = asset.httpServerLocation;\n if (baseUrl[0] === '/') {\n baseUrl = baseUrl.substring(1);\n }\n return baseUrl;\n}\n"],"names":["copyInBatchesAsync","createKeepFileAsync","filterPlatformAssetScales","getAssetIdForLogGrouping","persistMetroAssetsAsync","cleanAssetCatalog","catalogDir","files","fs","readdirSync","filter","file","endsWith","rmSync","path","join","projectRoot","assets","platform","outputDirectory","baseUrl","iosAssetCatalogDirectory","Log","warn","existsSync","mkdirSync","recursive","assetsToCopy","error","log","asset","isCatalogAsset","imageSet","getImageSet","scales","writeImageSet","push","batches","validScales","Set","idx","length","scale","has","src","dest","getAssetLocalPath","data","promises","readFile","set","contents","assetId","targetDomain","undefined","assetsList","prefix","drawableFileTypes","type","getResourceIdentifier","keepPath","content","mkdir","dirname","writeFile","fileSystemLocation","name","relative","copyFileSync","writeFileSync","JSON","stringify","images","map","filename","idiom","info","author","version","fileName","suffix","filesToCopy","queue","Object","keys","Promise","resolve","reject","copyNext","shift","copy","callback","err","createReadStream","pipe","createWriteStream","on","ALLOWED_SCALES","ios","whitelist","result","includes","maxScale","folderPath","getBaseUrl","toLowerCase","replace","httpServerLocation","substring"],"mappings":"AAAA;;;;;;;;;CASC;;;;;;;;;;;IA4LeA,kBAAkB;eAAlBA;;IAhFMC,mBAAmB;eAAnBA;;IAuHNC,yBAAyB;eAAzBA;;IArGAC,wBAAwB;eAAxBA;;IA9GMC,uBAAuB;eAAvBA;;;;gEAdP;;;;;;;gEACE;;;;;;qCAEoC;qBAEjC;;;;;;AAEpB,SAASC,kBAAkBC,UAAkB;IAC3C,MAAMC,QAAQC,aAAE,CAACC,WAAW,CAACH,YAAYI,MAAM,CAAC,CAACC,OAASA,KAAKC,QAAQ,CAAC;IACxE,KAAK,MAAMD,QAAQJ,MAAO;QACxBC,aAAE,CAACK,MAAM,CAACC,eAAI,CAACC,IAAI,CAACT,YAAYK;IAClC;AACF;AAEO,eAAeP,wBACpBY,WAAmB,EACnBC,MAA4B,EAC5B,EACEC,QAAQ,EACRC,eAAe,EACfC,OAAO,EACPC,wBAAwB,EACxBd,KAAK,EAON;IAED,IAAIY,mBAAmB,MAAM;QAC3BG,QAAG,CAACC,IAAI,CAAC;QACT;IACF;IAEA,8DAA8D;IAC9D,mFAAmF;IACnF,IAAIL,aAAa,SAAS,CAACV,aAAE,CAACgB,UAAU,CAACL,kBAAkB;QACzDX,aAAE,CAACiB,SAAS,CAACN,iBAAiB;YAAEO,WAAW;QAAK;IAClD;IAEA,IAAIC,eAA4B,EAAE;IAElC,oDAAoD;IACpD,IAAIT,aAAa,SAASG,4BAA4B,MAAM;QAC1D,0EAA0E;QAC1E,kDAAkD;QAClD,MAAMf,aAAaQ,eAAI,CAACC,IAAI,CAACM,0BAA0B;QACvD,IAAI,CAACb,aAAE,CAACgB,UAAU,CAAClB,aAAa;YAC9BgB,QAAG,CAACM,KAAK,CACP,CAAC,oDAAoD,EAAEP,yBAAyB,8CAA8C,CAAC;YAEjI;QACF;QAEAC,QAAG,CAACO,GAAG,CAAC,kCAAkCvB;QAC1CD,kBAAkBC;QAClB,KAAK,MAAMwB,SAASb,OAAQ;YAC1B,IAAIc,eAAeD,QAAQ;gBACzB,MAAME,WAAWC,YACf3B,YACAwB,OACA5B,0BAA0BgB,UAAUY,MAAMI,MAAM;gBAElDC,cAAcH;YAChB,OAAO;gBACLL,aAAaS,IAAI,CAACN;YACpB;QACF;QACAR,QAAG,CAACO,GAAG,CAAC;IACV,OAAO;QACLF,eAAe;eAAIV;SAAO;IAC5B;IACA,IAAIC,aAAa,WAAW;QAC1B,MAAMjB,oBAAoB0B,cAAcR;IAC1C;IAEA,MAAMkB,UAAkC,CAAC;IAEzC,KAAK,MAAMP,SAASH,aAAc;QAChC,MAAMW,cAAc,IAAIC,IAAIrC,0BAA0BgB,UAAUY,MAAMI,MAAM;QAC5E,IAAK,IAAIM,MAAM,GAAGA,MAAMV,MAAMI,MAAM,CAACO,MAAM,EAAED,MAAO;YAClD,MAAME,QAAQZ,MAAMI,MAAM,CAACM,IAAI;YAC/B,IAAIF,YAAYK,GAAG,CAACD,QAAQ;gBAC1B,MAAME,MAAMd,MAAMvB,KAAK,CAACiC,IAAI;gBAC5B,MAAMK,OAAOC,IAAAA,sCAAiB,EAAChB,OAAO;oBAAEZ;oBAAUwB;oBAAOtB;gBAAQ;gBACjE,IAAIb,OAAO;oBACT,MAAMwC,OAAO,MAAMvC,aAAE,CAACwC,QAAQ,CAACC,QAAQ,CAACL;oBACxCrC,MAAM2C,GAAG,CAACL,MAAM;wBACdM,UAAUJ;wBACVK,SAASjD,yBAAyBa,aAAac;wBAC/CuB,cAAcnC,aAAa,QAAQ,WAAWoC;oBAChD;gBACF,OAAO;oBACLjB,OAAO,CAACO,IAAI,GAAG9B,eAAI,CAACC,IAAI,CAACI,iBAAiB0B;gBAC5C;YACF;QACF;IACF;IAEA,IAAI,CAACtC,OAAO;QACV,MAAMP,mBAAmBqC;IAC3B;AACF;AAEO,eAAepC,oBACpBgB,MAAmB,EACnBE,eAAuB;IAEvB,IAAI,CAACF,OAAOwB,MAAM,EAAE;QAClB;IACF;IACA,MAAMc,aAAa,EAAE;IACrB,KAAK,MAAMzB,SAASb,OAAQ;QAC1B,MAAMuC,SAASC,sCAAiB,CAACd,GAAG,CAACb,MAAM4B,IAAI,IAAI,aAAa;QAChEH,WAAWnB,IAAI,CAAC,CAAC,CAAC,EAAEoB,OAAO,CAAC,EAAEG,sBAAsB7B,QAAQ;IAC9D;IACA,MAAM8B,WAAW9C,eAAI,CAACC,IAAI,CAACI,iBAAiB;IAC5C,MAAM0C,UAAU,CAAC,sEAAsE,EAAEN,WAAWxC,IAAI,CAAC,KAAK,IAAI,CAAC;IACnH,MAAMP,aAAE,CAACwC,QAAQ,CAACc,KAAK,CAAChD,eAAI,CAACiD,OAAO,CAACH,WAAW;QAAElC,WAAW;IAAK;IAClE,MAAMlB,aAAE,CAACwC,QAAQ,CAACgB,SAAS,CAACJ,UAAUC;AACxC;AAEO,SAAS1D,yBACda,WAAmB,EACnBc,KAAuE;IAEvE,OAAO,wBAAwBA,SAASA,MAAMmC,kBAAkB,IAAI,QAAQnC,MAAMoC,IAAI,IAAI,OACtFpD,eAAI,CAACqD,QAAQ,CAACnD,aAAaF,eAAI,CAACC,IAAI,CAACe,MAAMmC,kBAAkB,EAAEnC,MAAMoC,IAAI,KACtEpC,CAAAA,MAAM4B,IAAI,GAAG,MAAM5B,MAAM4B,IAAI,GAAG,EAAC,IACpCJ;AACN;AAEA,SAASnB,cAAcH,QAAkB;IACvCxB,aAAE,CAACiB,SAAS,CAACO,SAASZ,OAAO,EAAE;QAAEM,WAAW;IAAK;IAEjD,KAAK,MAAMf,QAAQqB,SAASzB,KAAK,CAAE;QACjC,MAAMsC,OAAO/B,eAAI,CAACC,IAAI,CAACiB,SAASZ,OAAO,EAAET,KAAKuD,IAAI;QAClD1D,aAAE,CAAC4D,YAAY,CAACzD,KAAKiC,GAAG,EAAEC;IAC5B;IAEArC,aAAE,CAAC6D,aAAa,CACdvD,eAAI,CAACC,IAAI,CAACiB,SAASZ,OAAO,EAAE,kBAC5BkD,KAAKC,SAAS,CAAC;QACbC,QAAQxC,SAASzB,KAAK,CAACkE,GAAG,CAAC,CAAC9D,OAAU,CAAA;gBACpC+D,UAAU/D,KAAKuD,IAAI;gBACnBS,OAAO;gBACPjC,OAAO,GAAG/B,KAAK+B,KAAK,CAAC,CAAC,CAAC;YACzB,CAAA;QACAkC,MAAM;YACJC,QAAQ;YACRC,SAAS;QACX;IACF;AAEJ;AAEA,SAAS/C,eAAeD,KAA8B;IACpD,OAAOA,MAAM4B,IAAI,KAAK,SAAS5B,MAAM4B,IAAI,KAAK,SAAS5B,MAAM4B,IAAI,KAAK;AACxE;AAOA,SAASzB,YACP3B,UAAkB,EAClBwB,KAAwE,EACxEI,MAAgB;IAEhB,MAAM6C,WAAWpB,sBAAsB7B;IACvC,OAAO;QACLV,SAASN,eAAI,CAACC,IAAI,CAACT,YAAY,GAAGyE,SAAS,SAAS,CAAC;QACrDxE,OAAO2B,OAAOuC,GAAG,CAAC,CAAC/B,OAAOF;YACxB,MAAMwC,SAAStC,UAAU,IAAI,KAAK,CAAC,CAAC,EAAEA,MAAM,CAAC,CAAC;YAC9C,OAAO;gBACLwB,MAAM,GAAGa,WAAWC,OAAO,CAAC,EAAElD,MAAM4B,IAAI,EAAE;gBAC1ChB;gBACAE,KAAKd,MAAMvB,KAAK,CAACiC,IAAI;YACvB;QACF;IACF;AACF;AAEO,SAASxC,mBAAmBiF,WAAmC;IACpE,MAAMC,QAAQC,OAAOC,IAAI,CAACH;IAC1B,IAAIC,MAAMzC,MAAM,KAAK,GAAG;QACtB;IACF;IAEAnB,QAAG,CAACO,GAAG,CAAC,CAAC,QAAQ,EAAEqD,MAAMzC,MAAM,CAAC,YAAY,CAAC;IAC7C,OAAO,IAAI4C,QAAc,CAACC,SAASC;QACjC,MAAMC,WAAW,CAAC5D;YAChB,IAAIA,OAAO;gBACT,OAAO2D,OAAO3D;YAChB;YACA,IAAIsD,MAAMzC,MAAM,EAAE;gBAChB,sEAAsE;gBACtE,MAAMG,MAAMsC,MAAMO,KAAK;gBACvB,MAAM5C,OAAOoC,WAAW,CAACrC,IAAI;gBAC7B8C,KAAK9C,KAAKC,MAAM2C;YAClB,OAAO;gBACLF;YACF;QACF;QACAE;IACF;AACF;AAEA,SAASE,KAAK9C,GAAW,EAAEC,IAAY,EAAE8C,QAAiD;IACxFnF,aAAE,CAACsD,KAAK,CAAChD,eAAI,CAACiD,OAAO,CAAClB,OAAO;QAAEnB,WAAW;IAAK,GAAG,CAACkE;QACjD,IAAIA,KAAK;YACPD,SAASC;YACT;QACF;QACApF,aAAE,CAACqF,gBAAgB,CAACjD,KAAKkD,IAAI,CAACtF,aAAE,CAACuF,iBAAiB,CAAClD,OAAOmD,EAAE,CAAC,UAAUL;IACzE;AACF;AAEA,MAAMM,iBAA8C;IAClDC,KAAK;QAAC;QAAG;QAAG;KAAE;AAChB;AAEO,SAAShG,0BAA0BgB,QAAgB,EAAEgB,MAAgB;IAC1E,MAAMiE,YAAsBF,cAAc,CAAC/E,SAAS;IACpD,IAAI,CAACiF,WAAW;QACd,OAAOjE;IACT;IACA,MAAMkE,SAASlE,OAAOxB,MAAM,CAAC,CAACgC,QAAUyD,UAAUE,QAAQ,CAAC3D;IAC3D,IAAI,CAAC0D,OAAO3D,MAAM,IAAIP,OAAOO,MAAM,EAAE;QACnC,0EAA0E;QAC1E,2EAA2E;QAC3E,0CAA0C;QAC1C,MAAM6D,WAAWH,SAAS,CAACA,UAAU1D,MAAM,GAAG,EAAE;QAChD,KAAK,MAAMC,SAASR,OAAQ;YAC1B,IAAIQ,QAAQ4D,UAAU;gBACpBF,OAAOhE,IAAI,CAACM;gBACZ;YACF;QACF;QAEA,+DAA+D;QAC/D,IAAI,CAAC0D,OAAO3D,MAAM,EAAE;YAClB2D,OAAOhE,IAAI,CAACF,MAAM,CAACA,OAAOO,MAAM,GAAG,EAAE;QACvC;IACF;IACA,OAAO2D;AACT;AAEA,SAASzC,sBAAsB7B,KAAqD;IAClF,MAAMyE,aAAaC,WAAW1E;IAC9B,OAAO,GAAGyE,WAAW,CAAC,EAAEzE,MAAMoC,IAAI,EAAE,CACjCuC,WAAW,GACXC,OAAO,CAAC,OAAO,KAAK,uCAAuC;KAC3DA,OAAO,CAAC,iBAAiB,IAAI,uBAAuB;KACpDA,OAAO,CAAC,YAAY,KAAK,0BAA0B;AACxD;AAEA,SAASF,WAAW1E,KAA4C;IAC9D,IAAIV,UAAUU,MAAM6E,kBAAkB;IACtC,IAAIvF,OAAO,CAAC,EAAE,KAAK,KAAK;QACtBA,UAAUA,QAAQwF,SAAS,CAAC;IAC9B;IACA,OAAOxF;AACT"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ copyPublicFolderAsync: function() {
13
+ return copyPublicFolderAsync;
14
+ },
15
+ getUserDefinedFile: function() {
16
+ return getUserDefinedFile;
17
+ }
18
+ });
19
+ function _fs() {
20
+ const data = /*#__PURE__*/ _interop_require_default(require("fs"));
21
+ _fs = function() {
22
+ return data;
23
+ };
24
+ return data;
25
+ }
26
+ function _path() {
27
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
28
+ _path = function() {
29
+ return data;
30
+ };
31
+ return data;
32
+ }
33
+ const _dir = require("../utils/dir");
34
+ const _env = require("../utils/env");
35
+ function _interop_require_default(obj) {
36
+ return obj && obj.__esModule ? obj : {
37
+ default: obj
38
+ };
39
+ }
40
+ const debug = require('debug')('expo:public-folder');
41
+ function getUserDefinedFile(projectRoot, possiblePaths) {
42
+ const publicPath = _path().default.join(projectRoot, _env.env.EXPO_PUBLIC_FOLDER);
43
+ for (const possiblePath of possiblePaths){
44
+ const fullPath = _path().default.join(publicPath, possiblePath);
45
+ if (_fs().default.existsSync(fullPath)) {
46
+ debug(`Found user-defined public file: ` + possiblePath);
47
+ return fullPath;
48
+ }
49
+ }
50
+ return null;
51
+ }
52
+ async function copyPublicFolderAsync(publicFolder, outputFolder) {
53
+ if (_fs().default.existsSync(publicFolder)) {
54
+ await _fs().default.promises.mkdir(outputFolder, {
55
+ recursive: true
56
+ });
57
+ await (0, _dir.copyAsync)(publicFolder, outputFolder);
58
+ }
59
+ }
60
+
61
+ //# sourceMappingURL=publicFolder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/export/publicFolder.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { copyAsync } from '../utils/dir';\nimport { env } from '../utils/env';\n\nconst debug = require('debug')('expo:public-folder') as typeof console.log;\n\n/** @returns the file system path for a user-defined file in the public folder. */\nexport function getUserDefinedFile(projectRoot: string, possiblePaths: string[]): string | null {\n const publicPath = path.join(projectRoot, env.EXPO_PUBLIC_FOLDER);\n\n for (const possiblePath of possiblePaths) {\n const fullPath = path.join(publicPath, possiblePath);\n if (fs.existsSync(fullPath)) {\n debug(`Found user-defined public file: ` + possiblePath);\n return fullPath;\n }\n }\n\n return null;\n}\n\n/**\n * Copy the contents of the public folder into the output folder.\n * This enables users to add static files like `favicon.ico`.\n *\n * The contents of this folder are completely universal since they refer to\n * static network requests which fall outside the scope of React Native's magic\n * platform resolution patterns.\n */\nexport async function copyPublicFolderAsync(publicFolder: string, outputFolder: string) {\n if (fs.existsSync(publicFolder)) {\n await fs.promises.mkdir(outputFolder, { recursive: true });\n await copyAsync(publicFolder, outputFolder);\n }\n}\n"],"names":["copyPublicFolderAsync","getUserDefinedFile","debug","require","projectRoot","possiblePaths","publicPath","path","join","env","EXPO_PUBLIC_FOLDER","possiblePath","fullPath","fs","existsSync","publicFolder","outputFolder","promises","mkdir","recursive","copyAsync"],"mappings":";;;;;;;;;;;IA+BsBA,qBAAqB;eAArBA;;IAtBNC,kBAAkB;eAAlBA;;;;gEATD;;;;;;;gEACE;;;;;;qBAES;qBACN;;;;;;AAEpB,MAAMC,QAAQC,QAAQ,SAAS;AAGxB,SAASF,mBAAmBG,WAAmB,EAAEC,aAAuB;IAC7E,MAAMC,aAAaC,eAAI,CAACC,IAAI,CAACJ,aAAaK,QAAG,CAACC,kBAAkB;IAEhE,KAAK,MAAMC,gBAAgBN,cAAe;QACxC,MAAMO,WAAWL,eAAI,CAACC,IAAI,CAACF,YAAYK;QACvC,IAAIE,aAAE,CAACC,UAAU,CAACF,WAAW;YAC3BV,MAAM,CAAC,gCAAgC,CAAC,GAAGS;YAC3C,OAAOC;QACT;IACF;IAEA,OAAO;AACT;AAUO,eAAeZ,sBAAsBe,YAAoB,EAAEC,YAAoB;IACpF,IAAIH,aAAE,CAACC,UAAU,CAACC,eAAe;QAC/B,MAAMF,aAAE,CAACI,QAAQ,CAACC,KAAK,CAACF,cAAc;YAAEG,WAAW;QAAK;QACxD,MAAMC,IAAAA,cAAS,EAACL,cAAcC;IAChC;AACF"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ resolveOptionsAsync: function() {
13
+ return resolveOptionsAsync;
14
+ },
15
+ resolvePlatformOption: function() {
16
+ return resolvePlatformOption;
17
+ }
18
+ });
19
+ function _config() {
20
+ const data = require("@expo/config");
21
+ _config = function() {
22
+ return data;
23
+ };
24
+ return data;
25
+ }
26
+ const _platformBundlers = require("../start/server/platformBundlers");
27
+ const _errors = require("../utils/errors");
28
+ function resolvePlatformOption(exp, platformBundlers, platform = [
29
+ 'all'
30
+ ]) {
31
+ const platformsAvailable = Object.fromEntries(Object.entries(platformBundlers).filter(([platform, bundler])=>{
32
+ var _exp_platforms;
33
+ return bundler === 'metro' && ((_exp_platforms = exp.platforms) == null ? void 0 : _exp_platforms.includes(platform));
34
+ }));
35
+ if (!Object.keys(platformsAvailable).length) {
36
+ throw new _errors.CommandError(`No platforms are configured to use the Metro bundler in the project Expo config.`);
37
+ }
38
+ const assertPlatformBundler = (platform)=>{
39
+ if (!platformsAvailable[platform]) {
40
+ var _exp_platforms, _exp_platforms1;
41
+ if (!((_exp_platforms = exp.platforms) == null ? void 0 : _exp_platforms.includes(platform)) && platform === 'web') {
42
+ // Pass through so the more robust error message is shown.
43
+ return platform;
44
+ }
45
+ throw new _errors.CommandError('BAD_ARGS', `Platform "${platform}" is not configured to use the Metro bundler in the project Expo config, or is missing from the supported platforms in the platforms array: [${(_exp_platforms1 = exp.platforms) == null ? void 0 : _exp_platforms1.join(', ')}].`);
46
+ }
47
+ return platform;
48
+ };
49
+ const knownPlatforms = [
50
+ 'android',
51
+ 'ios',
52
+ 'web'
53
+ ];
54
+ const assertPlatformIsKnown = (platform)=>{
55
+ if (!knownPlatforms.includes(platform)) {
56
+ throw new _errors.CommandError(`Unsupported platform "${platform}". Options are: ${knownPlatforms.join(',')},all`);
57
+ }
58
+ return platform;
59
+ };
60
+ return platform// Expand `all` to all available platforms.
61
+ .map((platform)=>platform === 'all' ? Object.keys(platformsAvailable) : platform).flat()// Remove duplicated platforms
62
+ .filter((platform, index, list)=>list.indexOf(platform) === index)// Assert platforms are valid
63
+ .map((platform)=>assertPlatformIsKnown(platform)).map((platform)=>assertPlatformBundler(platform));
64
+ }
65
+ async function resolveOptionsAsync(projectRoot, args) {
66
+ const { exp } = (0, _config().getConfig)(projectRoot, {
67
+ skipPlugins: true,
68
+ skipSDKVersionRequirement: true
69
+ });
70
+ const platformBundlers = (0, _platformBundlers.getPlatformBundlers)(projectRoot, exp);
71
+ const platforms = resolvePlatformOption(exp, platformBundlers, args['--platform']);
72
+ // --source-maps can be true, "external", or "inline"
73
+ const sourceMapsArg = args['--source-maps'];
74
+ const sourceMaps = !!sourceMapsArg;
75
+ const inlineSourceMaps = sourceMapsArg === 'inline';
76
+ return {
77
+ platforms,
78
+ hostedNative: !!args['--unstable-hosted-native'],
79
+ outputDir: args['--output-dir'] ?? 'dist',
80
+ minify: !args['--no-minify'],
81
+ bytecode: !args['--no-bytecode'],
82
+ clear: !!args['--clear'],
83
+ dev: !!args['--dev'],
84
+ maxWorkers: args['--max-workers'],
85
+ dumpAssetmap: !!args['--dump-assetmap'],
86
+ sourceMaps,
87
+ inlineSourceMaps,
88
+ skipSSG: !!args['--no-ssg'] || !!args['--api-only']
89
+ };
90
+ }
91
+
92
+ //# sourceMappingURL=resolveOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/export/resolveOptions.ts"],"sourcesContent":["import { ExpoConfig, getConfig, Platform } from '@expo/config';\n\nimport { getPlatformBundlers, PlatformBundlers } from '../start/server/platformBundlers';\nimport { CommandError } from '../utils/errors';\n\nexport type Options = {\n outputDir: string;\n platforms: Platform[];\n maxWorkers?: number;\n dev: boolean;\n clear: boolean;\n minify: boolean;\n bytecode: boolean;\n dumpAssetmap: boolean;\n sourceMaps: boolean;\n inlineSourceMaps: boolean;\n skipSSG: boolean;\n hostedNative: boolean;\n};\n\n/** Returns an array of platforms based on the input platform identifier and runtime constraints. */\nexport function resolvePlatformOption(\n exp: ExpoConfig,\n platformBundlers: PlatformBundlers,\n platform: string[] = ['all']\n): Platform[] {\n const platformsAvailable: Partial<PlatformBundlers> = Object.fromEntries(\n Object.entries(platformBundlers).filter(\n ([platform, bundler]) => bundler === 'metro' && exp.platforms?.includes(platform as Platform)\n )\n );\n\n if (!Object.keys(platformsAvailable).length) {\n throw new CommandError(\n `No platforms are configured to use the Metro bundler in the project Expo config.`\n );\n }\n\n const assertPlatformBundler = (platform: Platform): Platform => {\n if (!platformsAvailable[platform]) {\n if (!exp.platforms?.includes(platform) && platform === 'web') {\n // Pass through so the more robust error message is shown.\n return platform;\n }\n throw new CommandError(\n 'BAD_ARGS',\n `Platform \"${platform}\" is not configured to use the Metro bundler in the project Expo config, or is missing from the supported platforms in the platforms array: [${exp.platforms?.join(\n ', '\n )}].`\n );\n }\n\n return platform;\n };\n\n const knownPlatforms = ['android', 'ios', 'web'] as Platform[];\n const assertPlatformIsKnown = (platform: string): Platform => {\n if (!knownPlatforms.includes(platform as Platform)) {\n throw new CommandError(\n `Unsupported platform \"${platform}\". Options are: ${knownPlatforms.join(',')},all`\n );\n }\n\n return platform as Platform;\n };\n\n return (\n platform\n // Expand `all` to all available platforms.\n .map((platform) => (platform === 'all' ? Object.keys(platformsAvailable) : platform))\n .flat()\n // Remove duplicated platforms\n .filter((platform, index, list) => list.indexOf(platform) === index)\n // Assert platforms are valid\n .map((platform) => assertPlatformIsKnown(platform))\n .map((platform) => assertPlatformBundler(platform))\n );\n}\n\nexport async function resolveOptionsAsync(projectRoot: string, args: any): Promise<Options> {\n const { exp } = getConfig(projectRoot, { skipPlugins: true, skipSDKVersionRequirement: true });\n const platformBundlers = getPlatformBundlers(projectRoot, exp);\n\n const platforms = resolvePlatformOption(exp, platformBundlers, args['--platform']);\n\n // --source-maps can be true, \"external\", or \"inline\"\n const sourceMapsArg = args['--source-maps'];\n const sourceMaps = !!sourceMapsArg;\n const inlineSourceMaps = sourceMapsArg === 'inline';\n\n return {\n platforms,\n hostedNative: !!args['--unstable-hosted-native'],\n outputDir: args['--output-dir'] ?? 'dist',\n minify: !args['--no-minify'],\n bytecode: !args['--no-bytecode'],\n clear: !!args['--clear'],\n dev: !!args['--dev'],\n maxWorkers: args['--max-workers'],\n dumpAssetmap: !!args['--dump-assetmap'],\n sourceMaps,\n inlineSourceMaps,\n skipSSG: !!args['--no-ssg'] || !!args['--api-only'],\n };\n}\n"],"names":["resolveOptionsAsync","resolvePlatformOption","exp","platformBundlers","platform","platformsAvailable","Object","fromEntries","entries","filter","bundler","platforms","includes","keys","length","CommandError","assertPlatformBundler","join","knownPlatforms","assertPlatformIsKnown","map","flat","index","list","indexOf","projectRoot","args","getConfig","skipPlugins","skipSDKVersionRequirement","getPlatformBundlers","sourceMapsArg","sourceMaps","inlineSourceMaps","hostedNative","outputDir","minify","bytecode","clear","dev","maxWorkers","dumpAssetmap","skipSSG"],"mappings":";;;;;;;;;;;IA+EsBA,mBAAmB;eAAnBA;;IA1DNC,qBAAqB;eAArBA;;;;yBArBgC;;;;;;kCAEM;wBACzB;AAkBtB,SAASA,sBACdC,GAAe,EACfC,gBAAkC,EAClCC,WAAqB;IAAC;CAAM;IAE5B,MAAMC,qBAAgDC,OAAOC,WAAW,CACtED,OAAOE,OAAO,CAACL,kBAAkBM,MAAM,CACrC,CAAC,CAACL,UAAUM,QAAQ;YAA4BR;eAAvBQ,YAAY,aAAWR,iBAAAA,IAAIS,SAAS,qBAAbT,eAAeU,QAAQ,CAACR;;IAI5E,IAAI,CAACE,OAAOO,IAAI,CAACR,oBAAoBS,MAAM,EAAE;QAC3C,MAAM,IAAIC,oBAAY,CACpB,CAAC,gFAAgF,CAAC;IAEtF;IAEA,MAAMC,wBAAwB,CAACZ;QAC7B,IAAI,CAACC,kBAAkB,CAACD,SAAS,EAAE;gBAC5BF,gBAMkKA;YANvK,IAAI,GAACA,iBAAAA,IAAIS,SAAS,qBAAbT,eAAeU,QAAQ,CAACR,cAAaA,aAAa,OAAO;gBAC5D,0DAA0D;gBAC1D,OAAOA;YACT;YACA,MAAM,IAAIW,oBAAY,CACpB,YACA,CAAC,UAAU,EAAEX,SAAS,6IAA6I,GAAEF,kBAAAA,IAAIS,SAAS,qBAAbT,gBAAee,IAAI,CACtL,MACA,EAAE,CAAC;QAET;QAEA,OAAOb;IACT;IAEA,MAAMc,iBAAiB;QAAC;QAAW;QAAO;KAAM;IAChD,MAAMC,wBAAwB,CAACf;QAC7B,IAAI,CAACc,eAAeN,QAAQ,CAACR,WAAuB;YAClD,MAAM,IAAIW,oBAAY,CACpB,CAAC,sBAAsB,EAAEX,SAAS,gBAAgB,EAAEc,eAAeD,IAAI,CAAC,KAAK,IAAI,CAAC;QAEtF;QAEA,OAAOb;IACT;IAEA,OACEA,QACE,2CAA2C;KAC1CgB,GAAG,CAAC,CAAChB,WAAcA,aAAa,QAAQE,OAAOO,IAAI,CAACR,sBAAsBD,UAC1EiB,IAAI,EACL,8BAA8B;KAC7BZ,MAAM,CAAC,CAACL,UAAUkB,OAAOC,OAASA,KAAKC,OAAO,CAACpB,cAAckB,MAC9D,6BAA6B;KAC5BF,GAAG,CAAC,CAAChB,WAAae,sBAAsBf,WACxCgB,GAAG,CAAC,CAAChB,WAAaY,sBAAsBZ;AAE/C;AAEO,eAAeJ,oBAAoByB,WAAmB,EAAEC,IAAS;IACtE,MAAM,EAAExB,GAAG,EAAE,GAAGyB,IAAAA,mBAAS,EAACF,aAAa;QAAEG,aAAa;QAAMC,2BAA2B;IAAK;IAC5F,MAAM1B,mBAAmB2B,IAAAA,qCAAmB,EAACL,aAAavB;IAE1D,MAAMS,YAAYV,sBAAsBC,KAAKC,kBAAkBuB,IAAI,CAAC,aAAa;IAEjF,qDAAqD;IACrD,MAAMK,gBAAgBL,IAAI,CAAC,gBAAgB;IAC3C,MAAMM,aAAa,CAAC,CAACD;IACrB,MAAME,mBAAmBF,kBAAkB;IAE3C,OAAO;QACLpB;QACAuB,cAAc,CAAC,CAACR,IAAI,CAAC,2BAA2B;QAChDS,WAAWT,IAAI,CAAC,eAAe,IAAI;QACnCU,QAAQ,CAACV,IAAI,CAAC,cAAc;QAC5BW,UAAU,CAACX,IAAI,CAAC,gBAAgB;QAChCY,OAAO,CAAC,CAACZ,IAAI,CAAC,UAAU;QACxBa,KAAK,CAAC,CAACb,IAAI,CAAC,QAAQ;QACpBc,YAAYd,IAAI,CAAC,gBAAgB;QACjCe,cAAc,CAAC,CAACf,IAAI,CAAC,kBAAkB;QACvCM;QACAC;QACAS,SAAS,CAAC,CAAChB,IAAI,CAAC,WAAW,IAAI,CAAC,CAACA,IAAI,CAAC,aAAa;IACrD;AACF"}