@expo/cli 0.0.0-bisect-20240612-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 (704) hide show
  1. package/README.md +144 -0
  2. package/build/bin/cli +260 -0
  3. package/build/bin/cli.map +1 -0
  4. package/build/src/api/endpoint.js +35 -0
  5. package/build/src/api/endpoint.js.map +1 -0
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +22 -0
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
  8. package/build/src/api/getExpoSchema.js +89 -0
  9. package/build/src/api/getExpoSchema.js.map +1 -0
  10. package/build/src/api/getNativeModuleVersions.js +34 -0
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -0
  12. package/build/src/api/getProjectDevelopmentCertificate.js +25 -0
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
  14. package/build/src/api/getVersions.js +27 -0
  15. package/build/src/api/getVersions.js.map +1 -0
  16. package/build/src/api/graphql/client.js +144 -0
  17. package/build/src/api/graphql/client.js.map +1 -0
  18. package/build/src/api/graphql/queries/AppQuery.js +53 -0
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
  20. package/build/src/api/graphql/queries/UserQuery.js +59 -0
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
  22. package/build/src/api/graphql/types/App.js +31 -0
  23. package/build/src/api/graphql/types/App.js.map +1 -0
  24. package/build/src/api/rest/cache/FileSystemCache.js +93 -0
  25. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -0
  26. package/build/src/api/rest/cache/response.js +40 -0
  27. package/build/src/api/rest/cache/response.js.map +1 -0
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +189 -0
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
  30. package/build/src/api/rest/client.js +134 -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 +31 -0
  35. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
  36. package/build/src/api/rest/wrapFetchWithOffline.js +22 -0
  37. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
  38. package/build/src/api/rest/wrapFetchWithProgress.js +85 -0
  39. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
  40. package/build/src/api/rest/wrapFetchWithProxy.js +35 -0
  41. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -0
  42. package/build/src/api/settings.js +31 -0
  43. package/build/src/api/settings.js.map +1 -0
  44. package/build/src/api/updateDevelopmentSession.js +94 -0
  45. package/build/src/api/updateDevelopmentSession.js.map +1 -0
  46. package/build/src/api/user/UserSettings.js +91 -0
  47. package/build/src/api/user/UserSettings.js.map +1 -0
  48. package/build/src/api/user/actions.js +144 -0
  49. package/build/src/api/user/actions.js.map +1 -0
  50. package/build/src/api/user/expoSsoLauncher.js +172 -0
  51. package/build/src/api/user/expoSsoLauncher.js.map +1 -0
  52. package/build/src/api/user/otp.js +171 -0
  53. package/build/src/api/user/otp.js.map +1 -0
  54. package/build/src/api/user/user.js +176 -0
  55. package/build/src/api/user/user.js.map +1 -0
  56. package/build/src/config/configAsync.js +174 -0
  57. package/build/src/config/configAsync.js.map +1 -0
  58. package/build/src/config/index.js +97 -0
  59. package/build/src/config/index.js.map +1 -0
  60. package/build/src/customize/customizeAsync.js +53 -0
  61. package/build/src/customize/customizeAsync.js.map +1 -0
  62. package/build/src/customize/generate.js +131 -0
  63. package/build/src/customize/generate.js.map +1 -0
  64. package/build/src/customize/index.js +49 -0
  65. package/build/src/customize/index.js.map +1 -0
  66. package/build/src/customize/resolveOptions.js +21 -0
  67. package/build/src/customize/resolveOptions.js.map +1 -0
  68. package/build/src/customize/templates.js +147 -0
  69. package/build/src/customize/templates.js.map +1 -0
  70. package/build/src/customize/typescript.js +77 -0
  71. package/build/src/customize/typescript.js.map +1 -0
  72. package/build/src/export/createMetadataJson.js +49 -0
  73. package/build/src/export/createMetadataJson.js.map +1 -0
  74. package/build/src/export/embed/exportEmbedAsync.js +310 -0
  75. package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
  76. package/build/src/export/embed/index.js +139 -0
  77. package/build/src/export/embed/index.js.map +1 -0
  78. package/build/src/export/embed/resolveOptions.js +67 -0
  79. package/build/src/export/embed/resolveOptions.js.map +1 -0
  80. package/build/src/export/embed/xcodeCompilerLogger.js +121 -0
  81. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
  82. package/build/src/export/exportApp.js +279 -0
  83. package/build/src/export/exportApp.js.map +1 -0
  84. package/build/src/export/exportAssets.js +214 -0
  85. package/build/src/export/exportAssets.js.map +1 -0
  86. package/build/src/export/exportAsync.js +85 -0
  87. package/build/src/export/exportAsync.js.map +1 -0
  88. package/build/src/export/exportHermes.js +159 -0
  89. package/build/src/export/exportHermes.js.map +1 -0
  90. package/build/src/export/exportStaticAsync.js +348 -0
  91. package/build/src/export/exportStaticAsync.js.map +1 -0
  92. package/build/src/export/favicon.js +132 -0
  93. package/build/src/export/favicon.js.map +1 -0
  94. package/build/src/export/getPublicExpoManifest.js +37 -0
  95. package/build/src/export/getPublicExpoManifest.js.map +1 -0
  96. package/build/src/export/getResolvedLocales.js +50 -0
  97. package/build/src/export/getResolvedLocales.js.map +1 -0
  98. package/build/src/export/html.js +29 -0
  99. package/build/src/export/html.js.map +1 -0
  100. package/build/src/export/index.js +115 -0
  101. package/build/src/export/index.js.map +1 -0
  102. package/build/src/export/metroAssetLocalPath.js +124 -0
  103. package/build/src/export/metroAssetLocalPath.js.map +1 -0
  104. package/build/src/export/persistMetroAssets.js +228 -0
  105. package/build/src/export/persistMetroAssets.js.map +1 -0
  106. package/build/src/export/publicFolder.js +54 -0
  107. package/build/src/export/publicFolder.js.map +1 -0
  108. package/build/src/export/resolveOptions.js +81 -0
  109. package/build/src/export/resolveOptions.js.map +1 -0
  110. package/build/src/export/saveAssets.js +195 -0
  111. package/build/src/export/saveAssets.js.map +1 -0
  112. package/build/src/export/web/exportWebAsync.js +55 -0
  113. package/build/src/export/web/exportWebAsync.js.map +1 -0
  114. package/build/src/export/web/index.js +88 -0
  115. package/build/src/export/web/index.js.map +1 -0
  116. package/build/src/export/web/resolveOptions.js +16 -0
  117. package/build/src/export/web/resolveOptions.js.map +1 -0
  118. package/build/src/export/writeContents.js +31 -0
  119. package/build/src/export/writeContents.js.map +1 -0
  120. package/build/src/graphql/generated.js +499 -0
  121. package/build/src/graphql/generated.js.map +1 -0
  122. package/build/src/install/applyPlugins.js +76 -0
  123. package/build/src/install/applyPlugins.js.map +1 -0
  124. package/build/src/install/checkPackages.js +110 -0
  125. package/build/src/install/checkPackages.js.map +1 -0
  126. package/build/src/install/fixPackages.js +107 -0
  127. package/build/src/install/fixPackages.js.map +1 -0
  128. package/build/src/install/index.js +59 -0
  129. package/build/src/install/index.js.map +1 -0
  130. package/build/src/install/installAsync.js +192 -0
  131. package/build/src/install/installAsync.js.map +1 -0
  132. package/build/src/install/installExpoPackage.js +112 -0
  133. package/build/src/install/installExpoPackage.js.map +1 -0
  134. package/build/src/install/resolveOptions.js +56 -0
  135. package/build/src/install/resolveOptions.js.map +1 -0
  136. package/build/src/install/utils/autoAddConfigPlugins.js +86 -0
  137. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
  138. package/build/src/lint/ESlintPrerequisite.js +174 -0
  139. package/build/src/lint/ESlintPrerequisite.js.map +1 -0
  140. package/build/src/lint/index.js +66 -0
  141. package/build/src/lint/index.js.map +1 -0
  142. package/build/src/lint/lintAsync.js +33 -0
  143. package/build/src/lint/lintAsync.js.map +1 -0
  144. package/build/src/log.js +86 -0
  145. package/build/src/log.js.map +1 -0
  146. package/build/src/login/index.js +84 -0
  147. package/build/src/login/index.js.map +1 -0
  148. package/build/src/logout/index.js +66 -0
  149. package/build/src/logout/index.js.map +1 -0
  150. package/build/src/prebuild/clearNativeFolder.js +190 -0
  151. package/build/src/prebuild/clearNativeFolder.js.map +1 -0
  152. package/build/src/prebuild/configureProjectAsync.js +103 -0
  153. package/build/src/prebuild/configureProjectAsync.js.map +1 -0
  154. package/build/src/prebuild/copyTemplateFiles.js +91 -0
  155. package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
  156. package/build/src/prebuild/ensureConfigAsync.js +119 -0
  157. package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
  158. package/build/src/prebuild/index.js +118 -0
  159. package/build/src/prebuild/index.js.map +1 -0
  160. package/build/src/prebuild/prebuildAsync.js +170 -0
  161. package/build/src/prebuild/prebuildAsync.js.map +1 -0
  162. package/build/src/prebuild/renameTemplateAppName.js +124 -0
  163. package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
  164. package/build/src/prebuild/resolveOptions.js +164 -0
  165. package/build/src/prebuild/resolveOptions.js.map +1 -0
  166. package/build/src/prebuild/resolveTemplate.js +229 -0
  167. package/build/src/prebuild/resolveTemplate.js.map +1 -0
  168. package/build/src/prebuild/updateFromTemplate.js +143 -0
  169. package/build/src/prebuild/updateFromTemplate.js.map +1 -0
  170. package/build/src/prebuild/updatePackageJson.js +284 -0
  171. package/build/src/prebuild/updatePackageJson.js.map +1 -0
  172. package/build/src/prebuild/validateTemplatePlatforms.js +81 -0
  173. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
  174. package/build/src/register/index.js +66 -0
  175. package/build/src/register/index.js.map +1 -0
  176. package/build/src/register/registerAsync.js +37 -0
  177. package/build/src/register/registerAsync.js.map +1 -0
  178. package/build/src/run/android/index.js +129 -0
  179. package/build/src/run/android/index.js.map +1 -0
  180. package/build/src/run/android/resolveDevice.js +26 -0
  181. package/build/src/run/android/resolveDevice.js.map +1 -0
  182. package/build/src/run/android/resolveGradlePropsAsync.js +64 -0
  183. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
  184. package/build/src/run/android/resolveInstallApkName.js +65 -0
  185. package/build/src/run/android/resolveInstallApkName.js.map +1 -0
  186. package/build/src/run/android/resolveLaunchProps.js +41 -0
  187. package/build/src/run/android/resolveLaunchProps.js.map +1 -0
  188. package/build/src/run/android/resolveOptions.js +30 -0
  189. package/build/src/run/android/resolveOptions.js.map +1 -0
  190. package/build/src/run/android/runAndroidAsync.js +95 -0
  191. package/build/src/run/android/runAndroidAsync.js.map +1 -0
  192. package/build/src/run/ensureNativeProject.js +51 -0
  193. package/build/src/run/ensureNativeProject.js.map +1 -0
  194. package/build/src/run/hints.js +40 -0
  195. package/build/src/run/hints.js.map +1 -0
  196. package/build/src/run/index.js +121 -0
  197. package/build/src/run/index.js.map +1 -0
  198. package/build/src/run/ios/XcodeBuild.js +336 -0
  199. package/build/src/run/ios/XcodeBuild.js.map +1 -0
  200. package/build/src/run/ios/XcodeBuild.types.js +6 -0
  201. package/build/src/run/ios/XcodeBuild.types.js.map +1 -0
  202. package/build/src/run/ios/appleDevice/AppleDevice.js +310 -0
  203. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
  204. package/build/src/run/ios/appleDevice/ClientManager.js +204 -0
  205. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
  206. package/build/src/run/ios/appleDevice/client/AFCClient.js +245 -0
  207. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
  208. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +146 -0
  209. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
  210. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +112 -0
  211. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
  212. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +183 -0
  213. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
  214. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +129 -0
  215. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
  216. package/build/src/run/ios/appleDevice/client/ServiceClient.js +35 -0
  217. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
  218. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +144 -0
  219. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
  220. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +148 -0
  221. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
  222. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +351 -0
  223. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
  224. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +159 -0
  225. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
  226. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +145 -0
  227. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
  228. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +99 -0
  229. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
  230. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +90 -0
  231. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
  232. package/build/src/run/ios/codeSigning/Security.js +104 -0
  233. package/build/src/run/ios/codeSigning/Security.js.map +1 -0
  234. package/build/src/run/ios/codeSigning/configureCodeSigning.js +104 -0
  235. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
  236. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +133 -0
  237. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
  238. package/build/src/run/ios/codeSigning/settings.js +29 -0
  239. package/build/src/run/ios/codeSigning/settings.js.map +1 -0
  240. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +65 -0
  241. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
  242. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +97 -0
  243. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
  244. package/build/src/run/ios/index.js +126 -0
  245. package/build/src/run/ios/index.js.map +1 -0
  246. package/build/src/run/ios/launchApp.js +113 -0
  247. package/build/src/run/ios/launchApp.js.map +1 -0
  248. package/build/src/run/ios/options/appleDestinations.js +124 -0
  249. package/build/src/run/ios/options/appleDestinations.js.map +1 -0
  250. package/build/src/run/ios/options/promptDevice.js +60 -0
  251. package/build/src/run/ios/options/promptDevice.js.map +1 -0
  252. package/build/src/run/ios/options/resolveDevice.js +147 -0
  253. package/build/src/run/ios/options/resolveDevice.js.map +1 -0
  254. package/build/src/run/ios/options/resolveNativeScheme.js +142 -0
  255. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
  256. package/build/src/run/ios/options/resolveOptions.js +50 -0
  257. package/build/src/run/ios/options/resolveOptions.js.map +1 -0
  258. package/build/src/run/ios/options/resolveXcodeProject.js +48 -0
  259. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
  260. package/build/src/run/ios/runIosAsync.js +122 -0
  261. package/build/src/run/ios/runIosAsync.js.map +1 -0
  262. package/build/src/run/resolveBundlerProps.js +37 -0
  263. package/build/src/run/resolveBundlerProps.js.map +1 -0
  264. package/build/src/run/startBundler.js +116 -0
  265. package/build/src/run/startBundler.js.map +1 -0
  266. package/build/src/start/detectDevClient.js +32 -0
  267. package/build/src/start/detectDevClient.js.map +1 -0
  268. package/build/src/start/doctor/Prerequisite.js +55 -0
  269. package/build/src/start/doctor/Prerequisite.js.map +1 -0
  270. package/build/src/start/doctor/SecurityBinPrerequisite.js +36 -0
  271. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
  272. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +103 -0
  273. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
  274. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +102 -0
  275. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
  276. package/build/src/start/doctor/apple/XcodePrerequisite.js +233 -0
  277. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
  278. package/build/src/start/doctor/apple/XcrunPrerequisite.js +86 -0
  279. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
  280. package/build/src/start/doctor/dependencies/bundledNativeModules.js +108 -0
  281. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
  282. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +186 -0
  283. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
  284. package/build/src/start/doctor/dependencies/getMissingPackages.js +100 -0
  285. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
  286. package/build/src/start/doctor/dependencies/getVersionedPackages.js +157 -0
  287. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
  288. package/build/src/start/doctor/dependencies/resolvePackages.js +90 -0
  289. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -0
  290. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +200 -0
  291. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
  292. package/build/src/start/doctor/ngrok/ExternalModule.js +218 -0
  293. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
  294. package/build/src/start/doctor/ngrok/NgrokResolver.js +29 -0
  295. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
  296. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +195 -0
  297. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
  298. package/build/src/start/doctor/typescript/updateTSConfig.js +140 -0
  299. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
  300. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +154 -0
  301. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
  302. package/build/src/start/index.js +143 -0
  303. package/build/src/start/index.js.map +1 -0
  304. package/build/src/start/interface/KeyPressHandler.js +122 -0
  305. package/build/src/start/interface/KeyPressHandler.js.map +1 -0
  306. package/build/src/start/interface/commandsTable.js +235 -0
  307. package/build/src/start/interface/commandsTable.js.map +1 -0
  308. package/build/src/start/interface/interactiveActions.js +244 -0
  309. package/build/src/start/interface/interactiveActions.js.map +1 -0
  310. package/build/src/start/interface/startInterface.js +254 -0
  311. package/build/src/start/interface/startInterface.js.map +1 -0
  312. package/build/src/start/platforms/AppIdResolver.js +53 -0
  313. package/build/src/start/platforms/AppIdResolver.js.map +1 -0
  314. package/build/src/start/platforms/DeviceManager.js +70 -0
  315. package/build/src/start/platforms/DeviceManager.js.map +1 -0
  316. package/build/src/start/platforms/ExpoGoInstaller.js +163 -0
  317. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
  318. package/build/src/start/platforms/PlatformManager.js +158 -0
  319. package/build/src/start/platforms/PlatformManager.js.map +1 -0
  320. package/build/src/start/platforms/android/ADBServer.js +136 -0
  321. package/build/src/start/platforms/android/ADBServer.js.map +1 -0
  322. package/build/src/start/platforms/android/AndroidAppIdResolver.js +52 -0
  323. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
  324. package/build/src/start/platforms/android/AndroidDeviceManager.js +218 -0
  325. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
  326. package/build/src/start/platforms/android/AndroidPlatformManager.js +38 -0
  327. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
  328. package/build/src/start/platforms/android/AndroidSdk.js +68 -0
  329. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -0
  330. package/build/src/start/platforms/android/activateWindow.js +113 -0
  331. package/build/src/start/platforms/android/activateWindow.js.map +1 -0
  332. package/build/src/start/platforms/android/adb.js +310 -0
  333. package/build/src/start/platforms/android/adb.js.map +1 -0
  334. package/build/src/start/platforms/android/adbReverse.js +121 -0
  335. package/build/src/start/platforms/android/adbReverse.js.map +1 -0
  336. package/build/src/start/platforms/android/emulator.js +175 -0
  337. package/build/src/start/platforms/android/emulator.js.map +1 -0
  338. package/build/src/start/platforms/android/getDevices.js +37 -0
  339. package/build/src/start/platforms/android/getDevices.js.map +1 -0
  340. package/build/src/start/platforms/android/gradle.js +110 -0
  341. package/build/src/start/platforms/android/gradle.js.map +1 -0
  342. package/build/src/start/platforms/android/promptAndroidDevice.js +62 -0
  343. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
  344. package/build/src/start/platforms/ios/AppleAppIdResolver.js +74 -0
  345. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
  346. package/build/src/start/platforms/ios/AppleDeviceManager.js +278 -0
  347. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
  348. package/build/src/start/platforms/ios/ApplePlatformManager.js +34 -0
  349. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
  350. package/build/src/start/platforms/ios/assertSystemRequirements.js +20 -0
  351. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
  352. package/build/src/start/platforms/ios/devicectl.js +371 -0
  353. package/build/src/start/platforms/ios/devicectl.js.map +1 -0
  354. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +118 -0
  355. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
  356. package/build/src/start/platforms/ios/getBestSimulator.js +131 -0
  357. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
  358. package/build/src/start/platforms/ios/promptAppleDevice.js +68 -0
  359. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
  360. package/build/src/start/platforms/ios/simctl.js +352 -0
  361. package/build/src/start/platforms/ios/simctl.js.map +1 -0
  362. package/build/src/start/platforms/ios/simctlLogging.js +273 -0
  363. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
  364. package/build/src/start/platforms/ios/xcrun.js +61 -0
  365. package/build/src/start/platforms/ios/xcrun.js.map +1 -0
  366. package/build/src/start/project/devices.js +82 -0
  367. package/build/src/start/project/devices.js.map +1 -0
  368. package/build/src/start/project/dotExpo.js +100 -0
  369. package/build/src/start/project/dotExpo.js.map +1 -0
  370. package/build/src/start/project/settings.js +15 -0
  371. package/build/src/start/project/settings.js.map +1 -0
  372. package/build/src/start/resolveOptions.js +160 -0
  373. package/build/src/start/resolveOptions.js.map +1 -0
  374. package/build/src/start/server/AsyncNgrok.js +263 -0
  375. package/build/src/start/server/AsyncNgrok.js.map +1 -0
  376. package/build/src/start/server/BundlerDevServer.js +395 -0
  377. package/build/src/start/server/BundlerDevServer.js.map +1 -0
  378. package/build/src/start/server/DevServerManager.js +256 -0
  379. package/build/src/start/server/DevServerManager.js.map +1 -0
  380. package/build/src/start/server/DevToolsPluginManager.js +80 -0
  381. package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
  382. package/build/src/start/server/DevelopmentSession.js +138 -0
  383. package/build/src/start/server/DevelopmentSession.js.map +1 -0
  384. package/build/src/start/server/ReactDevToolsProxy.js +99 -0
  385. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -0
  386. package/build/src/start/server/UrlCreator.js +209 -0
  387. package/build/src/start/server/UrlCreator.js.map +1 -0
  388. package/build/src/start/server/getStaticRenderFunctions.js +157 -0
  389. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
  390. package/build/src/start/server/metro/MetroBundlerDevServer.js +982 -0
  391. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
  392. package/build/src/start/server/metro/MetroTerminalReporter.js +191 -0
  393. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
  394. package/build/src/start/server/metro/TerminalReporter.js +163 -0
  395. package/build/src/start/server/metro/TerminalReporter.js.map +1 -0
  396. package/build/src/start/server/metro/TerminalReporter.types.js +6 -0
  397. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -0
  398. package/build/src/start/server/metro/createExpoMetroResolver.js +251 -0
  399. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -0
  400. package/build/src/start/server/metro/createJResolver.js +222 -0
  401. package/build/src/start/server/metro/createJResolver.js.map +1 -0
  402. package/build/src/start/server/metro/createServerRouteMiddleware.js +137 -0
  403. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
  404. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +47 -0
  405. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -0
  406. package/build/src/start/server/metro/debugging/MessageHandler.js +30 -0
  407. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
  408. package/build/src/start/server/metro/debugging/attachAtlas.js +97 -0
  409. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -0
  410. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +52 -0
  411. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -0
  412. package/build/src/start/server/metro/debugging/createHandlersFactory.js +64 -0
  413. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
  414. package/build/src/start/server/metro/debugging/getDebuggerType.js +18 -0
  415. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
  416. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +34 -0
  417. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
  418. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +26 -0
  419. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
  420. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +28 -0
  421. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
  422. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +25 -0
  423. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
  424. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +31 -0
  425. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
  426. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +47 -0
  427. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
  428. package/build/src/start/server/metro/debugging/pageIsSupported.js +17 -0
  429. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
  430. package/build/src/start/server/metro/debugging/types.js +6 -0
  431. package/build/src/start/server/metro/debugging/types.js.map +1 -0
  432. package/build/src/start/server/metro/externals.js +92 -0
  433. package/build/src/start/server/metro/externals.js.map +1 -0
  434. package/build/src/start/server/metro/fetchRouterManifest.js +79 -0
  435. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
  436. package/build/src/start/server/metro/formatFileCandidates.js +82 -0
  437. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -0
  438. package/build/src/start/server/metro/getCssModulesFromBundler.js +109 -0
  439. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
  440. package/build/src/start/server/metro/instantiateMetro.js +276 -0
  441. package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
  442. package/build/src/start/server/metro/metroErrorInterface.js +279 -0
  443. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
  444. package/build/src/start/server/metro/metroErrors.js +23 -0
  445. package/build/src/start/server/metro/metroErrors.js.map +1 -0
  446. package/build/src/start/server/metro/metroPrivateServer.js +26 -0
  447. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -0
  448. package/build/src/start/server/metro/metroVirtualModules.js +90 -0
  449. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
  450. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +60 -0
  451. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
  452. package/build/src/start/server/metro/router.js +128 -0
  453. package/build/src/start/server/metro/router.js.map +1 -0
  454. package/build/src/start/server/metro/runServer-fork.js +153 -0
  455. package/build/src/start/server/metro/runServer-fork.js.map +1 -0
  456. package/build/src/start/server/metro/serializeHtml.js +72 -0
  457. package/build/src/start/server/metro/serializeHtml.js.map +1 -0
  458. package/build/src/start/server/metro/symbolicate.js +6 -0
  459. package/build/src/start/server/metro/symbolicate.js.map +1 -0
  460. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +97 -0
  461. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
  462. package/build/src/start/server/metro/withMetroMultiPlatform.js +517 -0
  463. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
  464. package/build/src/start/server/metro/withMetroResolvers.js +320 -0
  465. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
  466. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +30 -0
  467. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
  468. package/build/src/start/server/middleware/CorsMiddleware.js +59 -0
  469. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -0
  470. package/build/src/start/server/middleware/CreateFileMiddleware.js +126 -0
  471. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
  472. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +76 -0
  473. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
  474. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +274 -0
  475. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
  476. package/build/src/start/server/middleware/ExpoMiddleware.js +115 -0
  477. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
  478. package/build/src/start/server/middleware/FaviconMiddleware.js +47 -0
  479. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
  480. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +27 -0
  481. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
  482. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +118 -0
  483. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
  484. package/build/src/start/server/middleware/ManifestMiddleware.js +362 -0
  485. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
  486. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +79 -0
  487. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -0
  488. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +102 -0
  489. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
  490. package/build/src/start/server/middleware/ServeStaticMiddleware.js +83 -0
  491. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
  492. package/build/src/start/server/middleware/inspector/JsInspector.js +113 -0
  493. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
  494. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +75 -0
  495. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -0
  496. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +15 -0
  497. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -0
  498. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +104 -0
  499. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -0
  500. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +125 -0
  501. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -0
  502. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +146 -0
  503. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -0
  504. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +91 -0
  505. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
  506. package/build/src/start/server/middleware/inspector/middlwareMutations.js +26 -0
  507. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
  508. package/build/src/start/server/middleware/metroOptions.js +213 -0
  509. package/build/src/start/server/middleware/metroOptions.js.map +1 -0
  510. package/build/src/start/server/middleware/mutations.js +26 -0
  511. package/build/src/start/server/middleware/mutations.js.map +1 -0
  512. package/build/src/start/server/middleware/resolveAssets.js +146 -0
  513. package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
  514. package/build/src/start/server/middleware/resolvePlatform.js +61 -0
  515. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
  516. package/build/src/start/server/middleware/server.types.js +6 -0
  517. package/build/src/start/server/middleware/server.types.js.map +1 -0
  518. package/build/src/start/server/middleware/suppressErrorMiddleware.js +19 -0
  519. package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -0
  520. package/build/src/start/server/openPlatforms.js +31 -0
  521. package/build/src/start/server/openPlatforms.js.map +1 -0
  522. package/build/src/start/server/platformBundlers.js +40 -0
  523. package/build/src/start/server/platformBundlers.js.map +1 -0
  524. package/build/src/start/server/serverLogLikeMetro.js +255 -0
  525. package/build/src/start/server/serverLogLikeMetro.js.map +1 -0
  526. package/build/src/start/server/type-generation/expo-env.js +47 -0
  527. package/build/src/start/server/type-generation/expo-env.js.map +1 -0
  528. package/build/src/start/server/type-generation/routes.js +531 -0
  529. package/build/src/start/server/type-generation/routes.js.map +1 -0
  530. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +77 -0
  531. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
  532. package/build/src/start/server/type-generation/tsconfig.js +114 -0
  533. package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
  534. package/build/src/start/server/webTemplate.js +108 -0
  535. package/build/src/start/server/webTemplate.js.map +1 -0
  536. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +315 -0
  537. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
  538. package/build/src/start/server/webpack/compile.js +97 -0
  539. package/build/src/start/server/webpack/compile.js.map +1 -0
  540. package/build/src/start/server/webpack/formatWebpackMessages.js +104 -0
  541. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
  542. package/build/src/start/server/webpack/resolveFromProject.js +57 -0
  543. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
  544. package/build/src/start/server/webpack/tls.js +122 -0
  545. package/build/src/start/server/webpack/tls.js.map +1 -0
  546. package/build/src/start/startAsync.js +207 -0
  547. package/build/src/start/startAsync.js.map +1 -0
  548. package/build/src/utils/FileNotifier.js +135 -0
  549. package/build/src/utils/FileNotifier.js.map +1 -0
  550. package/build/src/utils/analytics/getDevClientProperties.js +73 -0
  551. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -0
  552. package/build/src/utils/analytics/getMetroDebugProperties.js +18 -0
  553. package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -0
  554. package/build/src/utils/analytics/getMetroProperties.js +31 -0
  555. package/build/src/utils/analytics/getMetroProperties.js.map +1 -0
  556. package/build/src/utils/analytics/metroDebuggerMiddleware.js +63 -0
  557. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -0
  558. package/build/src/utils/ansi.js +20 -0
  559. package/build/src/utils/ansi.js.map +1 -0
  560. package/build/src/utils/args.js +131 -0
  561. package/build/src/utils/args.js.map +1 -0
  562. package/build/src/utils/array.js +74 -0
  563. package/build/src/utils/array.js.map +1 -0
  564. package/build/src/utils/cocoapods.js +250 -0
  565. package/build/src/utils/cocoapods.js.map +1 -0
  566. package/build/src/utils/codesigning.js +393 -0
  567. package/build/src/utils/codesigning.js.map +1 -0
  568. package/build/src/utils/createFileTransform.js +65 -0
  569. package/build/src/utils/createFileTransform.js.map +1 -0
  570. package/build/src/utils/delay.js +46 -0
  571. package/build/src/utils/delay.js.map +1 -0
  572. package/build/src/utils/dir.js +73 -0
  573. package/build/src/utils/dir.js.map +1 -0
  574. package/build/src/utils/downloadAppAsync.js +106 -0
  575. package/build/src/utils/downloadAppAsync.js.map +1 -0
  576. package/build/src/utils/downloadExpoGoAsync.js +137 -0
  577. package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
  578. package/build/src/utils/editor.js +107 -0
  579. package/build/src/utils/editor.js.map +1 -0
  580. package/build/src/utils/env.js +160 -0
  581. package/build/src/utils/env.js.map +1 -0
  582. package/build/src/utils/errors.js +93 -0
  583. package/build/src/utils/errors.js.map +1 -0
  584. package/build/src/utils/exit.js +72 -0
  585. package/build/src/utils/exit.js.map +1 -0
  586. package/build/src/utils/findUp.js +57 -0
  587. package/build/src/utils/findUp.js.map +1 -0
  588. package/build/src/utils/fn.js +40 -0
  589. package/build/src/utils/fn.js.map +1 -0
  590. package/build/src/utils/getOrPromptApplicationId.js +219 -0
  591. package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
  592. package/build/src/utils/getRunningProcess.js +134 -0
  593. package/build/src/utils/getRunningProcess.js.map +1 -0
  594. package/build/src/utils/git.js +127 -0
  595. package/build/src/utils/git.js.map +1 -0
  596. package/build/src/utils/glob.js +76 -0
  597. package/build/src/utils/glob.js.map +1 -0
  598. package/build/src/utils/interactive.js +14 -0
  599. package/build/src/utils/interactive.js.map +1 -0
  600. package/build/src/utils/ip.js +25 -0
  601. package/build/src/utils/ip.js.map +1 -0
  602. package/build/src/utils/isModuleSymlinked.js +52 -0
  603. package/build/src/utils/isModuleSymlinked.js.map +1 -0
  604. package/build/src/utils/link.js +51 -0
  605. package/build/src/utils/link.js.map +1 -0
  606. package/build/src/utils/mergeGitIgnorePaths.js +171 -0
  607. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
  608. package/build/src/utils/modifyConfigAsync.js +106 -0
  609. package/build/src/utils/modifyConfigAsync.js.map +1 -0
  610. package/build/src/utils/modifyConfigPlugins.js +78 -0
  611. package/build/src/utils/modifyConfigPlugins.js.map +1 -0
  612. package/build/src/utils/nodeEnv.js +18 -0
  613. package/build/src/utils/nodeEnv.js.map +1 -0
  614. package/build/src/utils/nodeModules.js +50 -0
  615. package/build/src/utils/nodeModules.js.map +1 -0
  616. package/build/src/utils/npm.js +183 -0
  617. package/build/src/utils/npm.js.map +1 -0
  618. package/build/src/utils/obj.js +53 -0
  619. package/build/src/utils/obj.js.map +1 -0
  620. package/build/src/utils/open.js +35 -0
  621. package/build/src/utils/open.js.map +1 -0
  622. package/build/src/utils/ora.js +107 -0
  623. package/build/src/utils/ora.js.map +1 -0
  624. package/build/src/utils/plist.js +103 -0
  625. package/build/src/utils/plist.js.map +1 -0
  626. package/build/src/utils/port.js +198 -0
  627. package/build/src/utils/port.js.map +1 -0
  628. package/build/src/utils/profile.js +90 -0
  629. package/build/src/utils/profile.js.map +1 -0
  630. package/build/src/utils/progress.js +71 -0
  631. package/build/src/utils/progress.js.map +1 -0
  632. package/build/src/utils/prompts.js +133 -0
  633. package/build/src/utils/prompts.js.map +1 -0
  634. package/build/src/utils/resolveArgs.js +149 -0
  635. package/build/src/utils/resolveArgs.js.map +1 -0
  636. package/build/src/utils/scheme.js +204 -0
  637. package/build/src/utils/scheme.js.map +1 -0
  638. package/build/src/utils/strings.js +31 -0
  639. package/build/src/utils/strings.js.map +1 -0
  640. package/build/src/utils/tar.js +95 -0
  641. package/build/src/utils/tar.js.map +1 -0
  642. package/build/src/utils/telemetry/DetachedClient.js +90 -0
  643. package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
  644. package/build/src/utils/telemetry/RudderClient.js +101 -0
  645. package/build/src/utils/telemetry/RudderClient.js.map +1 -0
  646. package/build/src/utils/telemetry/flushDetached.js +44 -0
  647. package/build/src/utils/telemetry/flushDetached.js.map +1 -0
  648. package/build/src/utils/telemetry/getContext.js +112 -0
  649. package/build/src/utils/telemetry/getContext.js.map +1 -0
  650. package/build/src/utils/telemetry/index.js +37 -0
  651. package/build/src/utils/telemetry/index.js.map +1 -0
  652. package/build/src/utils/telemetry/types.js +6 -0
  653. package/build/src/utils/telemetry/types.js.map +1 -0
  654. package/build/src/utils/template.js +46 -0
  655. package/build/src/utils/template.js.map +1 -0
  656. package/build/src/utils/terminal.js +13 -0
  657. package/build/src/utils/terminal.js.map +1 -0
  658. package/build/src/utils/tsconfig/evaluateTsConfig.js +79 -0
  659. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
  660. package/build/src/utils/tsconfig/loadTsConfigPaths.js +81 -0
  661. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
  662. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +92 -0
  663. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
  664. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +60 -0
  665. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
  666. package/build/src/utils/url.js +83 -0
  667. package/build/src/utils/url.js.map +1 -0
  668. package/build/src/utils/validateApplicationId.js +198 -0
  669. package/build/src/utils/validateApplicationId.js.map +1 -0
  670. package/build/src/utils/variadic.js +69 -0
  671. package/build/src/utils/variadic.js.map +1 -0
  672. package/build/src/whoami/index.js +65 -0
  673. package/build/src/whoami/index.js.map +1 -0
  674. package/build/src/whoami/whoamiAsync.js +71 -0
  675. package/build/src/whoami/whoamiAsync.js.map +1 -0
  676. package/package.json +175 -0
  677. package/static/canary/react-is/cjs/react-is.development.js +200 -0
  678. package/static/canary/react-is/cjs/react-is.production.js +130 -0
  679. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +26803 -0
  680. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +10414 -0
  681. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +11127 -0
  682. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +27227 -0
  683. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +10635 -0
  684. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +11347 -0
  685. package/static/canary/scheduler/cjs/scheduler-unstable_mock.development.js +711 -0
  686. package/static/canary/scheduler/cjs/scheduler-unstable_mock.production.js +415 -0
  687. package/static/canary/scheduler/cjs/scheduler-unstable_post_task.development.js +208 -0
  688. package/static/canary/scheduler/cjs/scheduler-unstable_post_task.production.js +145 -0
  689. package/static/canary/scheduler/cjs/scheduler.development.js +625 -0
  690. package/static/canary/scheduler/cjs/scheduler.native.development.js +538 -0
  691. package/static/canary/scheduler/cjs/scheduler.native.production.js +329 -0
  692. package/static/canary/scheduler/cjs/scheduler.production.js +341 -0
  693. package/static/loading-page/index.html +363 -0
  694. package/static/react-devtools-page/index.html +113 -0
  695. package/static/react-devtools-page/standalone.js +3 -0
  696. package/static/shims/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +13 -0
  697. package/static/shims/react-native-web/dist/cjs/exports/BackHandler/index.js +10 -0
  698. package/static/shims/react-native-web/dist/exports/AppRegistry/AppContainer.js +12 -0
  699. package/static/shims/react-native-web/dist/exports/BackHandler/index.js +7 -0
  700. package/static/template/babel.config.js +6 -0
  701. package/static/template/index.html +36 -0
  702. package/static/template/metro.config.js +7 -0
  703. package/static/template/serve.json +13 -0
  704. package/static/template/webpack.config.js +7 -0
