@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 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/type-generation/startTypescriptTypeGeneration.ts"],"sourcesContent":["import { getConfig } from '@expo/config';\nimport fs from 'fs/promises';\nimport { Server } from 'metro';\nimport path from 'path';\n\nimport { removeExpoEnvDTS, writeExpoEnvDTS } from './expo-env';\nimport { setupTypedRoutes } from './routes';\nimport { forceRemovalTSConfig, forceUpdateTSConfig } from './tsconfig';\nimport { removeFromGitIgnore, upsertGitIgnoreContents } from '../../../utils/mergeGitIgnorePaths';\nimport { ensureDotExpoProjectDirectoryInitialized } from '../../project/dotExpo';\nimport { ServerLike } from '../BundlerDevServer';\nimport { getRouterDirectoryModuleIdWithManifest } from '../metro/router';\n\nexport interface TypeScriptTypeGenerationOptions {\n server?: ServerLike;\n metro?: Server | null;\n projectRoot: string;\n}\n\nconst debug = require('debug')('expo:typed-routes') as typeof console.log;\n\n/** Setup all requisite features for statically typed routes in Expo Router v2 / SDK +49. */\nexport async function startTypescriptTypeGenerationAsync({\n metro,\n projectRoot,\n server,\n}: TypeScriptTypeGenerationOptions) {\n const { exp } = getConfig(projectRoot);\n\n // If typed routes are disabled, remove any files that were added.\n if (!exp.experiments?.typedRoutes) {\n debug('Removing typed routes side-effects (experiments.typedRoutes: false)');\n const gitIgnorePath = path.join(projectRoot, '.gitignore');\n await Promise.all([\n forceRemovalTSConfig(projectRoot),\n removeExpoEnvDTS(projectRoot),\n removeFromGitIgnore(gitIgnorePath, 'expo-env.d.ts'),\n ]);\n } else {\n const dotExpoDir = ensureDotExpoProjectDirectoryInitialized(projectRoot);\n const typesDirectory = path.resolve(dotExpoDir, './types');\n debug(\n 'Ensuring typed routes side-effects are setup (experiments.typedRoutes: true, typesDirectory: %s)',\n typesDirectory\n );\n\n // Ensure the types directory exists.\n await fs.mkdir(typesDirectory, { recursive: true });\n\n await Promise.all([\n upsertGitIgnoreContents(path.join(projectRoot, '.gitignore'), 'expo-env.d.ts'),\n writeExpoEnvDTS(projectRoot),\n forceUpdateTSConfig(projectRoot),\n setupTypedRoutes({\n metro,\n server,\n typesDirectory,\n projectRoot,\n routerDirectory: path.join(\n projectRoot,\n getRouterDirectoryModuleIdWithManifest(projectRoot, exp)\n ),\n }),\n ]);\n }\n}\n"],"names":["startTypescriptTypeGenerationAsync","debug","require","metro","projectRoot","server","exp","getConfig","experiments","typedRoutes","gitIgnorePath","path","join","Promise","all","forceRemovalTSConfig","removeExpoEnvDTS","removeFromGitIgnore","dotExpoDir","ensureDotExpoProjectDirectoryInitialized","typesDirectory","resolve","fs","mkdir","recursive","upsertGitIgnoreContents","writeExpoEnvDTS","forceUpdateTSConfig","setupTypedRoutes","routerDirectory","getRouterDirectoryModuleIdWithManifest"],"mappings":"AAAA;;;;+BAsBsBA,oCAAkC;;aAAlCA,kCAAkC;;;yBAtB9B,cAAc;;;;;;;8DACzB,aAAa;;;;;;;8DAEX,MAAM;;;;;;yBAE2B,YAAY;wBAC7B,UAAU;0BACe,YAAY;qCACT,oCAAoC;yBACxC,uBAAuB;wBAEzB,iBAAiB;;;;;;AAQxE,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,AAAsB,AAAC;AAGnE,eAAeF,kCAAkC,CAAC,EACvDG,KAAK,CAAA,EACLC,WAAW,CAAA,EACXC,MAAM,CAAA,EAC0B,EAAE;QAI7BC,GAAe;IAHpB,MAAM,EAAEA,GAAG,CAAA,EAAE,GAAGC,IAAAA,OAAS,EAAA,UAAA,EAACH,WAAW,CAAC,AAAC;IAEvC,kEAAkE;IAClE,IAAI,CAACE,CAAAA,CAAAA,GAAe,GAAfA,GAAG,CAACE,WAAW,SAAa,GAA5BF,KAAAA,CAA4B,GAA5BA,GAAe,CAAEG,WAAW,CAAA,EAAE;QACjCR,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAC7E,MAAMS,aAAa,GAAGC,KAAI,EAAA,QAAA,CAACC,IAAI,CAACR,WAAW,EAAE,YAAY,CAAC,AAAC;QAC3D,MAAMS,OAAO,CAACC,GAAG,CAAC;YAChBC,IAAAA,SAAoB,qBAAA,EAACX,WAAW,CAAC;YACjCY,IAAAA,QAAgB,iBAAA,EAACZ,WAAW,CAAC;YAC7Ba,IAAAA,oBAAmB,oBAAA,EAACP,aAAa,EAAE,eAAe,CAAC;SACpD,CAAC,CAAC;IACL,OAAO;QACL,MAAMQ,UAAU,GAAGC,IAAAA,QAAwC,yCAAA,EAACf,WAAW,CAAC,AAAC;QACzE,MAAMgB,cAAc,GAAGT,KAAI,EAAA,QAAA,CAACU,OAAO,CAACH,UAAU,EAAE,SAAS,CAAC,AAAC;QAC3DjB,KAAK,CACH,kGAAkG,EAClGmB,cAAc,CACf,CAAC;QAEF,qCAAqC;QACrC,MAAME,SAAE,EAAA,QAAA,CAACC,KAAK,CAACH,cAAc,EAAE;YAAEI,SAAS,EAAE,IAAI;SAAE,CAAC,CAAC;QAEpD,MAAMX,OAAO,CAACC,GAAG,CAAC;YAChBW,IAAAA,oBAAuB,wBAAA,EAACd,KAAI,EAAA,QAAA,CAACC,IAAI,CAACR,WAAW,EAAE,YAAY,CAAC,EAAE,eAAe,CAAC;YAC9EsB,IAAAA,QAAe,gBAAA,EAACtB,WAAW,CAAC;YAC5BuB,IAAAA,SAAmB,oBAAA,EAACvB,WAAW,CAAC;YAChCwB,IAAAA,OAAgB,iBAAA,EAAC;gBACfzB,KAAK;gBACLE,MAAM;gBACNe,cAAc;gBACdhB,WAAW;gBACXyB,eAAe,EAAElB,KAAI,EAAA,QAAA,CAACC,IAAI,CACxBR,WAAW,EACX0B,IAAAA,OAAsC,uCAAA,EAAC1B,WAAW,EAAEE,GAAG,CAAC,CACzD;aACF,CAAC;SACH,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
@@ -0,0 +1,114 @@
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
+ forceUpdateTSConfig: ()=>forceUpdateTSConfig,
13
+ getTSConfigUpdates: ()=>getTSConfigUpdates,
14
+ forceRemovalTSConfig: ()=>forceRemovalTSConfig,
15
+ getTSConfigRemoveUpdates: ()=>getTSConfigRemoveUpdates
16
+ });
17
+ function _jsonFile() {
18
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/json-file"));
19
+ _jsonFile = function() {
20
+ return data;
21
+ };
22
+ return data;
23
+ }
24
+ function _chalk() {
25
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
26
+ _chalk = function() {
27
+ return data;
28
+ };
29
+ return data;
30
+ }
31
+ function _path() {
32
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
33
+ _path = function() {
34
+ return data;
35
+ };
36
+ return data;
37
+ }
38
+ const _log = require("../../../log");
39
+ function _interopRequireDefault(obj) {
40
+ return obj && obj.__esModule ? obj : {
41
+ default: obj
42
+ };
43
+ }
44
+ async function forceUpdateTSConfig(projectRoot) {
45
+ // This runs after the TypeScript prerequisite, so we know the tsconfig.json exists
46
+ const tsConfigPath = _path().default.join(projectRoot, "tsconfig.json");
47
+ const { tsConfig , updates } = getTSConfigUpdates(_jsonFile().default.read(tsConfigPath, {
48
+ json5: true
49
+ }));
50
+ await writeUpdates(tsConfigPath, tsConfig, updates);
51
+ }
52
+ function getTSConfigUpdates(tsConfig) {
53
+ const updates = new Set();
54
+ if (!tsConfig.include) {
55
+ tsConfig.include = [
56
+ "**/*.ts",
57
+ "**/*.tsx",
58
+ ".expo/types/**/*.ts",
59
+ "expo-env.d.ts"
60
+ ];
61
+ updates.add("include");
62
+ } else if (Array.isArray(tsConfig.include)) {
63
+ if (!tsConfig.include.includes(".expo/types/**/*.ts")) {
64
+ tsConfig.include = [
65
+ ...tsConfig.include,
66
+ ".expo/types/**/*.ts"
67
+ ];
68
+ updates.add("include");
69
+ }
70
+ if (!tsConfig.include.includes("expo-env.d.ts")) {
71
+ tsConfig.include = [
72
+ ...tsConfig.include,
73
+ "expo-env.d.ts"
74
+ ];
75
+ updates.add("include");
76
+ }
77
+ }
78
+ return {
79
+ tsConfig,
80
+ updates
81
+ };
82
+ }
83
+ async function forceRemovalTSConfig(projectRoot) {
84
+ // This runs after the TypeScript prerequisite, so we know the tsconfig.json exists
85
+ const tsConfigPath = _path().default.join(projectRoot, "tsconfig.json");
86
+ const { tsConfig , updates } = getTSConfigRemoveUpdates(_jsonFile().default.read(tsConfigPath, {
87
+ json5: true
88
+ }));
89
+ await writeUpdates(tsConfigPath, tsConfig, updates);
90
+ }
91
+ function getTSConfigRemoveUpdates(tsConfig) {
92
+ const updates = new Set();
93
+ if (Array.isArray(tsConfig.include)) {
94
+ const filtered = tsConfig.include.filter((i)=>i !== "expo-env.d.ts" && i !== ".expo/types/**/*.ts");
95
+ if (filtered.length !== tsConfig.include.length) {
96
+ updates.add("include");
97
+ }
98
+ tsConfig.include = filtered;
99
+ }
100
+ return {
101
+ tsConfig,
102
+ updates
103
+ };
104
+ }
105
+ async function writeUpdates(tsConfigPath, tsConfig, updates) {
106
+ if (updates.size) {
107
+ await _jsonFile().default.writeAsync(tsConfigPath, tsConfig);
108
+ for (const update of updates){
109
+ _log.Log.log((0, _chalk().default)`{bold TypeScript}: The {cyan tsconfig.json#${update}} property has been updated`);
110
+ }
111
+ }
112
+ }
113
+
114
+ //# sourceMappingURL=tsconfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/type-generation/tsconfig.ts"],"sourcesContent":["import JsonFile, { JSONObject } from '@expo/json-file';\nimport chalk from 'chalk';\nimport path from 'path';\n\nimport { Log } from '../../../log';\n\n/**\n * Force updates a project tsconfig with Expo values.\n */\nexport async function forceUpdateTSConfig(projectRoot: string) {\n // This runs after the TypeScript prerequisite, so we know the tsconfig.json exists\n const tsConfigPath = path.join(projectRoot, 'tsconfig.json');\n const { tsConfig, updates } = getTSConfigUpdates(\n JsonFile.read(tsConfigPath, {\n json5: true,\n })\n );\n\n await writeUpdates(tsConfigPath, tsConfig, updates);\n}\n\nexport function getTSConfigUpdates(tsConfig: JSONObject) {\n const updates = new Set<string>();\n\n if (!tsConfig.include) {\n tsConfig.include = ['**/*.ts', '**/*.tsx', '.expo/types/**/*.ts', 'expo-env.d.ts'];\n updates.add('include');\n } else if (Array.isArray(tsConfig.include)) {\n if (!tsConfig.include.includes('.expo/types/**/*.ts')) {\n tsConfig.include = [...tsConfig.include, '.expo/types/**/*.ts'];\n updates.add('include');\n }\n\n if (!tsConfig.include.includes('expo-env.d.ts')) {\n tsConfig.include = [...tsConfig.include, 'expo-env.d.ts'];\n updates.add('include');\n }\n }\n\n return { tsConfig, updates };\n}\n\nexport async function forceRemovalTSConfig(projectRoot: string) {\n // This runs after the TypeScript prerequisite, so we know the tsconfig.json exists\n const tsConfigPath = path.join(projectRoot, 'tsconfig.json');\n const { tsConfig, updates } = getTSConfigRemoveUpdates(\n JsonFile.read(tsConfigPath, {\n json5: true,\n })\n );\n\n await writeUpdates(tsConfigPath, tsConfig, updates);\n}\n\nexport function getTSConfigRemoveUpdates(tsConfig: JSONObject) {\n const updates = new Set<string>();\n\n if (Array.isArray(tsConfig.include)) {\n const filtered = (tsConfig.include as string[]).filter(\n (i) => i !== 'expo-env.d.ts' && i !== '.expo/types/**/*.ts'\n );\n\n if (filtered.length !== tsConfig.include.length) {\n updates.add('include');\n }\n\n tsConfig.include = filtered;\n }\n\n return { tsConfig, updates };\n}\n\nasync function writeUpdates(tsConfigPath: string, tsConfig: JSONObject, updates: Set<string>) {\n if (updates.size) {\n await JsonFile.writeAsync(tsConfigPath, tsConfig);\n for (const update of updates) {\n Log.log(\n chalk`{bold TypeScript}: The {cyan tsconfig.json#${update}} property has been updated`\n );\n }\n }\n}\n"],"names":["forceUpdateTSConfig","getTSConfigUpdates","forceRemovalTSConfig","getTSConfigRemoveUpdates","projectRoot","tsConfigPath","path","join","tsConfig","updates","JsonFile","read","json5","writeUpdates","Set","include","add","Array","isArray","includes","filtered","filter","i","length","size","writeAsync","update","Log","log","chalk"],"mappings":"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"}
@@ -0,0 +1,108 @@
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
+ createTemplateHtmlFromExpoConfigAsync: ()=>createTemplateHtmlFromExpoConfigAsync,
13
+ createTemplateHtmlAsync: ()=>createTemplateHtmlAsync
14
+ });
15
+ function _config() {
16
+ const data = require("@expo/config");
17
+ _config = function() {
18
+ return data;
19
+ };
20
+ return data;
21
+ }
22
+ function _fs() {
23
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
24
+ _fs = function() {
25
+ return data;
26
+ };
27
+ return data;
28
+ }
29
+ function _path() {
30
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
31
+ _path = function() {
32
+ return data;
33
+ };
34
+ return data;
35
+ }
36
+ const _templates = require("../../customize/templates");
37
+ const _html = require("../../export/html");
38
+ const _env = require("../../utils/env");
39
+ function _interopRequireDefault(obj) {
40
+ return obj && obj.__esModule ? obj : {
41
+ default: obj
42
+ };
43
+ }
44
+ async function createTemplateHtmlFromExpoConfigAsync(projectRoot, { scripts , cssLinks , exp =(0, _config().getConfig)(projectRoot, {
45
+ skipSDKVersionRequirement: true
46
+ }).exp }) {
47
+ var ref, ref1, ref2;
48
+ var ref3, _webName;
49
+ return createTemplateHtmlAsync(projectRoot, {
50
+ langIsoCode: (ref3 = (ref = exp.web) == null ? void 0 : ref.lang) != null ? ref3 : "en",
51
+ scripts,
52
+ cssLinks,
53
+ title: (_webName = (0, _config().getNameFromConfig)(exp).webName) != null ? _webName : "Expo App",
54
+ description: (ref1 = exp.web) == null ? void 0 : ref1.description,
55
+ themeColor: (ref2 = exp.web) == null ? void 0 : ref2.themeColor
56
+ });
57
+ }
58
+ function getFileFromLocalPublicFolder(projectRoot, { publicFolder , filePath }) {
59
+ const localFilePath = _path().default.resolve(projectRoot, publicFolder, filePath);
60
+ if (!_fs().default.existsSync(localFilePath)) {
61
+ return null;
62
+ }
63
+ return localFilePath;
64
+ }
65
+ /** Attempt to read the `index.html` from the local project before falling back on the template `index.html`. */ async function getTemplateIndexHtmlAsync(projectRoot) {
66
+ let filePath = getFileFromLocalPublicFolder(projectRoot, {
67
+ // TODO: Maybe use the app.json override.
68
+ publicFolder: _env.env.EXPO_PUBLIC_FOLDER,
69
+ filePath: "index.html"
70
+ });
71
+ if (!filePath) {
72
+ filePath = _templates.TEMPLATES.find((value)=>value.id === "index.html").file(projectRoot);
73
+ }
74
+ return _fs().default.promises.readFile(filePath, "utf8");
75
+ }
76
+ async function createTemplateHtmlAsync(projectRoot, { scripts , cssLinks , description , langIsoCode , title , themeColor }) {
77
+ // Resolve the best possible index.html template file.
78
+ let contents = await getTemplateIndexHtmlAsync(projectRoot);
79
+ contents = contents.replace("%LANG_ISO_CODE%", langIsoCode);
80
+ contents = contents.replace("%WEB_TITLE%", title);
81
+ contents = (0, _html.appendScriptsToHtml)(contents, scripts);
82
+ if (cssLinks) {
83
+ contents = (0, _html.appendLinkToHtml)(contents, cssLinks.map((href)=>[
84
+ // NOTE: We probably don't have to preload the CSS files for SPA-styled websites.
85
+ {
86
+ as: "style",
87
+ rel: "preload",
88
+ href
89
+ },
90
+ {
91
+ rel: "stylesheet",
92
+ href
93
+ },
94
+ ]).flat());
95
+ }
96
+ if (themeColor) {
97
+ contents = addMeta(contents, `name="theme-color" content="${themeColor}"`);
98
+ }
99
+ if (description) {
100
+ contents = addMeta(contents, `name="description" content="${description}"`);
101
+ }
102
+ return contents;
103
+ }
104
+ /** Add a `<meta />` tag to the `<head />` element. */ function addMeta(contents, meta) {
105
+ return contents.replace("</head>", `<meta ${meta}>\n</head>`);
106
+ }
107
+
108
+ //# sourceMappingURL=webTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/start/server/webTemplate.ts"],"sourcesContent":["import { ExpoConfig, getConfig, getNameFromConfig } from '@expo/config';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { TEMPLATES } from '../../customize/templates';\nimport { appendLinkToHtml, appendScriptsToHtml } from '../../export/html';\nimport { env } from '../../utils/env';\n\n/**\n * Create a static HTML for SPA styled websites.\n * This method attempts to reuse the same patterns as `@expo/webpack-config`.\n */\nexport async function createTemplateHtmlFromExpoConfigAsync(\n projectRoot: string,\n {\n scripts,\n cssLinks,\n exp = getConfig(projectRoot, { skipSDKVersionRequirement: true }).exp,\n }: {\n scripts: string[];\n cssLinks?: string[];\n exp?: ExpoConfig;\n }\n) {\n return createTemplateHtmlAsync(projectRoot, {\n langIsoCode: exp.web?.lang ?? 'en',\n scripts,\n cssLinks,\n title: getNameFromConfig(exp).webName ?? 'Expo App',\n description: exp.web?.description,\n themeColor: exp.web?.themeColor,\n });\n}\n\nfunction getFileFromLocalPublicFolder(\n projectRoot: string,\n { publicFolder, filePath }: { publicFolder: string; filePath: string }\n): string | null {\n const localFilePath = path.resolve(projectRoot, publicFolder, filePath);\n if (!fs.existsSync(localFilePath)) {\n return null;\n }\n return localFilePath;\n}\n\n/** Attempt to read the `index.html` from the local project before falling back on the template `index.html`. */\nasync function getTemplateIndexHtmlAsync(projectRoot: string): Promise<string> {\n let filePath = getFileFromLocalPublicFolder(projectRoot, {\n // TODO: Maybe use the app.json override.\n publicFolder: env.EXPO_PUBLIC_FOLDER,\n filePath: 'index.html',\n });\n if (!filePath) {\n filePath = TEMPLATES.find((value) => value.id === 'index.html')!.file(projectRoot);\n }\n return fs.promises.readFile(filePath, 'utf8');\n}\n\n/** Return an `index.html` string with template values added. */\nexport async function createTemplateHtmlAsync(\n projectRoot: string,\n {\n scripts,\n cssLinks,\n description,\n langIsoCode,\n title,\n themeColor,\n }: {\n scripts: string[];\n cssLinks?: string[];\n description?: string;\n langIsoCode: string;\n title: string;\n themeColor?: string;\n }\n): Promise<string> {\n // Resolve the best possible index.html template file.\n let contents = await getTemplateIndexHtmlAsync(projectRoot);\n\n contents = contents.replace('%LANG_ISO_CODE%', langIsoCode);\n contents = contents.replace('%WEB_TITLE%', title);\n\n contents = appendScriptsToHtml(contents, scripts);\n\n if (cssLinks) {\n contents = appendLinkToHtml(\n contents,\n cssLinks\n .map((href) => [\n // NOTE: We probably don't have to preload the CSS files for SPA-styled websites.\n {\n as: 'style',\n rel: 'preload',\n href,\n },\n {\n rel: 'stylesheet',\n href,\n },\n ])\n .flat()\n );\n }\n\n if (themeColor) {\n contents = addMeta(contents, `name=\"theme-color\" content=\"${themeColor}\"`);\n }\n\n if (description) {\n contents = addMeta(contents, `name=\"description\" content=\"${description}\"`);\n }\n\n return contents;\n}\n\n/** Add a `<meta />` tag to the `<head />` element. */\nfunction addMeta(contents: string, meta: string): string {\n return contents.replace('</head>', `<meta ${meta}>\\n</head>`);\n}\n"],"names":["createTemplateHtmlFromExpoConfigAsync","createTemplateHtmlAsync","projectRoot","scripts","cssLinks","exp","getConfig","skipSDKVersionRequirement","getNameFromConfig","langIsoCode","web","lang","title","webName","description","themeColor","getFileFromLocalPublicFolder","publicFolder","filePath","localFilePath","path","resolve","fs","existsSync","getTemplateIndexHtmlAsync","env","EXPO_PUBLIC_FOLDER","TEMPLATES","find","value","id","file","promises","readFile","contents","replace","appendScriptsToHtml","appendLinkToHtml","map","href","as","rel","flat","addMeta","meta"],"mappings":"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"}
@@ -0,0 +1,315 @@
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
+ WebpackBundlerDevServer: ()=>WebpackBundlerDevServer,
13
+ getProjectWebpackConfigFilePath: ()=>getProjectWebpackConfigFilePath
14
+ });
15
+ function _chalk() {
16
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
17
+ _chalk = function() {
18
+ return data;
19
+ };
20
+ return data;
21
+ }
22
+ function _fs() {
23
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
24
+ _fs = function() {
25
+ return data;
26
+ };
27
+ return data;
28
+ }
29
+ function _path() {
30
+ const data = /*#__PURE__*/ _interopRequireWildcard(require("path"));
31
+ _path = function() {
32
+ return data;
33
+ };
34
+ return data;
35
+ }
36
+ function _resolveFrom() {
37
+ const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
38
+ _resolveFrom = function() {
39
+ return data;
40
+ };
41
+ return data;
42
+ }
43
+ const _compile = require("./compile");
44
+ const _resolveFromProject = require("./resolveFromProject");
45
+ const _tls = require("./tls");
46
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../../log"));
47
+ const _env = require("../../../utils/env");
48
+ const _errors = require("../../../utils/errors");
49
+ const _ip = require("../../../utils/ip");
50
+ const _nodeEnv = require("../../../utils/nodeEnv");
51
+ const _port = require("../../../utils/port");
52
+ const _progress = require("../../../utils/progress");
53
+ const _dotExpo = require("../../project/dotExpo");
54
+ const _bundlerDevServer = require("../BundlerDevServer");
55
+ function _interopRequireDefault(obj) {
56
+ return obj && obj.__esModule ? obj : {
57
+ default: obj
58
+ };
59
+ }
60
+ function _getRequireWildcardCache(nodeInterop) {
61
+ if (typeof WeakMap !== "function") return null;
62
+ var cacheBabelInterop = new WeakMap();
63
+ var cacheNodeInterop = new WeakMap();
64
+ return (_getRequireWildcardCache = function(nodeInterop) {
65
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
66
+ })(nodeInterop);
67
+ }
68
+ function _interopRequireWildcard(obj, nodeInterop) {
69
+ if (!nodeInterop && obj && obj.__esModule) {
70
+ return obj;
71
+ }
72
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
73
+ return {
74
+ default: obj
75
+ };
76
+ }
77
+ var cache = _getRequireWildcardCache(nodeInterop);
78
+ if (cache && cache.has(obj)) {
79
+ return cache.get(obj);
80
+ }
81
+ var newObj = {};
82
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
83
+ for(var key in obj){
84
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
85
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
86
+ if (desc && (desc.get || desc.set)) {
87
+ Object.defineProperty(newObj, key, desc);
88
+ } else {
89
+ newObj[key] = obj[key];
90
+ }
91
+ }
92
+ }
93
+ newObj.default = obj;
94
+ if (cache) {
95
+ cache.set(obj, newObj);
96
+ }
97
+ return newObj;
98
+ }
99
+ const debug = require("debug")("expo:start:server:webpack:devServer");
100
+ function assertIsWebpackDevServer(value) {
101
+ if (!(value == null ? void 0 : value.sockWrite) && !(value == null ? void 0 : value.sendMessage)) {
102
+ var ref;
103
+ var ref1;
104
+ throw new _errors.CommandError("WEBPACK", value ? "Expected Webpack dev server, found: " + ((ref1 = (ref = value.constructor) == null ? void 0 : ref.name) != null ? ref1 : value) : "Webpack dev server not started yet.");
105
+ }
106
+ }
107
+ class WebpackBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
108
+ get name() {
109
+ return "webpack";
110
+ }
111
+ async startTypeScriptServices() {
112
+ // noop -- this feature is Metro-only.
113
+ }
114
+ broadcastMessage(method, params) {
115
+ var ref;
116
+ if (!this.instance) {
117
+ return;
118
+ }
119
+ assertIsWebpackDevServer((ref = this.instance) == null ? void 0 : ref.server);
120
+ // TODO(EvanBacon): Custom Webpack overlay.
121
+ // Default webpack-dev-server sockets use "content-changed" instead of "reload" (what we use on native).
122
+ // For now, just manually convert the value so our CLI interface can be unified.
123
+ const hackyConvertedMessage = method === "reload" ? "content-changed" : method;
124
+ if ("sendMessage" in this.instance.server) {
125
+ // @ts-expect-error: https://github.com/expo/expo/issues/21994#issuecomment-1517122501
126
+ this.instance.server.sendMessage(this.instance.server.sockets, hackyConvertedMessage, params);
127
+ } else {
128
+ this.instance.server.sockWrite(this.instance.server.sockets, hackyConvertedMessage, params);
129
+ }
130
+ }
131
+ isTargetingNative() {
132
+ return false;
133
+ }
134
+ async getAvailablePortAsync(options) {
135
+ try {
136
+ var ref;
137
+ const defaultPort = (ref = options == null ? void 0 : options.defaultPort) != null ? ref : 19006;
138
+ const port = await (0, _port.choosePortAsync)(this.projectRoot, {
139
+ defaultPort,
140
+ host: _env.env.WEB_HOST
141
+ });
142
+ if (!port) {
143
+ throw new _errors.CommandError("NO_PORT_FOUND", `Port ${defaultPort} not available.`);
144
+ }
145
+ return port;
146
+ } catch (error) {
147
+ throw new _errors.CommandError("NO_PORT_FOUND", error.message);
148
+ }
149
+ }
150
+ async bundleAsync({ mode , clear }) {
151
+ // Do this first to fail faster.
152
+ const webpack = (0, _resolveFromProject.importWebpackFromProject)(this.projectRoot);
153
+ if (clear) {
154
+ await this.clearWebProjectCacheAsync(this.projectRoot, mode);
155
+ }
156
+ const config = await this.loadConfigAsync({
157
+ isImageEditingEnabled: true,
158
+ mode
159
+ });
160
+ if (!config.plugins) {
161
+ config.plugins = [];
162
+ }
163
+ const bar = (0, _progress.createProgressBar)((0, _chalk().default)`{bold Web} Bundling Javascript [:bar] :percent`, {
164
+ width: 64,
165
+ total: 100,
166
+ clear: true,
167
+ complete: "=",
168
+ incomplete: " "
169
+ });
170
+ // NOTE(EvanBacon): Add a progress bar to the webpack logger if defined (e.g. not in CI).
171
+ if (bar != null) {
172
+ config.plugins.push(new webpack.ProgressPlugin((percent)=>{
173
+ bar == null ? void 0 : bar.update(percent);
174
+ if (percent === 1) {
175
+ bar == null ? void 0 : bar.terminate();
176
+ }
177
+ }));
178
+ }
179
+ // Create a webpack compiler that is configured with custom messages.
180
+ const compiler = webpack(config);
181
+ try {
182
+ await (0, _compile.compileAsync)(compiler);
183
+ } catch (error) {
184
+ _log.error(_chalk().default.red("Failed to compile"));
185
+ throw error;
186
+ } finally{
187
+ bar == null ? void 0 : bar.terminate();
188
+ }
189
+ }
190
+ async startImplementationAsync(options) {
191
+ // Do this first to fail faster.
192
+ const webpack = (0, _resolveFromProject.importWebpackFromProject)(this.projectRoot);
193
+ const WebpackDevServer = (0, _resolveFromProject.importWebpackDevServerFromProject)(this.projectRoot);
194
+ await this.stopAsync();
195
+ options.port = await this.getAvailablePortAsync({
196
+ defaultPort: options.port
197
+ });
198
+ const { resetDevServer , https , port , mode } = options;
199
+ this.urlCreator = this.getUrlCreator({
200
+ port,
201
+ location: {
202
+ scheme: https ? "https" : "http"
203
+ }
204
+ });
205
+ debug("Starting webpack on port: " + port);
206
+ if (resetDevServer) {
207
+ await this.clearWebProjectCacheAsync(this.projectRoot, mode);
208
+ }
209
+ if (https) {
210
+ debug("Configuring TLS to enable HTTPS support");
211
+ await (0, _tls.ensureEnvironmentSupportsTLSAsync)(this.projectRoot).catch((error)=>{
212
+ _log.error(`Error creating TLS certificates: ${error}`);
213
+ });
214
+ }
215
+ const config = await this.loadConfigAsync(options);
216
+ _log.log((0, _chalk().default)`Starting Webpack on port ${port} in {underline ${mode}} mode.`);
217
+ // Create a webpack compiler that is configured with custom messages.
218
+ const compiler = webpack(config);
219
+ const server = new WebpackDevServer(// @ts-expect-error: type mismatch -- Webpack types aren't great.
220
+ compiler, config.devServer);
221
+ // Launch WebpackDevServer.
222
+ server.listen(port, _env.env.WEB_HOST, function(error) {
223
+ if (error) {
224
+ _log.error(error.message);
225
+ }
226
+ });
227
+ // Extend the close method to ensure that we clean up the local info.
228
+ const originalClose = server.close.bind(server);
229
+ server.close = (callback)=>{
230
+ return originalClose((err)=>{
231
+ this.instance = null;
232
+ callback == null ? void 0 : callback(err);
233
+ });
234
+ };
235
+ const _host = (0, _ip.getIpAddress)();
236
+ const protocol = https ? "https" : "http";
237
+ return {
238
+ // Server instance
239
+ server,
240
+ // URL Info
241
+ location: {
242
+ url: `${protocol}://${_host}:${port}`,
243
+ port,
244
+ protocol,
245
+ host: _host
246
+ },
247
+ middleware: null,
248
+ // Match the native protocol.
249
+ messageSocket: {
250
+ broadcast: this.broadcastMessage
251
+ }
252
+ };
253
+ }
254
+ /** Load the Webpack config. Exposed for testing. */ getProjectConfigFilePath() {
255
+ var ref;
256
+ // Check if the project has a webpack.config.js in the root.
257
+ return (ref = this.getConfigModuleIds().reduce((prev, moduleId)=>prev || _resolveFrom().default.silent(this.projectRoot, moduleId), null)) != null ? ref : null;
258
+ }
259
+ async loadConfigAsync(options, argv) {
260
+ // let bar: ProgressBar | null = null;
261
+ const env = {
262
+ projectRoot: this.projectRoot,
263
+ pwa: !!options.isImageEditingEnabled,
264
+ // TODO: Use a new loader in Webpack config...
265
+ logger: {
266
+ info () {}
267
+ },
268
+ mode: options.mode,
269
+ https: options.https
270
+ };
271
+ var _mode;
272
+ (0, _nodeEnv.setNodeEnv)((_mode = env.mode) != null ? _mode : "development");
273
+ require("@expo/env").load(env.projectRoot);
274
+ // Check if the project has a webpack.config.js in the root.
275
+ const projectWebpackConfig = this.getProjectConfigFilePath();
276
+ let config;
277
+ if (projectWebpackConfig) {
278
+ const webpackConfig = require(projectWebpackConfig);
279
+ if (typeof webpackConfig === "function") {
280
+ config = await webpackConfig(env, argv);
281
+ } else {
282
+ config = webpackConfig;
283
+ }
284
+ } else {
285
+ // Fallback to the default expo webpack config.
286
+ const loadDefaultConfigAsync = (0, _resolveFromProject.importExpoWebpackConfigFromProject)(this.projectRoot);
287
+ // @ts-expect-error: types appear to be broken
288
+ config = await loadDefaultConfigAsync(env, argv);
289
+ }
290
+ return config;
291
+ }
292
+ getConfigModuleIds() {
293
+ return [
294
+ "./webpack.config.js"
295
+ ];
296
+ }
297
+ async clearWebProjectCacheAsync(projectRoot, mode = "development") {
298
+ _log.log(_chalk().default.dim(`Clearing Webpack ${mode} cache directory...`));
299
+ const dir = await (0, _dotExpo.ensureDotExpoProjectDirectoryInitialized)(projectRoot);
300
+ const cacheFolder = _path().join(dir, "web/cache", mode);
301
+ try {
302
+ await _fs().default.promises.rm(cacheFolder, {
303
+ recursive: true,
304
+ force: true
305
+ });
306
+ } catch (error) {
307
+ _log.error(`Could not clear ${mode} web cache directory: ${error.message}`);
308
+ }
309
+ }
310
+ }
311
+ function getProjectWebpackConfigFilePath(projectRoot) {
312
+ return _resolveFrom().default.silent(projectRoot, "./webpack.config.js");
313
+ }
314
+
315
+ //# sourceMappingURL=WebpackBundlerDevServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/start/server/webpack/WebpackBundlerDevServer.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { Application } from 'express';\nimport fs from 'fs';\nimport http from 'http';\nimport * as path from 'path';\nimport resolveFrom from 'resolve-from';\nimport type webpack from 'webpack';\nimport type WebpackDevServer from 'webpack-dev-server';\n\nimport { compileAsync } from './compile';\nimport {\n importExpoWebpackConfigFromProject,\n importWebpackDevServerFromProject,\n importWebpackFromProject,\n} from './resolveFromProject';\nimport { ensureEnvironmentSupportsTLSAsync } from './tls';\nimport * as Log from '../../../log';\nimport { env } from '../../../utils/env';\nimport { CommandError } from '../../../utils/errors';\nimport { getIpAddress } from '../../../utils/ip';\nimport { setNodeEnv } from '../../../utils/nodeEnv';\nimport { choosePortAsync } from '../../../utils/port';\nimport { createProgressBar } from '../../../utils/progress';\nimport { ensureDotExpoProjectDirectoryInitialized } from '../../project/dotExpo';\nimport { BundlerDevServer, BundlerStartOptions, DevServerInstance } from '../BundlerDevServer';\n\nconst debug = require('debug')('expo:start:server:webpack:devServer') as typeof console.log;\n\nexport type WebpackConfiguration = webpack.Configuration & {\n devServer?: {\n before?: (app: Application, server: WebpackDevServer, compiler: webpack.Compiler) => void;\n };\n};\n\nfunction assertIsWebpackDevServer(value: any): asserts value is WebpackDevServer {\n if (!value?.sockWrite && !value?.sendMessage) {\n throw new CommandError(\n 'WEBPACK',\n value\n ? 'Expected Webpack dev server, found: ' + (value.constructor?.name ?? value)\n : 'Webpack dev server not started yet.'\n );\n }\n}\n\nexport class WebpackBundlerDevServer extends BundlerDevServer {\n get name(): string {\n return 'webpack';\n }\n\n public async startTypeScriptServices(): Promise<void> {\n // noop -- this feature is Metro-only.\n }\n\n public broadcastMessage(\n method: string | 'reload' | 'devMenu' | 'sendDevCommand',\n params?: Record<string, any>\n ): void {\n if (!this.instance) {\n return;\n }\n\n assertIsWebpackDevServer(this.instance?.server);\n\n // TODO(EvanBacon): Custom Webpack overlay.\n // Default webpack-dev-server sockets use \"content-changed\" instead of \"reload\" (what we use on native).\n // For now, just manually convert the value so our CLI interface can be unified.\n const hackyConvertedMessage = method === 'reload' ? 'content-changed' : method;\n\n if ('sendMessage' in this.instance.server) {\n // @ts-expect-error: https://github.com/expo/expo/issues/21994#issuecomment-1517122501\n this.instance.server.sendMessage(this.instance.server.sockets, hackyConvertedMessage, params);\n } else {\n this.instance.server.sockWrite(this.instance.server.sockets, hackyConvertedMessage, params);\n }\n }\n\n isTargetingNative(): boolean {\n return false;\n }\n\n private async getAvailablePortAsync(options: { defaultPort?: number }): Promise<number> {\n try {\n const defaultPort = options?.defaultPort ?? 19006;\n const port = await choosePortAsync(this.projectRoot, {\n defaultPort,\n host: env.WEB_HOST,\n });\n if (!port) {\n throw new CommandError('NO_PORT_FOUND', `Port ${defaultPort} not available.`);\n }\n return port;\n } catch (error: any) {\n throw new CommandError('NO_PORT_FOUND', error.message);\n }\n }\n\n async bundleAsync({ mode, clear }: { mode: 'development' | 'production'; clear: boolean }) {\n // Do this first to fail faster.\n const webpack = importWebpackFromProject(this.projectRoot);\n\n if (clear) {\n await this.clearWebProjectCacheAsync(this.projectRoot, mode);\n }\n\n const config = await this.loadConfigAsync({\n isImageEditingEnabled: true,\n mode,\n });\n\n if (!config.plugins) {\n config.plugins = [];\n }\n\n const bar = createProgressBar(chalk`{bold Web} Bundling Javascript [:bar] :percent`, {\n width: 64,\n total: 100,\n clear: true,\n complete: '=',\n incomplete: ' ',\n });\n\n // NOTE(EvanBacon): Add a progress bar to the webpack logger if defined (e.g. not in CI).\n if (bar != null) {\n config.plugins.push(\n new webpack.ProgressPlugin((percent: number) => {\n bar?.update(percent);\n if (percent === 1) {\n bar?.terminate();\n }\n })\n );\n }\n\n // Create a webpack compiler that is configured with custom messages.\n const compiler = webpack(config);\n\n try {\n await compileAsync(compiler);\n } catch (error: any) {\n Log.error(chalk.red('Failed to compile'));\n throw error;\n } finally {\n bar?.terminate();\n }\n }\n\n protected async startImplementationAsync(\n options: BundlerStartOptions\n ): Promise<DevServerInstance> {\n // Do this first to fail faster.\n const webpack = importWebpackFromProject(this.projectRoot);\n const WebpackDevServer = importWebpackDevServerFromProject(this.projectRoot);\n\n await this.stopAsync();\n\n options.port = await this.getAvailablePortAsync({\n defaultPort: options.port,\n });\n const { resetDevServer, https, port, mode } = options;\n\n this.urlCreator = this.getUrlCreator({\n port,\n location: {\n scheme: https ? 'https' : 'http',\n },\n });\n\n debug('Starting webpack on port: ' + port);\n\n if (resetDevServer) {\n await this.clearWebProjectCacheAsync(this.projectRoot, mode);\n }\n\n if (https) {\n debug('Configuring TLS to enable HTTPS support');\n await ensureEnvironmentSupportsTLSAsync(this.projectRoot).catch((error) => {\n Log.error(`Error creating TLS certificates: ${error}`);\n });\n }\n\n const config = await this.loadConfigAsync(options);\n\n Log.log(chalk`Starting Webpack on port ${port} in {underline ${mode}} mode.`);\n\n // Create a webpack compiler that is configured with custom messages.\n const compiler = webpack(config);\n\n const server = new WebpackDevServer(\n // @ts-expect-error: type mismatch -- Webpack types aren't great.\n compiler,\n config.devServer\n );\n // Launch WebpackDevServer.\n server.listen(port, env.WEB_HOST, function (this: http.Server, error) {\n if (error) {\n Log.error(error.message);\n }\n });\n\n // Extend the close method to ensure that we clean up the local info.\n const originalClose = server.close.bind(server);\n\n server.close = (callback?: (err?: Error) => void) => {\n return originalClose((err?: Error) => {\n this.instance = null;\n callback?.(err);\n });\n };\n\n const _host = getIpAddress();\n const protocol = https ? 'https' : 'http';\n\n return {\n // Server instance\n server,\n // URL Info\n location: {\n url: `${protocol}://${_host}:${port}`,\n port,\n protocol,\n host: _host,\n },\n middleware: null,\n // Match the native protocol.\n messageSocket: {\n broadcast: this.broadcastMessage,\n },\n };\n }\n\n /** Load the Webpack config. Exposed for testing. */\n getProjectConfigFilePath(): string | null {\n // Check if the project has a webpack.config.js in the root.\n return (\n this.getConfigModuleIds().reduce<string | null | undefined>(\n (prev, moduleId) => prev || resolveFrom.silent(this.projectRoot, moduleId),\n null\n ) ?? null\n );\n }\n\n async loadConfigAsync(\n options: Pick<BundlerStartOptions, 'mode' | 'isImageEditingEnabled' | 'https'>,\n argv?: string[]\n ): Promise<WebpackConfiguration> {\n // let bar: ProgressBar | null = null;\n\n const env = {\n projectRoot: this.projectRoot,\n pwa: !!options.isImageEditingEnabled,\n // TODO: Use a new loader in Webpack config...\n logger: {\n info() {},\n },\n mode: options.mode,\n https: options.https,\n };\n setNodeEnv(env.mode ?? 'development');\n require('@expo/env').load(env.projectRoot);\n // Check if the project has a webpack.config.js in the root.\n const projectWebpackConfig = this.getProjectConfigFilePath();\n let config: WebpackConfiguration;\n if (projectWebpackConfig) {\n const webpackConfig = require(projectWebpackConfig);\n if (typeof webpackConfig === 'function') {\n config = await webpackConfig(env, argv);\n } else {\n config = webpackConfig;\n }\n } else {\n // Fallback to the default expo webpack config.\n const loadDefaultConfigAsync = importExpoWebpackConfigFromProject(this.projectRoot);\n // @ts-expect-error: types appear to be broken\n config = await loadDefaultConfigAsync(env, argv);\n }\n return config;\n }\n\n protected getConfigModuleIds(): string[] {\n return ['./webpack.config.js'];\n }\n\n protected async clearWebProjectCacheAsync(\n projectRoot: string,\n mode: string = 'development'\n ): Promise<void> {\n Log.log(chalk.dim(`Clearing Webpack ${mode} cache directory...`));\n\n const dir = await ensureDotExpoProjectDirectoryInitialized(projectRoot);\n const cacheFolder = path.join(dir, 'web/cache', mode);\n try {\n await fs.promises.rm(cacheFolder, { recursive: true, force: true });\n } catch (error: any) {\n Log.error(`Could not clear ${mode} web cache directory: ${error.message}`);\n }\n }\n}\n\nexport function getProjectWebpackConfigFilePath(projectRoot: string) {\n return resolveFrom.silent(projectRoot, './webpack.config.js');\n}\n"],"names":["WebpackBundlerDevServer","getProjectWebpackConfigFilePath","debug","require","assertIsWebpackDevServer","value","sockWrite","sendMessage","CommandError","constructor","name","BundlerDevServer","startTypeScriptServices","broadcastMessage","method","params","instance","server","hackyConvertedMessage","sockets","isTargetingNative","getAvailablePortAsync","options","defaultPort","port","choosePortAsync","projectRoot","host","env","WEB_HOST","error","message","bundleAsync","mode","clear","webpack","importWebpackFromProject","clearWebProjectCacheAsync","config","loadConfigAsync","isImageEditingEnabled","plugins","bar","createProgressBar","chalk","width","total","complete","incomplete","push","ProgressPlugin","percent","update","terminate","compiler","compileAsync","Log","red","startImplementationAsync","WebpackDevServer","importWebpackDevServerFromProject","stopAsync","resetDevServer","https","urlCreator","getUrlCreator","location","scheme","ensureEnvironmentSupportsTLSAsync","catch","log","devServer","listen","originalClose","close","bind","callback","err","_host","getIpAddress","protocol","url","middleware","messageSocket","broadcast","getProjectConfigFilePath","getConfigModuleIds","reduce","prev","moduleId","resolveFrom","silent","argv","pwa","logger","info","setNodeEnv","load","projectWebpackConfig","webpackConfig","loadDefaultConfigAsync","importExpoWebpackConfigFromProject","dim","dir","ensureDotExpoProjectDirectoryInitialized","cacheFolder","path","join","fs","promises","rm","recursive","force"],"mappings":"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"}