@expo/cli 0.0.0-canary-20231122-1af9191

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 (661) hide show
  1. package/README.md +144 -0
  2. package/build/bin/cli +272 -0
  3. package/build/bin/cli.map +1 -0
  4. package/build/src/api/endpoint.js +27 -0
  5. package/build/src/api/endpoint.js.map +1 -0
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +19 -0
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -0
  8. package/build/src/api/getExpoSchema.js +69 -0
  9. package/build/src/api/getExpoSchema.js.map +1 -0
  10. package/build/src/api/getNativeModuleVersions.js +31 -0
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -0
  12. package/build/src/api/getProjectDevelopmentCertificate.js +22 -0
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -0
  14. package/build/src/api/getVersions.js +24 -0
  15. package/build/src/api/getVersions.js.map +1 -0
  16. package/build/src/api/graphql/client.js +106 -0
  17. package/build/src/api/graphql/client.js.map +1 -0
  18. package/build/src/api/graphql/queries/AppQuery.js +39 -0
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -0
  20. package/build/src/api/graphql/queries/UserQuery.js +51 -0
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -0
  22. package/build/src/api/graphql/types/App.js +23 -0
  23. package/build/src/api/graphql/types/App.js.map +1 -0
  24. package/build/src/api/rest/cache/FileSystemCache.js +79 -0
  25. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -0
  26. package/build/src/api/rest/cache/response.js +31 -0
  27. package/build/src/api/rest/cache/response.js.map +1 -0
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +156 -0
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -0
  30. package/build/src/api/rest/client.js +109 -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 +23 -0
  35. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -0
  36. package/build/src/api/rest/wrapFetchWithOffline.js +19 -0
  37. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -0
  38. package/build/src/api/rest/wrapFetchWithProgress.js +64 -0
  39. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -0
  40. package/build/src/api/rest/wrapFetchWithProxy.js +26 -0
  41. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -0
  42. package/build/src/api/settings.js +20 -0
  43. package/build/src/api/settings.js.map +1 -0
  44. package/build/src/api/updateDevelopmentSession.js +74 -0
  45. package/build/src/api/updateDevelopmentSession.js.map +1 -0
  46. package/build/src/api/user/UserSettings.js +71 -0
  47. package/build/src/api/user/UserSettings.js.map +1 -0
  48. package/build/src/api/user/actions.js +107 -0
  49. package/build/src/api/user/actions.js.map +1 -0
  50. package/build/src/api/user/expoSsoLauncher.js +127 -0
  51. package/build/src/api/user/expoSsoLauncher.js.map +1 -0
  52. package/build/src/api/user/otp.js +139 -0
  53. package/build/src/api/user/otp.js.map +1 -0
  54. package/build/src/api/user/user.js +144 -0
  55. package/build/src/api/user/user.js.map +1 -0
  56. package/build/src/config/configAsync.js +137 -0
  57. package/build/src/config/configAsync.js.map +1 -0
  58. package/build/src/config/index.js +75 -0
  59. package/build/src/config/index.js.map +1 -0
  60. package/build/src/customize/customizeAsync.js +43 -0
  61. package/build/src/customize/customizeAsync.js.map +1 -0
  62. package/build/src/customize/generate.js +104 -0
  63. package/build/src/customize/generate.js.map +1 -0
  64. package/build/src/customize/index.js +41 -0
  65. package/build/src/customize/index.js.map +1 -0
  66. package/build/src/customize/resolveOptions.js +18 -0
  67. package/build/src/customize/resolveOptions.js.map +1 -0
  68. package/build/src/customize/templates.js +126 -0
  69. package/build/src/customize/templates.js.map +1 -0
  70. package/build/src/customize/typescript.js +56 -0
  71. package/build/src/customize/typescript.js.map +1 -0
  72. package/build/src/export/createMetadataJson.js +42 -0
  73. package/build/src/export/createMetadataJson.js.map +1 -0
  74. package/build/src/export/embed/exportEmbedAsync.js +146 -0
  75. package/build/src/export/embed/exportEmbedAsync.js.map +1 -0
  76. package/build/src/export/embed/index.js +115 -0
  77. package/build/src/export/embed/index.js.map +1 -0
  78. package/build/src/export/embed/resolveOptions.js +59 -0
  79. package/build/src/export/embed/resolveOptions.js.map +1 -0
  80. package/build/src/export/embed/xcodeCompilerLogger.js +97 -0
  81. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -0
  82. package/build/src/export/exportApp.js +192 -0
  83. package/build/src/export/exportApp.js.map +1 -0
  84. package/build/src/export/exportAssets.js +176 -0
  85. package/build/src/export/exportAssets.js.map +1 -0
  86. package/build/src/export/exportAsync.js +52 -0
  87. package/build/src/export/exportAsync.js.map +1 -0
  88. package/build/src/export/exportHermes.js +124 -0
  89. package/build/src/export/exportHermes.js.map +1 -0
  90. package/build/src/export/exportStaticAsync.js +278 -0
  91. package/build/src/export/exportStaticAsync.js.map +1 -0
  92. package/build/src/export/favicon.js +89 -0
  93. package/build/src/export/favicon.js.map +1 -0
  94. package/build/src/export/fork-bundleAsync.js +215 -0
  95. package/build/src/export/fork-bundleAsync.js.map +1 -0
  96. package/build/src/export/getPublicExpoManifest.js +28 -0
  97. package/build/src/export/getPublicExpoManifest.js.map +1 -0
  98. package/build/src/export/getResolvedLocales.js +35 -0
  99. package/build/src/export/getResolvedLocales.js.map +1 -0
  100. package/build/src/export/html.js +21 -0
  101. package/build/src/export/html.js.map +1 -0
  102. package/build/src/export/index.js +91 -0
  103. package/build/src/export/index.js.map +1 -0
  104. package/build/src/export/metroAssetLocalPath.js +101 -0
  105. package/build/src/export/metroAssetLocalPath.js.map +1 -0
  106. package/build/src/export/persistMetroAssets.js +190 -0
  107. package/build/src/export/persistMetroAssets.js.map +1 -0
  108. package/build/src/export/publicFolder.js +34 -0
  109. package/build/src/export/publicFolder.js.map +1 -0
  110. package/build/src/export/resolveOptions.js +63 -0
  111. package/build/src/export/resolveOptions.js.map +1 -0
  112. package/build/src/export/saveAssets.js +189 -0
  113. package/build/src/export/saveAssets.js.map +1 -0
  114. package/build/src/export/web/exportWebAsync.js +40 -0
  115. package/build/src/export/web/exportWebAsync.js.map +1 -0
  116. package/build/src/export/web/index.js +66 -0
  117. package/build/src/export/web/index.js.map +1 -0
  118. package/build/src/export/web/resolveOptions.js +13 -0
  119. package/build/src/export/web/resolveOptions.js.map +1 -0
  120. package/build/src/export/writeContents.js +26 -0
  121. package/build/src/export/writeContents.js.map +1 -0
  122. package/build/src/graphql/generated.js +486 -0
  123. package/build/src/graphql/generated.js.map +1 -0
  124. package/build/src/install/applyPlugins.js +52 -0
  125. package/build/src/install/applyPlugins.js.map +1 -0
  126. package/build/src/install/checkPackages.js +78 -0
  127. package/build/src/install/checkPackages.js.map +1 -0
  128. package/build/src/install/fixPackages.js +84 -0
  129. package/build/src/install/fixPackages.js.map +1 -0
  130. package/build/src/install/index.js +51 -0
  131. package/build/src/install/index.js.map +1 -0
  132. package/build/src/install/installAsync.js +134 -0
  133. package/build/src/install/installAsync.js.map +1 -0
  134. package/build/src/install/installExpoPackage.js +79 -0
  135. package/build/src/install/installExpoPackage.js.map +1 -0
  136. package/build/src/install/resolveOptions.js +53 -0
  137. package/build/src/install/resolveOptions.js.map +1 -0
  138. package/build/src/install/utils/autoAddConfigPlugins.js +66 -0
  139. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -0
  140. package/build/src/log.js +74 -0
  141. package/build/src/log.js.map +1 -0
  142. package/build/src/login/index.js +67 -0
  143. package/build/src/login/index.js.map +1 -0
  144. package/build/src/logout/index.js +48 -0
  145. package/build/src/logout/index.js.map +1 -0
  146. package/build/src/prebuild/clearNativeFolder.js +143 -0
  147. package/build/src/prebuild/clearNativeFolder.js.map +1 -0
  148. package/build/src/prebuild/configureProjectAsync.js +64 -0
  149. package/build/src/prebuild/configureProjectAsync.js.map +1 -0
  150. package/build/src/prebuild/copyTemplateFiles.js +67 -0
  151. package/build/src/prebuild/copyTemplateFiles.js.map +1 -0
  152. package/build/src/prebuild/ensureConfigAsync.js +75 -0
  153. package/build/src/prebuild/ensureConfigAsync.js.map +1 -0
  154. package/build/src/prebuild/index.js +98 -0
  155. package/build/src/prebuild/index.js.map +1 -0
  156. package/build/src/prebuild/prebuildAsync.js +146 -0
  157. package/build/src/prebuild/prebuildAsync.js.map +1 -0
  158. package/build/src/prebuild/resolveOptions.js +115 -0
  159. package/build/src/prebuild/resolveOptions.js.map +1 -0
  160. package/build/src/prebuild/resolveTemplate.js +163 -0
  161. package/build/src/prebuild/resolveTemplate.js.map +1 -0
  162. package/build/src/prebuild/updateFromTemplate.js +103 -0
  163. package/build/src/prebuild/updateFromTemplate.js.map +1 -0
  164. package/build/src/prebuild/updatePackageJson.js +227 -0
  165. package/build/src/prebuild/updatePackageJson.js.map +1 -0
  166. package/build/src/prebuild/validateTemplatePlatforms.js +48 -0
  167. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -0
  168. package/build/src/register/index.js +48 -0
  169. package/build/src/register/index.js.map +1 -0
  170. package/build/src/register/registerAsync.js +34 -0
  171. package/build/src/register/registerAsync.js.map +1 -0
  172. package/build/src/run/android/index.js +97 -0
  173. package/build/src/run/android/index.js.map +1 -0
  174. package/build/src/run/android/resolveDevice.js +23 -0
  175. package/build/src/run/android/resolveDevice.js.map +1 -0
  176. package/build/src/run/android/resolveGradleProps.js +37 -0
  177. package/build/src/run/android/resolveGradleProps.js.map +1 -0
  178. package/build/src/run/android/resolveInstallApkName.js +51 -0
  179. package/build/src/run/android/resolveInstallApkName.js.map +1 -0
  180. package/build/src/run/android/resolveLaunchProps.js +32 -0
  181. package/build/src/run/android/resolveLaunchProps.js.map +1 -0
  182. package/build/src/run/android/resolveOptions.js +25 -0
  183. package/build/src/run/android/resolveOptions.js.map +1 -0
  184. package/build/src/run/android/runAndroidAsync.js +83 -0
  185. package/build/src/run/android/runAndroidAsync.js.map +1 -0
  186. package/build/src/run/ensureNativeProject.js +36 -0
  187. package/build/src/run/ensureNativeProject.js.map +1 -0
  188. package/build/src/run/hints.js +22 -0
  189. package/build/src/run/hints.js.map +1 -0
  190. package/build/src/run/ios/XcodeBuild.js +276 -0
  191. package/build/src/run/ios/XcodeBuild.js.map +1 -0
  192. package/build/src/run/ios/XcodeBuild.types.js +6 -0
  193. package/build/src/run/ios/XcodeBuild.types.js.map +1 -0
  194. package/build/src/run/ios/appleDevice/AppleDevice.js +195 -0
  195. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -0
  196. package/build/src/run/ios/appleDevice/ClientManager.js +165 -0
  197. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -0
  198. package/build/src/run/ios/appleDevice/client/AFCClient.js +195 -0
  199. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -0
  200. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +107 -0
  201. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -0
  202. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +97 -0
  203. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -0
  204. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +144 -0
  205. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -0
  206. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +91 -0
  207. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -0
  208. package/build/src/run/ios/appleDevice/client/ServiceClient.js +21 -0
  209. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -0
  210. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +117 -0
  211. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -0
  212. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +90 -0
  213. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -0
  214. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +332 -0
  215. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -0
  216. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +133 -0
  217. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -0
  218. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +126 -0
  219. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -0
  220. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +74 -0
  221. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -0
  222. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +65 -0
  223. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -0
  224. package/build/src/run/ios/codeSigning/Security.js +85 -0
  225. package/build/src/run/ios/codeSigning/Security.js.map +1 -0
  226. package/build/src/run/ios/codeSigning/configureCodeSigning.js +77 -0
  227. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -0
  228. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +102 -0
  229. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -0
  230. package/build/src/run/ios/codeSigning/settings.js +21 -0
  231. package/build/src/run/ios/codeSigning/settings.js.map +1 -0
  232. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +45 -0
  233. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -0
  234. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +79 -0
  235. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -0
  236. package/build/src/run/ios/index.js +98 -0
  237. package/build/src/run/ios/index.js.map +1 -0
  238. package/build/src/run/ios/launchApp.js +75 -0
  239. package/build/src/run/ios/launchApp.js.map +1 -0
  240. package/build/src/run/ios/options/promptDevice.js +50 -0
  241. package/build/src/run/ios/options/promptDevice.js.map +1 -0
  242. package/build/src/run/ios/options/resolveDevice.js +92 -0
  243. package/build/src/run/ios/options/resolveDevice.js.map +1 -0
  244. package/build/src/run/ios/options/resolveNativeScheme.js +101 -0
  245. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -0
  246. package/build/src/run/ios/options/resolveOptions.js +44 -0
  247. package/build/src/run/ios/options/resolveOptions.js.map +1 -0
  248. package/build/src/run/ios/options/resolveXcodeProject.js +39 -0
  249. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -0
  250. package/build/src/run/ios/runIosAsync.js +93 -0
  251. package/build/src/run/ios/runIosAsync.js.map +1 -0
  252. package/build/src/run/resolveBundlerProps.js +34 -0
  253. package/build/src/run/resolveBundlerProps.js.map +1 -0
  254. package/build/src/run/startBundler.js +82 -0
  255. package/build/src/run/startBundler.js.map +1 -0
  256. package/build/src/start/doctor/Prerequisite.js +47 -0
  257. package/build/src/start/doctor/Prerequisite.js.map +1 -0
  258. package/build/src/start/doctor/SecurityBinPrerequisite.js +27 -0
  259. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -0
  260. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +70 -0
  261. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -0
  262. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +69 -0
  263. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -0
  264. package/build/src/start/doctor/apple/XcodePrerequisite.js +158 -0
  265. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -0
  266. package/build/src/start/doctor/apple/XcrunPrerequisite.js +65 -0
  267. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -0
  268. package/build/src/start/doctor/dependencies/bundledNativeModules.js +69 -0
  269. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -0
  270. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +131 -0
  271. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -0
  272. package/build/src/start/doctor/dependencies/getMissingPackages.js +74 -0
  273. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -0
  274. package/build/src/start/doctor/dependencies/getVersionedPackages.js +136 -0
  275. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -0
  276. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +195 -0
  277. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -0
  278. package/build/src/start/doctor/ngrok/ExternalModule.js +169 -0
  279. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -0
  280. package/build/src/start/doctor/ngrok/NgrokResolver.js +22 -0
  281. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -0
  282. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +165 -0
  283. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -0
  284. package/build/src/start/doctor/typescript/updateTSConfig.js +99 -0
  285. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -0
  286. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +111 -0
  287. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -0
  288. package/build/src/start/index.js +123 -0
  289. package/build/src/start/index.js.map +1 -0
  290. package/build/src/start/interface/KeyPressHandler.js +101 -0
  291. package/build/src/start/interface/KeyPressHandler.js.map +1 -0
  292. package/build/src/start/interface/commandsTable.js +195 -0
  293. package/build/src/start/interface/commandsTable.js.map +1 -0
  294. package/build/src/start/interface/interactiveActions.js +194 -0
  295. package/build/src/start/interface/interactiveActions.js.map +1 -0
  296. package/build/src/start/interface/startInterface.js +227 -0
  297. package/build/src/start/interface/startInterface.js.map +1 -0
  298. package/build/src/start/platforms/AppIdResolver.js +44 -0
  299. package/build/src/start/platforms/AppIdResolver.js.map +1 -0
  300. package/build/src/start/platforms/DeviceManager.js +43 -0
  301. package/build/src/start/platforms/DeviceManager.js.map +1 -0
  302. package/build/src/start/platforms/ExpoGoInstaller.js +127 -0
  303. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -0
  304. package/build/src/start/platforms/PlatformManager.js +131 -0
  305. package/build/src/start/platforms/PlatformManager.js.map +1 -0
  306. package/build/src/start/platforms/android/ADBServer.js +114 -0
  307. package/build/src/start/platforms/android/ADBServer.js.map +1 -0
  308. package/build/src/start/platforms/android/AndroidAppIdResolver.js +44 -0
  309. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -0
  310. package/build/src/start/platforms/android/AndroidDeviceManager.js +183 -0
  311. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -0
  312. package/build/src/start/platforms/android/AndroidPlatformManager.js +35 -0
  313. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -0
  314. package/build/src/start/platforms/android/AndroidSdk.js +41 -0
  315. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -0
  316. package/build/src/start/platforms/android/activateWindow.js +80 -0
  317. package/build/src/start/platforms/android/activateWindow.js.map +1 -0
  318. package/build/src/start/platforms/android/adb.js +269 -0
  319. package/build/src/start/platforms/android/adb.js.map +1 -0
  320. package/build/src/start/platforms/android/adbReverse.js +95 -0
  321. package/build/src/start/platforms/android/adbReverse.js.map +1 -0
  322. package/build/src/start/platforms/android/emulator.js +126 -0
  323. package/build/src/start/platforms/android/emulator.js.map +1 -0
  324. package/build/src/start/platforms/android/getDevices.js +36 -0
  325. package/build/src/start/platforms/android/getDevices.js.map +1 -0
  326. package/build/src/start/platforms/android/gradle.js +86 -0
  327. package/build/src/start/platforms/android/gradle.js.map +1 -0
  328. package/build/src/start/platforms/android/promptAndroidDevice.js +56 -0
  329. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -0
  330. package/build/src/start/platforms/ios/AppleAppIdResolver.js +53 -0
  331. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -0
  332. package/build/src/start/platforms/ios/AppleDeviceManager.js +216 -0
  333. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -0
  334. package/build/src/start/platforms/ios/ApplePlatformManager.js +31 -0
  335. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -0
  336. package/build/src/start/platforms/ios/assertSystemRequirements.js +16 -0
  337. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -0
  338. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +85 -0
  339. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -0
  340. package/build/src/start/platforms/ios/getBestSimulator.js +101 -0
  341. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -0
  342. package/build/src/start/platforms/ios/promptAppleDevice.js +56 -0
  343. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -0
  344. package/build/src/start/platforms/ios/simctl.js +243 -0
  345. package/build/src/start/platforms/ios/simctl.js.map +1 -0
  346. package/build/src/start/platforms/ios/simctlLogging.js +220 -0
  347. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -0
  348. package/build/src/start/platforms/ios/xcrun.js +46 -0
  349. package/build/src/start/platforms/ios/xcrun.js.map +1 -0
  350. package/build/src/start/project/devices.js +79 -0
  351. package/build/src/start/project/devices.js.map +1 -0
  352. package/build/src/start/project/dotExpo.js +74 -0
  353. package/build/src/start/project/dotExpo.js.map +1 -0
  354. package/build/src/start/project/settings.js +13 -0
  355. package/build/src/start/project/settings.js.map +1 -0
  356. package/build/src/start/resolveOptions.js +135 -0
  357. package/build/src/start/resolveOptions.js.map +1 -0
  358. package/build/src/start/server/AsyncNgrok.js +220 -0
  359. package/build/src/start/server/AsyncNgrok.js.map +1 -0
  360. package/build/src/start/server/BundlerDevServer.js +356 -0
  361. package/build/src/start/server/BundlerDevServer.js.map +1 -0
  362. package/build/src/start/server/DevServerManager.js +214 -0
  363. package/build/src/start/server/DevServerManager.js.map +1 -0
  364. package/build/src/start/server/DevToolsPluginManager.js +63 -0
  365. package/build/src/start/server/DevToolsPluginManager.js.map +1 -0
  366. package/build/src/start/server/DevelopmentSession.js +114 -0
  367. package/build/src/start/server/DevelopmentSession.js.map +1 -0
  368. package/build/src/start/server/ReactDevToolsProxy.js +73 -0
  369. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -0
  370. package/build/src/start/server/UrlCreator.js +175 -0
  371. package/build/src/start/server/UrlCreator.js.map +1 -0
  372. package/build/src/start/server/getStaticRenderFunctions.js +164 -0
  373. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -0
  374. package/build/src/start/server/metro/MetroBundlerDevServer.js +485 -0
  375. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -0
  376. package/build/src/start/server/metro/MetroTerminalReporter.js +165 -0
  377. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -0
  378. package/build/src/start/server/metro/TerminalReporter.js +92 -0
  379. package/build/src/start/server/metro/TerminalReporter.js.map +1 -0
  380. package/build/src/start/server/metro/TerminalReporter.types.js +6 -0
  381. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -0
  382. package/build/src/start/server/metro/bundleApiRoutes.js +52 -0
  383. package/build/src/start/server/metro/bundleApiRoutes.js.map +1 -0
  384. package/build/src/start/server/metro/createExpoMetroResolver.js +187 -0
  385. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -0
  386. package/build/src/start/server/metro/createJResolver.js +149 -0
  387. package/build/src/start/server/metro/createJResolver.js.map +1 -0
  388. package/build/src/start/server/metro/createServerRouteMiddleware.js +124 -0
  389. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -0
  390. package/build/src/start/server/metro/externals.js +94 -0
  391. package/build/src/start/server/metro/externals.js.map +1 -0
  392. package/build/src/start/server/metro/fetchRouterManifest.js +60 -0
  393. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -0
  394. package/build/src/start/server/metro/formatFileCandidates.js +72 -0
  395. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -0
  396. package/build/src/start/server/metro/getCssModulesFromBundler.js +77 -0
  397. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -0
  398. package/build/src/start/server/metro/inspector-proxy/device.js +110 -0
  399. package/build/src/start/server/metro/inspector-proxy/device.js.map +1 -0
  400. package/build/src/start/server/metro/inspector-proxy/handlers/NetworkResponse.js +29 -0
  401. package/build/src/start/server/metro/inspector-proxy/handlers/NetworkResponse.js.map +1 -0
  402. package/build/src/start/server/metro/inspector-proxy/handlers/PageReload.js +22 -0
  403. package/build/src/start/server/metro/inspector-proxy/handlers/PageReload.js.map +1 -0
  404. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerGetPossibleBreakpoints.js +21 -0
  405. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
  406. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerScriptParsed.js +55 -0
  407. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerScriptParsed.js.map +1 -0
  408. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerSetBreakpointByUrl.js +17 -0
  409. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
  410. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeCallFunctionOn.js +24 -0
  411. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
  412. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeGetProperties.js +39 -0
  413. package/build/src/start/server/metro/inspector-proxy/handlers/VscodeRuntimeGetProperties.js.map +1 -0
  414. package/build/src/start/server/metro/inspector-proxy/handlers/types.js +6 -0
  415. package/build/src/start/server/metro/inspector-proxy/handlers/types.js.map +1 -0
  416. package/build/src/start/server/metro/inspector-proxy/handlers/utils.js +11 -0
  417. package/build/src/start/server/metro/inspector-proxy/handlers/utils.js.map +1 -0
  418. package/build/src/start/server/metro/inspector-proxy/index.js +24 -0
  419. package/build/src/start/server/metro/inspector-proxy/index.js.map +1 -0
  420. package/build/src/start/server/metro/inspector-proxy/proxy.js +169 -0
  421. package/build/src/start/server/metro/inspector-proxy/proxy.js.map +1 -0
  422. package/build/src/start/server/metro/instantiateMetro.js +194 -0
  423. package/build/src/start/server/metro/instantiateMetro.js.map +1 -0
  424. package/build/src/start/server/metro/metroErrorInterface.js +198 -0
  425. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -0
  426. package/build/src/start/server/metro/metroErrors.js +14 -0
  427. package/build/src/start/server/metro/metroErrors.js.map +1 -0
  428. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +51 -0
  429. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -0
  430. package/build/src/start/server/metro/router.js +83 -0
  431. package/build/src/start/server/metro/router.js.map +1 -0
  432. package/build/src/start/server/metro/runServer-fork.js +96 -0
  433. package/build/src/start/server/metro/runServer-fork.js.map +1 -0
  434. package/build/src/start/server/metro/serializeHtml.js +43 -0
  435. package/build/src/start/server/metro/serializeHtml.js.map +1 -0
  436. package/build/src/start/server/metro/symbolicate.js +6 -0
  437. package/build/src/start/server/metro/symbolicate.js.map +1 -0
  438. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +91 -0
  439. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -0
  440. package/build/src/start/server/metro/withMetroMultiPlatform.js +402 -0
  441. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -0
  442. package/build/src/start/server/metro/withMetroResolvers.js +272 -0
  443. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -0
  444. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +27 -0
  445. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -0
  446. package/build/src/start/server/middleware/CreateFileMiddleware.js +106 -0
  447. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -0
  448. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +61 -0
  449. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -0
  450. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +236 -0
  451. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -0
  452. package/build/src/start/server/middleware/ExpoMiddleware.js +83 -0
  453. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -0
  454. package/build/src/start/server/middleware/FaviconMiddleware.js +42 -0
  455. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -0
  456. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +24 -0
  457. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -0
  458. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +81 -0
  459. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -0
  460. package/build/src/start/server/middleware/ManifestMiddleware.js +300 -0
  461. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -0
  462. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +35 -0
  463. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -0
  464. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +75 -0
  465. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -0
  466. package/build/src/start/server/middleware/ServeStaticMiddleware.js +62 -0
  467. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -0
  468. package/build/src/start/server/middleware/inspector/JsInspector.js +69 -0
  469. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -0
  470. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +61 -0
  471. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -0
  472. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +13 -0
  473. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -0
  474. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +82 -0
  475. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -0
  476. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +79 -0
  477. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -0
  478. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +124 -0
  479. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -0
  480. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +64 -0
  481. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -0
  482. package/build/src/start/server/middleware/inspector/middlwareMutations.js +19 -0
  483. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -0
  484. package/build/src/start/server/middleware/metroOptions.js +128 -0
  485. package/build/src/start/server/middleware/metroOptions.js.map +1 -0
  486. package/build/src/start/server/middleware/mutations.js +19 -0
  487. package/build/src/start/server/middleware/mutations.js.map +1 -0
  488. package/build/src/start/server/middleware/remoteDevtoolsCorsMiddleware.js +31 -0
  489. package/build/src/start/server/middleware/remoteDevtoolsCorsMiddleware.js.map +1 -0
  490. package/build/src/start/server/middleware/remoteDevtoolsSecurityHeadersMiddleware.js +17 -0
  491. package/build/src/start/server/middleware/remoteDevtoolsSecurityHeadersMiddleware.js.map +1 -0
  492. package/build/src/start/server/middleware/resolveAssets.js +110 -0
  493. package/build/src/start/server/middleware/resolveAssets.js.map +1 -0
  494. package/build/src/start/server/middleware/resolvePlatform.js +47 -0
  495. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -0
  496. package/build/src/start/server/middleware/server.types.js +6 -0
  497. package/build/src/start/server/middleware/server.types.js.map +1 -0
  498. package/build/src/start/server/middleware/suppressErrorMiddleware.js +16 -0
  499. package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -0
  500. package/build/src/start/server/openPlatforms.js +30 -0
  501. package/build/src/start/server/openPlatforms.js.map +1 -0
  502. package/build/src/start/server/platformBundlers.js +18 -0
  503. package/build/src/start/server/platformBundlers.js.map +1 -0
  504. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +38 -0
  505. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +1 -0
  506. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +38 -0
  507. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +1 -0
  508. package/build/src/start/server/type-generation/__typetests__/route.test.js +176 -0
  509. package/build/src/start/server/type-generation/__typetests__/route.test.js.map +1 -0
  510. package/build/src/start/server/type-generation/expo-env.js +27 -0
  511. package/build/src/start/server/type-generation/expo-env.js.map +1 -0
  512. package/build/src/start/server/type-generation/routes.js +474 -0
  513. package/build/src/start/server/type-generation/routes.js.map +1 -0
  514. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +56 -0
  515. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -0
  516. package/build/src/start/server/type-generation/tsconfig.js +89 -0
  517. package/build/src/start/server/type-generation/tsconfig.js.map +1 -0
  518. package/build/src/start/server/webTemplate.js +84 -0
  519. package/build/src/start/server/webTemplate.js.map +1 -0
  520. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +266 -0
  521. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -0
  522. package/build/src/start/server/webpack/compile.js +64 -0
  523. package/build/src/start/server/webpack/compile.js.map +1 -0
  524. package/build/src/start/server/webpack/formatWebpackMessages.js +94 -0
  525. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -0
  526. package/build/src/start/server/webpack/resolveFromProject.js +43 -0
  527. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -0
  528. package/build/src/start/server/webpack/tls.js +72 -0
  529. package/build/src/start/server/webpack/tls.js.map +1 -0
  530. package/build/src/start/startAsync.js +154 -0
  531. package/build/src/start/startAsync.js.map +1 -0
  532. package/build/src/utils/FileNotifier.js +90 -0
  533. package/build/src/utils/FileNotifier.js.map +1 -0
  534. package/build/src/utils/analytics/getDevClientProperties.js +47 -0
  535. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -0
  536. package/build/src/utils/analytics/getMetroDebugProperties.js +15 -0
  537. package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -0
  538. package/build/src/utils/analytics/getMetroProperties.js +28 -0
  539. package/build/src/utils/analytics/getMetroProperties.js.map +1 -0
  540. package/build/src/utils/analytics/metroDebuggerMiddleware.js +55 -0
  541. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -0
  542. package/build/src/utils/analytics/rudderstackClient.js +147 -0
  543. package/build/src/utils/analytics/rudderstackClient.js.map +1 -0
  544. package/build/src/utils/ansi.js +17 -0
  545. package/build/src/utils/ansi.js.map +1 -0
  546. package/build/src/utils/args.js +79 -0
  547. package/build/src/utils/args.js.map +1 -0
  548. package/build/src/utils/array.js +67 -0
  549. package/build/src/utils/array.js.map +1 -0
  550. package/build/src/utils/cocoapods.js +191 -0
  551. package/build/src/utils/cocoapods.js.map +1 -0
  552. package/build/src/utils/codesigning.js +311 -0
  553. package/build/src/utils/codesigning.js.map +1 -0
  554. package/build/src/utils/createFileTransform.js +89 -0
  555. package/build/src/utils/createFileTransform.js.map +1 -0
  556. package/build/src/utils/delay.js +39 -0
  557. package/build/src/utils/delay.js.map +1 -0
  558. package/build/src/utils/dir.js +63 -0
  559. package/build/src/utils/dir.js.map +1 -0
  560. package/build/src/utils/downloadAppAsync.js +73 -0
  561. package/build/src/utils/downloadAppAsync.js.map +1 -0
  562. package/build/src/utils/downloadExpoGoAsync.js +116 -0
  563. package/build/src/utils/downloadExpoGoAsync.js.map +1 -0
  564. package/build/src/utils/editor.js +69 -0
  565. package/build/src/utils/editor.js.map +1 -0
  566. package/build/src/utils/env.js +131 -0
  567. package/build/src/utils/env.js.map +1 -0
  568. package/build/src/utils/errors.js +70 -0
  569. package/build/src/utils/errors.js.map +1 -0
  570. package/build/src/utils/exit.js +69 -0
  571. package/build/src/utils/exit.js.map +1 -0
  572. package/build/src/utils/findUp.js +33 -0
  573. package/build/src/utils/findUp.js.map +1 -0
  574. package/build/src/utils/fn.js +32 -0
  575. package/build/src/utils/fn.js.map +1 -0
  576. package/build/src/utils/getOrPromptApplicationId.js +181 -0
  577. package/build/src/utils/getOrPromptApplicationId.js.map +1 -0
  578. package/build/src/utils/getRunningProcess.js +96 -0
  579. package/build/src/utils/getRunningProcess.js.map +1 -0
  580. package/build/src/utils/git.js +89 -0
  581. package/build/src/utils/git.js.map +1 -0
  582. package/build/src/utils/glob.js +65 -0
  583. package/build/src/utils/glob.js.map +1 -0
  584. package/build/src/utils/interactive.js +11 -0
  585. package/build/src/utils/interactive.js.map +1 -0
  586. package/build/src/utils/ip.js +16 -0
  587. package/build/src/utils/ip.js.map +1 -0
  588. package/build/src/utils/isModuleSymlinked.js +37 -0
  589. package/build/src/utils/isModuleSymlinked.js.map +1 -0
  590. package/build/src/utils/link.js +31 -0
  591. package/build/src/utils/link.js.map +1 -0
  592. package/build/src/utils/mergeGitIgnorePaths.js +154 -0
  593. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -0
  594. package/build/src/utils/modifyConfigAsync.js +68 -0
  595. package/build/src/utils/modifyConfigAsync.js.map +1 -0
  596. package/build/src/utils/modifyConfigPlugins.js +51 -0
  597. package/build/src/utils/modifyConfigPlugins.js.map +1 -0
  598. package/build/src/utils/nodeEnv.js +11 -0
  599. package/build/src/utils/nodeEnv.js.map +1 -0
  600. package/build/src/utils/nodeModules.js +29 -0
  601. package/build/src/utils/nodeModules.js.map +1 -0
  602. package/build/src/utils/npm.js +116 -0
  603. package/build/src/utils/npm.js.map +1 -0
  604. package/build/src/utils/obj.js +45 -0
  605. package/build/src/utils/obj.js.map +1 -0
  606. package/build/src/utils/open.js +26 -0
  607. package/build/src/utils/open.js.map +1 -0
  608. package/build/src/utils/ora.js +91 -0
  609. package/build/src/utils/ora.js.map +1 -0
  610. package/build/src/utils/plist.js +59 -0
  611. package/build/src/utils/plist.js.map +1 -0
  612. package/build/src/utils/port.js +160 -0
  613. package/build/src/utils/port.js.map +1 -0
  614. package/build/src/utils/profile.js +63 -0
  615. package/build/src/utils/profile.js.map +1 -0
  616. package/build/src/utils/progress.js +61 -0
  617. package/build/src/utils/progress.js.map +1 -0
  618. package/build/src/utils/prompts.js +116 -0
  619. package/build/src/utils/prompts.js.map +1 -0
  620. package/build/src/utils/resolveArgs.js +140 -0
  621. package/build/src/utils/resolveArgs.js.map +1 -0
  622. package/build/src/utils/scheme.js +128 -0
  623. package/build/src/utils/scheme.js.map +1 -0
  624. package/build/src/utils/strings.js +24 -0
  625. package/build/src/utils/strings.js.map +1 -0
  626. package/build/src/utils/tar.js +62 -0
  627. package/build/src/utils/tar.js.map +1 -0
  628. package/build/src/utils/template.js +21 -0
  629. package/build/src/utils/template.js.map +1 -0
  630. package/build/src/utils/terminal.js +10 -0
  631. package/build/src/utils/terminal.js.map +1 -0
  632. package/build/src/utils/tsconfig/evaluateTsConfig.js +61 -0
  633. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -0
  634. package/build/src/utils/tsconfig/loadTsConfigPaths.js +61 -0
  635. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -0
  636. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +88 -0
  637. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -0
  638. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +51 -0
  639. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -0
  640. package/build/src/utils/url.js +67 -0
  641. package/build/src/utils/url.js.map +1 -0
  642. package/build/src/utils/validateApplicationId.js +179 -0
  643. package/build/src/utils/validateApplicationId.js.map +1 -0
  644. package/build/src/utils/variadic.js +65 -0
  645. package/build/src/utils/variadic.js.map +1 -0
  646. package/build/src/whoami/index.js +47 -0
  647. package/build/src/whoami/index.js.map +1 -0
  648. package/build/src/whoami/whoamiAsync.js +44 -0
  649. package/build/src/whoami/whoamiAsync.js.map +1 -0
  650. package/package.json +163 -0
  651. package/static/loading-page/index.html +363 -0
  652. package/static/react-devtools-page/index.html +144 -0
  653. package/static/shims/react-native-web/dist/cjs/exports/AppRegistry/AppContainer.js +13 -0
  654. package/static/shims/react-native-web/dist/cjs/exports/BackHandler/index.js +10 -0
  655. package/static/shims/react-native-web/dist/exports/AppRegistry/AppContainer.js +12 -0
  656. package/static/shims/react-native-web/dist/exports/BackHandler/index.js +7 -0
  657. package/static/template/babel.config.js +6 -0
  658. package/static/template/index.html +36 -0
  659. package/static/template/metro.config.js +7 -0
  660. package/static/template/serve.json +13 -0
  661. package/static/template/webpack.config.js +7 -0
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.default = void 0;
6
+ var _assert = _interopRequireDefault(require("assert"));
7
+ var _path = require("path");
8
+ var _resolve = require("resolve");
9
+ var resolve = _interopRequireWildcard(require("resolve.exports"));
10
+ var _dir = require("../../../utils/dir");
11
+ function _interopRequireDefault(obj) {
12
+ return obj && obj.__esModule ? obj : {
13
+ default: obj
14
+ };
15
+ }
16
+ function _interopRequireWildcard(obj) {
17
+ if (obj && obj.__esModule) {
18
+ return obj;
19
+ } else {
20
+ var newObj = {};
21
+ if (obj != null) {
22
+ for(var key in obj){
23
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
24
+ var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
25
+ if (desc.get || desc.set) {
26
+ Object.defineProperty(newObj, key, desc);
27
+ } else {
28
+ newObj[key] = obj[key];
29
+ }
30
+ }
31
+ }
32
+ }
33
+ newObj.default = obj;
34
+ return newObj;
35
+ }
36
+ }
37
+ const defaultResolver = (path, { enablePackageExports , blockList =[] , ...options })=>{
38
+ // @ts-expect-error
39
+ const resolveOptions = {
40
+ ...options,
41
+ isDirectory (file) {
42
+ if (blockList.some((regex)=>regex.test(file)
43
+ )) {
44
+ return false;
45
+ }
46
+ return (0, _dir).directoryExistsSync(file);
47
+ },
48
+ isFile (file) {
49
+ if (blockList.some((regex)=>regex.test(file)
50
+ )) {
51
+ return false;
52
+ }
53
+ return (0, _dir).fileExistsSync(file);
54
+ },
55
+ preserveSymlinks: enablePackageExports ? false : options.preserveSymlinks,
56
+ defaultResolver
57
+ };
58
+ // resolveSync dereferences symlinks to ensure we don't create a separate
59
+ // module instance depending on how it was referenced.
60
+ const result = (0, _resolve).sync(enablePackageExports ? getPathInModule(path, resolveOptions) : path, resolveOptions);
61
+ return result;
62
+ };
63
+ var _default = defaultResolver;
64
+ exports.default = _default;
65
+ /*
66
+ * helper functions
67
+ */ function getPathInModule(path, options) {
68
+ if (shouldIgnoreRequestForExports(path)) {
69
+ return path;
70
+ }
71
+ const segments = path.split("/");
72
+ let moduleName = segments.shift();
73
+ if (moduleName) {
74
+ if (moduleName.startsWith("@")) {
75
+ moduleName = `${moduleName}/${segments.shift()}`;
76
+ }
77
+ // Disable package exports for babel/runtime for https://github.com/facebook/metro/issues/984/
78
+ if (moduleName === "@babel/runtime") {
79
+ return path;
80
+ }
81
+ // self-reference
82
+ const closestPackageJson = findClosestPackageJson(options.basedir, options);
83
+ if (closestPackageJson) {
84
+ const pkg = options.readPackageSync(options.readFileSync, closestPackageJson);
85
+ (0, _assert).default(pkg, "package.json should be read by `readPackageSync`");
86
+ if (pkg.name === moduleName) {
87
+ const resolved = resolve.exports(pkg, segments.join("/") || ".", createResolveOptions(options.conditions));
88
+ if (resolved) {
89
+ return (0, _path).resolve((0, _path).dirname(closestPackageJson), resolved[0]);
90
+ }
91
+ if (pkg.exports) {
92
+ throw new Error("`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue");
93
+ }
94
+ }
95
+ }
96
+ let packageJsonPath = "";
97
+ try {
98
+ packageJsonPath = (0, _resolve).sync(`${moduleName}/package.json`, options);
99
+ } catch {
100
+ // ignore if package.json cannot be found
101
+ }
102
+ if (packageJsonPath && options.isFile(packageJsonPath)) {
103
+ const pkg = options.readPackageSync(options.readFileSync, packageJsonPath);
104
+ (0, _assert).default(pkg, "package.json should be read by `readPackageSync`");
105
+ const resolved = resolve.exports(pkg, segments.join("/") || ".", createResolveOptions(options.conditions));
106
+ if (resolved) {
107
+ return (0, _path).resolve((0, _path).dirname(packageJsonPath), resolved[0]);
108
+ }
109
+ if (pkg.exports) {
110
+ throw new Error("`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue");
111
+ }
112
+ }
113
+ }
114
+ return path;
115
+ }
116
+ function createResolveOptions(conditions) {
117
+ return conditions ? {
118
+ conditions,
119
+ unsafe: true
120
+ } : {
121
+ browser: false,
122
+ require: true
123
+ };
124
+ }
125
+ // if it's a relative import or an absolute path, imports/exports are ignored
126
+ const shouldIgnoreRequestForExports = (path)=>path.startsWith(".") || (0, _path).isAbsolute(path)
127
+ ;
128
+ // adapted from
129
+ // https://github.com/lukeed/escalade/blob/2477005062cdbd8407afc90d3f48f4930354252b/src/sync.js
130
+ function findClosestPackageJson(start, options) {
131
+ let dir = (0, _path).resolve(".", start);
132
+ if (!options.isDirectory(dir)) {
133
+ dir = (0, _path).dirname(dir);
134
+ }
135
+ while(true){
136
+ const pkgJsonFile = (0, _path).resolve(dir, "./package.json");
137
+ const hasPackageJson = options.isFile(pkgJsonFile);
138
+ if (hasPackageJson) {
139
+ return pkgJsonFile;
140
+ }
141
+ const prevDir = dir;
142
+ dir = (0, _path).dirname(dir);
143
+ if (prevDir === dir) {
144
+ return undefined;
145
+ }
146
+ }
147
+ }
148
+
149
+ //# sourceMappingURL=createJResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/createJResolver.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Fork of the jest resolver but with additional settings for Metro and pnp removed.\n * https://github.com/jestjs/jest/blob/d1a2ed7fea4bdc19836274cd810c8360e3ab62f3/packages/jest-resolve/src/defaultResolver.ts#L1\n */\nimport type { JSONObject as PackageJSON } from '@expo/json-file';\nimport assert from 'assert';\nimport { dirname, isAbsolute, resolve as pathResolve } from 'path';\nimport { sync as resolveSync, SyncOpts as UpstreamResolveOptions } from 'resolve';\nimport * as resolve from 'resolve.exports';\n\nimport { directoryExistsSync, fileExistsSync } from '../../../utils/dir';\n\n/**\n * Allows transforming parsed `package.json` contents.\n *\n * @param pkg - Parsed `package.json` contents.\n * @param file - Path to `package.json` file.\n * @param dir - Directory that contains the `package.json`.\n *\n * @returns Transformed `package.json` contents.\n */\nexport type PackageFilter = (pkg: PackageJSON, file: string, dir: string) => PackageJSON;\n\n/**\n * Allows transforming a path within a package.\n *\n * @param pkg - Parsed `package.json` contents.\n * @param path - Path being resolved.\n * @param relativePath - Path relative from the `package.json` location.\n *\n * @returns Relative path that will be joined from the `package.json` location.\n */\nexport type PathFilter = (pkg: PackageJSON, path: string, relativePath: string) => string;\n\nexport type ResolverOptions = {\n /** Directory to begin resolving from. */\n basedir: string;\n /** List of export conditions. */\n conditions?: string[];\n /** Instance of default resolver. */\n defaultResolver: typeof defaultResolver;\n /** List of file extensions to search in order. */\n extensions?: string[];\n /**\n * List of directory names to be looked up for modules recursively.\n *\n * @defaultValue\n * The default is `['node_modules']`.\n */\n moduleDirectory?: string[];\n /**\n * List of `require.paths` to use if nothing is found in `node_modules`.\n *\n * @defaultValue\n * The default is `undefined`.\n */\n paths?: string[];\n /** Allows transforming parsed `package.json` contents. */\n packageFilter?: PackageFilter;\n /** Allows transforms a path within a package. */\n pathFilter?: PathFilter;\n /** Current root directory. */\n rootDir?: string;\n\n enablePackageExports?: boolean;\n\n blockList: RegExp[];\n} & Pick<\n UpstreamResolveOptions,\n 'readPackageSync' | 'moduleDirectory' | 'extensions' | 'preserveSymlinks' | 'includeCoreModules'\n>;\n\ntype UpstreamResolveOptionsWithConditions = UpstreamResolveOptions & ResolverOptions;\n\nexport type SyncResolver = (path: string, options: ResolverOptions) => string;\nexport type AsyncResolver = (path: string, options: ResolverOptions) => Promise<string>;\n\nexport type Resolver = SyncResolver | AsyncResolver;\n\nconst defaultResolver: SyncResolver = (\n path,\n { enablePackageExports, blockList = [], ...options }\n) => {\n // @ts-expect-error\n const resolveOptions: UpstreamResolveOptionsWithConditions = {\n ...options,\n\n isDirectory(file) {\n if (blockList.some((regex) => regex.test(file))) {\n return false;\n }\n return directoryExistsSync(file);\n },\n isFile(file) {\n if (blockList.some((regex) => regex.test(file))) {\n return false;\n }\n return fileExistsSync(file);\n },\n preserveSymlinks: enablePackageExports ? false : options.preserveSymlinks,\n defaultResolver,\n };\n\n // resolveSync dereferences symlinks to ensure we don't create a separate\n // module instance depending on how it was referenced.\n const result = resolveSync(\n enablePackageExports ? getPathInModule(path, resolveOptions) : path,\n resolveOptions\n );\n\n return result;\n};\n\nexport default defaultResolver;\n\n/*\n * helper functions\n */\n\nfunction getPathInModule(path: string, options: UpstreamResolveOptionsWithConditions): string {\n if (shouldIgnoreRequestForExports(path)) {\n return path;\n }\n\n const segments = path.split('/');\n\n let moduleName = segments.shift();\n\n if (moduleName) {\n if (moduleName.startsWith('@')) {\n moduleName = `${moduleName}/${segments.shift()}`;\n }\n\n // Disable package exports for babel/runtime for https://github.com/facebook/metro/issues/984/\n if (moduleName === '@babel/runtime') {\n return path;\n }\n\n // self-reference\n const closestPackageJson = findClosestPackageJson(options.basedir, options);\n if (closestPackageJson) {\n const pkg = options.readPackageSync!(options.readFileSync!, closestPackageJson);\n assert(pkg, 'package.json should be read by `readPackageSync`');\n\n if (pkg.name === moduleName) {\n const resolved = resolve.exports(\n pkg,\n (segments.join('/') || '.') as resolve.Exports.Entry,\n createResolveOptions(options.conditions)\n );\n\n if (resolved) {\n return pathResolve(dirname(closestPackageJson), resolved[0]);\n }\n\n if (pkg.exports) {\n throw new Error(\n \"`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue\"\n );\n }\n }\n }\n\n let packageJsonPath = '';\n\n try {\n packageJsonPath = resolveSync(`${moduleName}/package.json`, options);\n } catch {\n // ignore if package.json cannot be found\n }\n\n if (packageJsonPath && options.isFile!(packageJsonPath)) {\n const pkg = options.readPackageSync!(options.readFileSync!, packageJsonPath);\n assert(pkg, 'package.json should be read by `readPackageSync`');\n\n const resolved = resolve.exports(\n pkg,\n (segments.join('/') || '.') as resolve.Exports.Entry,\n createResolveOptions(options.conditions)\n );\n\n if (resolved) {\n return pathResolve(dirname(packageJsonPath), resolved[0]);\n }\n\n if (pkg.exports) {\n throw new Error(\n \"`exports` exists, but no results - this is a bug in Expo CLI's Metro resolver. Please report an issue\"\n );\n }\n }\n }\n\n return path;\n}\n\nfunction createResolveOptions(conditions: string[] | undefined): resolve.Options {\n return conditions\n ? { conditions, unsafe: true }\n : // no conditions were passed - let's assume this is Jest internal and it should be `require`\n { browser: false, require: true };\n}\n\n// if it's a relative import or an absolute path, imports/exports are ignored\nconst shouldIgnoreRequestForExports = (path: string) => path.startsWith('.') || isAbsolute(path);\n\n// adapted from\n// https://github.com/lukeed/escalade/blob/2477005062cdbd8407afc90d3f48f4930354252b/src/sync.js\nfunction findClosestPackageJson(\n start: string,\n options: UpstreamResolveOptions\n): string | undefined {\n let dir = pathResolve('.', start);\n if (!options.isDirectory!(dir)) {\n dir = dirname(dir);\n }\n\n while (true) {\n const pkgJsonFile = pathResolve(dir, './package.json');\n const hasPackageJson = options.isFile!(pkgJsonFile);\n\n if (hasPackageJson) {\n return pkgJsonFile;\n }\n\n const prevDir = dir;\n dir = dirname(dir);\n\n if (prevDir === dir) {\n return undefined;\n }\n }\n}\n"],"names":["resolve","defaultResolver","path","enablePackageExports","blockList","options","resolveOptions","isDirectory","file","some","regex","test","directoryExistsSync","isFile","fileExistsSync","preserveSymlinks","result","resolveSync","getPathInModule","shouldIgnoreRequestForExports","segments","split","moduleName","shift","startsWith","closestPackageJson","findClosestPackageJson","basedir","pkg","readPackageSync","readFileSync","assert","name","resolved","exports","join","createResolveOptions","conditions","pathResolve","dirname","Error","packageJsonPath","unsafe","browser","require","isAbsolute","start","dir","pkgJsonFile","hasPackageJson","prevDir","undefined"],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.createRouteHandlerMiddleware = createRouteHandlerMiddleware;
6
+ var _server = require("@expo/server");
7
+ var _http = require("@expo/server/build/vendor/http");
8
+ var _requireFromString = _interopRequireDefault(require("require-from-string"));
9
+ var _resolve = _interopRequireDefault(require("resolve"));
10
+ var _util = require("util");
11
+ var _metroBundlerDevServer = require("./MetroBundlerDevServer");
12
+ var _bundleApiRoutes = require("./bundleApiRoutes");
13
+ var _fetchRouterManifest = require("./fetchRouterManifest");
14
+ var _metroErrorInterface = require("./metroErrorInterface");
15
+ var _log = require("../../../log");
16
+ function _interopRequireDefault(obj) {
17
+ return obj && obj.__esModule ? obj : {
18
+ default: obj
19
+ };
20
+ }
21
+ const debug = require("debug")("expo:start:server:metro");
22
+ const resolveAsync = (0, _util).promisify(_resolve.default);
23
+ function createRouteHandlerMiddleware(projectRoot, options) {
24
+ return (0, _http).createRequestHandler({
25
+ build: ""
26
+ }, {
27
+ async getRoutesManifest () {
28
+ const manifest = await (0, _fetchRouterManifest).fetchManifest(projectRoot, options);
29
+ debug("manifest", manifest);
30
+ // NOTE: no app dir if null
31
+ // TODO: Redirect to 404 page
32
+ return manifest != null ? manifest : {
33
+ // Support the onboarding screen if there's no manifest
34
+ htmlRoutes: [
35
+ {
36
+ file: "index.js",
37
+ page: "/index",
38
+ routeKeys: {},
39
+ namedRegex: /^\/(?:index)?\/?$/i
40
+ },
41
+ ],
42
+ apiRoutes: [],
43
+ notFoundRoutes: []
44
+ };
45
+ },
46
+ async getHtml (request) {
47
+ try {
48
+ const { content } = await options.getStaticPageAsync(request.url);
49
+ return content;
50
+ } catch (error) {
51
+ // Forward the Metro server response as-is. It won't be pretty, but at least it will be accurate.
52
+ if (error instanceof _metroBundlerDevServer.ForwardHtmlError) {
53
+ return new _server.ExpoResponse(error.html, {
54
+ status: error.statusCode,
55
+ headers: {
56
+ "Content-Type": "text/html"
57
+ }
58
+ });
59
+ }
60
+ try {
61
+ return new _server.ExpoResponse(await (0, _metroErrorInterface).getErrorOverlayHtmlAsync({
62
+ error,
63
+ projectRoot
64
+ }), {
65
+ status: 500,
66
+ headers: {
67
+ "Content-Type": "text/html"
68
+ }
69
+ });
70
+ } catch (staticError) {
71
+ // Fallback error for when Expo Router is misconfigured in the project.
72
+ return new _server.ExpoResponse("<span><h3>Internal Error:</h3><b>Project is not setup correctly for static rendering (check terminal for more info):</b><br/>" + error.message + "<br/><br/>" + staticError.message + "</span>", {
73
+ status: 500,
74
+ headers: {
75
+ "Content-Type": "text/html"
76
+ }
77
+ });
78
+ }
79
+ }
80
+ },
81
+ logApiRouteExecutionError (error) {
82
+ (0, _metroErrorInterface).logMetroError(projectRoot, {
83
+ error
84
+ });
85
+ },
86
+ async getApiRoute (route) {
87
+ const resolvedFunctionPath = await resolveAsync(route.page, {
88
+ extensions: [
89
+ ".js",
90
+ ".jsx",
91
+ ".ts",
92
+ ".tsx"
93
+ ],
94
+ basedir: options.appDir
95
+ });
96
+ const middlewareContents = await (0, _bundleApiRoutes).bundleApiRoute(projectRoot, resolvedFunctionPath, options);
97
+ if (!middlewareContents) {
98
+ // TODO: Error handling
99
+ return null;
100
+ }
101
+ try {
102
+ debug(`Bundling middleware at: ${resolvedFunctionPath}`);
103
+ return (0, _requireFromString).default(middlewareContents);
104
+ } catch (error) {
105
+ if (error instanceof Error) {
106
+ await (0, _metroErrorInterface).logMetroErrorAsync({
107
+ projectRoot,
108
+ error
109
+ });
110
+ } else {
111
+ _log.Log.error("Failed to load middleware: " + error);
112
+ }
113
+ return new _server.ExpoResponse("Failed to load middleware: " + resolvedFunctionPath + "\n\n" + error.message, {
114
+ status: 500,
115
+ headers: {
116
+ "Content-Type": "text/html"
117
+ }
118
+ });
119
+ }
120
+ }
121
+ });
122
+ }
123
+
124
+ //# sourceMappingURL=createServerRouteMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/createServerRouteMiddleware.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { ExpoResponse } from '@expo/server';\nimport { createRequestHandler } from '@expo/server/build/vendor/http';\nimport requireString from 'require-from-string';\nimport resolve from 'resolve';\nimport { promisify } from 'util';\n\nimport { ForwardHtmlError } from './MetroBundlerDevServer';\nimport { bundleApiRoute } from './bundleApiRoutes';\nimport { fetchManifest } from './fetchRouterManifest';\nimport { getErrorOverlayHtmlAsync, logMetroError, logMetroErrorAsync } from './metroErrorInterface';\nimport { Log } from '../../../log';\n\nconst debug = require('debug')('expo:start:server:metro') as typeof console.log;\n\nconst resolveAsync = promisify(resolve) as any as (\n id: string,\n opts: resolve.AsyncOpts\n) => Promise<string | null>;\n\nexport function createRouteHandlerMiddleware(\n projectRoot: string,\n options: {\n mode?: string;\n appDir: string;\n port?: number;\n baseUrl: string;\n getWebBundleUrl: () => string;\n getStaticPageAsync: (pathname: string) => Promise<{ content: string }>;\n }\n) {\n return createRequestHandler(\n { build: '' },\n {\n async getRoutesManifest() {\n const manifest = await fetchManifest<RegExp>(projectRoot, options);\n debug('manifest', manifest);\n // NOTE: no app dir if null\n // TODO: Redirect to 404 page\n return (\n manifest ?? {\n // Support the onboarding screen if there's no manifest\n htmlRoutes: [\n {\n file: 'index.js',\n page: '/index',\n routeKeys: {},\n namedRegex: /^\\/(?:index)?\\/?$/i,\n },\n ],\n apiRoutes: [],\n notFoundRoutes: [],\n }\n );\n },\n async getHtml(request) {\n try {\n const { content } = await options.getStaticPageAsync(request.url);\n return content;\n } catch (error: any) {\n // Forward the Metro server response as-is. It won't be pretty, but at least it will be accurate.\n if (error instanceof ForwardHtmlError) {\n return new ExpoResponse(error.html, {\n status: error.statusCode,\n headers: {\n 'Content-Type': 'text/html',\n },\n });\n }\n\n try {\n return new ExpoResponse(\n await getErrorOverlayHtmlAsync({\n error,\n projectRoot,\n }),\n {\n status: 500,\n headers: {\n 'Content-Type': 'text/html',\n },\n }\n );\n } catch (staticError: any) {\n // Fallback error for when Expo Router is misconfigured in the project.\n return new ExpoResponse(\n '<span><h3>Internal Error:</h3><b>Project is not setup correctly for static rendering (check terminal for more info):</b><br/>' +\n error.message +\n '<br/><br/>' +\n staticError.message +\n '</span>',\n {\n status: 500,\n headers: {\n 'Content-Type': 'text/html',\n },\n }\n );\n }\n }\n },\n logApiRouteExecutionError(error) {\n logMetroError(projectRoot, { error });\n },\n async getApiRoute(route) {\n const resolvedFunctionPath = await resolveAsync(route.page, {\n extensions: ['.js', '.jsx', '.ts', '.tsx'],\n basedir: options.appDir,\n });\n\n const middlewareContents = await bundleApiRoute(\n projectRoot,\n resolvedFunctionPath!,\n options\n );\n if (!middlewareContents) {\n // TODO: Error handling\n return null;\n }\n\n try {\n debug(`Bundling middleware at: ${resolvedFunctionPath}`);\n return requireString(middlewareContents);\n } catch (error: any) {\n if (error instanceof Error) {\n await logMetroErrorAsync({ projectRoot, error });\n } else {\n Log.error('Failed to load middleware: ' + error);\n }\n return new ExpoResponse(\n 'Failed to load middleware: ' + resolvedFunctionPath + '\\n\\n' + error.message,\n {\n status: 500,\n headers: {\n 'Content-Type': 'text/html',\n },\n }\n );\n }\n },\n }\n );\n}\n"],"names":["createRouteHandlerMiddleware","debug","require","resolveAsync","promisify","resolve","projectRoot","options","createRequestHandler","build","getRoutesManifest","manifest","fetchManifest","htmlRoutes","file","page","routeKeys","namedRegex","apiRoutes","notFoundRoutes","getHtml","request","content","getStaticPageAsync","url","error","ForwardHtmlError","ExpoResponse","html","status","statusCode","headers","getErrorOverlayHtmlAsync","staticError","message","logApiRouteExecutionError","logMetroError","getApiRoute","route","resolvedFunctionPath","extensions","basedir","appDir","middlewareContents","bundleApiRoute","requireString","Error","logMetroErrorAsync","Log"],"mappings":"AAMA;;;;QAmBgBA,4BAA4B,GAA5BA,4BAA4B;AAnBf,IAAA,OAAc,WAAd,cAAc,CAAA;AACN,IAAA,KAAgC,WAAhC,gCAAgC,CAAA;AAC3C,IAAA,kBAAqB,kCAArB,qBAAqB,EAAA;AAC3B,IAAA,QAAS,kCAAT,SAAS,EAAA;AACH,IAAA,KAAM,WAAN,MAAM,CAAA;AAEC,IAAA,sBAAyB,WAAzB,yBAAyB,CAAA;AAC3B,IAAA,gBAAmB,WAAnB,mBAAmB,CAAA;AACpB,IAAA,oBAAuB,WAAvB,uBAAuB,CAAA;AACuB,IAAA,oBAAuB,WAAvB,uBAAuB,CAAA;AAC/E,IAAA,IAAc,WAAd,cAAc,CAAA;;;;;;AAElC,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,yBAAyB,CAAC,AAAsB,AAAC;AAEhF,MAAMC,YAAY,GAAGC,CAAAA,GAAAA,KAAS,AAAS,CAAA,UAAT,CAACC,QAAO,QAAA,CAAC,AAGZ,AAAC;AAErB,SAASL,4BAA4B,CAC1CM,WAAmB,EACnBC,OAOC,EACD;IACA,OAAOC,CAAAA,GAAAA,KAAoB,AA8G1B,CAAA,qBA9G0B,CACzB;QAAEC,KAAK,EAAE,EAAE;KAAE,EACb;QACE,MAAMC,iBAAiB,IAAG;YACxB,MAAMC,QAAQ,GAAG,MAAMC,CAAAA,GAAAA,oBAAa,AAA8B,CAAA,cAA9B,CAASN,WAAW,EAAEC,OAAO,CAAC,AAAC;YACnEN,KAAK,CAAC,UAAU,EAAEU,QAAQ,CAAC,CAAC;YAC5B,2BAA2B;YAC3B,6BAA6B;YAC7B,OACEA,QAAQ,WAARA,QAAQ,GAAI;gBACV,uDAAuD;gBACvDE,UAAU,EAAE;oBACV;wBACEC,IAAI,EAAE,UAAU;wBAChBC,IAAI,EAAE,QAAQ;wBACdC,SAAS,EAAE,EAAE;wBACbC,UAAU,sBAAsB;qBACjC;iBACF;gBACDC,SAAS,EAAE,EAAE;gBACbC,cAAc,EAAE,EAAE;aACnB,CACD;SACH;QACD,MAAMC,OAAO,EAACC,OAAO,EAAE;YACrB,IAAI;gBACF,MAAM,EAAEC,OAAO,CAAA,EAAE,GAAG,MAAMf,OAAO,CAACgB,kBAAkB,CAACF,OAAO,CAACG,GAAG,CAAC,AAAC;gBAClE,OAAOF,OAAO,CAAC;aAChB,CAAC,OAAOG,KAAK,EAAO;gBACnB,iGAAiG;gBACjG,IAAIA,KAAK,YAAYC,sBAAgB,iBAAA,EAAE;oBACrC,OAAO,IAAIC,OAAY,aAAA,CAACF,KAAK,CAACG,IAAI,EAAE;wBAClCC,MAAM,EAAEJ,KAAK,CAACK,UAAU;wBACxBC,OAAO,EAAE;4BACP,cAAc,EAAE,WAAW;yBAC5B;qBACF,CAAC,CAAC;iBACJ;gBAED,IAAI;oBACF,OAAO,IAAIJ,OAAY,aAAA,CACrB,MAAMK,CAAAA,GAAAA,oBAAwB,AAG5B,CAAA,yBAH4B,CAAC;wBAC7BP,KAAK;wBACLnB,WAAW;qBACZ,CAAC,EACF;wBACEuB,MAAM,EAAE,GAAG;wBACXE,OAAO,EAAE;4BACP,cAAc,EAAE,WAAW;yBAC5B;qBACF,CACF,CAAC;iBACH,CAAC,OAAOE,WAAW,EAAO;oBACzB,uEAAuE;oBACvE,OAAO,IAAIN,OAAY,aAAA,CACrB,+HAA+H,GAC7HF,KAAK,CAACS,OAAO,GACb,YAAY,GACZD,WAAW,CAACC,OAAO,GACnB,SAAS,EACX;wBACEL,MAAM,EAAE,GAAG;wBACXE,OAAO,EAAE;4BACP,cAAc,EAAE,WAAW;yBAC5B;qBACF,CACF,CAAC;iBACH;aACF;SACF;QACDI,yBAAyB,EAACV,KAAK,EAAE;YAC/BW,CAAAA,GAAAA,oBAAa,AAAwB,CAAA,cAAxB,CAAC9B,WAAW,EAAE;gBAAEmB,KAAK;aAAE,CAAC,CAAC;SACvC;QACD,MAAMY,WAAW,EAACC,KAAK,EAAE;YACvB,MAAMC,oBAAoB,GAAG,MAAMpC,YAAY,CAACmC,KAAK,CAACvB,IAAI,EAAE;gBAC1DyB,UAAU,EAAE;oBAAC,KAAK;oBAAE,MAAM;oBAAE,KAAK;oBAAE,MAAM;iBAAC;gBAC1CC,OAAO,EAAElC,OAAO,CAACmC,MAAM;aACxB,CAAC,AAAC;YAEH,MAAMC,kBAAkB,GAAG,MAAMC,CAAAA,GAAAA,gBAAc,AAI9C,CAAA,eAJ8C,CAC7CtC,WAAW,EACXiC,oBAAoB,EACpBhC,OAAO,CACR,AAAC;YACF,IAAI,CAACoC,kBAAkB,EAAE;gBACvB,uBAAuB;gBACvB,OAAO,IAAI,CAAC;aACb;YAED,IAAI;gBACF1C,KAAK,CAAC,CAAC,wBAAwB,EAAEsC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACzD,OAAOM,CAAAA,GAAAA,kBAAa,AAAoB,CAAA,QAApB,CAACF,kBAAkB,CAAC,CAAC;aAC1C,CAAC,OAAOlB,KAAK,EAAO;gBACnB,IAAIA,KAAK,YAAYqB,KAAK,EAAE;oBAC1B,MAAMC,CAAAA,GAAAA,oBAAkB,AAAwB,CAAA,mBAAxB,CAAC;wBAAEzC,WAAW;wBAAEmB,KAAK;qBAAE,CAAC,CAAC;iBAClD,MAAM;oBACLuB,IAAG,IAAA,CAACvB,KAAK,CAAC,6BAA6B,GAAGA,KAAK,CAAC,CAAC;iBAClD;gBACD,OAAO,IAAIE,OAAY,aAAA,CACrB,6BAA6B,GAAGY,oBAAoB,GAAG,MAAM,GAAGd,KAAK,CAACS,OAAO,EAC7E;oBACEL,MAAM,EAAE,GAAG;oBACXE,OAAO,EAAE;wBACP,cAAc,EAAE,WAAW;qBAC5B;iBACF,CACF,CAAC;aACH;SACF;KACF,CACF,CAAC;CACH"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.getNodeExternalModuleId = getNodeExternalModuleId;
6
+ exports.setupShimFiles = setupShimFiles;
7
+ exports.setupNodeExternals = setupNodeExternals;
8
+ exports.isNodeExternal = isNodeExternal;
9
+ exports.METRO_SHIMS_FOLDER = exports.METRO_EXTERNALS_FOLDER = exports.EXTERNAL_REQUIRE_NATIVE_POLYFILL = exports.EXTERNAL_REQUIRE_POLYFILL = exports.NODE_STDLIB_MODULES = void 0;
10
+ var _fs = _interopRequireDefault(require("fs"));
11
+ var _module = require("module");
12
+ var _path = _interopRequireDefault(require("path"));
13
+ var _dir = require("../../../utils/dir");
14
+ function _interopRequireDefault(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
19
+ const NODE_STDLIB_MODULES = [
20
+ "fs/promises",
21
+ ...(_module.builtinModules || // @ts-expect-error
22
+ (process.binding ? Object.keys(process.binding("natives")) : []) || []).filter((x)=>!/^_|^(internal|v8|node-inspect)\/|\//.test(x) && ![
23
+ "sys"
24
+ ].includes(x)
25
+ ),
26
+ ].sort();
27
+ exports.NODE_STDLIB_MODULES = NODE_STDLIB_MODULES;
28
+ const EXTERNAL_REQUIRE_POLYFILL = ".expo/metro/polyfill.js";
29
+ exports.EXTERNAL_REQUIRE_POLYFILL = EXTERNAL_REQUIRE_POLYFILL;
30
+ const EXTERNAL_REQUIRE_NATIVE_POLYFILL = ".expo/metro/polyfill.native.js";
31
+ exports.EXTERNAL_REQUIRE_NATIVE_POLYFILL = EXTERNAL_REQUIRE_NATIVE_POLYFILL;
32
+ const METRO_EXTERNALS_FOLDER = ".expo/metro/externals";
33
+ exports.METRO_EXTERNALS_FOLDER = METRO_EXTERNALS_FOLDER;
34
+ const METRO_SHIMS_FOLDER = ".expo/metro/shims";
35
+ exports.METRO_SHIMS_FOLDER = METRO_SHIMS_FOLDER;
36
+ function getNodeExternalModuleId(fromModule, moduleId) {
37
+ return _path.default.relative(_path.default.dirname(fromModule), _path.default.join(METRO_EXTERNALS_FOLDER, moduleId, "index.js"));
38
+ }
39
+ async function setupShimFiles(projectRoot) {
40
+ await _fs.default.promises.mkdir(_path.default.join(projectRoot, METRO_SHIMS_FOLDER), {
41
+ recursive: true
42
+ });
43
+ // Copy the shims to the project folder in case we're running in a monorepo.
44
+ const shimsFolder = _path.default.join(require.resolve("@expo/cli/package.json"), "../static/shims");
45
+ await (0, _dir).copyAsync(shimsFolder, _path.default.join(projectRoot, METRO_SHIMS_FOLDER), {
46
+ overwrite: false,
47
+ recursive: true
48
+ });
49
+ }
50
+ async function setupNodeExternals(projectRoot) {
51
+ await tapExternalRequirePolyfill(projectRoot);
52
+ await tapNodeShims(projectRoot);
53
+ }
54
+ async function tapExternalRequirePolyfill(projectRoot) {
55
+ await _fs.default.promises.mkdir(_path.default.join(projectRoot, _path.default.dirname(EXTERNAL_REQUIRE_POLYFILL)), {
56
+ recursive: true
57
+ });
58
+ await writeIfDifferentAsync(_path.default.join(projectRoot, EXTERNAL_REQUIRE_POLYFILL), 'global.$$require_external = typeof window === "undefined" ? require : () => null;');
59
+ await writeIfDifferentAsync(_path.default.join(projectRoot, EXTERNAL_REQUIRE_NATIVE_POLYFILL), "global.$$require_external = (moduleId) => {throw new Error(`Node.js standard library module ${moduleId} is not available in this JavaScript environment`);}");
60
+ }
61
+ async function writeIfDifferentAsync(filePath, contents) {
62
+ if (_fs.default.existsSync(filePath)) {
63
+ const current = await _fs.default.promises.readFile(filePath, "utf8");
64
+ if (current === contents) return;
65
+ }
66
+ await _fs.default.promises.writeFile(filePath, contents);
67
+ }
68
+ function isNodeExternal(moduleName) {
69
+ const moduleId = moduleName.replace(/^node:/, "");
70
+ if (NODE_STDLIB_MODULES.includes(moduleId)) {
71
+ return moduleId;
72
+ }
73
+ return null;
74
+ }
75
+ function tapNodeShimContents(moduleId) {
76
+ return `module.exports = $$require_external('node:${moduleId}');`;
77
+ }
78
+ // Ensure Node.js shims which require using `$$require_external` are available inside the project.
79
+ async function tapNodeShims(projectRoot) {
80
+ const externals = {};
81
+ for (const moduleId of NODE_STDLIB_MODULES){
82
+ const shimDir = _path.default.join(projectRoot, METRO_EXTERNALS_FOLDER, moduleId);
83
+ const shimPath = _path.default.join(shimDir, "index.js");
84
+ externals[moduleId] = shimPath;
85
+ if (!_fs.default.existsSync(shimPath)) {
86
+ await _fs.default.promises.mkdir(shimDir, {
87
+ recursive: true
88
+ });
89
+ await _fs.default.promises.writeFile(shimPath, tapNodeShimContents(moduleId));
90
+ }
91
+ }
92
+ }
93
+
94
+ //# sourceMappingURL=externals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/externals.ts"],"sourcesContent":["/**\n * Copyright © 2023 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport fs from 'fs';\nimport { builtinModules } from 'module';\nimport path from 'path';\n\nimport { copyAsync } from '../../../utils/dir';\n\n// A list of the Node.js standard library modules that are currently\n// available,\nexport const NODE_STDLIB_MODULES: string[] = [\n 'fs/promises',\n ...(\n builtinModules ||\n // @ts-expect-error\n (process.binding ? Object.keys(process.binding('natives')) : []) ||\n []\n ).filter((x) => !/^_|^(internal|v8|node-inspect)\\/|\\//.test(x) && !['sys'].includes(x)),\n].sort();\n\nexport const EXTERNAL_REQUIRE_POLYFILL = '.expo/metro/polyfill.js';\nexport const EXTERNAL_REQUIRE_NATIVE_POLYFILL = '.expo/metro/polyfill.native.js';\nexport const METRO_EXTERNALS_FOLDER = '.expo/metro/externals';\nexport const METRO_SHIMS_FOLDER = '.expo/metro/shims';\n\nexport function getNodeExternalModuleId(fromModule: string, moduleId: string) {\n return path.relative(\n path.dirname(fromModule),\n path.join(METRO_EXTERNALS_FOLDER, moduleId, 'index.js')\n );\n}\n\nexport async function setupShimFiles(projectRoot: string) {\n await fs.promises.mkdir(path.join(projectRoot, METRO_SHIMS_FOLDER), { recursive: true });\n // Copy the shims to the project folder in case we're running in a monorepo.\n const shimsFolder = path.join(require.resolve('@expo/cli/package.json'), '../static/shims');\n\n await copyAsync(shimsFolder, path.join(projectRoot, METRO_SHIMS_FOLDER), {\n overwrite: false,\n recursive: true,\n });\n}\n\nexport async function setupNodeExternals(projectRoot: string) {\n await tapExternalRequirePolyfill(projectRoot);\n await tapNodeShims(projectRoot);\n}\n\nasync function tapExternalRequirePolyfill(projectRoot: string) {\n await fs.promises.mkdir(path.join(projectRoot, path.dirname(EXTERNAL_REQUIRE_POLYFILL)), {\n recursive: true,\n });\n await writeIfDifferentAsync(\n path.join(projectRoot, EXTERNAL_REQUIRE_POLYFILL),\n 'global.$$require_external = typeof window === \"undefined\" ? require : () => null;'\n );\n await writeIfDifferentAsync(\n path.join(projectRoot, EXTERNAL_REQUIRE_NATIVE_POLYFILL),\n 'global.$$require_external = (moduleId) => {throw new Error(`Node.js standard library module ${moduleId} is not available in this JavaScript environment`);}'\n );\n}\n\nasync function writeIfDifferentAsync(filePath: string, contents: string): Promise<void> {\n if (fs.existsSync(filePath)) {\n const current = await fs.promises.readFile(filePath, 'utf8');\n if (current === contents) return;\n }\n\n await fs.promises.writeFile(filePath, contents);\n}\n\nexport function isNodeExternal(moduleName: string): string | null {\n const moduleId = moduleName.replace(/^node:/, '');\n if (NODE_STDLIB_MODULES.includes(moduleId)) {\n return moduleId;\n }\n return null;\n}\n\nfunction tapNodeShimContents(moduleId: string): string {\n return `module.exports = $$require_external('node:${moduleId}');`;\n}\n\n// Ensure Node.js shims which require using `$$require_external` are available inside the project.\nasync function tapNodeShims(projectRoot: string) {\n const externals: Record<string, string> = {};\n for (const moduleId of NODE_STDLIB_MODULES) {\n const shimDir = path.join(projectRoot, METRO_EXTERNALS_FOLDER, moduleId);\n const shimPath = path.join(shimDir, 'index.js');\n externals[moduleId] = shimPath;\n\n if (!fs.existsSync(shimPath)) {\n await fs.promises.mkdir(shimDir, { recursive: true });\n await fs.promises.writeFile(shimPath, tapNodeShimContents(moduleId));\n }\n }\n}\n"],"names":["getNodeExternalModuleId","setupShimFiles","setupNodeExternals","isNodeExternal","NODE_STDLIB_MODULES","builtinModules","process","binding","Object","keys","filter","x","test","includes","sort","EXTERNAL_REQUIRE_POLYFILL","EXTERNAL_REQUIRE_NATIVE_POLYFILL","METRO_EXTERNALS_FOLDER","METRO_SHIMS_FOLDER","fromModule","moduleId","path","relative","dirname","join","projectRoot","fs","promises","mkdir","recursive","shimsFolder","require","resolve","copyAsync","overwrite","tapExternalRequirePolyfill","tapNodeShims","writeIfDifferentAsync","filePath","contents","existsSync","current","readFile","writeFile","moduleName","replace","tapNodeShimContents","externals","shimDir","shimPath"],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.fetchManifest = fetchManifest;
6
+ exports.inflateManifest = inflateManifest;
7
+ var _resolveFrom = _interopRequireDefault(require("resolve-from"));
8
+ var _router = require("./router");
9
+ function _interopRequireDefault(obj) {
10
+ return obj && obj.__esModule ? obj : {
11
+ default: obj
12
+ };
13
+ }
14
+ function getExpoRouteManifestBuilderAsync(projectRoot) {
15
+ return require((0, _resolveFrom).default(projectRoot, "expo-router/build/routes-manifest")).createRoutesManifest;
16
+ }
17
+ async function fetchManifest(projectRoot, options) {
18
+ const getManifest = getExpoRouteManifestBuilderAsync(projectRoot);
19
+ const paths = (0, _router).getRoutePaths(options.appDir);
20
+ // Get the serialized manifest
21
+ const jsonManifest = getManifest(paths);
22
+ if (!jsonManifest) {
23
+ return null;
24
+ }
25
+ if (!jsonManifest.htmlRoutes || !jsonManifest.apiRoutes) {
26
+ throw new Error("Routes manifest is malformed: " + JSON.stringify(jsonManifest, null, 2));
27
+ }
28
+ if (!options.asJson) {
29
+ // @ts-expect-error
30
+ return inflateManifest(jsonManifest);
31
+ }
32
+ // @ts-expect-error
33
+ return jsonManifest;
34
+ }
35
+ function inflateManifest(json) {
36
+ var ref, ref1, ref2;
37
+ return {
38
+ ...json,
39
+ htmlRoutes: (ref = json.htmlRoutes) == null ? void 0 : ref.map((value)=>{
40
+ return {
41
+ ...value,
42
+ namedRegex: new RegExp(value.namedRegex)
43
+ };
44
+ }),
45
+ apiRoutes: (ref1 = json.apiRoutes) == null ? void 0 : ref1.map((value)=>{
46
+ return {
47
+ ...value,
48
+ namedRegex: new RegExp(value.namedRegex)
49
+ };
50
+ }),
51
+ notFoundRoutes: (ref2 = json.notFoundRoutes) == null ? void 0 : ref2.map((value)=>{
52
+ return {
53
+ ...value,
54
+ namedRegex: new RegExp(value.namedRegex)
55
+ };
56
+ })
57
+ };
58
+ }
59
+
60
+ //# sourceMappingURL=fetchRouterManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/fetchRouterManifest.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport resolveFrom from 'resolve-from';\n\nimport { getRoutePaths } from './router';\n\nexport type ExpoRouterServerManifestV1Route<TRegex = string> = {\n file: string;\n page: string;\n routeKeys: Record<string, string>;\n namedRegex: TRegex;\n generated?: boolean;\n};\n\nexport type ExpoRouterServerManifestV1<TRegex = string> = {\n apiRoutes: ExpoRouterServerManifestV1Route<TRegex>[];\n htmlRoutes: ExpoRouterServerManifestV1Route<TRegex>[];\n notFoundRoutes: ExpoRouterServerManifestV1Route<TRegex>[];\n};\n\nfunction getExpoRouteManifestBuilderAsync(projectRoot: string) {\n return require(resolveFrom(projectRoot, 'expo-router/build/routes-manifest'))\n .createRoutesManifest as typeof import('expo-router/build/routes-manifest').createRoutesManifest;\n}\n\n// TODO: Simplify this now that we use Node.js directly, no need for the Metro bundler caching layer.\nexport async function fetchManifest<TRegex = string>(\n projectRoot: string,\n options: { asJson?: boolean; appDir: string }\n): Promise<ExpoRouterServerManifestV1<TRegex> | null> {\n const getManifest = getExpoRouteManifestBuilderAsync(projectRoot);\n const paths = getRoutePaths(options.appDir);\n // Get the serialized manifest\n const jsonManifest = getManifest(paths);\n\n if (!jsonManifest) {\n return null;\n }\n\n if (!jsonManifest.htmlRoutes || !jsonManifest.apiRoutes) {\n throw new Error('Routes manifest is malformed: ' + JSON.stringify(jsonManifest, null, 2));\n }\n\n if (!options.asJson) {\n // @ts-expect-error\n return inflateManifest(jsonManifest);\n }\n // @ts-expect-error\n return jsonManifest;\n}\n\n// Convert the serialized manifest to a usable format\nexport function inflateManifest(\n json: ExpoRouterServerManifestV1<string>\n): ExpoRouterServerManifestV1<RegExp> {\n return {\n ...json,\n htmlRoutes: json.htmlRoutes?.map((value) => {\n return {\n ...value,\n namedRegex: new RegExp(value.namedRegex),\n };\n }),\n apiRoutes: json.apiRoutes?.map((value) => {\n return {\n ...value,\n namedRegex: new RegExp(value.namedRegex),\n };\n }),\n notFoundRoutes: json.notFoundRoutes?.map((value) => {\n return {\n ...value,\n namedRegex: new RegExp(value.namedRegex),\n };\n }),\n };\n}\n"],"names":["fetchManifest","inflateManifest","getExpoRouteManifestBuilderAsync","projectRoot","require","resolveFrom","createRoutesManifest","options","getManifest","paths","getRoutePaths","appDir","jsonManifest","htmlRoutes","apiRoutes","Error","JSON","stringify","asJson","json","map","value","namedRegex","RegExp","notFoundRoutes"],"mappings":"AAMA;;;;QAwBsBA,aAAa,GAAbA,aAAa;QA0BnBC,eAAe,GAAfA,eAAe;AAlDP,IAAA,YAAc,kCAAd,cAAc,EAAA;AAER,IAAA,OAAU,WAAV,UAAU,CAAA;;;;;;AAgBxC,SAASC,gCAAgC,CAACC,WAAmB,EAAE;IAC7D,OAAOC,OAAO,CAACC,CAAAA,GAAAA,YAAW,AAAkD,CAAA,QAAlD,CAACF,WAAW,EAAE,mCAAmC,CAAC,CAAC,CAC1EG,oBAAoB,CAA4E;CACpG;AAGM,eAAeN,aAAa,CACjCG,WAAmB,EACnBI,OAA6C,EACO;IACpD,MAAMC,WAAW,GAAGN,gCAAgC,CAACC,WAAW,CAAC,AAAC;IAClE,MAAMM,KAAK,GAAGC,CAAAA,GAAAA,OAAa,AAAgB,CAAA,cAAhB,CAACH,OAAO,CAACI,MAAM,CAAC,AAAC;IAC5C,8BAA8B;IAC9B,MAAMC,YAAY,GAAGJ,WAAW,CAACC,KAAK,CAAC,AAAC;IAExC,IAAI,CAACG,YAAY,EAAE;QACjB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,CAACA,YAAY,CAACC,UAAU,IAAI,CAACD,YAAY,CAACE,SAAS,EAAE;QACvD,MAAM,IAAIC,KAAK,CAAC,gCAAgC,GAAGC,IAAI,CAACC,SAAS,CAACL,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;KAC3F;IAED,IAAI,CAACL,OAAO,CAACW,MAAM,EAAE;QACnB,mBAAmB;QACnB,OAAOjB,eAAe,CAACW,YAAY,CAAC,CAAC;KACtC;IACD,mBAAmB;IACnB,OAAOA,YAAY,CAAC;CACrB;AAGM,SAASX,eAAe,CAC7BkB,IAAwC,EACJ;QAGtBA,GAAe,EAMhBA,IAAc,EAMTA,IAAmB;IAdrC,OAAO;QACL,GAAGA,IAAI;QACPN,UAAU,EAAEM,CAAAA,GAAe,GAAfA,IAAI,CAACN,UAAU,SAAK,GAApBM,KAAAA,CAAoB,GAApBA,GAAe,CAAEC,GAAG,CAAC,CAACC,KAAK,GAAK;YAC1C,OAAO;gBACL,GAAGA,KAAK;gBACRC,UAAU,EAAE,IAAIC,MAAM,CAACF,KAAK,CAACC,UAAU,CAAC;aACzC,CAAC;SACH,CAAC;QACFR,SAAS,EAAEK,CAAAA,IAAc,GAAdA,IAAI,CAACL,SAAS,SAAK,GAAnBK,KAAAA,CAAmB,GAAnBA,IAAc,CAAEC,GAAG,CAAC,CAACC,KAAK,GAAK;YACxC,OAAO;gBACL,GAAGA,KAAK;gBACRC,UAAU,EAAE,IAAIC,MAAM,CAACF,KAAK,CAACC,UAAU,CAAC;aACzC,CAAC;SACH,CAAC;QACFE,cAAc,EAAEL,CAAAA,IAAmB,GAAnBA,IAAI,CAACK,cAAc,SAAK,GAAxBL,KAAAA,CAAwB,GAAxBA,IAAmB,CAAEC,GAAG,CAAC,CAACC,KAAK,GAAK;YAClD,OAAO;gBACL,GAAGA,KAAK;gBACRC,UAAU,EAAE,IAAIC,MAAM,CAACF,KAAK,CAACC,UAAU,CAAC;aACzC,CAAC;SACH,CAAC;KACH,CAAC;CACH"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.formatFileCandidates = formatFileCandidates;
6
+ var _path = _interopRequireDefault(require("path"));
7
+ function _interopRequireDefault(obj) {
8
+ return obj && obj.__esModule ? obj : {
9
+ default: obj
10
+ };
11
+ }
12
+ function groupExtensions(exts) {
13
+ // Reverse the extensions and split into parts
14
+ const extParts = exts.map((ext)=>ext.split(".").reverse()
15
+ );
16
+ // Find the maximum depth of extension parts
17
+ const maxDepth = Math.max(...extParts.map((parts)=>parts.length
18
+ ));
19
+ // Initialize groups based on the max depth
20
+ const groups = Array.from({
21
+ length: maxDepth
22
+ }, ()=>new Set()
23
+ );
24
+ extParts.forEach((parts)=>{
25
+ parts.forEach((part, i)=>{
26
+ // Add parts to the corresponding group based on their depth
27
+ groups[i].add(part);
28
+ });
29
+ });
30
+ // Cycle groups and remove duplicates that appear forwards
31
+ groups.forEach((group, index)=>{
32
+ // Remove duplicates that appear forwards
33
+ // NOTE: This doesn't support extensions like `.native.native.js`
34
+ groups.forEach((otherGroup, otherIndex)=>{
35
+ if (index < otherIndex) {
36
+ otherGroup.forEach((part)=>group.delete(part)
37
+ );
38
+ }
39
+ });
40
+ });
41
+ // Convert sets back to arrays and reverse groups to correct order
42
+ return groups.map((group)=>Array.from(group)
43
+ ).reverse();
44
+ }
45
+ function createMatcherPatternForExtensions(exts) {
46
+ let formatted = "";
47
+ if (exts.length) {
48
+ // Apply grouping function
49
+ const groups = groupExtensions(exts);
50
+ formatted += groups.map((group, index)=>{
51
+ return index < groups.length - 1 ? `(${group.map((ext)=>`.${ext}`
52
+ ).join("|")})?` : `.(${group.join("|")})`;
53
+ }).join("");
54
+ }
55
+ return formatted;
56
+ }
57
+ function formatFileCandidates(candidates, allowIndex = false) {
58
+ if (candidates.type === "asset") {
59
+ return candidates.name;
60
+ }
61
+ let formatted = candidates.filePathPrefix;
62
+ if (allowIndex) {
63
+ formatted += `(${_path.default.sep}index)?`;
64
+ }
65
+ const extensions = candidates.candidateExts// Drop additional dots, the first character if it is a dot, and remove empty strings.
66
+ .map((ext)=>ext.replace(/\.+/g, ".").replace(/^\./g, "")
67
+ ).filter(Boolean);
68
+ formatted += createMatcherPatternForExtensions(extensions);
69
+ return formatted;
70
+ }
71
+
72
+ //# sourceMappingURL=formatFileCandidates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/metro/formatFileCandidates.ts"],"sourcesContent":["/**\n * Copyright © 2022 650 Industries.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * A fork of my proposed Metro change https://github.com/facebook/metro/pull/1036/files\n */\n\nimport type { FileCandidates } from 'metro-resolver';\nimport path from 'path';\n\nfunction groupExtensions(exts: readonly string[]): string[][] {\n // Reverse the extensions and split into parts\n const extParts = exts.map((ext) => ext.split('.').reverse());\n\n // Find the maximum depth of extension parts\n const maxDepth = Math.max(...extParts.map((parts) => parts.length));\n\n // Initialize groups based on the max depth\n const groups = Array.from({ length: maxDepth }, () => new Set<string>());\n\n extParts.forEach((parts) => {\n parts.forEach((part, i) => {\n // Add parts to the corresponding group based on their depth\n groups[i].add(part);\n });\n });\n\n // Cycle groups and remove duplicates that appear forwards\n groups.forEach((group, index) => {\n // Remove duplicates that appear forwards\n // NOTE: This doesn't support extensions like `.native.native.js`\n groups.forEach((otherGroup, otherIndex) => {\n if (index < otherIndex) {\n otherGroup.forEach((part) => group.delete(part));\n }\n });\n });\n\n // Convert sets back to arrays and reverse groups to correct order\n return groups.map((group) => Array.from(group)).reverse();\n}\n\nfunction createMatcherPatternForExtensions(exts: readonly string[]): string {\n let formatted = '';\n\n if (exts.length) {\n // Apply grouping function\n const groups = groupExtensions(exts);\n\n formatted += groups\n .map((group, index) => {\n return index < groups.length - 1\n ? `(${group.map((ext) => `.${ext}`).join('|')})?`\n : `.(${group.join('|')})`;\n })\n .join('');\n }\n\n return formatted;\n}\n\nexport function formatFileCandidates(\n candidates: FileCandidates,\n allowIndex: boolean = false\n): string {\n if (candidates.type === 'asset') {\n return candidates.name;\n }\n\n let formatted = candidates.filePathPrefix;\n\n if (allowIndex) {\n formatted += `(${path.sep}index)?`;\n }\n\n const extensions = candidates.candidateExts\n // Drop additional dots, the first character if it is a dot, and remove empty strings.\n .map((ext) => ext.replace(/\\.+/g, '.').replace(/^\\./g, ''))\n .filter(Boolean);\n\n formatted += createMatcherPatternForExtensions(extensions);\n\n return formatted;\n}\n"],"names":["formatFileCandidates","groupExtensions","exts","extParts","map","ext","split","reverse","maxDepth","Math","max","parts","length","groups","Array","from","Set","forEach","part","i","add","group","index","otherGroup","otherIndex","delete","createMatcherPatternForExtensions","formatted","join","candidates","allowIndex","type","name","filePathPrefix","path","sep","extensions","candidateExts","replace","filter","Boolean"],"mappings":"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"}