@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 @@
1
+ {"version":3,"sources":["../../../src/export/exportStaticAsync.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { ExpoConfig } from '@expo/config';\nimport type { SerialAsset } from '@expo/metro-config/build/serializer/serializerAssets';\nimport chalk from 'chalk';\nimport { RouteNode } from 'expo-router/build/Route';\nimport { getContextKey, stripGroupSegmentsFromPath } from 'expo-router/build/matchers';\nimport { shouldLinkExternally } from 'expo-router/build/utils/url';\nimport { type RoutesManifest } from 'expo-server/private';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\nimport { inspect } from 'util';\n\nimport { getVirtualFaviconAssetsAsync } from './favicon';\nimport { persistMetroAssetsAsync } from './persistMetroAssets';\nimport { ExportAssetMap, getFilesFromSerialAssets } from './saveAssets';\nimport { Log } from '../log';\nimport {\n ExpoRouterRuntimeManifest,\n MetroBundlerDevServer,\n} from '../start/server/metro/MetroBundlerDevServer';\nimport { logMetroErrorAsync } from '../start/server/metro/metroErrorInterface';\nimport { getApiRoutesForDirectory, getMiddlewareForDirectory } from '../start/server/metro/router';\nimport {\n assetsRequiresSort,\n serializeHtmlWithAssets,\n sortMatchedAssetsByEntryPoints,\n} from '../start/server/metro/serializeHtml';\nimport { learnMore } from '../utils/link';\n\nconst debug = require('debug')('expo:export:generateStaticRoutes') as typeof console.log;\n\ntype ExtraScriptTag = {\n platform: string;\n src: string;\n};\n\ntype Options = {\n mode: 'production' | 'development';\n files?: ExportAssetMap;\n outputDir: string;\n minify: boolean;\n exportServer: boolean;\n baseUrl: string;\n includeSourceMaps: boolean;\n entryPoint?: string;\n clear: boolean;\n routerRoot: string;\n reactCompiler: boolean;\n maxWorkers?: number;\n isExporting: boolean;\n exp?: ExpoConfig;\n // <script type=\"type/expo\" data-platform=\"ios\" src=\"...\" />\n scriptTags?: ExtraScriptTag[];\n};\n\ntype HtmlRequestLocation = {\n /** The output file path name to use relative to the static folder. */\n filePath: string;\n /** The pathname to make requests to in order to fetch the HTML. */\n pathname: string;\n /** The runtime route node object, used to associate async modules with the static HTML. */\n route: RouteNode;\n};\n\nexport function injectScriptTags(html: string, scriptTags: ExtraScriptTag[]): string {\n const scriptTagsHtml = scriptTags\n .map((tag) =>\n tag.platform === 'web'\n ? `<script src=\"${tag.src}\"></script>`\n : `<script type=\"type/expo\" src=\"${tag.src}\" data-platform=\"${tag.platform}\"></script>`\n )\n .join('\\n');\n html = html.replace('</head>', `${scriptTagsHtml}\\n</head>`);\n return html;\n}\n\n/** Match `(page)` -> `page` */\nfunction matchGroupName(name: string): string | undefined {\n return name.match(/^\\(([^/]+?)\\)$/)?.[1];\n}\n\nexport async function getFilesToExportFromServerAsync(\n projectRoot: string,\n {\n manifest,\n serverManifest,\n renderAsync,\n // Servers can handle group routes automatically and therefore\n // don't require the build-time generation of every possible group\n // variation.\n exportServer,\n skipHtmlPrerendering,\n // name : contents\n files = new Map(),\n }: {\n manifest: ExpoRouterRuntimeManifest;\n serverManifest: RoutesManifest;\n renderAsync: (requestLocation: HtmlRequestLocation) => Promise<string>;\n exportServer?: boolean;\n /**\n * Skip HTML pre-rendering when SSR is enabled (HTML will be rendered at runtime).\n *\n * This is separate from `exportServer` because RSC mode also uses `exportServer: true`,\n * but still needs placeholder HTML files.\n */\n skipHtmlPrerendering?: boolean;\n files?: ExportAssetMap;\n }\n): Promise<ExportAssetMap> {\n if (!exportServer && serverManifest) {\n // When we're not exporting a `server` output, we provide a `_expo/.routes.json` for\n // EAS Hosting to recognize the `headers` and `redirects` configs\n const subsetServerManifest = {\n headers: serverManifest.headers,\n redirects: serverManifest.redirects,\n };\n files.set('_expo/.routes.json', {\n contents: JSON.stringify(subsetServerManifest, null, 2),\n targetDomain: 'client',\n });\n }\n\n // Skip HTML pre-rendering in SSR mode since HTML will be rendered at runtime.\n if (skipHtmlPrerendering) {\n return files;\n }\n\n await Promise.all(\n getHtmlFiles({ manifest, includeGroupVariations: !exportServer }).map(\n async ({ route, filePath, pathname }) => {\n // Rewrite routes should not be statically generated\n if (route.type === 'rewrite') {\n return;\n }\n\n try {\n const targetDomain = exportServer ? 'server' : 'client';\n files.set(filePath, { contents: '', targetDomain });\n const data = await renderAsync({ route, filePath, pathname });\n files.set(filePath, {\n contents: data,\n routeId: pathname,\n targetDomain,\n });\n } catch (e: any) {\n await logMetroErrorAsync({ error: e, projectRoot });\n throw new Error('Failed to statically export route: ' + pathname);\n }\n }\n )\n );\n\n return files;\n}\n\nfunction modifyRouteNodeInRuntimeManifest(\n manifest: ExpoRouterRuntimeManifest,\n callback: (route: RouteNode) => any\n) {\n const iterateScreens = (screens: ExpoRouterRuntimeManifest['screens']) => {\n Object.values(screens).map((value) => {\n if (typeof value !== 'string') {\n if (value._route) callback(value._route);\n iterateScreens(value.screens);\n }\n });\n };\n\n iterateScreens(manifest.screens);\n}\n\n// TODO: Do this earlier in the process.\nfunction makeRuntimeEntryPointsAbsolute(manifest: ExpoRouterRuntimeManifest, appDir: string) {\n modifyRouteNodeInRuntimeManifest(manifest, (route) => {\n if (Array.isArray(route.entryPoints)) {\n route.entryPoints = route.entryPoints.map((entryPoint) => {\n // TODO(@hassankhan): ENG-16577\n if (shouldLinkExternally(entryPoint)) {\n return entryPoint;\n }\n\n if (entryPoint.startsWith('.')) {\n return path.resolve(appDir, entryPoint);\n } else if (!path.isAbsolute(entryPoint)) {\n return resolveFrom(appDir, entryPoint);\n }\n return entryPoint;\n });\n }\n });\n}\n\n/** Perform all fs commits */\nexport async function exportFromServerAsync(\n projectRoot: string,\n devServer: MetroBundlerDevServer,\n {\n outputDir,\n baseUrl,\n exportServer,\n includeSourceMaps,\n routerRoot,\n files = new Map(),\n exp,\n scriptTags,\n }: Options\n): Promise<ExportAssetMap> {\n const useServerRendering = exp?.extra?.router?.unstable_useServerRendering ?? false;\n\n const logOutput =\n exp?.web?.output === 'server' && useServerRendering\n ? `Server rendering is enabled. ${learnMore('https://docs.expo.dev/router/web/server-rendering/')}`\n : `Static rendering is enabled. ${learnMore('https://docs.expo.dev/router/web/static-rendering/')}`;\n Log.log(logOutput);\n\n const platform = 'web';\n const isExporting = true;\n const isExportingWithSSR =\n exportServer && useServerRendering && !devServer.isReactServerComponentsEnabled;\n const appDir = path.join(projectRoot, routerRoot);\n const injectFaviconTag = await getVirtualFaviconAssetsAsync(projectRoot, {\n outputDir,\n baseUrl,\n files,\n exp,\n });\n\n const [resources, { manifest, serverManifest, renderAsync, executeLoaderAsync }] =\n await Promise.all([\n devServer.getStaticResourcesAsync({\n includeSourceMaps,\n }),\n devServer.getStaticRenderFunctionAsync(),\n ]);\n\n makeRuntimeEntryPointsAbsolute(manifest, appDir);\n\n debug('Routes:\\n', inspect(manifest, { colors: true, depth: null }));\n\n await getFilesToExportFromServerAsync(projectRoot, {\n files,\n manifest,\n serverManifest,\n exportServer,\n skipHtmlPrerendering: isExportingWithSSR,\n async renderAsync({ pathname, route }) {\n const normalizedPathname =\n pathname === '' ? '/' : pathname.startsWith('/') ? pathname : `/${pathname}`;\n\n const useServerLoaders = exp?.extra?.router?.unstable_useServerDataLoaders;\n let renderOpts;\n\n if (useServerLoaders) {\n const loaderResponse = await executeLoaderAsync(normalizedPathname, route);\n\n if (loaderResponse !== undefined) {\n const data = await loaderResponse.json();\n // Transforms a `route.contextKey` into a normalized path. For example,\n // `./nested/[id]/index.tsx` becomes `/nested/[id]/index`\n const loaderKey = getContextKey(route.contextKey);\n const fileSystemPath = `_expo/loaders${loaderKey}`;\n files.set(fileSystemPath, {\n contents: JSON.stringify(data, null, 2),\n targetDomain: 'client',\n loaderId: loaderKey,\n });\n\n renderOpts = { loader: { data, key: loaderKey } };\n }\n }\n\n const template = await renderAsync(normalizedPathname, route, renderOpts);\n let html = serializeHtmlWithAssets({\n isExporting,\n resources: resources.artifacts,\n template,\n baseUrl,\n route,\n hydrate: true,\n });\n\n if (injectFaviconTag) {\n html = injectFaviconTag(html);\n }\n\n if (scriptTags) {\n // Inject script tags into the HTML.\n // <script type=\"type/expo\" data-platform=\"ios\" src=\"...\" />\n html = injectScriptTags(html, scriptTags);\n }\n\n return html;\n },\n });\n\n getFilesFromSerialAssets(resources.artifacts, {\n platform,\n includeSourceMaps,\n files,\n isServerHosted: true,\n });\n\n if (resources.assets) {\n // TODO: Collect files without writing to disk.\n // NOTE(kitten): Re. above, this is now using `files` except for iOS catalog output, which isn't used here\n await persistMetroAssetsAsync(projectRoot, resources.assets, {\n files,\n platform,\n outputDirectory: outputDir,\n baseUrl,\n });\n }\n\n if (exportServer) {\n const apiRoutes = await exportApiRoutesAsync({\n platform: 'web',\n server: devServer,\n manifest: serverManifest,\n // NOTE(kitten): For now, we always output source maps for API route exports\n includeSourceMaps: true,\n });\n\n // Add the api routes to the files to export.\n for (const [route, contents] of apiRoutes) {\n files.set(route, contents);\n }\n\n // Export SSR render module and add SSR configuration to routes manifest\n if (isExportingWithSSR) {\n await devServer.exportExpoRouterRenderModuleAsync({\n files,\n includeSourceMaps: true,\n platform: 'web',\n });\n\n // Export loader bundles for routes that have loader exports\n const useServerLoaders = exp?.extra?.router?.unstable_useServerDataLoaders;\n if (useServerLoaders) {\n // Get `loaderReferences` from client bundle metadata to determine which routes have loaders\n const loaderReferences = resources.artifacts?.flatMap(\n (artifact) => artifact.metadata?.loaderReferences ?? []\n );\n\n await exportLoadersAsync({\n devServer,\n serverManifest,\n appDir,\n files,\n platform: 'web',\n loaderReferences,\n });\n }\n\n const toAssetUrl = (filename: string) =>\n baseUrl ? `${baseUrl}/${filename}` : `/${filename}`;\n\n const cssAssets = resources.artifacts\n .filter((asset) => asset.type === 'css')\n .map((asset) => toAssetUrl(asset.filename));\n\n const jsArtifacts = resources.artifacts.filter((asset) => asset.type === 'js');\n const orderedJsAssets = assetsRequiresSort(jsArtifacts);\n const syncJs = orderedJsAssets.filter((asset) => !asset.metadata.isAsync);\n const asyncJs = orderedJsAssets.filter((asset) => asset.metadata.isAsync);\n\n const syncJsAssets = syncJs.map((asset) => toAssetUrl(asset.filename));\n\n const htmlRoutes = getHtmlFiles({ manifest, includeGroupVariations: false });\n\n // Build per-route async chunk assignments\n const routeAssets = new Map<string, string[]>();\n for (const { route } of htmlRoutes) {\n if (!route.entryPoints || !Array.isArray(route.entryPoints)) {\n continue;\n }\n\n const matchedChunks: SerialAsset[] = [];\n for (const asyncChunk of asyncJs) {\n if (!asyncChunk.metadata.modulePaths || !Array.isArray(asyncChunk.metadata.modulePaths)) {\n continue;\n }\n const hasRouteEntryPoint = route.entryPoints.some((entryPoint) =>\n (asyncChunk.metadata.modulePaths as string[]).includes(entryPoint)\n );\n if (hasRouteEntryPoint) {\n matchedChunks.push(asyncChunk);\n }\n }\n\n if (matchedChunks.length > 0) {\n const sorted = sortMatchedAssetsByEntryPoints(matchedChunks, route.entryPoints);\n routeAssets.set(\n route.contextKey,\n sorted.map((chunk) => toAssetUrl(chunk.filename))\n );\n }\n }\n\n // Add assets and rendering config to the routes manifest\n updateExportManifestInFiles({\n files,\n callback: (manifest) => {\n manifest.assets = { css: cssAssets, js: syncJsAssets };\n manifest.rendering = {\n mode: 'ssr',\n file: '_expo/server/render.js',\n };\n\n for (const route of manifest.htmlRoutes) {\n const asyncChunks = routeAssets.get(route.file);\n if (asyncChunks) {\n route.assets = { css: [], js: asyncChunks };\n }\n }\n },\n });\n }\n } else {\n warnPossibleInvalidExportType(appDir);\n }\n\n return files;\n}\n\nexport function getHtmlFiles({\n manifest,\n includeGroupVariations,\n}: {\n manifest: ExpoRouterRuntimeManifest;\n includeGroupVariations?: boolean;\n}): HtmlRequestLocation[] {\n const htmlFiles = new Set<Omit<HtmlRequestLocation, 'pathname'>>();\n\n function traverseScreens(\n screens: ExpoRouterRuntimeManifest['screens'],\n route: RouteNode | null,\n baseUrl = ''\n ) {\n for (const [key, value] of Object.entries(screens)) {\n let leaf: string | null = null;\n if (typeof value === 'string') {\n leaf = value;\n } else if (value.screens && Object.keys(value.screens).length === 0) {\n // Ensure the trailing index is accounted for.\n if (key === value.path + '/index') {\n leaf = key;\n } else {\n leaf = value.path;\n }\n\n route = value._route ?? null;\n }\n\n if (leaf != null) {\n let filePath = baseUrl + leaf;\n\n if (leaf === '') {\n filePath =\n baseUrl === ''\n ? 'index'\n : baseUrl.endsWith('/')\n ? baseUrl + 'index'\n : baseUrl.slice(0, -1);\n } else if (\n // If the path is a collection of group segments leading to an index route, append `/index`.\n stripGroupSegmentsFromPath(filePath) === ''\n ) {\n filePath += '/index';\n }\n\n // This should never happen, the type of `string | object` originally comes from React Navigation.\n if (!route) {\n throw new Error(\n `Internal error: Route not found for \"${filePath}\" while collecting static export paths.`\n );\n }\n\n if (includeGroupVariations) {\n // TODO: Dedupe requests for alias routes.\n addOptionalGroups(filePath, route);\n } else {\n htmlFiles.add({\n filePath,\n route,\n });\n }\n } else if (typeof value === 'object' && value?.screens) {\n // The __root slot has no path.\n const newPath = value.path ? baseUrl + value.path + '/' : baseUrl;\n traverseScreens(value.screens, value._route ?? null, newPath);\n }\n }\n }\n\n function addOptionalGroups(path: string, route: RouteNode) {\n const variations = getPathVariations(path);\n for (const variation of variations) {\n htmlFiles.add({ filePath: variation, route });\n }\n }\n\n traverseScreens(manifest.screens, null);\n\n return uniqueBy(Array.from(htmlFiles), (value) => value.filePath).map((value) => {\n const parts = value.filePath.split('/');\n // Replace `:foo` with `[foo]` and `*foo` with `[...foo]`\n const partsWithGroups = parts.map((part) => {\n if (part === '*not-found') {\n return `+not-found`;\n } else if (part.startsWith(':')) {\n return `[${part.slice(1)}]`;\n } else if (part.startsWith('*')) {\n return `[...${part.slice(1)}]`;\n }\n return part;\n });\n const filePathLocation = partsWithGroups.join('/');\n const filePath = filePathLocation + '.html';\n return {\n ...value,\n filePath,\n pathname: filePathLocation.replace(/(\\/?index)?$/, ''),\n };\n });\n}\n\nfunction uniqueBy<T>(array: T[], key: (value: T) => string): T[] {\n const seen = new Set<string>();\n const result: T[] = [];\n for (const value of array) {\n const id = key(value);\n if (!seen.has(id)) {\n seen.add(id);\n result.push(value);\n }\n }\n return result;\n}\n\n// Given a route like `(foo)/bar/(baz)`, return all possible variations of the route.\n// e.g. `(foo)/bar/(baz)`, `(foo)/bar/baz`, `foo/bar/(baz)`, `foo/bar/baz`,\nexport function getPathVariations(routePath: string): string[] {\n const variations = new Set<string>();\n const segments = routePath.split('/');\n\n function generateVariations(segments: string[], current = ''): void {\n if (segments.length === 0) {\n if (current) variations.add(current);\n return;\n }\n\n const [head, ...rest] = segments;\n\n if (matchGroupName(head)) {\n const groups = head.slice(1, -1).split(',');\n\n if (groups.length > 1) {\n for (const group of groups) {\n // If there are multiple groups, recurse on each group.\n generateVariations([`(${group.trim()})`, ...rest], current);\n }\n return;\n } else {\n // Start a fork where this group is included\n generateVariations(rest, current ? `${current}/(${groups[0]})` : `(${groups[0]})`);\n // This code will continue and add paths without this group included`\n }\n } else if (current) {\n current = `${current}/${head}`;\n } else {\n current = head;\n }\n\n generateVariations(rest, current);\n }\n\n generateVariations(segments);\n\n return Array.from(variations);\n}\n\nexport async function exportApiRoutesStandaloneAsync(\n devServer: MetroBundlerDevServer,\n {\n files = new Map(),\n platform,\n apiRoutesOnly,\n templateHtml,\n }: {\n files?: ExportAssetMap;\n platform: string;\n apiRoutesOnly: boolean;\n templateHtml?: string;\n }\n) {\n const { serverManifest, htmlManifest } = await devServer.getServerManifestAsync();\n\n const apiRoutes = await exportApiRoutesAsync({\n server: devServer,\n manifest: serverManifest,\n // NOTE(kitten): For now, we always output source maps for API route exports\n includeSourceMaps: true,\n platform,\n apiRoutesOnly,\n });\n\n // Add the api routes to the files to export.\n for (const [route, contents] of apiRoutes) {\n files.set(route, contents);\n }\n\n if (templateHtml && devServer.isReactServerComponentsEnabled) {\n // TODO: Export an HTML entry for each file. This is a temporary solution until we have SSR/SSG for RSC.\n await getFilesToExportFromServerAsync(devServer.projectRoot, {\n manifest: htmlManifest,\n serverManifest,\n exportServer: true,\n files,\n renderAsync: async ({ pathname, filePath }) => {\n files.set(filePath, {\n contents: templateHtml!,\n routeId: pathname,\n targetDomain: 'server',\n });\n return templateHtml!;\n },\n });\n }\n\n return files;\n}\n\nasync function exportApiRoutesAsync({\n includeSourceMaps,\n server,\n platform,\n apiRoutesOnly,\n ...props\n}: Pick<Options, 'includeSourceMaps'> & {\n server: MetroBundlerDevServer;\n manifest: RoutesManifest<string>;\n platform: string;\n apiRoutesOnly?: boolean;\n}): Promise<ExportAssetMap> {\n const { manifest, files } = await server.exportExpoRouterApiRoutesAsync({\n outputDir: '_expo/functions',\n prerenderManifest: props.manifest,\n includeSourceMaps,\n platform,\n });\n\n // HACK: Clear out the HTML and 404 routes if we're only exporting API routes. This is used for native apps that are using API routes but haven't implemented web support yet.\n if (apiRoutesOnly) {\n manifest.htmlRoutes = [];\n manifest.notFoundRoutes = [];\n }\n\n files.set('_expo/routes.json', {\n contents: JSON.stringify(manifest, null, 2),\n targetDomain: 'server',\n });\n\n return files;\n}\n\nfunction warnPossibleInvalidExportType(appDir: string) {\n const apiRoutes = getApiRoutesForDirectory(appDir);\n if (apiRoutes.length) {\n // TODO: Allow API Routes for native-only.\n Log.warn(\n chalk.yellow`Skipping export for API routes because \\`web.output\\` is not \"server\". You may want to remove the routes: ${apiRoutes\n .map((v) => path.relative(appDir, v))\n .join(', ')}`\n );\n }\n\n const middlewareFile = getMiddlewareForDirectory(appDir);\n if (middlewareFile) {\n Log.warn(\n chalk.yellow`Skipping export for middleware because \\`web.output\\` is not \"server\". You may want to remove ${path.relative(appDir, middlewareFile)}`\n );\n }\n}\n\n/**\n * Export loader bundles for routes that have loader exports and updates routes in the manifest\n * with a `loader` property.\n */\nasync function exportLoadersAsync({\n devServer,\n serverManifest,\n appDir,\n files,\n platform,\n loaderReferences,\n}: {\n devServer: MetroBundlerDevServer;\n serverManifest: RoutesManifest<string>;\n appDir: string;\n files: ExportAssetMap;\n platform: string;\n /** File paths of modules with loader exports from client bundle metadata */\n loaderReferences: string[];\n}): Promise<void> {\n const entryPoints: { file: string; page: string }[] = [];\n\n for (const route of serverManifest.htmlRoutes) {\n // Skip generated routes\n if (route.generated) {\n continue;\n }\n\n const filePath = path.isAbsolute(route.file) ? route.file : path.join(appDir, route.file);\n\n if (loaderReferences.includes(filePath)) {\n entryPoints.push({\n file: filePath,\n page: route.page,\n });\n }\n }\n\n if (entryPoints.length === 0) {\n debug('No routes with loaders to bundle');\n return;\n }\n\n const entryPointModules = entryPoints.map((e) => e.page);\n debug('Bundling loaders for routes:', entryPointModules);\n\n await devServer.exportExpoRouterLoadersAsync({\n platform,\n entryPoints,\n files,\n outputDir: '_expo/loaders',\n includeSourceMaps: true,\n });\n\n // Update `htmlRoutes` in routes manifest for routes that have loaders\n updateExportManifestInFiles({\n files,\n callback: (manifest) => {\n const routesWithLoaders = new Set(entryPointModules);\n for (const route of manifest.htmlRoutes) {\n if (routesWithLoaders.has(route.page)) {\n route.loader = `_expo/loaders${route.page}.js`;\n }\n }\n },\n });\n\n debug('Exported loaders for routes:', entryPointModules);\n}\n\n// NOTE(@hassankhan): We should ideally persist the manifest to `files` only once instead of\n// modifying it afterwards.\nfunction updateExportManifestInFiles({\n files,\n callback,\n}: {\n files: ExportAssetMap;\n callback: (manifest: RoutesManifest<string>) => void;\n}) {\n const routesJsonEntry = files.get('_expo/routes.json');\n if (routesJsonEntry) {\n const manifest = JSON.parse(routesJsonEntry.contents as string);\n callback(manifest);\n\n files.set('_expo/routes.json', {\n ...routesJsonEntry,\n contents: JSON.stringify(manifest, null, 2),\n });\n }\n}\n"],"names":["exportApiRoutesStandaloneAsync","exportFromServerAsync","getFilesToExportFromServerAsync","getHtmlFiles","getPathVariations","injectScriptTags","debug","require","html","scriptTags","scriptTagsHtml","map","tag","platform","src","join","replace","matchGroupName","name","match","projectRoot","manifest","serverManifest","renderAsync","exportServer","skipHtmlPrerendering","files","Map","subsetServerManifest","headers","redirects","set","contents","JSON","stringify","targetDomain","Promise","all","includeGroupVariations","route","filePath","pathname","type","data","routeId","e","logMetroErrorAsync","error","Error","modifyRouteNodeInRuntimeManifest","callback","iterateScreens","screens","Object","values","value","_route","makeRuntimeEntryPointsAbsolute","appDir","Array","isArray","entryPoints","entryPoint","shouldLinkExternally","startsWith","path","resolve","isAbsolute","resolveFrom","devServer","outputDir","baseUrl","includeSourceMaps","routerRoot","exp","useServerRendering","extra","router","unstable_useServerRendering","logOutput","web","output","learnMore","Log","log","isExporting","isExportingWithSSR","isReactServerComponentsEnabled","injectFaviconTag","getVirtualFaviconAssetsAsync","resources","executeLoaderAsync","getStaticResourcesAsync","getStaticRenderFunctionAsync","inspect","colors","depth","normalizedPathname","useServerLoaders","unstable_useServerDataLoaders","renderOpts","loaderResponse","undefined","json","loaderKey","getContextKey","contextKey","fileSystemPath","loaderId","loader","key","template","serializeHtmlWithAssets","artifacts","hydrate","getFilesFromSerialAssets","isServerHosted","assets","persistMetroAssetsAsync","outputDirectory","apiRoutes","exportApiRoutesAsync","server","exportExpoRouterRenderModuleAsync","loaderReferences","flatMap","artifact","metadata","exportLoadersAsync","toAssetUrl","filename","cssAssets","filter","asset","jsArtifacts","orderedJsAssets","assetsRequiresSort","syncJs","isAsync","asyncJs","syncJsAssets","htmlRoutes","routeAssets","matchedChunks","asyncChunk","modulePaths","hasRouteEntryPoint","some","includes","push","length","sorted","sortMatchedAssetsByEntryPoints","chunk","updateExportManifestInFiles","css","js","rendering","mode","file","asyncChunks","get","warnPossibleInvalidExportType","htmlFiles","Set","traverseScreens","entries","leaf","keys","endsWith","slice","stripGroupSegmentsFromPath","addOptionalGroups","add","newPath","variations","variation","uniqueBy","from","parts","split","partsWithGroups","part","filePathLocation","array","seen","result","id","has","routePath","segments","generateVariations","current","head","rest","groups","group","trim","apiRoutesOnly","templateHtml","htmlManifest","getServerManifestAsync","props","exportExpoRouterApiRoutesAsync","prerenderManifest","notFoundRoutes","getApiRoutesForDirectory","warn","chalk","yellow","v","relative","middlewareFile","getMiddlewareForDirectory","generated","page","entryPointModules","exportExpoRouterLoadersAsync","routesWithLoaders","routesJsonEntry","parse"],"mappings":"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"}
@@ -0,0 +1,138 @@
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
+ getFaviconFromExpoConfigAsync: function() {
13
+ return getFaviconFromExpoConfigAsync;
14
+ },
15
+ getUserDefinedFaviconFile: function() {
16
+ return getUserDefinedFaviconFile;
17
+ },
18
+ getVirtualFaviconAssetsAsync: function() {
19
+ return getVirtualFaviconAssetsAsync;
20
+ }
21
+ });
22
+ function _config() {
23
+ const data = require("@expo/config");
24
+ _config = function() {
25
+ return data;
26
+ };
27
+ return data;
28
+ }
29
+ function _imageutils() {
30
+ const data = require("@expo/image-utils");
31
+ _imageutils = function() {
32
+ return data;
33
+ };
34
+ return data;
35
+ }
36
+ function _fs() {
37
+ const data = /*#__PURE__*/ _interop_require_default(require("fs"));
38
+ _fs = function() {
39
+ return data;
40
+ };
41
+ return data;
42
+ }
43
+ function _path() {
44
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
45
+ _path = function() {
46
+ return data;
47
+ };
48
+ return data;
49
+ }
50
+ const _publicFolder = require("./publicFolder");
51
+ const _log = require("../log");
52
+ function _interop_require_default(obj) {
53
+ return obj && obj.__esModule ? obj : {
54
+ default: obj
55
+ };
56
+ }
57
+ const debug = require('debug')('expo:favicon');
58
+ function getUserDefinedFaviconFile(projectRoot) {
59
+ return (0, _publicFolder.getUserDefinedFile)(projectRoot, [
60
+ './favicon.ico'
61
+ ]);
62
+ }
63
+ async function getVirtualFaviconAssetsAsync(projectRoot, { baseUrl, outputDir, files, exp }) {
64
+ const existing = getUserDefinedFaviconFile(projectRoot);
65
+ if (existing) {
66
+ debug('Using user-defined favicon.ico file.');
67
+ return null;
68
+ }
69
+ const data = await getFaviconFromExpoConfigAsync(projectRoot, {
70
+ exp
71
+ });
72
+ if (!data) {
73
+ return null;
74
+ }
75
+ await Promise.all([
76
+ data
77
+ ].map(async (asset)=>{
78
+ const assetPath = _path().default.join(outputDir, asset.path);
79
+ if (files) {
80
+ debug('Storing asset for persisting: ' + assetPath);
81
+ files == null ? void 0 : files.set(asset.path, {
82
+ contents: asset.source,
83
+ targetDomain: 'client'
84
+ });
85
+ } else {
86
+ debug('Writing asset to disk: ' + assetPath);
87
+ await _fs().default.promises.writeFile(assetPath, asset.source);
88
+ }
89
+ }));
90
+ function injectFaviconTag(html) {
91
+ if (!html.includes('</head>')) {
92
+ return html;
93
+ }
94
+ return html.replace('</head>', `<link rel="icon" href="${baseUrl}/favicon.ico" /></head>`);
95
+ }
96
+ return injectFaviconTag;
97
+ }
98
+ async function getFaviconFromExpoConfigAsync(projectRoot, { force = false, exp = (0, _config().getConfig)(projectRoot).exp } = {}) {
99
+ var _exp_web;
100
+ const src = ((_exp_web = exp.web) == null ? void 0 : _exp_web.favicon) ?? null;
101
+ if (!src) {
102
+ return null;
103
+ }
104
+ const dims = [
105
+ 16,
106
+ 32,
107
+ 48
108
+ ];
109
+ const cacheType = 'favicon';
110
+ const size = dims[dims.length - 1];
111
+ try {
112
+ const { source } = await (0, _imageutils().generateImageAsync)({
113
+ projectRoot,
114
+ cacheType
115
+ }, {
116
+ resizeMode: 'contain',
117
+ src,
118
+ backgroundColor: 'transparent',
119
+ width: size,
120
+ height: size,
121
+ name: `favicon-${size}.png`
122
+ });
123
+ const faviconBuffer = await (0, _imageutils().generateFaviconAsync)(source, dims);
124
+ return {
125
+ source: faviconBuffer,
126
+ path: 'favicon.ico'
127
+ };
128
+ } catch (error) {
129
+ // Check for ENOENT
130
+ if (!force && error.code === 'ENOENT') {
131
+ _log.Log.warn(`Favicon source file in Expo config (web.favicon) does not exist: ${src}`);
132
+ return null;
133
+ }
134
+ throw error;
135
+ }
136
+ }
137
+
138
+ //# sourceMappingURL=favicon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/export/favicon.ts"],"sourcesContent":["import { ExpoConfig, getConfig } from '@expo/config';\nimport { generateFaviconAsync, generateImageAsync } from '@expo/image-utils';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { getUserDefinedFile } from './publicFolder';\nimport { ExportAssetMap } from './saveAssets';\nimport { Log } from '../log';\n\nconst debug = require('debug')('expo:favicon') as typeof console.log;\n\n/** @returns the file system path for a user-defined favicon.ico file in the public folder. */\nexport function getUserDefinedFaviconFile(projectRoot: string): string | null {\n return getUserDefinedFile(projectRoot, ['./favicon.ico']);\n}\n\nexport async function getVirtualFaviconAssetsAsync(\n projectRoot: string,\n {\n baseUrl,\n outputDir,\n files,\n exp,\n }: { outputDir: string; baseUrl: string; files?: ExportAssetMap; exp?: ExpoConfig }\n): Promise<((html: string) => string) | null> {\n const existing = getUserDefinedFaviconFile(projectRoot);\n if (existing) {\n debug('Using user-defined favicon.ico file.');\n return null;\n }\n\n const data = await getFaviconFromExpoConfigAsync(projectRoot, {\n exp,\n });\n\n if (!data) {\n return null;\n }\n\n await Promise.all(\n [data].map(async (asset) => {\n const assetPath = path.join(outputDir, asset.path);\n if (files) {\n debug('Storing asset for persisting: ' + assetPath);\n files?.set(asset.path, {\n contents: asset.source,\n targetDomain: 'client',\n });\n } else {\n debug('Writing asset to disk: ' + assetPath);\n await fs.promises.writeFile(assetPath, asset.source);\n }\n })\n );\n\n function injectFaviconTag(html: string): string {\n if (!html.includes('</head>')) {\n return html;\n }\n return html.replace('</head>', `<link rel=\"icon\" href=\"${baseUrl}/favicon.ico\" /></head>`);\n }\n\n return injectFaviconTag;\n}\n\nexport async function getFaviconFromExpoConfigAsync(\n projectRoot: string,\n { force = false, exp = getConfig(projectRoot).exp }: { force?: boolean; exp?: ExpoConfig } = {}\n) {\n const src = exp.web?.favicon ?? null;\n if (!src) {\n return null;\n }\n\n const dims = [16, 32, 48];\n const cacheType = 'favicon';\n\n const size = dims[dims.length - 1];\n try {\n const { source } = await generateImageAsync(\n { projectRoot, cacheType },\n {\n resizeMode: 'contain',\n src,\n backgroundColor: 'transparent',\n width: size,\n height: size,\n name: `favicon-${size}.png`,\n }\n );\n\n const faviconBuffer = await generateFaviconAsync(source, dims);\n\n return { source: faviconBuffer, path: 'favicon.ico' };\n } catch (error: any) {\n // Check for ENOENT\n if (!force && error.code === 'ENOENT') {\n Log.warn(`Favicon source file in Expo config (web.favicon) does not exist: ${src}`);\n return null;\n }\n throw error;\n }\n}\n"],"names":["getFaviconFromExpoConfigAsync","getUserDefinedFaviconFile","getVirtualFaviconAssetsAsync","debug","require","projectRoot","getUserDefinedFile","baseUrl","outputDir","files","exp","existing","data","Promise","all","map","asset","assetPath","path","join","set","contents","source","targetDomain","fs","promises","writeFile","injectFaviconTag","html","includes","replace","force","getConfig","src","web","favicon","dims","cacheType","size","length","generateImageAsync","resizeMode","backgroundColor","width","height","name","faviconBuffer","generateFaviconAsync","error","code","Log","warn"],"mappings":";;;;;;;;;;;IAiEsBA,6BAA6B;eAA7BA;;IArDNC,yBAAyB;eAAzBA;;IAIMC,4BAA4B;eAA5BA;;;;yBAhBgB;;;;;;;yBACmB;;;;;;;gEAC1C;;;;;;;gEACE;;;;;;8BAEkB;qBAEf;;;;;;AAEpB,MAAMC,QAAQC,QAAQ,SAAS;AAGxB,SAASH,0BAA0BI,WAAmB;IAC3D,OAAOC,IAAAA,gCAAkB,EAACD,aAAa;QAAC;KAAgB;AAC1D;AAEO,eAAeH,6BACpBG,WAAmB,EACnB,EACEE,OAAO,EACPC,SAAS,EACTC,KAAK,EACLC,GAAG,EAC8E;IAEnF,MAAMC,WAAWV,0BAA0BI;IAC3C,IAAIM,UAAU;QACZR,MAAM;QACN,OAAO;IACT;IAEA,MAAMS,OAAO,MAAMZ,8BAA8BK,aAAa;QAC5DK;IACF;IAEA,IAAI,CAACE,MAAM;QACT,OAAO;IACT;IAEA,MAAMC,QAAQC,GAAG,CACf;QAACF;KAAK,CAACG,GAAG,CAAC,OAAOC;QAChB,MAAMC,YAAYC,eAAI,CAACC,IAAI,CAACX,WAAWQ,MAAME,IAAI;QACjD,IAAIT,OAAO;YACTN,MAAM,mCAAmCc;YACzCR,yBAAAA,MAAOW,GAAG,CAACJ,MAAME,IAAI,EAAE;gBACrBG,UAAUL,MAAMM,MAAM;gBACtBC,cAAc;YAChB;QACF,OAAO;YACLpB,MAAM,4BAA4Bc;YAClC,MAAMO,aAAE,CAACC,QAAQ,CAACC,SAAS,CAACT,WAAWD,MAAMM,MAAM;QACrD;IACF;IAGF,SAASK,iBAAiBC,IAAY;QACpC,IAAI,CAACA,KAAKC,QAAQ,CAAC,YAAY;YAC7B,OAAOD;QACT;QACA,OAAOA,KAAKE,OAAO,CAAC,WAAW,CAAC,uBAAuB,EAAEvB,QAAQ,uBAAuB,CAAC;IAC3F;IAEA,OAAOoB;AACT;AAEO,eAAe3B,8BACpBK,WAAmB,EACnB,EAAE0B,QAAQ,KAAK,EAAErB,MAAMsB,IAAAA,mBAAS,EAAC3B,aAAaK,GAAG,EAAyC,GAAG,CAAC,CAAC;QAEnFA;IAAZ,MAAMuB,MAAMvB,EAAAA,WAAAA,IAAIwB,GAAG,qBAAPxB,SAASyB,OAAO,KAAI;IAChC,IAAI,CAACF,KAAK;QACR,OAAO;IACT;IAEA,MAAMG,OAAO;QAAC;QAAI;QAAI;KAAG;IACzB,MAAMC,YAAY;IAElB,MAAMC,OAAOF,IAAI,CAACA,KAAKG,MAAM,GAAG,EAAE;IAClC,IAAI;QACF,MAAM,EAAEjB,MAAM,EAAE,GAAG,MAAMkB,IAAAA,gCAAkB,EACzC;YAAEnC;YAAagC;QAAU,GACzB;YACEI,YAAY;YACZR;YACAS,iBAAiB;YACjBC,OAAOL;YACPM,QAAQN;YACRO,MAAM,CAAC,QAAQ,EAAEP,KAAK,IAAI,CAAC;QAC7B;QAGF,MAAMQ,gBAAgB,MAAMC,IAAAA,kCAAoB,EAACzB,QAAQc;QAEzD,OAAO;YAAEd,QAAQwB;YAAe5B,MAAM;QAAc;IACtD,EAAE,OAAO8B,OAAY;QACnB,mBAAmB;QACnB,IAAI,CAACjB,SAASiB,MAAMC,IAAI,KAAK,UAAU;YACrCC,QAAG,CAACC,IAAI,CAAC,CAAC,iEAAiE,EAAElB,KAAK;YAClF,OAAO;QACT;QACA,MAAMe;IACR;AACF"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "getPublicExpoManifestAsync", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return getPublicExpoManifestAsync;
9
+ }
10
+ });
11
+ function _config() {
12
+ const data = require("@expo/config");
13
+ _config = function() {
14
+ return data;
15
+ };
16
+ return data;
17
+ }
18
+ const _getResolvedLocales = require("./getResolvedLocales");
19
+ const _env = require("../utils/env");
20
+ const _errors = require("../utils/errors");
21
+ async function getPublicExpoManifestAsync(projectRoot, { skipValidation } = {}) {
22
+ // Read the config in public mode which strips the `hooks`.
23
+ const { exp } = (0, _config().getConfig)(projectRoot, {
24
+ isPublicConfig: true,
25
+ // This shouldn't be needed since the CLI is vendored in `expo`.
26
+ skipSDKVersionRequirement: true
27
+ });
28
+ // Only allow projects to be published with UNVERSIONED if a correct token is set in env
29
+ if (!skipValidation && exp.sdkVersion === 'UNVERSIONED' && !_env.env.EXPO_SKIP_MANIFEST_VALIDATION_TOKEN) {
30
+ throw new _errors.CommandError('INVALID_OPTIONS', 'Cannot publish with sdkVersion UNVERSIONED.');
31
+ }
32
+ return {
33
+ ...exp,
34
+ locales: await (0, _getResolvedLocales.getResolvedLocalesAsync)(projectRoot, exp),
35
+ sdkVersion: exp.sdkVersion
36
+ };
37
+ }
38
+
39
+ //# sourceMappingURL=getPublicExpoManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/export/getPublicExpoManifest.ts"],"sourcesContent":["import { ExpoConfig, getConfig } from '@expo/config';\n\nimport { LocaleMap, getResolvedLocalesAsync } from './getResolvedLocales';\nimport { env } from '../utils/env';\nimport { CommandError } from '../utils/errors';\n\n/** Get the public Expo manifest from the local project config. */\nexport async function getPublicExpoManifestAsync(\n projectRoot: string,\n { skipValidation }: { skipValidation?: boolean } = {}\n): Promise<ExpoConfig & { locales: LocaleMap; sdkVersion: string }> {\n // Read the config in public mode which strips the `hooks`.\n const { exp } = getConfig(projectRoot, {\n isPublicConfig: true,\n // This shouldn't be needed since the CLI is vendored in `expo`.\n skipSDKVersionRequirement: true,\n });\n\n // Only allow projects to be published with UNVERSIONED if a correct token is set in env\n if (\n !skipValidation &&\n exp.sdkVersion === 'UNVERSIONED' &&\n !env.EXPO_SKIP_MANIFEST_VALIDATION_TOKEN\n ) {\n throw new CommandError('INVALID_OPTIONS', 'Cannot publish with sdkVersion UNVERSIONED.');\n }\n\n return {\n ...exp,\n locales: await getResolvedLocalesAsync(projectRoot, exp),\n sdkVersion: exp.sdkVersion!,\n };\n}\n"],"names":["getPublicExpoManifestAsync","projectRoot","skipValidation","exp","getConfig","isPublicConfig","skipSDKVersionRequirement","sdkVersion","env","EXPO_SKIP_MANIFEST_VALIDATION_TOKEN","CommandError","locales","getResolvedLocalesAsync"],"mappings":";;;;+BAOsBA;;;eAAAA;;;;yBAPgB;;;;;;oCAEa;qBAC/B;wBACS;AAGtB,eAAeA,2BACpBC,WAAmB,EACnB,EAAEC,cAAc,EAAgC,GAAG,CAAC,CAAC;IAErD,2DAA2D;IAC3D,MAAM,EAAEC,GAAG,EAAE,GAAGC,IAAAA,mBAAS,EAACH,aAAa;QACrCI,gBAAgB;QAChB,gEAAgE;QAChEC,2BAA2B;IAC7B;IAEA,wFAAwF;IACxF,IACE,CAACJ,kBACDC,IAAII,UAAU,KAAK,iBACnB,CAACC,QAAG,CAACC,mCAAmC,EACxC;QACA,MAAM,IAAIC,oBAAY,CAAC,mBAAmB;IAC5C;IAEA,OAAO;QACL,GAAGP,GAAG;QACNQ,SAAS,MAAMC,IAAAA,2CAAuB,EAACX,aAAaE;QACpDI,YAAYJ,IAAII,UAAU;IAC5B;AACF"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "getResolvedLocalesAsync", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return getResolvedLocalesAsync;
9
+ }
10
+ });
11
+ function _jsonfile() {
12
+ const data = /*#__PURE__*/ _interop_require_default(require("@expo/json-file"));
13
+ _jsonfile = function() {
14
+ return data;
15
+ };
16
+ return data;
17
+ }
18
+ function _path() {
19
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
20
+ _path = function() {
21
+ return data;
22
+ };
23
+ return data;
24
+ }
25
+ const _errors = require("../utils/errors");
26
+ function _interop_require_default(obj) {
27
+ return obj && obj.__esModule ? obj : {
28
+ default: obj
29
+ };
30
+ }
31
+ async function getResolvedLocalesAsync(projectRoot, exp) {
32
+ if (!exp.locales) {
33
+ return {};
34
+ }
35
+ const locales = {};
36
+ for (const [lang, localeJsonPath] of Object.entries(exp.locales)){
37
+ if (typeof localeJsonPath === 'string') {
38
+ try {
39
+ locales[lang] = await _jsonfile().default.readAsync(_path().default.join(projectRoot, localeJsonPath));
40
+ } catch (error) {
41
+ throw new _errors.CommandError('EXPO_CONFIG', JSON.stringify(error));
42
+ }
43
+ } else {
44
+ // In the off chance that someone defined the locales json in the config, pass it directly to the object.
45
+ // We do this to make the types more elegant.
46
+ locales[lang] = localeJsonPath;
47
+ }
48
+ }
49
+ return locales;
50
+ }
51
+
52
+ //# sourceMappingURL=getResolvedLocales.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/export/getResolvedLocales.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport JsonFile, { JSONObject } from '@expo/json-file';\nimport path from 'path';\n\nimport { CommandError } from '../utils/errors';\n\nexport type LocaleMap = Record<string, JSONObject>;\n\n// Similar to how we resolve locales in `@expo/config-plugins`\nexport async function getResolvedLocalesAsync(\n projectRoot: string,\n exp: Pick<ExpoConfig, 'locales'>\n): Promise<LocaleMap> {\n if (!exp.locales) {\n return {};\n }\n\n const locales: LocaleMap = {};\n for (const [lang, localeJsonPath] of Object.entries(exp.locales)) {\n if (typeof localeJsonPath === 'string') {\n try {\n locales[lang] = await JsonFile.readAsync(path.join(projectRoot, localeJsonPath));\n } catch (error: any) {\n throw new CommandError('EXPO_CONFIG', JSON.stringify(error));\n }\n } else {\n // In the off chance that someone defined the locales json in the config, pass it directly to the object.\n // We do this to make the types more elegant.\n locales[lang] = localeJsonPath;\n }\n }\n return locales;\n}\n"],"names":["getResolvedLocalesAsync","projectRoot","exp","locales","lang","localeJsonPath","Object","entries","JsonFile","readAsync","path","join","error","CommandError","JSON","stringify"],"mappings":";;;;+BASsBA;;;eAAAA;;;;gEARe;;;;;;;gEACpB;;;;;;wBAEY;;;;;;AAKtB,eAAeA,wBACpBC,WAAmB,EACnBC,GAAgC;IAEhC,IAAI,CAACA,IAAIC,OAAO,EAAE;QAChB,OAAO,CAAC;IACV;IAEA,MAAMA,UAAqB,CAAC;IAC5B,KAAK,MAAM,CAACC,MAAMC,eAAe,IAAIC,OAAOC,OAAO,CAACL,IAAIC,OAAO,EAAG;QAChE,IAAI,OAAOE,mBAAmB,UAAU;YACtC,IAAI;gBACFF,OAAO,CAACC,KAAK,GAAG,MAAMI,mBAAQ,CAACC,SAAS,CAACC,eAAI,CAACC,IAAI,CAACV,aAAaI;YAClE,EAAE,OAAOO,OAAY;gBACnB,MAAM,IAAIC,oBAAY,CAAC,eAAeC,KAAKC,SAAS,CAACH;YACvD;QACF,OAAO;YACL,yGAAyG;YACzG,6CAA6C;YAC7CT,OAAO,CAACC,KAAK,GAAGC;QAClB;IACF;IACA,OAAOF;AACT"}
@@ -0,0 +1,33 @@
1
+ // <link rel="preload" href="/_expo/static/css/xxxxxx.css" as="style">
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ function _export(target, all) {
7
+ for(var name in all)Object.defineProperty(target, name, {
8
+ enumerable: true,
9
+ get: all[name]
10
+ });
11
+ }
12
+ _export(exports, {
13
+ appendLinkToHtml: function() {
14
+ return appendLinkToHtml;
15
+ },
16
+ appendScriptsToHtml: function() {
17
+ return appendScriptsToHtml;
18
+ }
19
+ });
20
+ function appendLinkToHtml(html, links) {
21
+ return html.replace('</head>', links.map((link)=>{
22
+ let linkTag = `<link rel="${link.rel}"`;
23
+ if (link.href) linkTag += ` href="${link.href}"`;
24
+ if (link.as) linkTag += ` as="${link.as}"`;
25
+ linkTag += '>';
26
+ return linkTag;
27
+ }).join('') + '</head>');
28
+ }
29
+ function appendScriptsToHtml(html, scripts) {
30
+ return html.replace('</body>', scripts.map((script)=>`<script src="${script}" defer></script>`).join('') + '</body>');
31
+ }
32
+
33
+ //# sourceMappingURL=html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/export/html.ts"],"sourcesContent":["// <link rel=\"preload\" href=\"/_expo/static/css/xxxxxx.css\" as=\"style\">\nexport function appendLinkToHtml(\n html: string,\n links: { rel: string; href: string; as?: string }[]\n) {\n return html.replace(\n '</head>',\n links\n .map((link) => {\n let linkTag = `<link rel=\"${link.rel}\"`;\n\n if (link.href) linkTag += ` href=\"${link.href}\"`;\n if (link.as) linkTag += ` as=\"${link.as}\"`;\n\n linkTag += '>';\n\n return linkTag;\n })\n .join('') + '</head>'\n );\n}\n\nexport function appendScriptsToHtml(html: string, scripts: string[]) {\n return html.replace(\n '</body>',\n scripts.map((script) => `<script src=\"${script}\" defer></script>`).join('') + '</body>'\n );\n}\n"],"names":["appendLinkToHtml","appendScriptsToHtml","html","links","replace","map","link","linkTag","rel","href","as","join","scripts","script"],"mappings":"AAAA,sEAAsE;;;;;;;;;;;;IACtDA,gBAAgB;eAAhBA;;IAqBAC,mBAAmB;eAAnBA;;;AArBT,SAASD,iBACdE,IAAY,EACZC,KAAmD;IAEnD,OAAOD,KAAKE,OAAO,CACjB,WACAD,MACGE,GAAG,CAAC,CAACC;QACJ,IAAIC,UAAU,CAAC,WAAW,EAAED,KAAKE,GAAG,CAAC,CAAC,CAAC;QAEvC,IAAIF,KAAKG,IAAI,EAAEF,WAAW,CAAC,OAAO,EAAED,KAAKG,IAAI,CAAC,CAAC,CAAC;QAChD,IAAIH,KAAKI,EAAE,EAAEH,WAAW,CAAC,KAAK,EAAED,KAAKI,EAAE,CAAC,CAAC,CAAC;QAE1CH,WAAW;QAEX,OAAOA;IACT,GACCI,IAAI,CAAC,MAAM;AAElB;AAEO,SAASV,oBAAoBC,IAAY,EAAEU,OAAiB;IACjE,OAAOV,KAAKE,OAAO,CACjB,WACAQ,QAAQP,GAAG,CAAC,CAACQ,SAAW,CAAC,aAAa,EAAEA,OAAO,iBAAiB,CAAC,EAAEF,IAAI,CAAC,MAAM;AAElF"}
@@ -0,0 +1,146 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "expoExport", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return expoExport;
10
+ }
11
+ });
12
+ function _chalk() {
13
+ const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
14
+ _chalk = function() {
15
+ return data;
16
+ };
17
+ return data;
18
+ }
19
+ function _path() {
20
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
21
+ _path = function() {
22
+ return data;
23
+ };
24
+ return data;
25
+ }
26
+ const _args = require("../utils/args");
27
+ const _errors = require("../utils/errors");
28
+ function _interop_require_default(obj) {
29
+ return obj && obj.__esModule ? obj : {
30
+ default: obj
31
+ };
32
+ }
33
+ function _getRequireWildcardCache(nodeInterop) {
34
+ if (typeof WeakMap !== "function") return null;
35
+ var cacheBabelInterop = new WeakMap();
36
+ var cacheNodeInterop = new WeakMap();
37
+ return (_getRequireWildcardCache = function(nodeInterop) {
38
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
39
+ })(nodeInterop);
40
+ }
41
+ function _interop_require_wildcard(obj, nodeInterop) {
42
+ if (!nodeInterop && obj && obj.__esModule) {
43
+ return obj;
44
+ }
45
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
46
+ return {
47
+ default: obj
48
+ };
49
+ }
50
+ var cache = _getRequireWildcardCache(nodeInterop);
51
+ if (cache && cache.has(obj)) {
52
+ return cache.get(obj);
53
+ }
54
+ var newObj = {
55
+ __proto__: null
56
+ };
57
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
58
+ for(var key in obj){
59
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
60
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
61
+ if (desc && (desc.get || desc.set)) {
62
+ Object.defineProperty(newObj, key, desc);
63
+ } else {
64
+ newObj[key] = obj[key];
65
+ }
66
+ }
67
+ }
68
+ newObj.default = obj;
69
+ if (cache) {
70
+ cache.set(obj, newObj);
71
+ }
72
+ return newObj;
73
+ }
74
+ const expoExport = async (argv)=>{
75
+ const rawArgsMap = {
76
+ // Types
77
+ '--help': Boolean,
78
+ '--clear': Boolean,
79
+ '--dump-assetmap': Boolean,
80
+ '--dev': Boolean,
81
+ '--max-workers': Number,
82
+ '--output-dir': String,
83
+ '--platform': [
84
+ String
85
+ ],
86
+ '--no-minify': Boolean,
87
+ '--no-bytecode': Boolean,
88
+ '--no-ssg': Boolean,
89
+ '--api-only': Boolean,
90
+ '--unstable-hosted-native': Boolean,
91
+ // Hack: This is added because EAS CLI always includes the flag.
92
+ // If supplied, we'll do nothing with the value, but at least the process won't crash.
93
+ // Note that we also don't show this value in the `--help` prompt since we don't want people to use it.
94
+ '--experimental-bundle': Boolean,
95
+ // Aliases
96
+ '-h': '--help',
97
+ // '-d': '--dump-assetmap',
98
+ '-c': '--clear',
99
+ '-p': '--platform',
100
+ // Interop with Metro docs and RedBox errors.
101
+ '--reset-cache': '--clear'
102
+ };
103
+ const args = (0, _args.assertWithOptionsArgs)(rawArgsMap, {
104
+ argv,
105
+ permissive: true
106
+ });
107
+ if (args['--help']) {
108
+ (0, _args.printHelp)(`Export the static files of the app for hosting it on a web server`, (0, _chalk().default)`npx expo export {dim <dir>}`, [
109
+ (0, _chalk().default)`<dir> Directory of the Expo project. {dim Default: Current working directory}`,
110
+ (0, _chalk().default)`--output-dir <dir> The directory to export the static files to. {dim Default: dist}`,
111
+ `--dev Configure static files for developing locally using a non-https server`,
112
+ `--no-minify Prevent minifying source`,
113
+ `--no-bytecode Prevent generating Hermes bytecode`,
114
+ `--max-workers <number> Maximum number of tasks to allow the bundler to spawn`,
115
+ `--dump-assetmap Emit an asset map for further processing`,
116
+ `--no-ssg, --api-only Skip exporting static HTML files and only export API routes for web`,
117
+ (0, _chalk().default)`-p, --platform <platform> Options: android, ios, web, all. {dim Default: all}`,
118
+ (0, _chalk().default)`-s, --source-maps [mode] Emit JavaScript source maps. {dim Options: true, false, inline, external. Default: false}`,
119
+ `-c, --clear Clear the bundler cache`,
120
+ `-h, --help Usage info`
121
+ ].join('\n'));
122
+ }
123
+ // Handle --source-maps which can be a string or boolean (e.g., --source-maps or --source-maps inline)
124
+ const { resolveStringOrBooleanArgsAsync } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("../utils/resolveArgs.js")));
125
+ const parsed = await resolveStringOrBooleanArgsAsync(argv ?? [], rawArgsMap, {
126
+ // Restrict to 'true', 'false', 'inline', 'external'. Other values are treated as project root.
127
+ '--source-maps': [
128
+ Boolean,
129
+ 'inline',
130
+ 'external'
131
+ ],
132
+ '-s': '--source-maps',
133
+ // Deprecated
134
+ '--dump-sourcemap': '--source-maps'
135
+ }).catch(_errors.logCmdError);
136
+ const projectRoot = _path().default.resolve(parsed.projectRoot);
137
+ const { resolveOptionsAsync } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./resolveOptions.js")));
138
+ const options = await resolveOptionsAsync(projectRoot, {
139
+ ...args,
140
+ '--source-maps': parsed.args['--source-maps']
141
+ }).catch(_errors.logCmdError);
142
+ const { exportAsync } = await Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./exportAsync.js")));
143
+ return exportAsync(projectRoot, options).catch(_errors.logCmdError);
144
+ };
145
+
146
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/export/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport arg from 'arg';\nimport chalk from 'chalk';\nimport path from 'path';\n\nimport { Command } from '../../bin/cli';\nimport { assertWithOptionsArgs, printHelp } from '../utils/args';\nimport { logCmdError } from '../utils/errors';\n\nexport const expoExport: Command = async (argv) => {\n const rawArgsMap: arg.Spec = {\n // Types\n '--help': Boolean,\n '--clear': Boolean,\n '--dump-assetmap': Boolean,\n '--dev': Boolean,\n '--max-workers': Number,\n '--output-dir': String,\n '--platform': [String],\n '--no-minify': Boolean,\n '--no-bytecode': Boolean,\n '--no-ssg': Boolean,\n '--api-only': Boolean,\n '--unstable-hosted-native': Boolean,\n\n // Hack: This is added because EAS CLI always includes the flag.\n // If supplied, we'll do nothing with the value, but at least the process won't crash.\n // Note that we also don't show this value in the `--help` prompt since we don't want people to use it.\n '--experimental-bundle': Boolean,\n\n // Aliases\n '-h': '--help',\n // '-d': '--dump-assetmap',\n '-c': '--clear',\n '-p': '--platform',\n // Interop with Metro docs and RedBox errors.\n '--reset-cache': '--clear',\n };\n\n const args = assertWithOptionsArgs(rawArgsMap, {\n argv,\n permissive: true,\n });\n\n if (args['--help']) {\n printHelp(\n `Export the static files of the app for hosting it on a web server`,\n chalk`npx expo export {dim <dir>}`,\n [\n chalk`<dir> Directory of the Expo project. {dim Default: Current working directory}`,\n chalk`--output-dir <dir> The directory to export the static files to. {dim Default: dist}`,\n `--dev Configure static files for developing locally using a non-https server`,\n `--no-minify Prevent minifying source`,\n `--no-bytecode Prevent generating Hermes bytecode`,\n `--max-workers <number> Maximum number of tasks to allow the bundler to spawn`,\n `--dump-assetmap Emit an asset map for further processing`,\n `--no-ssg, --api-only Skip exporting static HTML files and only export API routes for web`,\n chalk`-p, --platform <platform> Options: android, ios, web, all. {dim Default: all}`,\n chalk`-s, --source-maps [mode] Emit JavaScript source maps. {dim Options: true, false, inline, external. Default: false}`,\n `-c, --clear Clear the bundler cache`,\n `-h, --help Usage info`,\n ].join('\\n')\n );\n }\n\n // Handle --source-maps which can be a string or boolean (e.g., --source-maps or --source-maps inline)\n const { resolveStringOrBooleanArgsAsync } = await import('../utils/resolveArgs.js');\n const parsed = await resolveStringOrBooleanArgsAsync(argv ?? [], rawArgsMap, {\n // Restrict to 'true', 'false', 'inline', 'external'. Other values are treated as project root.\n '--source-maps': [Boolean, 'inline', 'external'],\n '-s': '--source-maps',\n // Deprecated\n '--dump-sourcemap': '--source-maps',\n }).catch(logCmdError);\n\n const projectRoot = path.resolve(parsed.projectRoot);\n const { resolveOptionsAsync } = await import('./resolveOptions.js');\n const options = await resolveOptionsAsync(projectRoot, {\n ...args,\n '--source-maps': parsed.args['--source-maps'],\n }).catch(logCmdError);\n\n const { exportAsync } = await import('./exportAsync.js');\n return exportAsync(projectRoot, options).catch(logCmdError);\n};\n"],"names":["expoExport","argv","rawArgsMap","Boolean","Number","String","args","assertWithOptionsArgs","permissive","printHelp","chalk","join","resolveStringOrBooleanArgsAsync","parsed","catch","logCmdError","projectRoot","path","resolve","resolveOptionsAsync","options","exportAsync"],"mappings":";;;;;+BASaA;;;eAAAA;;;;gEAPK;;;;;;;gEACD;;;;;;sBAGgC;wBACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAErB,MAAMA,aAAsB,OAAOC;IACxC,MAAMC,aAAuB;QAC3B,QAAQ;QACR,UAAUC;QACV,WAAWA;QACX,mBAAmBA;QACnB,SAASA;QACT,iBAAiBC;QACjB,gBAAgBC;QAChB,cAAc;YAACA;SAAO;QACtB,eAAeF;QACf,iBAAiBA;QACjB,YAAYA;QACZ,cAAcA;QACd,4BAA4BA;QAE5B,gEAAgE;QAChE,sFAAsF;QACtF,uGAAuG;QACvG,yBAAyBA;QAEzB,UAAU;QACV,MAAM;QACN,2BAA2B;QAC3B,MAAM;QACN,MAAM;QACN,6CAA6C;QAC7C,iBAAiB;IACnB;IAEA,MAAMG,OAAOC,IAAAA,2BAAqB,EAACL,YAAY;QAC7CD;QACAO,YAAY;IACd;IAEA,IAAIF,IAAI,CAAC,SAAS,EAAE;QAClBG,IAAAA,eAAS,EACP,CAAC,iEAAiE,CAAC,EACnEC,IAAAA,gBAAK,CAAA,CAAC,2BAA2B,CAAC,EAClC;YACEA,IAAAA,gBAAK,CAAA,CAAC,kGAAkG,CAAC;YACzGA,IAAAA,gBAAK,CAAA,CAAC,2FAA2F,CAAC;YAClG,CAAC,iGAAiG,CAAC;YACnG,CAAC,mDAAmD,CAAC;YACrD,CAAC,6DAA6D,CAAC;YAC/D,CAAC,gFAAgF,CAAC;YAClF,CAAC,mEAAmE,CAAC;YACrE,CAAC,8FAA8F,CAAC;YAChGA,IAAAA,gBAAK,CAAA,CAAC,8EAA8E,CAAC;YACrFA,IAAAA,gBAAK,CAAA,CAAC,oHAAoH,CAAC;YAC3H,CAAC,kDAAkD,CAAC;YACpD,CAAC,qCAAqC,CAAC;SACxC,CAACC,IAAI,CAAC;IAEX;IAEA,sGAAsG;IACtG,MAAM,EAAEC,+BAA+B,EAAE,GAAG,MAAM,mEAAA,QAAO;IACzD,MAAMC,SAAS,MAAMD,gCAAgCX,QAAQ,EAAE,EAAEC,YAAY;QAC3E,+FAA+F;QAC/F,iBAAiB;YAACC;YAAS;YAAU;SAAW;QAChD,MAAM;QACN,aAAa;QACb,oBAAoB;IACtB,GAAGW,KAAK,CAACC,mBAAW;IAEpB,MAAMC,cAAcC,eAAI,CAACC,OAAO,CAACL,OAAOG,WAAW;IACnD,MAAM,EAAEG,mBAAmB,EAAE,GAAG,MAAM,mEAAA,QAAO;IAC7C,MAAMC,UAAU,MAAMD,oBAAoBH,aAAa;QACrD,GAAGV,IAAI;QACP,iBAAiBO,OAAOP,IAAI,CAAC,gBAAgB;IAC/C,GAAGQ,KAAK,CAACC,mBAAW;IAEpB,MAAM,EAAEM,WAAW,EAAE,GAAG,MAAM,mEAAA,QAAO;IACrC,OAAOA,YAAYL,aAAaI,SAASN,KAAK,CAACC,mBAAW;AAC5D"}