@@ -0,0 +1,23 @@
1
+ // Used to cast a type to metro errors without depending on specific versions of metro.
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
+ isFailedToResolveNameError: ()=>isFailedToResolveNameError,
14
+ isFailedToResolvePathError: ()=>isFailedToResolvePathError
15
+ });
16
+ function isFailedToResolveNameError(error) {
17
+ return !!error && "extraPaths" in error && error.constructor.name === "FailedToResolveNameError";
18
+ }
19
+ function isFailedToResolvePathError(error) {
20
+ return !!error && "candidates" in error && error.constructor.name === "FailedToResolvePathError";
21
+ }
22
+
23
+ //# sourceMappingURL=metroErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/metroErrors.ts"],"sourcesContent":["// Used to cast a type to metro errors without depending on specific versions of metro.\n\nexport type FileAndDirCandidates = {\n dir: FileCandidates;\n file: FileCandidates;\n};\n\n/**\n * This is a way to describe what files we tried to look for when resolving\n * a module name as file. This is mainly used for error reporting, so that\n * we can explain why we cannot resolve a module.\n */\nexport type FileCandidates =\n // We only tried to resolve a specific asset.\n | { type: 'asset'; name: string }\n // We attempted to resolve a name as being a source file (ex. JavaScript,\n // JSON...), in which case there can be several extensions we tried, for\n // example `/js/foo.ios.js`, `/js/foo.js`, etc. for a single prefix '/js/foo'.\n | {\n type: 'sourceFile';\n filePathPrefix: string;\n candidateExts: readonly string[];\n };\n\ntype FailedToResolveNameError = Error & {\n dirPaths: string[];\n extraPaths: string[];\n};\n\ntype FailedToResolvePathError = Error & {\n candidates: FileAndDirCandidates;\n};\n\nexport function isFailedToResolveNameError(error: any): error is FailedToResolveNameError {\n return !!error && 'extraPaths' in error && error.constructor.name === 'FailedToResolveNameError';\n}\n\nexport function isFailedToResolvePathError(error: any): error is FailedToResolvePathError {\n return !!error && 'candidates' in error && error.constructor.name === 'FailedToResolvePathError';\n}\n"],"names":["isFailedToResolveNameError","isFailedToResolvePathError","error","constructor","name"],"mappings":"AAAA,uFAAuF;AAEvF;;;;;;;;;;;IA+BgBA,0BAA0B,MAA1BA,0BAA0B;IAI1BC,0BAA0B,MAA1BA,0BAA0B;;AAJnC,SAASD,0BAA0B,CAACE,KAAU,EAAqC;IACxF,OAAO,CAAC,CAACA,KAAK,IAAI,YAAY,IAAIA,KAAK,IAAIA,KAAK,CAACC,WAAW,CAACC,IAAI,KAAK,0BAA0B,CAAC;AACnG,CAAC;AAEM,SAASH,0BAA0B,CAACC,KAAU,EAAqC;IACxF,OAAO,CAAC,CAACA,KAAK,IAAI,YAAY,IAAIA,KAAK,IAAIA,KAAK,CAACC,WAAW,CAACC,IAAI,KAAK,0BAA0B,CAAC;AACnG,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "assertMetroPrivateServer", {
6
+ enumerable: true,
7
+ get: ()=>assertMetroPrivateServer
8
+ });
9
+ function _nodeAssert() {
10
+ const data = /*#__PURE__*/ _interopRequireDefault(require("node:assert"));
11
+ _nodeAssert = function() {
12
+ return data;
13
+ };
14
+ return data;
15
+ }
16
+ function _interopRequireDefault(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
21
+ function assertMetroPrivateServer(metro) {
22
+ (0, _nodeAssert().default)(metro, "Metro server undefined.");
23
+ (0, _nodeAssert().default)("_config" in metro && "_bundler" in metro, "Metro server is missing expected properties (_config, _bundler). This could be due to a version mismatch or change in the Metro API.");
24
+ }
25
+
26
+ //# sourceMappingURL=metroPrivateServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/metroPrivateServer.ts"],"sourcesContent":["import { TransformInputOptions } from 'metro';\nimport type Metro from 'metro';\nimport { ConfigT } from 'metro-config';\nimport assert from 'node:assert';\n\nexport type MetroPrivateServer = import('metro').Server & {\n _bundler: import('metro/src/IncrementalBundler').default;\n _config: ConfigT;\n _createModuleId: (path: string) => number;\n _isEnded: boolean;\n _nextBundleBuildNumber: number;\n _platforms: Set<string>;\n _reporter: import('metro/src/lib/reporting').Reporter;\n _serverOptions: import('metro').ServerOptions | void;\n\n getNewBuildNumber(): number;\n _getSortedModules(\n graph: import('metro/src/IncrementalBundler').OutputGraph\n ): import('metro/src/DeltaBundler/types').Module[];\n\n _resolveRelativePath(\n filePath: string,\n {\n relativeTo,\n resolverOptions,\n transformOptions,\n }: {\n relativeTo: 'project' | 'server';\n resolverOptions: import('metro/src/shared/types').ResolverInputOptions;\n transformOptions: TransformInputOptions;\n }\n ): Promise<string>;\n\n _shouldAddModuleToIgnoreList(module: import('metro/src/DeltaBundler/types').Module<any>): boolean;\n};\n\nexport function assertMetroPrivateServer(metro: Metro.Server): asserts metro is MetroPrivateServer {\n assert(metro, 'Metro server undefined.');\n assert(\n '_config' in metro && '_bundler' in metro,\n 'Metro server is missing expected properties (_config, _bundler). This could be due to a version mismatch or change in the Metro API.'\n );\n}\n"],"names":["assertMetroPrivateServer","metro","assert"],"mappings":"AAAA;;;;+BAoCgBA,0BAAwB;;aAAxBA,wBAAwB;;;8DAjCrB,aAAa;;;;;;;;;;;AAiCzB,SAASA,wBAAwB,CAACC,KAAmB,EAAuC;IACjGC,IAAAA,WAAM,EAAA,QAAA,EAACD,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACzCC,IAAAA,WAAM,EAAA,QAAA,EACJ,SAAS,IAAID,KAAK,IAAI,UAAU,IAAIA,KAAK,EACzC,sIAAsI,CACvI,CAAC;AACJ,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Copyright © 2024 650 Industries.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */ "use strict";
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ Object.defineProperty(exports, "getMetroBundlerWithVirtualModules", {
11
+ enumerable: true,
12
+ get: ()=>getMetroBundlerWithVirtualModules
13
+ });
14
+ function assertBundlerHasPrivateMembers(bundler) {
15
+ if (!("_depGraph" in bundler)) {
16
+ throw new Error("Expected bundler to have member: _depGraph. Upstream metro may have removed this property.");
17
+ }
18
+ assertDepGraphHasPrivateMembers(bundler._depGraph);
19
+ }
20
+ function assertDepGraphHasPrivateMembers(depGraph) {
21
+ if (!depGraph || typeof depGraph !== "object" || !("_fileSystem" in depGraph)) {
22
+ throw new Error("Expected bundler._depGraph to have member: _fileSystem. Upstream metro may have removed this property.");
23
+ }
24
+ }
25
+ function ensureMetroBundlerPatchedWithSetVirtualModule(bundler) {
26
+ if (!bundler.setVirtualModule) {
27
+ bundler.setVirtualModule = function(id, contents) {
28
+ assertBundlerHasPrivateMembers(this);
29
+ const fs = ensureFileSystemPatched(this._depGraph._fileSystem);
30
+ fs.expoVirtualModules.set(ensureStartsWithNullByte(id), Buffer.from(contents));
31
+ };
32
+ bundler.hasVirtualModule = function(id) {
33
+ assertBundlerHasPrivateMembers(this);
34
+ const fs = ensureFileSystemPatched(this._depGraph._fileSystem);
35
+ return fs.expoVirtualModules.has(ensureStartsWithNullByte(id));
36
+ };
37
+ }
38
+ return bundler;
39
+ }
40
+ function ensureStartsWithNullByte(id) {
41
+ // Because you'll likely need to return the path somewhere, we should just assert with a useful error message instead of
42
+ // attempting to mutate the value behind the scenes. This ensures correctness in the resolution.
43
+ if (!id.startsWith("\0")) {
44
+ throw new Error(`Virtual modules in Expo CLI must start with with null byte (\\0), got: ${id}`);
45
+ }
46
+ return id;
47
+ }
48
+ function getMetroBundlerWithVirtualModules(bundler) {
49
+ if (!bundler.transformFile.__patched) {
50
+ const originalTransformFile = bundler.transformFile.bind(bundler);
51
+ bundler.transformFile = async function(filePath, transformOptions, /** Optionally provide the file contents, this can be used to provide virtual contents for a file. */ fileBuffer) {
52
+ // file buffer will be defined for virtual modules in Metro, e.g. context modules.
53
+ if (!fileBuffer) {
54
+ if (filePath.startsWith("\0")) {
55
+ const graph = await this.getDependencyGraph();
56
+ assertDepGraphHasPrivateMembers(graph);
57
+ if (graph._fileSystem.expoVirtualModules) {
58
+ fileBuffer = graph._fileSystem.expoVirtualModules.get(filePath);
59
+ }
60
+ if (!fileBuffer) {
61
+ throw new Error(`Virtual module "${filePath}" not found.`);
62
+ }
63
+ }
64
+ }
65
+ return originalTransformFile(filePath, transformOptions, fileBuffer);
66
+ };
67
+ bundler.transformFile.__patched = true;
68
+ }
69
+ return ensureMetroBundlerPatchedWithSetVirtualModule(bundler);
70
+ }
71
+ function ensureFileSystemPatched(fs) {
72
+ if (!fs.getSha1.__patched) {
73
+ const original_getSha1 = fs.getSha1.bind(fs);
74
+ fs.getSha1 = (filename)=>{
75
+ // Rollup virtual module format.
76
+ if (filename.startsWith("\0")) {
77
+ return filename;
78
+ }
79
+ return original_getSha1(filename);
80
+ };
81
+ fs.getSha1.__patched = true;
82
+ }
83
+ // TODO: Connect virtual modules to a specific context so they don't cross-bundles.
84
+ if (!fs.expoVirtualModules) {
85
+ fs.expoVirtualModules = new Map();
86
+ }
87
+ return fs;
88
+ }
89
+
90
+ //# sourceMappingURL=metroVirtualModules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/metroVirtualModules.ts"],"sourcesContent":["/**\n * Copyright © 2024 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 Bundler from 'metro/src/Bundler';\nimport DependencyGraph from 'metro/src/node-haste/DependencyGraph';\nimport { FileSystem } from 'metro-file-map';\n\ntype ExpoPatchedFileSystem = Omit<FileSystem, 'getSha1'> & {\n getSha1: FileSystem['getSha1'] & { __patched?: boolean };\n expoVirtualModules?: Map<string, Buffer>;\n};\n\ntype ActualDependencyGraph = DependencyGraph & {\n _fileSystem: ExpoPatchedFileSystem;\n};\n\ntype ActualBundler = Bundler & {\n _depGraph: ActualDependencyGraph;\n};\n\ntype ExpoPatchedBundler = Bundler & {\n setVirtualModule: (id: string, contents: string) => void;\n hasVirtualModule: (id: string) => boolean;\n};\n\nfunction assertBundlerHasPrivateMembers(bundler: Bundler): asserts bundler is ActualBundler {\n if (!('_depGraph' in bundler)) {\n throw new Error(\n 'Expected bundler to have member: _depGraph. Upstream metro may have removed this property.'\n );\n }\n\n assertDepGraphHasPrivateMembers(bundler._depGraph);\n}\n\nfunction assertDepGraphHasPrivateMembers(\n depGraph: unknown\n): asserts depGraph is ActualDependencyGraph {\n if (!depGraph || typeof depGraph !== 'object' || !('_fileSystem' in depGraph)) {\n throw new Error(\n 'Expected bundler._depGraph to have member: _fileSystem. Upstream metro may have removed this property.'\n );\n }\n}\n\nfunction ensureMetroBundlerPatchedWithSetVirtualModule(\n bundler: Bundler & {\n setVirtualModule?: (id: string, contents: string) => void;\n hasVirtualModule?: (id: string) => boolean;\n }\n): ExpoPatchedBundler {\n if (!bundler.setVirtualModule) {\n bundler.setVirtualModule = function (this: Bundler, id: string, contents: string) {\n assertBundlerHasPrivateMembers(this);\n const fs = ensureFileSystemPatched(this._depGraph._fileSystem);\n fs.expoVirtualModules!.set(ensureStartsWithNullByte(id), Buffer.from(contents));\n };\n bundler.hasVirtualModule = function (this: Bundler, id: string) {\n assertBundlerHasPrivateMembers(this);\n const fs = ensureFileSystemPatched(this._depGraph._fileSystem);\n return fs.expoVirtualModules!.has(ensureStartsWithNullByte(id));\n };\n }\n\n return bundler as ExpoPatchedBundler;\n}\n\nfunction ensureStartsWithNullByte(id: string): string {\n // Because you'll likely need to return the path somewhere, we should just assert with a useful error message instead of\n // attempting to mutate the value behind the scenes. This ensures correctness in the resolution.\n if (!id.startsWith('\\0')) {\n throw new Error(`Virtual modules in Expo CLI must start with with null byte (\\\\0), got: ${id}`);\n }\n return id;\n}\n\nexport function getMetroBundlerWithVirtualModules(\n bundler: Bundler & {\n transformFile: Bundler['transformFile'] & { __patched?: boolean };\n }\n): ExpoPatchedBundler {\n if (!bundler.transformFile.__patched) {\n const originalTransformFile = bundler.transformFile.bind(bundler);\n\n bundler.transformFile = async function (\n filePath: string,\n transformOptions: any,\n /** Optionally provide the file contents, this can be used to provide virtual contents for a file. */\n fileBuffer?: Buffer\n ) {\n // file buffer will be defined for virtual modules in Metro, e.g. context modules.\n if (!fileBuffer) {\n if (filePath.startsWith('\\0')) {\n const graph = await this.getDependencyGraph();\n\n assertDepGraphHasPrivateMembers(graph);\n\n if (graph._fileSystem.expoVirtualModules) {\n fileBuffer = graph._fileSystem.expoVirtualModules.get(filePath);\n }\n\n if (!fileBuffer) {\n throw new Error(`Virtual module \"${filePath}\" not found.`);\n }\n }\n }\n return originalTransformFile(filePath, transformOptions, fileBuffer);\n };\n\n bundler.transformFile.__patched = true;\n }\n\n return ensureMetroBundlerPatchedWithSetVirtualModule(bundler);\n}\n\nfunction ensureFileSystemPatched(fs: ExpoPatchedFileSystem): ExpoPatchedFileSystem {\n if (!fs.getSha1.__patched) {\n const original_getSha1 = fs.getSha1.bind(fs);\n fs.getSha1 = (filename: string) => {\n // Rollup virtual module format.\n if (filename.startsWith('\\0')) {\n return filename;\n }\n\n return original_getSha1(filename);\n };\n fs.getSha1.__patched = true;\n }\n\n // TODO: Connect virtual modules to a specific context so they don't cross-bundles.\n if (!fs.expoVirtualModules) {\n fs.expoVirtualModules = new Map<string, Buffer>();\n }\n\n return fs;\n}\n"],"names":["getMetroBundlerWithVirtualModules","assertBundlerHasPrivateMembers","bundler","Error","assertDepGraphHasPrivateMembers","_depGraph","depGraph","ensureMetroBundlerPatchedWithSetVirtualModule","setVirtualModule","id","contents","fs","ensureFileSystemPatched","_fileSystem","expoVirtualModules","set","ensureStartsWithNullByte","Buffer","from","hasVirtualModule","has","startsWith","transformFile","__patched","originalTransformFile","bind","filePath","transformOptions","fileBuffer","graph","getDependencyGraph","get","getSha1","original_getSha1","filename","Map"],"mappings":"AAAA;;;;;CAKC,GACD;;;;+BAyEgBA,mCAAiC;;aAAjCA,iCAAiC;;AAnDjD,SAASC,8BAA8B,CAACC,OAAgB,EAAoC;IAC1F,IAAI,CAAC,CAAC,WAAW,IAAIA,OAAO,CAAC,EAAE;QAC7B,MAAM,IAAIC,KAAK,CACb,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IAEDC,+BAA+B,CAACF,OAAO,CAACG,SAAS,CAAC,CAAC;AACrD,CAAC;AAED,SAASD,+BAA+B,CACtCE,QAAiB,EAC0B;IAC3C,IAAI,CAACA,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,aAAa,IAAIA,QAAQ,CAAC,EAAE;QAC7E,MAAM,IAAIH,KAAK,CACb,wGAAwG,CACzG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAASI,6CAA6C,CACpDL,OAGC,EACmB;IACpB,IAAI,CAACA,OAAO,CAACM,gBAAgB,EAAE;QAC7BN,OAAO,CAACM,gBAAgB,GAAG,SAAyBC,EAAU,EAAEC,QAAgB,EAAE;YAChFT,8BAA8B,CAAC,IAAI,CAAC,CAAC;YACrC,MAAMU,EAAE,GAAGC,uBAAuB,CAAC,IAAI,CAACP,SAAS,CAACQ,WAAW,CAAC,AAAC;YAC/DF,EAAE,CAACG,kBAAkB,CAAEC,GAAG,CAACC,wBAAwB,CAACP,EAAE,CAAC,EAAEQ,MAAM,CAACC,IAAI,CAACR,QAAQ,CAAC,CAAC,CAAC;QAClF,CAAC,CAAC;QACFR,OAAO,CAACiB,gBAAgB,GAAG,SAAyBV,EAAU,EAAE;YAC9DR,8BAA8B,CAAC,IAAI,CAAC,CAAC;YACrC,MAAMU,EAAE,GAAGC,uBAAuB,CAAC,IAAI,CAACP,SAAS,CAACQ,WAAW,CAAC,AAAC;YAC/D,OAAOF,EAAE,CAACG,kBAAkB,CAAEM,GAAG,CAACJ,wBAAwB,CAACP,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC;IACJ,CAAC;IAED,OAAOP,OAAO,CAAuB;AACvC,CAAC;AAED,SAASc,wBAAwB,CAACP,EAAU,EAAU;IACpD,wHAAwH;IACxH,gGAAgG;IAChG,IAAI,CAACA,EAAE,CAACY,UAAU,CAAC,IAAI,CAAC,EAAE;QACxB,MAAM,IAAIlB,KAAK,CAAC,CAAC,uEAAuE,EAAEM,EAAE,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;IACD,OAAOA,EAAE,CAAC;AACZ,CAAC;AAEM,SAAST,iCAAiC,CAC/CE,OAEC,EACmB;IACpB,IAAI,CAACA,OAAO,CAACoB,aAAa,CAACC,SAAS,EAAE;QACpC,MAAMC,qBAAqB,GAAGtB,OAAO,CAACoB,aAAa,CAACG,IAAI,CAACvB,OAAO,CAAC,AAAC;QAElEA,OAAO,CAACoB,aAAa,GAAG,eACtBI,QAAgB,EAChBC,gBAAqB,EACrB,mGAAmG,GACnGC,UAAmB,EACnB;YACA,kFAAkF;YAClF,IAAI,CAACA,UAAU,EAAE;gBACf,IAAIF,QAAQ,CAACL,UAAU,CAAC,IAAI,CAAC,EAAE;oBAC7B,MAAMQ,KAAK,GAAG,MAAM,IAAI,CAACC,kBAAkB,EAAE,AAAC;oBAE9C1B,+BAA+B,CAACyB,KAAK,CAAC,CAAC;oBAEvC,IAAIA,KAAK,CAAChB,WAAW,CAACC,kBAAkB,EAAE;wBACxCc,UAAU,GAAGC,KAAK,CAAChB,WAAW,CAACC,kBAAkB,CAACiB,GAAG,CAACL,QAAQ,CAAC,CAAC;oBAClE,CAAC;oBAED,IAAI,CAACE,UAAU,EAAE;wBACf,MAAM,IAAIzB,KAAK,CAAC,CAAC,gBAAgB,EAAEuB,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAOF,qBAAqB,CAACE,QAAQ,EAAEC,gBAAgB,EAAEC,UAAU,CAAC,CAAC;QACvE,CAAC,CAAC;QAEF1B,OAAO,CAACoB,aAAa,CAACC,SAAS,GAAG,IAAI,CAAC;IACzC,CAAC;IAED,OAAOhB,6CAA6C,CAACL,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,SAASU,uBAAuB,CAACD,EAAyB,EAAyB;IACjF,IAAI,CAACA,EAAE,CAACqB,OAAO,CAACT,SAAS,EAAE;QACzB,MAAMU,gBAAgB,GAAGtB,EAAE,CAACqB,OAAO,CAACP,IAAI,CAACd,EAAE,CAAC,AAAC;QAC7CA,EAAE,CAACqB,OAAO,GAAG,CAACE,QAAgB,GAAK;YACjC,gCAAgC;YAChC,IAAIA,QAAQ,CAACb,UAAU,CAAC,IAAI,CAAC,EAAE;gBAC7B,OAAOa,QAAQ,CAAC;YAClB,CAAC;YAED,OAAOD,gBAAgB,CAACC,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAC;QACFvB,EAAE,CAACqB,OAAO,CAACT,SAAS,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,mFAAmF;IACnF,IAAI,CAACZ,EAAE,CAACG,kBAAkB,EAAE;QAC1BH,EAAE,CAACG,kBAAkB,GAAG,IAAIqB,GAAG,EAAkB,CAAC;IACpD,CAAC;IAED,OAAOxB,EAAE,CAAC;AACZ,CAAC"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "metroWatchTypeScriptFiles", {
6
+ enumerable: true,
7
+ get: ()=>metroWatchTypeScriptFiles
8
+ });
9
+ function _path() {
10
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
11
+ _path = function() {
12
+ return data;
13
+ };
14
+ return data;
15
+ }
16
+ function _interopRequireDefault(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
21
+ const debug = require("debug")("expo:start:server:metro:metroWatchTypeScriptFiles");
22
+ function metroWatchTypeScriptFiles({ metro , server , projectRoot , callback , tsconfig =false , throttle =false , eventTypes =[
23
+ "add",
24
+ "change",
25
+ "delete"
26
+ ] }) {
27
+ const watcher = metro.getBundler().getBundler().getWatcher();
28
+ const tsconfigPath = _path().default.join(projectRoot, "tsconfig.json");
29
+ const listener = ({ eventsQueue })=>{
30
+ for (const event of eventsQueue){
31
+ var ref;
32
+ if (eventTypes.includes(event.type) && ((ref = event.metadata) == null ? void 0 : ref.type) !== "d" && // We need to ignore node_modules because Metro will add all of the files in node_modules to the watcher.
33
+ !/node_modules/.test(event.filePath) && // Ignore declaration files
34
+ !/\.d\.ts$/.test(event.filePath)) {
35
+ const { filePath } = event;
36
+ // Is TypeScript?
37
+ if (// If the user adds a TypeScript file to the observable files in their project.
38
+ /\.tsx?$/.test(filePath) || // Or if the user adds a tsconfig.json file to the project root.
39
+ (tsconfig && filePath === tsconfigPath)) {
40
+ debug("Detected TypeScript file changed in the project: ", filePath);
41
+ callback(event);
42
+ if (throttle) {
43
+ return;
44
+ }
45
+ }
46
+ }
47
+ }
48
+ };
49
+ debug("Waiting for TypeScript files to be added to the project...");
50
+ watcher.addListener("change", listener);
51
+ watcher.addListener("add", listener);
52
+ const off = ()=>{
53
+ watcher.removeListener("change", listener);
54
+ watcher.removeListener("add", listener);
55
+ };
56
+ server.addListener == null ? void 0 : server.addListener("close", off);
57
+ return off;
58
+ }
59
+
60
+ //# sourceMappingURL=metroWatchTypeScriptFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/metroWatchTypeScriptFiles.ts"],"sourcesContent":["import path from 'path';\n\nimport type { ServerLike } from '../BundlerDevServer';\n\nconst debug = require('debug')(\n 'expo:start:server:metro:metroWatchTypeScriptFiles'\n) as typeof console.log;\n\nexport interface MetroWatchTypeScriptFilesOptions {\n projectRoot: string;\n metro: import('metro').Server;\n server: ServerLike;\n /* Include tsconfig.json in the watcher */\n tsconfig?: boolean;\n callback: (event: WatchEvent) => void;\n /* Array of eventTypes to watch. Defaults to all events */\n eventTypes?: string[];\n /* Throlle the callback. When true and a group of events are recieved, callback it will only be called with the\n * first event */\n throttle?: boolean;\n}\n\ninterface WatchEvent {\n filePath: string;\n metadata?: {\n type: 'f' | 'd' | 'l'; // Regular file / Directory / Symlink\n } | null;\n type: string;\n}\n\n/**\n * Use the native file watcher / Metro ruleset to detect if a\n * TypeScript file is added to the project during development.\n */\nexport function metroWatchTypeScriptFiles({\n metro,\n server,\n projectRoot,\n callback,\n tsconfig = false,\n throttle = false,\n eventTypes = ['add', 'change', 'delete'],\n}: MetroWatchTypeScriptFilesOptions): () => void {\n const watcher = metro.getBundler().getBundler().getWatcher();\n\n const tsconfigPath = path.join(projectRoot, 'tsconfig.json');\n\n const listener = ({ eventsQueue }: { eventsQueue: WatchEvent[] }) => {\n for (const event of eventsQueue) {\n if (\n eventTypes.includes(event.type) &&\n event.metadata?.type !== 'd' &&\n // We need to ignore node_modules because Metro will add all of the files in node_modules to the watcher.\n !/node_modules/.test(event.filePath) &&\n // Ignore declaration files\n !/\\.d\\.ts$/.test(event.filePath)\n ) {\n const { filePath } = event;\n // Is TypeScript?\n if (\n // If the user adds a TypeScript file to the observable files in their project.\n /\\.tsx?$/.test(filePath) ||\n // Or if the user adds a tsconfig.json file to the project root.\n (tsconfig && filePath === tsconfigPath)\n ) {\n debug('Detected TypeScript file changed in the project: ', filePath);\n callback(event);\n\n if (throttle) {\n return;\n }\n }\n }\n }\n };\n\n debug('Waiting for TypeScript files to be added to the project...');\n watcher.addListener('change', listener);\n watcher.addListener('add', listener);\n\n const off = () => {\n watcher.removeListener('change', listener);\n watcher.removeListener('add', listener);\n };\n\n server.addListener?.('close', off);\n return off;\n}\n"],"names":["metroWatchTypeScriptFiles","debug","require","metro","server","projectRoot","callback","tsconfig","throttle","eventTypes","watcher","getBundler","getWatcher","tsconfigPath","path","join","listener","eventsQueue","event","includes","type","metadata","test","filePath","addListener","off","removeListener"],"mappings":"AAAA;;;;+BAkCgBA,2BAAyB;;aAAzBA,yBAAyB;;;8DAlCxB,MAAM;;;;;;;;;;;AAIvB,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAC5B,mDAAmD,CACpD,AAAsB,AAAC;AA4BjB,SAASF,yBAAyB,CAAC,EACxCG,KAAK,CAAA,EACLC,MAAM,CAAA,EACNC,WAAW,CAAA,EACXC,QAAQ,CAAA,EACRC,QAAQ,EAAG,KAAK,CAAA,EAChBC,QAAQ,EAAG,KAAK,CAAA,EAChBC,UAAU,EAAG;IAAC,KAAK;IAAE,QAAQ;IAAE,QAAQ;CAAC,CAAA,EACP,EAAc;IAC/C,MAAMC,OAAO,GAAGP,KAAK,CAACQ,UAAU,EAAE,CAACA,UAAU,EAAE,CAACC,UAAU,EAAE,AAAC;IAE7D,MAAMC,YAAY,GAAGC,KAAI,EAAA,QAAA,CAACC,IAAI,CAACV,WAAW,EAAE,eAAe,CAAC,AAAC;IAE7D,MAAMW,QAAQ,GAAG,CAAC,EAAEC,WAAW,CAAA,EAAiC,GAAK;QACnE,KAAK,MAAMC,KAAK,IAAID,WAAW,CAAE;gBAG7BC,GAAc;YAFhB,IACET,UAAU,CAACU,QAAQ,CAACD,KAAK,CAACE,IAAI,CAAC,IAC/BF,CAAAA,CAAAA,GAAc,GAAdA,KAAK,CAACG,QAAQ,SAAM,GAApBH,KAAAA,CAAoB,GAApBA,GAAc,CAAEE,IAAI,CAAA,KAAK,GAAG,IAC5B,yGAAyG;YACzG,CAAC,eAAeE,IAAI,CAACJ,KAAK,CAACK,QAAQ,CAAC,IACpC,2BAA2B;YAC3B,CAAC,WAAWD,IAAI,CAACJ,KAAK,CAACK,QAAQ,CAAC,EAChC;gBACA,MAAM,EAAEA,QAAQ,CAAA,EAAE,GAAGL,KAAK,AAAC;gBAC3B,iBAAiB;gBACjB,IACE,+EAA+E;gBAC/E,UAAUI,IAAI,CAACC,QAAQ,CAAC,IACxB,gEAAgE;gBAChE,CAAChB,QAAQ,IAAIgB,QAAQ,KAAKV,YAAY,CAAC,EACvC;oBACAZ,KAAK,CAAC,mDAAmD,EAAEsB,QAAQ,CAAC,CAAC;oBACrEjB,QAAQ,CAACY,KAAK,CAAC,CAAC;oBAEhB,IAAIV,QAAQ,EAAE;wBACZ,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,AAAC;IAEFP,KAAK,CAAC,4DAA4D,CAAC,CAAC;IACpES,OAAO,CAACc,WAAW,CAAC,QAAQ,EAAER,QAAQ,CAAC,CAAC;IACxCN,OAAO,CAACc,WAAW,CAAC,KAAK,EAAER,QAAQ,CAAC,CAAC;IAErC,MAAMS,GAAG,GAAG,IAAM;QAChBf,OAAO,CAACgB,cAAc,CAAC,QAAQ,EAAEV,QAAQ,CAAC,CAAC;QAC3CN,OAAO,CAACgB,cAAc,CAAC,KAAK,EAAEV,QAAQ,CAAC,CAAC;IAC1C,CAAC,AAAC;IAEFZ,MAAM,CAACoB,WAAW,QAAgB,GAAlCpB,KAAAA,CAAkC,GAAlCA,MAAM,CAACoB,WAAW,CAAG,OAAO,EAAEC,GAAG,CAAC,CAAC;IACnC,OAAOA,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,128 @@
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
+ getAppRouterRelativeEntryPath: ()=>getAppRouterRelativeEntryPath,
13
+ getRouterDirectoryModuleIdWithManifest: ()=>getRouterDirectoryModuleIdWithManifest,
14
+ getRouterDirectory: ()=>getRouterDirectory,
15
+ isApiRouteConvention: ()=>isApiRouteConvention,
16
+ getApiRoutesForDirectory: ()=>getApiRoutesForDirectory,
17
+ getRoutePaths: ()=>getRoutePaths,
18
+ hasWarnedAboutApiRoutes: ()=>hasWarnedAboutApiRoutes,
19
+ warnInvalidWebOutput: ()=>warnInvalidWebOutput
20
+ });
21
+ function _chalk() {
22
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
23
+ _chalk = function() {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _glob() {
29
+ const data = require("glob");
30
+ _glob = function() {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
+ function _path() {
36
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
37
+ _path = function() {
38
+ return data;
39
+ };
40
+ return data;
41
+ }
42
+ function _resolveFrom() {
43
+ const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
44
+ _resolveFrom = function() {
45
+ return data;
46
+ };
47
+ return data;
48
+ }
49
+ const _log = require("../../../log");
50
+ const _dir = require("../../../utils/dir");
51
+ const _link = require("../../../utils/link");
52
+ function _interopRequireDefault(obj) {
53
+ return obj && obj.__esModule ? obj : {
54
+ default: obj
55
+ };
56
+ }
57
+ const debug = require("debug")("expo:start:server:metro:router");
58
+ function getAppRouterRelativeEntryPath(projectRoot, routerDirectory = getRouterDirectory(projectRoot)) {
59
+ var ref;
60
+ // Auto pick App entry
61
+ const routerEntry = (ref = _resolveFrom().default.silent(projectRoot, "expo-router/entry")) != null ? ref : getFallbackEntryRoot(projectRoot);
62
+ if (!routerEntry) {
63
+ return undefined;
64
+ }
65
+ // It doesn't matter if the app folder exists.
66
+ const appFolder = _path().default.join(projectRoot, routerDirectory);
67
+ const appRoot = _path().default.relative(_path().default.dirname(routerEntry), appFolder);
68
+ debug("expo-router entry", routerEntry, appFolder, appRoot);
69
+ return appRoot;
70
+ }
71
+ /** If the `expo-router` package is not installed, then use the `expo` package to determine where the node modules are relative to the project. */ function getFallbackEntryRoot(projectRoot) {
72
+ const expoRoot = _resolveFrom().default.silent(projectRoot, "expo/package.json");
73
+ if (expoRoot) {
74
+ return _path().default.join(_path().default.dirname(_path().default.dirname(expoRoot)), "expo-router/entry");
75
+ }
76
+ return _path().default.join(projectRoot, "node_modules/expo-router/entry");
77
+ }
78
+ function getRouterDirectoryModuleIdWithManifest(projectRoot, exp) {
79
+ var ref, ref1;
80
+ var ref2;
81
+ return (ref2 = (ref = exp.extra) == null ? void 0 : (ref1 = ref.router) == null ? void 0 : ref1.root) != null ? ref2 : getRouterDirectory(projectRoot);
82
+ }
83
+ let hasWarnedAboutSrcDir = false;
84
+ const logSrcDir = ()=>{
85
+ if (hasWarnedAboutSrcDir) return;
86
+ hasWarnedAboutSrcDir = true;
87
+ _log.Log.log(_chalk().default.gray("Using src/app as the root directory for Expo Router."));
88
+ };
89
+ function getRouterDirectory(projectRoot) {
90
+ // more specific directories first
91
+ if ((0, _dir.directoryExistsSync)(_path().default.join(projectRoot, "src/app"))) {
92
+ logSrcDir();
93
+ return "src/app";
94
+ }
95
+ debug("Using app as the root directory for Expo Router.");
96
+ return "app";
97
+ }
98
+ function isApiRouteConvention(name) {
99
+ return /\+api\.[tj]sx?$/.test(name);
100
+ }
101
+ function getApiRoutesForDirectory(cwd) {
102
+ return (0, _glob().sync)("**/*+api.@(ts|tsx|js|jsx)", {
103
+ cwd,
104
+ absolute: true,
105
+ dot: true
106
+ });
107
+ }
108
+ function getRoutePaths(cwd) {
109
+ return (0, _glob().sync)("**/*.@(ts|tsx|js|jsx)", {
110
+ cwd,
111
+ dot: true
112
+ }).map((p)=>"./" + normalizePaths(p));
113
+ }
114
+ function normalizePaths(p) {
115
+ return p.replace(/\\/g, "/");
116
+ }
117
+ let hasWarnedAboutApiRouteOutput = false;
118
+ function hasWarnedAboutApiRoutes() {
119
+ return hasWarnedAboutApiRouteOutput;
120
+ }
121
+ function warnInvalidWebOutput() {
122
+ if (!hasWarnedAboutApiRouteOutput) {
123
+ _log.Log.warn(_chalk().default.yellow`Using API routes requires the {bold web.output} to be set to {bold "server"} in the project {bold app.json}. ${(0, _link.learnMore)("https://docs.expo.dev/router/reference/api-routes/")}`);
124
+ }
125
+ hasWarnedAboutApiRouteOutput = true;
126
+ }
127
+
128
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/router.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport chalk from 'chalk';\nimport { sync as globSync } from 'glob';\nimport path from 'path';\nimport resolveFrom from 'resolve-from';\n\nimport { Log } from '../../../log';\nimport { directoryExistsSync } from '../../../utils/dir';\nimport { learnMore } from '../../../utils/link';\n\nconst debug = require('debug')('expo:start:server:metro:router') as typeof console.log;\n\n/**\n * Get the relative path for requiring the `/app` folder relative to the `expo-router/entry` file.\n * This mechanism does require the server to restart after the `expo-router` package is installed.\n */\nexport function getAppRouterRelativeEntryPath(\n projectRoot: string,\n routerDirectory: string = getRouterDirectory(projectRoot)\n): string | undefined {\n // Auto pick App entry\n const routerEntry =\n resolveFrom.silent(projectRoot, 'expo-router/entry') ?? getFallbackEntryRoot(projectRoot);\n if (!routerEntry) {\n return undefined;\n }\n // It doesn't matter if the app folder exists.\n const appFolder = path.join(projectRoot, routerDirectory);\n const appRoot = path.relative(path.dirname(routerEntry), appFolder);\n debug('expo-router entry', routerEntry, appFolder, appRoot);\n return appRoot;\n}\n\n/** If the `expo-router` package is not installed, then use the `expo` package to determine where the node modules are relative to the project. */\nfunction getFallbackEntryRoot(projectRoot: string): string {\n const expoRoot = resolveFrom.silent(projectRoot, 'expo/package.json');\n if (expoRoot) {\n return path.join(path.dirname(path.dirname(expoRoot)), 'expo-router/entry');\n }\n return path.join(projectRoot, 'node_modules/expo-router/entry');\n}\n\nexport function getRouterDirectoryModuleIdWithManifest(\n projectRoot: string,\n exp: ExpoConfig\n): string {\n return exp.extra?.router?.root ?? getRouterDirectory(projectRoot);\n}\n\nlet hasWarnedAboutSrcDir = false;\nconst logSrcDir = () => {\n if (hasWarnedAboutSrcDir) return;\n hasWarnedAboutSrcDir = true;\n Log.log(chalk.gray('Using src/app as the root directory for Expo Router.'));\n};\n\nexport function getRouterDirectory(projectRoot: string): string {\n // more specific directories first\n if (directoryExistsSync(path.join(projectRoot, 'src/app'))) {\n logSrcDir();\n return 'src/app';\n }\n\n debug('Using app as the root directory for Expo Router.');\n return 'app';\n}\n\nexport function isApiRouteConvention(name: string): boolean {\n return /\\+api\\.[tj]sx?$/.test(name);\n}\n\nexport function getApiRoutesForDirectory(cwd: string) {\n return globSync('**/*+api.@(ts|tsx|js|jsx)', {\n cwd,\n absolute: true,\n dot: true,\n });\n}\n\n// Used to emulate a context module, but way faster. TODO: May need to adjust the extensions to stay in sync with Metro.\nexport function getRoutePaths(cwd: string) {\n return globSync('**/*.@(ts|tsx|js|jsx)', {\n cwd,\n dot: true,\n }).map((p) => './' + normalizePaths(p));\n}\n\nfunction normalizePaths(p: string) {\n return p.replace(/\\\\/g, '/');\n}\n\nlet hasWarnedAboutApiRouteOutput = false;\n\nexport function hasWarnedAboutApiRoutes() {\n return hasWarnedAboutApiRouteOutput;\n}\n\nexport function warnInvalidWebOutput() {\n if (!hasWarnedAboutApiRouteOutput) {\n Log.warn(\n chalk.yellow`Using API routes requires the {bold web.output} to be set to {bold \"server\"} in the project {bold app.json}. ${learnMore(\n 'https://docs.expo.dev/router/reference/api-routes/'\n )}`\n );\n }\n\n hasWarnedAboutApiRouteOutput = true;\n}\n"],"names":["getAppRouterRelativeEntryPath","getRouterDirectoryModuleIdWithManifest","getRouterDirectory","isApiRouteConvention","getApiRoutesForDirectory","getRoutePaths","hasWarnedAboutApiRoutes","warnInvalidWebOutput","debug","require","projectRoot","routerDirectory","resolveFrom","routerEntry","silent","getFallbackEntryRoot","undefined","appFolder","path","join","appRoot","relative","dirname","expoRoot","exp","extra","router","root","hasWarnedAboutSrcDir","logSrcDir","Log","log","chalk","gray","directoryExistsSync","name","test","cwd","globSync","absolute","dot","map","p","normalizePaths","replace","hasWarnedAboutApiRouteOutput","warn","yellow","learnMore"],"mappings":"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"}
@@ -0,0 +1,153 @@
1
+ // Copyright © 2023 650 Industries.
2
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ //
4
+ // Forks https://github.com/facebook/metro/blob/b80d9a0f638ee9fb82ff69cd3c8d9f4309ca1da2/packages/metro/src/index.flow.js#L57
5
+ // and adds the ability to access the bundler instance.
6
+ "use strict";
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ Object.defineProperty(exports, "runServer", {
11
+ enumerable: true,
12
+ get: ()=>runServer
13
+ });
14
+ function _assert() {
15
+ const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
16
+ _assert = function() {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _http() {
22
+ const data = /*#__PURE__*/ _interopRequireDefault(require("http"));
23
+ _http = function() {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _https() {
29
+ const data = /*#__PURE__*/ _interopRequireDefault(require("https"));
30
+ _https = function() {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
+ function _metro() {
36
+ const data = /*#__PURE__*/ _interopRequireDefault(require("metro"));
37
+ _metro = function() {
38
+ return data;
39
+ };
40
+ return data;
41
+ }
42
+ function _hmrServer() {
43
+ const data = /*#__PURE__*/ _interopRequireDefault(require("metro/src/HmrServer"));
44
+ _hmrServer = function() {
45
+ return data;
46
+ };
47
+ return data;
48
+ }
49
+ function _createWebsocketServer() {
50
+ const data = /*#__PURE__*/ _interopRequireDefault(require("metro/src/lib/createWebsocketServer"));
51
+ _createWebsocketServer = function() {
52
+ return data;
53
+ };
54
+ return data;
55
+ }
56
+ function _url() {
57
+ const data = require("url");
58
+ _url = function() {
59
+ return data;
60
+ };
61
+ return data;
62
+ }
63
+ const _log = require("../../../log");
64
+ const _getRunningProcess = require("../../../utils/getRunningProcess");
65
+ function _interopRequireDefault(obj) {
66
+ return obj && obj.__esModule ? obj : {
67
+ default: obj
68
+ };
69
+ }
70
+ const runServer = async (metroBundler, config, { hasReducedPerformance =false , host , onError , onReady , secureServerOptions , waitForBundler =false , websocketEndpoints ={} , watch }, { mockServer })=>{
71
+ // await earlyPortCheck(host, config.server.port);
72
+ // if (secure != null || secureCert != null || secureKey != null) {
73
+ // // eslint-disable-next-line no-console
74
+ // console.warn(
75
+ // chalk.inverse.yellow.bold(' DEPRECATED '),
76
+ // 'The `secure`, `secureCert`, and `secureKey` options are now deprecated. ' +
77
+ // 'Please use the `secureServerOptions` object instead to pass options to ' +
78
+ // "Metro's https development server.",
79
+ // );
80
+ // }
81
+ const { middleware , end , metroServer } = await _metro().default.createConnectMiddleware(config, {
82
+ hasReducedPerformance,
83
+ waitForBundler,
84
+ watch
85
+ });
86
+ (0, _assert().default)(typeof middleware.use === "function");
87
+ const serverApp = middleware;
88
+ let httpServer;
89
+ if (secureServerOptions != null) {
90
+ httpServer = _https().default.createServer(secureServerOptions, serverApp);
91
+ } else {
92
+ httpServer = _http().default.createServer(serverApp);
93
+ }
94
+ httpServer.on("error", (error)=>{
95
+ if ("code" in error && error.code === "EADDRINUSE") {
96
+ // If `Error: listen EADDRINUSE: address already in use :::8081` then print additional info
97
+ // about the process before throwing.
98
+ const info = (0, _getRunningProcess.getRunningProcess)(config.server.port);
99
+ if (info) {
100
+ _log.Log.error(`Port ${config.server.port} is busy running ${info.command} in: ${info.directory}`);
101
+ }
102
+ }
103
+ if (onError) {
104
+ onError(error);
105
+ }
106
+ end();
107
+ });
108
+ // Disable any kind of automatic timeout behavior for incoming
109
+ // requests in case it takes the packager more than the default
110
+ // timeout of 120 seconds to respond to a request.
111
+ httpServer.timeout = 0;
112
+ httpServer.on("close", ()=>{
113
+ end();
114
+ });
115
+ if (mockServer) {
116
+ return {
117
+ server: httpServer,
118
+ metro: metroServer
119
+ };
120
+ }
121
+ return new Promise((resolve, reject)=>{
122
+ httpServer.on("error", (error)=>{
123
+ reject(error);
124
+ });
125
+ httpServer.listen(config.server.port, host, ()=>{
126
+ if (onReady) {
127
+ onReady(httpServer);
128
+ }
129
+ Object.assign(websocketEndpoints, {
130
+ // @ts-expect-error: incorrect types
131
+ "/hot": (0, _createWebsocketServer().default)({
132
+ websocketServer: new (_hmrServer()).default(metroServer.getBundler(), metroServer.getCreateModuleId(), config)
133
+ })
134
+ });
135
+ httpServer.on("upgrade", (request, socket, head)=>{
136
+ const { pathname } = (0, _url().parse)(request.url);
137
+ if (pathname != null && websocketEndpoints[pathname]) {
138
+ websocketEndpoints[pathname].handleUpgrade(request, socket, head, (ws)=>{
139
+ websocketEndpoints[pathname].emit("connection", ws, request);
140
+ });
141
+ } else {
142
+ socket.destroy();
143
+ }
144
+ });
145
+ resolve({
146
+ server: httpServer,
147
+ metro: metroServer
148
+ });
149
+ });
150
+ });
151
+ };
152
+
153
+ //# sourceMappingURL=runServer-fork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/runServer-fork.ts"],"sourcesContent":["// Copyright © 2023 650 Industries.\n// Copyright (c) Meta Platforms, Inc. and affiliates.\n//\n// Forks https://github.com/facebook/metro/blob/b80d9a0f638ee9fb82ff69cd3c8d9f4309ca1da2/packages/metro/src/index.flow.js#L57\n// and adds the ability to access the bundler instance.\nimport assert from 'assert';\nimport http from 'http';\nimport https from 'https';\nimport Metro, { RunServerOptions, Server } from 'metro';\nimport MetroHmrServer from 'metro/src/HmrServer';\nimport createWebsocketServer from 'metro/src/lib/createWebsocketServer';\nimport { ConfigT } from 'metro-config';\nimport { parse } from 'url';\n\nimport { MetroBundlerDevServer } from './MetroBundlerDevServer';\nimport { Log } from '../../../log';\nimport { getRunningProcess } from '../../../utils/getRunningProcess';\nimport type { ConnectAppType } from '../middleware/server.types';\n\nexport const runServer = async (\n metroBundler: MetroBundlerDevServer,\n config: ConfigT,\n {\n hasReducedPerformance = false,\n host,\n onError,\n onReady,\n secureServerOptions,\n waitForBundler = false,\n websocketEndpoints = {},\n watch,\n }: RunServerOptions,\n {\n mockServer,\n }: {\n // Use a mock server object instead of creating a real server, this is used in export cases where we want to reuse codepaths but not actually start a server.\n mockServer: boolean;\n }\n): Promise<{ server: http.Server | https.Server; metro: Server }> => {\n // await earlyPortCheck(host, config.server.port);\n\n // if (secure != null || secureCert != null || secureKey != null) {\n // // eslint-disable-next-line no-console\n // console.warn(\n // chalk.inverse.yellow.bold(' DEPRECATED '),\n // 'The `secure`, `secureCert`, and `secureKey` options are now deprecated. ' +\n // 'Please use the `secureServerOptions` object instead to pass options to ' +\n // \"Metro's https development server.\",\n // );\n // }\n\n const { middleware, end, metroServer } = await Metro.createConnectMiddleware(config, {\n hasReducedPerformance,\n waitForBundler,\n watch,\n });\n\n assert(typeof (middleware as any).use === 'function');\n const serverApp = middleware as ConnectAppType;\n\n let httpServer: http.Server | https.Server;\n\n if (secureServerOptions != null) {\n httpServer = https.createServer(secureServerOptions, serverApp);\n } else {\n httpServer = http.createServer(serverApp);\n }\n\n httpServer.on('error', (error) => {\n if ('code' in error && error.code === 'EADDRINUSE') {\n // If `Error: listen EADDRINUSE: address already in use :::8081` then print additional info\n // about the process before throwing.\n const info = getRunningProcess(config.server.port);\n if (info) {\n Log.error(\n `Port ${config.server.port} is busy running ${info.command} in: ${info.directory}`\n );\n }\n }\n\n if (onError) {\n onError(error);\n }\n end();\n });\n\n // Disable any kind of automatic timeout behavior for incoming\n // requests in case it takes the packager more than the default\n // timeout of 120 seconds to respond to a request.\n httpServer.timeout = 0;\n\n httpServer.on('close', () => {\n end();\n });\n\n if (mockServer) {\n return { server: httpServer, metro: metroServer };\n }\n\n return new Promise<{ server: http.Server | https.Server; metro: Server }>((resolve, reject) => {\n httpServer.on('error', (error) => {\n reject(error);\n });\n\n httpServer.listen(config.server.port, host, () => {\n if (onReady) {\n onReady(httpServer);\n }\n\n Object.assign(websocketEndpoints, {\n // @ts-expect-error: incorrect types\n '/hot': createWebsocketServer({\n websocketServer: new MetroHmrServer(\n metroServer.getBundler(),\n metroServer.getCreateModuleId(),\n config\n ),\n }),\n });\n\n httpServer.on('upgrade', (request, socket, head) => {\n const { pathname } = parse(request.url!);\n if (pathname != null && websocketEndpoints[pathname]) {\n websocketEndpoints[pathname].handleUpgrade(request, socket, head, (ws) => {\n websocketEndpoints[pathname].emit('connection', ws, request);\n });\n } else {\n socket.destroy();\n }\n });\n\n resolve({ server: httpServer, metro: metroServer });\n });\n });\n};\n"],"names":["runServer","metroBundler","config","hasReducedPerformance","host","onError","onReady","secureServerOptions","waitForBundler","websocketEndpoints","watch","mockServer","middleware","end","metroServer","Metro","createConnectMiddleware","assert","use","serverApp","httpServer","https","createServer","http","on","error","code","info","getRunningProcess","server","port","Log","command","directory","timeout","metro","Promise","resolve","reject","listen","Object","assign","createWebsocketServer","websocketServer","MetroHmrServer","getBundler","getCreateModuleId","request","socket","head","pathname","parse","url","handleUpgrade","ws","emit","destroy"],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "serializeHtmlWithAssets", {
6
+ enumerable: true,
7
+ get: ()=>serializeHtmlWithAssets
8
+ });
9
+ const debug = require("debug")("expo:metro:html");
10
+ function serializeHtmlWithAssets({ resources , template , devBundleUrl , baseUrl , route , isExporting }) {
11
+ if (!resources) {
12
+ return "";
13
+ }
14
+ return htmlFromSerialAssets(resources, {
15
+ isExporting,
16
+ template,
17
+ baseUrl,
18
+ bundleUrl: isExporting ? undefined : devBundleUrl,
19
+ route
20
+ });
21
+ }
22
+ /**
23
+ * Combine the path segments of a URL.
24
+ * This filters out empty segments and avoids duplicate slashes when joining.
25
+ * If base url is empty, it will be treated as a root path, adding `/` to the beginning.
26
+ */ function combineUrlPath(baseUrl, ...segments) {
27
+ return [
28
+ baseUrl || "/",
29
+ ...segments
30
+ ].filter(Boolean).map((segment, index)=>{
31
+ const segmentIsBaseUrl = index === 0;
32
+ // Do not remove leading slashes from baseUrl
33
+ return segment.replace(segmentIsBaseUrl ? /\/+$/g : /^\/+|\/+$/g, "");
34
+ }).join("/");
35
+ }
36
+ function htmlFromSerialAssets(assets, { isExporting , template , baseUrl , bundleUrl , route }) {
37
+ // Combine the CSS modules into tags that have hot refresh data attributes.
38
+ const styleString = assets.filter((asset)=>asset.type === "css").map(({ metadata , filename , source })=>{
39
+ if (isExporting) {
40
+ return [
41
+ `<link rel="preload" href="${combineUrlPath(baseUrl, filename)}" as="style">`,
42
+ `<link rel="stylesheet" href="${combineUrlPath(baseUrl, filename)}">`,
43
+ ].join("");
44
+ } else {
45
+ return `<style data-expo-css-hmr="${metadata.hmrId}">` + source + "\n</style>";
46
+ }
47
+ }).join("");
48
+ const jsAssets = assets.filter((asset)=>asset.type === "js");
49
+ const scripts = bundleUrl ? `<script src="${bundleUrl}" defer></script>` : jsAssets.map(({ filename , metadata })=>{
50
+ // TODO: Mark dependencies of the HTML and include them to prevent waterfalls.
51
+ if (metadata.isAsync) {
52
+ // We have the data required to match async chunks to the route's HTML file.
53
+ if ((route == null ? void 0 : route.entryPoints) && metadata.modulePaths && Array.isArray(route.entryPoints) && Array.isArray(metadata.modulePaths)) {
54
+ // TODO: Handle module IDs like `expo-router/build/views/Unmatched.js`
55
+ const doesAsyncChunkContainRouteEntryPoint = route.entryPoints.some((entryPoint)=>metadata.modulePaths.includes(entryPoint));
56
+ if (!doesAsyncChunkContainRouteEntryPoint) {
57
+ return "";
58
+ }
59
+ debug("Linking async chunk %s to HTML for route %s", filename, route.contextKey);
60
+ // Pass through to the next condition.
61
+ } else {
62
+ return "";
63
+ }
64
+ // Mark async chunks as defer so they don't block the page load.
65
+ // return `<script src="${combineUrlPath(baseUrl, filename)" defer></script>`;
66
+ }
67
+ return `<script src="${combineUrlPath(baseUrl, filename)}" defer></script>`;
68
+ }).join("");
69
+ return template.replace("</head>", `${styleString}</head>`).replace("</body>", `${scripts}\n</body>`);
70
+ }
71
+
72
+ //# sourceMappingURL=serializeHtml.js.map