@expo/cli 0.18.0 → 0.18.2

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 (653) hide show
  1. package/build/bin/cli +90 -114
  2. package/build/bin/cli.map +1 -1
  3. package/build/src/api/endpoint.js +11 -3
  4. package/build/src/api/endpoint.js.map +1 -1
  5. package/build/src/api/getExpoGoIntermediateCertificate.js +7 -4
  6. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  7. package/build/src/api/getExpoSchema.js +13 -11
  8. package/build/src/api/getExpoSchema.js.map +1 -1
  9. package/build/src/api/getNativeModuleVersions.js +7 -4
  10. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  11. package/build/src/api/getProjectDevelopmentCertificate.js +7 -4
  12. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  13. package/build/src/api/getVersions.js +7 -4
  14. package/build/src/api/getVersions.js.map +1 -1
  15. package/build/src/api/graphql/client.js +55 -35
  16. package/build/src/api/graphql/client.js.map +1 -1
  17. package/build/src/api/graphql/queries/AppQuery.js +9 -7
  18. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  19. package/build/src/api/graphql/queries/UserQuery.js +7 -5
  20. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  21. package/build/src/api/graphql/types/App.js +6 -4
  22. package/build/src/api/graphql/types/App.js.map +1 -1
  23. package/build/src/api/rest/cache/FileSystemCache.js +6 -4
  24. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
  25. package/build/src/api/rest/cache/response.js +4 -1
  26. package/build/src/api/rest/cache/response.js.map +1 -1
  27. package/build/src/api/rest/cache/wrapFetchWithCache.js +21 -12
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  29. package/build/src/api/rest/client.js +36 -29
  30. package/build/src/api/rest/client.js.map +1 -1
  31. package/build/src/api/rest/wrapFetchWithBaseUrl.js +4 -1
  32. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithOffline.js +5 -2
  34. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithProgress.js +40 -19
  36. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProxy.js +7 -4
  38. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  39. package/build/src/api/settings.js +9 -4
  40. package/build/src/api/settings.js.map +1 -1
  41. package/build/src/api/updateDevelopmentSession.js +16 -8
  42. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  43. package/build/src/api/user/UserSettings.js +10 -8
  44. package/build/src/api/user/UserSettings.js.map +1 -1
  45. package/build/src/api/user/actions.js +66 -41
  46. package/build/src/api/user/actions.js.map +1 -1
  47. package/build/src/api/user/expoSsoLauncher.js +46 -25
  48. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  49. package/build/src/api/user/otp.js +70 -50
  50. package/build/src/api/user/otp.js.map +1 -1
  51. package/build/src/api/user/user.js +66 -41
  52. package/build/src/api/user/user.js.map +1 -1
  53. package/build/src/config/configAsync.js +62 -43
  54. package/build/src/config/configAsync.js.map +1 -1
  55. package/build/src/config/index.js +46 -30
  56. package/build/src/config/index.js.map +1 -1
  57. package/build/src/customize/customizeAsync.js +14 -11
  58. package/build/src/customize/customizeAsync.js.map +1 -1
  59. package/build/src/customize/generate.js +61 -46
  60. package/build/src/customize/generate.js.map +1 -1
  61. package/build/src/customize/index.js +10 -8
  62. package/build/src/customize/index.js.map +1 -1
  63. package/build/src/customize/resolveOptions.js +7 -4
  64. package/build/src/customize/resolveOptions.js.map +1 -1
  65. package/build/src/customize/templates.js +31 -34
  66. package/build/src/customize/templates.js.map +1 -1
  67. package/build/src/customize/typescript.js +43 -28
  68. package/build/src/customize/typescript.js.map +1 -1
  69. package/build/src/export/createMetadataJson.js +7 -6
  70. package/build/src/export/createMetadataJson.js.map +1 -1
  71. package/build/src/export/embed/exportEmbedAsync.js +51 -38
  72. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  73. package/build/src/export/embed/index.js +48 -36
  74. package/build/src/export/embed/index.js.map +1 -1
  75. package/build/src/export/embed/resolveOptions.js +7 -4
  76. package/build/src/export/embed/resolveOptions.js.map +1 -1
  77. package/build/src/export/embed/xcodeCompilerLogger.js +20 -8
  78. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  79. package/build/src/export/exportApp.js +84 -67
  80. package/build/src/export/exportApp.js.map +1 -1
  81. package/build/src/export/exportAssets.js +62 -43
  82. package/build/src/export/exportAssets.js.map +1 -1
  83. package/build/src/export/exportAsync.js +47 -26
  84. package/build/src/export/exportAsync.js.map +1 -1
  85. package/build/src/export/exportHermes.js +19 -11
  86. package/build/src/export/exportHermes.js.map +1 -1
  87. package/build/src/export/exportStaticAsync.js +49 -38
  88. package/build/src/export/exportStaticAsync.js.map +1 -1
  89. package/build/src/export/favicon.js +19 -11
  90. package/build/src/export/favicon.js.map +1 -1
  91. package/build/src/export/fork-bundleAsync.js +42 -39
  92. package/build/src/export/fork-bundleAsync.js.map +1 -1
  93. package/build/src/export/getPublicExpoManifest.js +9 -6
  94. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  95. package/build/src/export/getResolvedLocales.js +7 -4
  96. package/build/src/export/getResolvedLocales.js.map +1 -1
  97. package/build/src/export/html.js +12 -4
  98. package/build/src/export/html.js.map +1 -1
  99. package/build/src/export/index.js +49 -33
  100. package/build/src/export/index.js.map +1 -1
  101. package/build/src/export/metroAssetLocalPath.js +22 -6
  102. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  103. package/build/src/export/persistMetroAssets.js +38 -24
  104. package/build/src/export/persistMetroAssets.js.map +1 -1
  105. package/build/src/export/publicFolder.js +15 -7
  106. package/build/src/export/publicFolder.js.map +1 -1
  107. package/build/src/export/resolveOptions.js +19 -15
  108. package/build/src/export/resolveOptions.js.map +1 -1
  109. package/build/src/export/saveAssets.js +42 -38
  110. package/build/src/export/saveAssets.js.map +1 -1
  111. package/build/src/export/web/exportWebAsync.js +15 -12
  112. package/build/src/export/web/exportWebAsync.js.map +1 -1
  113. package/build/src/export/web/index.js +47 -31
  114. package/build/src/export/web/index.js.map +1 -1
  115. package/build/src/export/web/resolveOptions.js +4 -1
  116. package/build/src/export/web/resolveOptions.js.map +1 -1
  117. package/build/src/export/writeContents.js +12 -7
  118. package/build/src/export/writeContents.js.map +1 -1
  119. package/build/src/graphql/generated.js +141 -128
  120. package/build/src/graphql/generated.js.map +1 -1
  121. package/build/src/install/applyPlugins.js +43 -25
  122. package/build/src/install/applyPlugins.js.map +1 -1
  123. package/build/src/install/checkPackages.js +55 -35
  124. package/build/src/install/checkPackages.js.map +1 -1
  125. package/build/src/install/fixPackages.js +52 -35
  126. package/build/src/install/fixPackages.js.map +1 -1
  127. package/build/src/install/index.js +15 -13
  128. package/build/src/install/index.js.map +1 -1
  129. package/build/src/install/installAsync.js +90 -65
  130. package/build/src/install/installAsync.js.map +1 -1
  131. package/build/src/install/installExpoPackage.js +48 -27
  132. package/build/src/install/installExpoPackage.js.map +1 -1
  133. package/build/src/install/resolveOptions.js +8 -5
  134. package/build/src/install/resolveOptions.js.map +1 -1
  135. package/build/src/install/utils/autoAddConfigPlugins.js +15 -7
  136. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  137. package/build/src/lint/ESlintPrerequisite.js +174 -0
  138. package/build/src/lint/ESlintPrerequisite.js.map +1 -0
  139. package/build/src/lint/index.js +66 -0
  140. package/build/src/lint/index.js.map +1 -0
  141. package/build/src/lint/lintAsync.js +33 -0
  142. package/build/src/lint/lintAsync.js.map +1 -0
  143. package/build/src/log.js +20 -14
  144. package/build/src/log.js.map +1 -1
  145. package/build/src/login/index.js +43 -25
  146. package/build/src/login/index.js.map +1 -1
  147. package/build/src/logout/index.js +43 -25
  148. package/build/src/logout/index.js.map +1 -1
  149. package/build/src/prebuild/clearNativeFolder.js +65 -42
  150. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  151. package/build/src/prebuild/configureProjectAsync.js +50 -29
  152. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  153. package/build/src/prebuild/copyTemplateFiles.js +19 -13
  154. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  155. package/build/src/prebuild/ensureConfigAsync.js +54 -28
  156. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  157. package/build/src/prebuild/index.js +52 -38
  158. package/build/src/prebuild/index.js.map +1 -1
  159. package/build/src/prebuild/prebuildAsync.js +68 -51
  160. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  161. package/build/src/prebuild/renameTemplateAppName.js +15 -10
  162. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  163. package/build/src/prebuild/resolveOptions.js +60 -35
  164. package/build/src/prebuild/resolveOptions.js.map +1 -1
  165. package/build/src/prebuild/resolveTemplate.js +66 -40
  166. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  167. package/build/src/prebuild/updateFromTemplate.js +67 -44
  168. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  169. package/build/src/prebuild/updatePackageJson.js +70 -49
  170. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  171. package/build/src/prebuild/validateTemplatePlatforms.js +44 -23
  172. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  173. package/build/src/register/index.js +43 -25
  174. package/build/src/register/index.js.map +1 -1
  175. package/build/src/register/registerAsync.js +14 -11
  176. package/build/src/register/registerAsync.js.map +1 -1
  177. package/build/src/run/android/index.js +47 -31
  178. package/build/src/run/android/index.js.map +1 -1
  179. package/build/src/run/android/resolveDevice.js +9 -6
  180. package/build/src/run/android/resolveDevice.js.map +1 -1
  181. package/build/src/run/android/resolveGradlePropsAsync.js +10 -9
  182. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  183. package/build/src/run/android/resolveInstallApkName.js +14 -12
  184. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  185. package/build/src/run/android/resolveLaunchProps.js +6 -3
  186. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  187. package/build/src/run/android/resolveOptions.js +12 -9
  188. package/build/src/run/android/resolveOptions.js.map +1 -1
  189. package/build/src/run/android/runAndroidAsync.js +27 -24
  190. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  191. package/build/src/run/ensureNativeProject.js +11 -8
  192. package/build/src/run/ensureNativeProject.js.map +1 -1
  193. package/build/src/run/hints.js +15 -7
  194. package/build/src/run/hints.js.map +1 -1
  195. package/build/src/run/index.js +49 -35
  196. package/build/src/run/index.js.map +1 -1
  197. package/build/src/run/ios/XcodeBuild.js +75 -51
  198. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  199. package/build/src/run/ios/appleDevice/AppleDevice.js +31 -24
  200. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  201. package/build/src/run/ios/appleDevice/ClientManager.js +66 -33
  202. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  203. package/build/src/run/ios/appleDevice/client/AFCClient.js +73 -47
  204. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  205. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +53 -26
  206. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  207. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +15 -6
  208. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  209. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +54 -27
  210. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  211. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +56 -30
  212. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  213. package/build/src/run/ios/appleDevice/client/ServiceClient.js +18 -4
  214. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  215. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +22 -13
  216. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  217. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +57 -31
  218. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  219. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +79 -66
  220. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  221. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +28 -14
  222. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  223. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +24 -11
  224. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  225. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +26 -13
  226. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  227. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +23 -10
  228. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  229. package/build/src/run/ios/codeSigning/Security.js +27 -20
  230. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  231. package/build/src/run/ios/codeSigning/configureCodeSigning.js +49 -28
  232. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  233. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +61 -36
  234. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  235. package/build/src/run/ios/codeSigning/settings.js +11 -3
  236. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  237. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +7 -5
  238. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  239. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +14 -8
  240. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  241. package/build/src/run/ios/index.js +50 -34
  242. package/build/src/run/ios/index.js.map +1 -1
  243. package/build/src/run/ios/launchApp.js +52 -31
  244. package/build/src/run/ios/launchApp.js.map +1 -1
  245. package/build/src/run/ios/options/promptDevice.js +17 -13
  246. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  247. package/build/src/run/ios/options/resolveDevice.js +63 -39
  248. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  249. package/build/src/run/ios/options/resolveNativeScheme.js +57 -34
  250. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  251. package/build/src/run/ios/options/resolveOptions.js +15 -12
  252. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  253. package/build/src/run/ios/options/resolveXcodeProject.js +6 -3
  254. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  255. package/build/src/run/ios/runIosAsync.js +63 -42
  256. package/build/src/run/ios/runIosAsync.js.map +1 -1
  257. package/build/src/run/resolveBundlerProps.js +8 -5
  258. package/build/src/run/resolveBundlerProps.js.map +1 -1
  259. package/build/src/run/startBundler.js +47 -26
  260. package/build/src/run/startBundler.js.map +1 -1
  261. package/build/src/start/detectDevClient.js +6 -3
  262. package/build/src/start/detectDevClient.js.map +1 -1
  263. package/build/src/start/doctor/Prerequisite.js +15 -7
  264. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  265. package/build/src/start/doctor/SecurityBinPrerequisite.js +7 -4
  266. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  267. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +44 -23
  268. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  269. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +44 -23
  270. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  271. package/build/src/start/doctor/apple/XcodePrerequisite.js +61 -36
  272. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  273. package/build/src/start/doctor/apple/XcrunPrerequisite.js +15 -12
  274. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  275. package/build/src/start/doctor/dependencies/bundledNativeModules.js +49 -28
  276. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  277. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +98 -53
  278. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  279. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -9
  280. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  281. package/build/src/start/doctor/dependencies/getVersionedPackages.js +23 -15
  282. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  283. package/build/src/start/doctor/dependencies/resolvePackages.js +19 -13
  284. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  285. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +63 -41
  286. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  287. package/build/src/start/doctor/ngrok/ExternalModule.js +64 -39
  288. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  289. package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -5
  290. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  291. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +59 -41
  292. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  293. package/build/src/start/doctor/typescript/updateTSConfig.js +59 -36
  294. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  295. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +57 -31
  296. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  297. package/build/src/start/index.js +56 -42
  298. package/build/src/start/index.js.map +1 -1
  299. package/build/src/start/interface/KeyPressHandler.js +43 -22
  300. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  301. package/build/src/start/interface/commandsTable.js +60 -38
  302. package/build/src/start/interface/commandsTable.js.map +1 -1
  303. package/build/src/start/interface/interactiveActions.js +85 -68
  304. package/build/src/start/interface/interactiveActions.js.map +1 -1
  305. package/build/src/start/interface/startInterface.js +78 -57
  306. package/build/src/start/interface/startInterface.js.map +1 -1
  307. package/build/src/start/platforms/AppIdResolver.js +9 -6
  308. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  309. package/build/src/start/platforms/DeviceManager.js +41 -20
  310. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  311. package/build/src/start/platforms/ExpoGoInstaller.js +55 -35
  312. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  313. package/build/src/start/platforms/PlatformManager.js +19 -17
  314. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  315. package/build/src/start/platforms/android/ADBServer.js +15 -12
  316. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  317. package/build/src/start/platforms/android/AndroidAppIdResolver.js +6 -4
  318. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  319. package/build/src/start/platforms/android/AndroidDeviceManager.js +70 -50
  320. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  321. package/build/src/start/platforms/android/AndroidPlatformManager.js +9 -6
  322. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  323. package/build/src/start/platforms/android/AndroidSdk.js +11 -8
  324. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  325. package/build/src/start/platforms/android/activateWindow.js +43 -22
  326. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  327. package/build/src/start/platforms/android/adb.js +73 -52
  328. package/build/src/start/platforms/android/adb.js.map +1 -1
  329. package/build/src/start/platforms/android/adbReverse.js +57 -31
  330. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  331. package/build/src/start/platforms/android/emulator.js +63 -42
  332. package/build/src/start/platforms/android/emulator.js.map +1 -1
  333. package/build/src/start/platforms/android/getDevices.js +11 -10
  334. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  335. package/build/src/start/platforms/android/gradle.js +18 -11
  336. package/build/src/start/platforms/android/gradle.js.map +1 -1
  337. package/build/src/start/platforms/android/promptAndroidDevice.js +14 -14
  338. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  339. package/build/src/start/platforms/ios/AppleAppIdResolver.js +7 -4
  340. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  341. package/build/src/start/platforms/ios/AppleDeviceManager.js +80 -54
  342. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  343. package/build/src/start/platforms/ios/ApplePlatformManager.js +7 -4
  344. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  345. package/build/src/start/platforms/ios/assertSystemRequirements.js +11 -8
  346. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  347. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +50 -29
  348. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  349. package/build/src/start/platforms/ios/getBestSimulator.js +53 -29
  350. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  351. package/build/src/start/platforms/ios/promptAppleDevice.js +18 -12
  352. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  353. package/build/src/start/platforms/ios/simctl.js +65 -42
  354. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  355. package/build/src/start/platforms/ios/simctlLogging.js +67 -44
  356. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  357. package/build/src/start/platforms/ios/xcrun.js +8 -5
  358. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  359. package/build/src/start/project/devices.js +19 -16
  360. package/build/src/start/project/devices.js.map +1 -1
  361. package/build/src/start/project/dotExpo.js +13 -5
  362. package/build/src/start/project/dotExpo.js.map +1 -1
  363. package/build/src/start/project/settings.js +6 -4
  364. package/build/src/start/project/settings.js.map +1 -1
  365. package/build/src/start/resolveOptions.js +26 -19
  366. package/build/src/start/resolveOptions.js.map +1 -1
  367. package/build/src/start/server/AsyncNgrok.js +66 -46
  368. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  369. package/build/src/start/server/BundlerDevServer.js +64 -44
  370. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  371. package/build/src/start/server/DevServerManager.js +81 -69
  372. package/build/src/start/server/DevServerManager.js.map +1 -1
  373. package/build/src/start/server/DevToolsPluginManager.js +21 -16
  374. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  375. package/build/src/start/server/DevelopmentSession.js +49 -31
  376. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  377. package/build/src/start/server/ReactDevToolsProxy.js +14 -6
  378. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  379. package/build/src/start/server/UrlCreator.js +44 -23
  380. package/build/src/start/server/UrlCreator.js.map +1 -1
  381. package/build/src/start/server/getStaticRenderFunctions.js +46 -34
  382. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  383. package/build/src/start/server/metro/MetroBundlerDevServer.js +135 -108
  384. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  385. package/build/src/start/server/metro/MetroTerminalReporter.js +24 -17
  386. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  387. package/build/src/start/server/metro/TerminalReporter.js +18 -8
  388. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  389. package/build/src/start/server/metro/createExpoMetroResolver.js +31 -20
  390. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  391. package/build/src/start/server/metro/createJResolver.js +76 -51
  392. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  393. package/build/src/start/server/metro/createServerRouteMiddleware.js +22 -14
  394. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  395. package/build/src/start/server/metro/debugging/MessageHandler.js +4 -1
  396. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  397. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +10 -9
  398. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  399. package/build/src/start/server/metro/debugging/createHandlersFactory.js +14 -13
  400. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  401. package/build/src/start/server/metro/debugging/getDebuggerType.js +5 -2
  402. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  403. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +5 -2
  404. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  405. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +5 -2
  406. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -1
  407. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -4
  408. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  409. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +7 -4
  410. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  411. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -4
  412. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  413. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +7 -4
  414. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  415. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -1
  416. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  417. package/build/src/start/server/metro/externals.js +21 -10
  418. package/build/src/start/server/metro/externals.js.map +1 -1
  419. package/build/src/start/server/metro/fetchRouterManifest.js +20 -7
  420. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  421. package/build/src/start/server/metro/formatFileCandidates.js +21 -17
  422. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  423. package/build/src/start/server/metro/getCssModulesFromBundler.js +15 -7
  424. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  425. package/build/src/start/server/metro/instantiateMetro.js +57 -44
  426. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  427. package/build/src/start/server/metro/metroErrorInterface.js +43 -34
  428. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  429. package/build/src/start/server/metro/metroErrors.js +11 -2
  430. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  431. package/build/src/start/server/metro/metroVirtualModules.js +10 -2
  432. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  433. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +5 -2
  434. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  435. package/build/src/start/server/metro/router.js +27 -20
  436. package/build/src/start/server/metro/router.js.map +1 -1
  437. package/build/src/start/server/metro/runServer-fork.js +21 -14
  438. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  439. package/build/src/start/server/metro/serializeHtml.js +7 -7
  440. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  441. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +12 -4
  442. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  443. package/build/src/start/server/metro/withMetroMultiPlatform.js +107 -81
  444. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  445. package/build/src/start/server/metro/withMetroResolvers.js +72 -42
  446. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  447. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
  448. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  449. package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
  450. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  451. package/build/src/start/server/middleware/CreateFileMiddleware.js +13 -5
  452. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  453. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +15 -12
  454. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  455. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +30 -23
  456. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  457. package/build/src/start/server/middleware/ExpoMiddleware.js +47 -21
  458. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  459. package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
  460. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  461. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
  462. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  463. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +23 -16
  464. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  465. package/build/src/start/server/middleware/ManifestMiddleware.js +84 -60
  466. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  467. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +14 -7
  468. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  469. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +47 -26
  470. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  471. package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -8
  472. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  473. package/build/src/start/server/middleware/inspector/JsInspector.js +30 -24
  474. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  475. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +16 -8
  476. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
  477. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
  478. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
  479. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +16 -12
  480. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
  481. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +59 -37
  482. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
  483. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +22 -16
  484. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
  485. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +9 -6
  486. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  487. package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
  488. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  489. package/build/src/start/server/middleware/metroOptions.js +26 -18
  490. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  491. package/build/src/start/server/middleware/mutations.js +11 -4
  492. package/build/src/start/server/middleware/mutations.js.map +1 -1
  493. package/build/src/start/server/middleware/resolveAssets.js +65 -41
  494. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  495. package/build/src/start/server/middleware/resolvePlatform.js +14 -6
  496. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  497. package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
  498. package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
  499. package/build/src/start/server/openPlatforms.js +7 -6
  500. package/build/src/start/server/openPlatforms.js.map +1 -1
  501. package/build/src/start/server/platformBundlers.js +5 -2
  502. package/build/src/start/server/platformBundlers.js.map +1 -1
  503. package/build/src/start/server/serverLogLikeMetro.js +62 -33
  504. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  505. package/build/src/start/server/type-generation/expo-env.js +12 -4
  506. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  507. package/build/src/start/server/type-generation/routes.js +52 -51
  508. package/build/src/start/server/type-generation/routes.js.map +1 -1
  509. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +22 -19
  510. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  511. package/build/src/start/server/type-generation/tsconfig.js +18 -11
  512. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  513. package/build/src/start/server/webTemplate.js +21 -15
  514. package/build/src/start/server/webTemplate.js.map +1 -1
  515. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +81 -56
  516. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  517. package/build/src/start/server/webpack/compile.js +47 -26
  518. package/build/src/start/server/webpack/compile.js.map +1 -1
  519. package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
  520. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  521. package/build/src/start/server/webpack/resolveFromProject.js +13 -5
  522. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  523. package/build/src/start/server/webpack/tls.js +54 -28
  524. package/build/src/start/server/webpack/tls.js.map +1 -1
  525. package/build/src/start/startAsync.js +73 -52
  526. package/build/src/start/startAsync.js.map +1 -1
  527. package/build/src/utils/FileNotifier.js +46 -25
  528. package/build/src/utils/FileNotifier.js.map +1 -1
  529. package/build/src/utils/analytics/getDevClientProperties.js +29 -21
  530. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
  531. package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
  532. package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
  533. package/build/src/utils/analytics/getMetroProperties.js +4 -1
  534. package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
  535. package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
  536. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
  537. package/build/src/utils/ansi.js +5 -2
  538. package/build/src/utils/ansi.js.map +1 -1
  539. package/build/src/utils/args.js +57 -29
  540. package/build/src/utils/args.js.map +1 -1
  541. package/build/src/utils/array.js +16 -9
  542. package/build/src/utils/array.js.map +1 -1
  543. package/build/src/utils/cocoapods.js +77 -53
  544. package/build/src/utils/cocoapods.js.map +1 -1
  545. package/build/src/utils/codesigning.js +80 -58
  546. package/build/src/utils/codesigning.js.map +1 -1
  547. package/build/src/utils/createFileTransform.js +13 -5
  548. package/build/src/utils/createFileTransform.js.map +1 -1
  549. package/build/src/utils/delay.js +13 -6
  550. package/build/src/utils/delay.js.map +1 -1
  551. package/build/src/utils/dir.js +24 -21
  552. package/build/src/utils/dir.js.map +1 -1
  553. package/build/src/utils/downloadAppAsync.js +16 -13
  554. package/build/src/utils/downloadAppAsync.js.map +1 -1
  555. package/build/src/utils/downloadExpoGoAsync.js +26 -20
  556. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  557. package/build/src/utils/editor.js +50 -24
  558. package/build/src/utils/editor.js.map +1 -1
  559. package/build/src/utils/env.js +35 -33
  560. package/build/src/utils/env.js.map +1 -1
  561. package/build/src/utils/errors.js +17 -9
  562. package/build/src/utils/errors.js.map +1 -1
  563. package/build/src/utils/exit.js +10 -7
  564. package/build/src/utils/exit.js.map +1 -1
  565. package/build/src/utils/findUp.js +22 -4
  566. package/build/src/utils/findUp.js.map +1 -1
  567. package/build/src/utils/fn.js +11 -3
  568. package/build/src/utils/fn.js.map +1 -1
  569. package/build/src/utils/getOrPromptApplicationId.js +71 -45
  570. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  571. package/build/src/utils/getRunningProcess.js +52 -26
  572. package/build/src/utils/getRunningProcess.js.map +1 -1
  573. package/build/src/utils/git.js +64 -38
  574. package/build/src/utils/git.js.map +1 -1
  575. package/build/src/utils/glob.js +14 -9
  576. package/build/src/utils/glob.js.map +1 -1
  577. package/build/src/utils/interactive.js +5 -2
  578. package/build/src/utils/interactive.js.map +1 -1
  579. package/build/src/utils/ip.js +5 -2
  580. package/build/src/utils/ip.js.map +1 -1
  581. package/build/src/utils/isModuleSymlinked.js +7 -4
  582. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  583. package/build/src/utils/link.js +13 -5
  584. package/build/src/utils/link.js.map +1 -1
  585. package/build/src/utils/mergeGitIgnorePaths.js +22 -17
  586. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  587. package/build/src/utils/modifyConfigAsync.js +56 -30
  588. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  589. package/build/src/utils/modifyConfigPlugins.js +43 -22
  590. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  591. package/build/src/utils/nodeEnv.js +6 -1
  592. package/build/src/utils/nodeEnv.js.map +1 -1
  593. package/build/src/utils/nodeModules.js +9 -6
  594. package/build/src/utils/nodeModules.js.map +1 -1
  595. package/build/src/utils/npm.js +32 -24
  596. package/build/src/utils/npm.js.map +1 -1
  597. package/build/src/utils/obj.js +12 -4
  598. package/build/src/utils/obj.js.map +1 -1
  599. package/build/src/utils/open.js +7 -4
  600. package/build/src/utils/open.js.map +1 -1
  601. package/build/src/utils/ora.js +25 -21
  602. package/build/src/utils/ora.js.map +1 -1
  603. package/build/src/utils/plist.js +53 -27
  604. package/build/src/utils/plist.js.map +1 -1
  605. package/build/src/utils/port.js +58 -32
  606. package/build/src/utils/port.js.map +1 -1
  607. package/build/src/utils/profile.js +49 -28
  608. package/build/src/utils/profile.js.map +1 -1
  609. package/build/src/utils/progress.js +16 -12
  610. package/build/src/utils/progress.js.map +1 -1
  611. package/build/src/utils/prompts.js +33 -28
  612. package/build/src/utils/prompts.js.map +1 -1
  613. package/build/src/utils/resolveArgs.js +23 -20
  614. package/build/src/utils/resolveArgs.js.map +1 -1
  615. package/build/src/utils/scheme.js +61 -37
  616. package/build/src/utils/scheme.js.map +1 -1
  617. package/build/src/utils/strings.js +11 -4
  618. package/build/src/utils/strings.js.map +1 -1
  619. package/build/src/utils/tar.js +43 -22
  620. package/build/src/utils/tar.js.map +1 -1
  621. package/build/src/utils/telemetry/DetachedClient.js +8 -5
  622. package/build/src/utils/telemetry/DetachedClient.js.map +1 -1
  623. package/build/src/utils/telemetry/RudderClient.js +12 -9
  624. package/build/src/utils/telemetry/RudderClient.js.map +1 -1
  625. package/build/src/utils/telemetry/flushDetached.js +8 -7
  626. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  627. package/build/src/utils/telemetry/getContext.js +48 -28
  628. package/build/src/utils/telemetry/getContext.js.map +1 -1
  629. package/build/src/utils/telemetry/index.js +16 -11
  630. package/build/src/utils/telemetry/index.js.map +1 -1
  631. package/build/src/utils/template.js +27 -2
  632. package/build/src/utils/template.js.map +1 -1
  633. package/build/src/utils/terminal.js +5 -2
  634. package/build/src/utils/terminal.js.map +1 -1
  635. package/build/src/utils/tsconfig/evaluateTsConfig.js +18 -12
  636. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  637. package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -10
  638. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  639. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
  640. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  641. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -9
  642. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  643. package/build/src/utils/url.js +17 -10
  644. package/build/src/utils/url.js.map +1 -1
  645. package/build/src/utils/validateApplicationId.js +32 -25
  646. package/build/src/utils/validateApplicationId.js.map +1 -1
  647. package/build/src/utils/variadic.js +15 -11
  648. package/build/src/utils/variadic.js.map +1 -1
  649. package/build/src/whoami/index.js +43 -25
  650. package/build/src/whoami/index.js.map +1 -1
  651. package/build/src/whoami/whoamiAsync.js +44 -23
  652. package/build/src/whoami/whoamiAsync.js.map +1 -1
  653. package/package.json +4 -4
@@ -1 +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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"}
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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"}
@@ -2,8 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.createTemplateHtmlFromExpoConfigAsync = createTemplateHtmlFromExpoConfigAsync;
6
- exports.createTemplateHtmlAsync = createTemplateHtmlAsync;
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
+ });
7
15
  function _config() {
8
16
  const data = require("@expo/config");
9
17
  _config = function() {
@@ -12,28 +20,28 @@ function _config() {
12
20
  return data;
13
21
  }
14
22
  function _fs() {
15
- const data = _interopRequireDefault(require("fs"));
23
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
16
24
  _fs = function() {
17
25
  return data;
18
26
  };
19
27
  return data;
20
28
  }
21
29
  function _path() {
22
- const data = _interopRequireDefault(require("path"));
30
+ const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
23
31
  _path = function() {
24
32
  return data;
25
33
  };
26
34
  return data;
27
35
  }
28
- var _templates = require("../../customize/templates");
29
- var _html = require("../../export/html");
30
- var _env = require("../../utils/env");
36
+ const _templates = require("../../customize/templates");
37
+ const _html = require("../../export/html");
38
+ const _env = require("../../utils/env");
31
39
  function _interopRequireDefault(obj) {
32
40
  return obj && obj.__esModule ? obj : {
33
41
  default: obj
34
42
  };
35
43
  }
36
- async function createTemplateHtmlFromExpoConfigAsync(projectRoot, { scripts , cssLinks , exp =_config().getConfig(projectRoot, {
44
+ async function createTemplateHtmlFromExpoConfigAsync(projectRoot, { scripts , cssLinks , exp =(0, _config().getConfig)(projectRoot, {
37
45
  skipSDKVersionRequirement: true
38
46
  }).exp }) {
39
47
  var ref, ref1, ref2;
@@ -42,7 +50,7 @@ async function createTemplateHtmlFromExpoConfigAsync(projectRoot, { scripts , cs
42
50
  langIsoCode: (ref3 = (ref = exp.web) == null ? void 0 : ref.lang) != null ? ref3 : "en",
43
51
  scripts,
44
52
  cssLinks,
45
- title: (_webName = _config().getNameFromConfig(exp).webName) != null ? _webName : "Expo App",
53
+ title: (_webName = (0, _config().getNameFromConfig)(exp).webName) != null ? _webName : "Expo App",
46
54
  description: (ref1 = exp.web) == null ? void 0 : ref1.description,
47
55
  themeColor: (ref2 = exp.web) == null ? void 0 : ref2.themeColor
48
56
  });
@@ -61,8 +69,7 @@ function getFileFromLocalPublicFolder(projectRoot, { publicFolder , filePath })
61
69
  filePath: "index.html"
62
70
  });
63
71
  if (!filePath) {
64
- filePath = _templates.TEMPLATES.find((value)=>value.id === "index.html"
65
- ).file(projectRoot);
72
+ filePath = _templates.TEMPLATES.find((value)=>value.id === "index.html").file(projectRoot);
66
73
  }
67
74
  return _fs().default.promises.readFile(filePath, "utf8");
68
75
  }
@@ -71,9 +78,9 @@ async function createTemplateHtmlAsync(projectRoot, { scripts , cssLinks , descr
71
78
  let contents = await getTemplateIndexHtmlAsync(projectRoot);
72
79
  contents = contents.replace("%LANG_ISO_CODE%", langIsoCode);
73
80
  contents = contents.replace("%WEB_TITLE%", title);
74
- contents = (0, _html).appendScriptsToHtml(contents, scripts);
81
+ contents = (0, _html.appendScriptsToHtml)(contents, scripts);
75
82
  if (cssLinks) {
76
- contents = (0, _html).appendLinkToHtml(contents, cssLinks.map((href)=>[
83
+ contents = (0, _html.appendLinkToHtml)(contents, cssLinks.map((href)=>[
77
84
  // NOTE: We probably don't have to preload the CSS files for SPA-styled websites.
78
85
  {
79
86
  as: "style",
@@ -84,8 +91,7 @@ async function createTemplateHtmlAsync(projectRoot, { scripts , cssLinks , descr
84
91
  rel: "stylesheet",
85
92
  href
86
93
  },
87
- ]
88
- ).flat());
94
+ ]).flat());
89
95
  }
90
96
  if (themeColor) {
91
97
  contents = addMeta(contents, `name="theme-color" content="${themeColor}"`);
@@ -1 +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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"}
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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"}
@@ -2,72 +2,99 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.getProjectWebpackConfigFilePath = getProjectWebpackConfigFilePath;
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
+ });
6
15
  function _chalk() {
7
- const data = _interopRequireDefault(require("chalk"));
16
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
8
17
  _chalk = function() {
9
18
  return data;
10
19
  };
11
20
  return data;
12
21
  }
13
22
  function _fs() {
14
- const data = _interopRequireDefault(require("fs"));
23
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
15
24
  _fs = function() {
16
25
  return data;
17
26
  };
18
27
  return data;
19
28
  }
20
- function path() {
21
- const data = _interopRequireWildcard(require("path"));
22
- path = function() {
29
+ function _path() {
30
+ const data = /*#__PURE__*/ _interopRequireWildcard(require("path"));
31
+ _path = function() {
23
32
  return data;
24
33
  };
25
34
  return data;
26
35
  }
27
36
  function _resolveFrom() {
28
- const data = _interopRequireDefault(require("resolve-from"));
37
+ const data = /*#__PURE__*/ _interopRequireDefault(require("resolve-from"));
29
38
  _resolveFrom = function() {
30
39
  return data;
31
40
  };
32
41
  return data;
33
42
  }
34
- var _compile = require("./compile");
35
- var _resolveFromProject = require("./resolveFromProject");
36
- var _tls = require("./tls");
37
- var Log = _interopRequireWildcard(require("../../../log"));
38
- var _env = require("../../../utils/env");
39
- var _errors = require("../../../utils/errors");
40
- var _ip = require("../../../utils/ip");
41
- var _nodeEnv = require("../../../utils/nodeEnv");
42
- var _port = require("../../../utils/port");
43
- var _progress = require("../../../utils/progress");
44
- var _dotExpo = require("../../project/dotExpo");
45
- var _bundlerDevServer = require("../BundlerDevServer");
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");
46
55
  function _interopRequireDefault(obj) {
47
56
  return obj && obj.__esModule ? obj : {
48
57
  default: obj
49
58
  };
50
59
  }
51
- function _interopRequireWildcard(obj) {
52
- if (obj && obj.__esModule) {
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) {
53
70
  return obj;
54
- } else {
55
- var newObj = {};
56
- if (obj != null) {
57
- for(var key in obj){
58
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
59
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
60
- if (desc.get || desc.set) {
61
- Object.defineProperty(newObj, key, desc);
62
- } else {
63
- newObj[key] = obj[key];
64
- }
65
- }
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];
66
90
  }
67
91
  }
68
- newObj.default = obj;
69
- return newObj;
70
92
  }
93
+ newObj.default = obj;
94
+ if (cache) {
95
+ cache.set(obj, newObj);
96
+ }
97
+ return newObj;
71
98
  }
72
99
  const debug = require("debug")("expo:start:server:webpack:devServer");
73
100
  function assertIsWebpackDevServer(value) {
@@ -108,7 +135,7 @@ class WebpackBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
108
135
  try {
109
136
  var ref;
110
137
  const defaultPort = (ref = options == null ? void 0 : options.defaultPort) != null ? ref : 19006;
111
- const port = await (0, _port).choosePortAsync(this.projectRoot, {
138
+ const port = await (0, _port.choosePortAsync)(this.projectRoot, {
112
139
  defaultPort,
113
140
  host: _env.env.WEB_HOST
114
141
  });
@@ -122,7 +149,7 @@ class WebpackBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
122
149
  }
123
150
  async bundleAsync({ mode , clear }) {
124
151
  // Do this first to fail faster.
125
- const webpack = (0, _resolveFromProject).importWebpackFromProject(this.projectRoot);
152
+ const webpack = (0, _resolveFromProject.importWebpackFromProject)(this.projectRoot);
126
153
  if (clear) {
127
154
  await this.clearWebProjectCacheAsync(this.projectRoot, mode);
128
155
  }
@@ -133,7 +160,7 @@ class WebpackBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
133
160
  if (!config.plugins) {
134
161
  config.plugins = [];
135
162
  }
136
- const bar = (0, _progress).createProgressBar(_chalk().default`{bold Web} Bundling Javascript [:bar] :percent`, {
163
+ const bar = (0, _progress.createProgressBar)((0, _chalk().default)`{bold Web} Bundling Javascript [:bar] :percent`, {
137
164
  width: 64,
138
165
  total: 100,
139
166
  clear: true,
@@ -152,9 +179,9 @@ class WebpackBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
152
179
  // Create a webpack compiler that is configured with custom messages.
153
180
  const compiler = webpack(config);
154
181
  try {
155
- await (0, _compile).compileAsync(compiler);
182
+ await (0, _compile.compileAsync)(compiler);
156
183
  } catch (error) {
157
- Log.error(_chalk().default.red("Failed to compile"));
184
+ _log.error(_chalk().default.red("Failed to compile"));
158
185
  throw error;
159
186
  } finally{
160
187
  bar == null ? void 0 : bar.terminate();
@@ -162,8 +189,8 @@ class WebpackBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
162
189
  }
163
190
  async startImplementationAsync(options) {
164
191
  // Do this first to fail faster.
165
- const webpack = (0, _resolveFromProject).importWebpackFromProject(this.projectRoot);
166
- const WebpackDevServer = (0, _resolveFromProject).importWebpackDevServerFromProject(this.projectRoot);
192
+ const webpack = (0, _resolveFromProject.importWebpackFromProject)(this.projectRoot);
193
+ const WebpackDevServer = (0, _resolveFromProject.importWebpackDevServerFromProject)(this.projectRoot);
167
194
  await this.stopAsync();
168
195
  options.port = await this.getAvailablePortAsync({
169
196
  defaultPort: options.port
@@ -181,12 +208,12 @@ class WebpackBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
181
208
  }
182
209
  if (https) {
183
210
  debug("Configuring TLS to enable HTTPS support");
184
- await (0, _tls).ensureEnvironmentSupportsTLSAsync(this.projectRoot).catch((error)=>{
185
- Log.error(`Error creating TLS certificates: ${error}`);
211
+ await (0, _tls.ensureEnvironmentSupportsTLSAsync)(this.projectRoot).catch((error)=>{
212
+ _log.error(`Error creating TLS certificates: ${error}`);
186
213
  });
187
214
  }
188
215
  const config = await this.loadConfigAsync(options);
189
- Log.log(_chalk().default`Starting Webpack on port ${port} in {underline ${mode}} mode.`);
216
+ _log.log((0, _chalk().default)`Starting Webpack on port ${port} in {underline ${mode}} mode.`);
190
217
  // Create a webpack compiler that is configured with custom messages.
191
218
  const compiler = webpack(config);
192
219
  const server = new WebpackDevServer(// @ts-expect-error: type mismatch -- Webpack types aren't great.
@@ -194,7 +221,7 @@ class WebpackBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
194
221
  // Launch WebpackDevServer.
195
222
  server.listen(port, _env.env.WEB_HOST, function(error) {
196
223
  if (error) {
197
- Log.error(error.message);
224
+ _log.error(error.message);
198
225
  }
199
226
  });
200
227
  // Extend the close method to ensure that we clean up the local info.
@@ -205,7 +232,7 @@ class WebpackBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
205
232
  callback == null ? void 0 : callback(err);
206
233
  });
207
234
  };
208
- const _host = (0, _ip).getIpAddress();
235
+ const _host = (0, _ip.getIpAddress)();
209
236
  const protocol = https ? "https" : "http";
210
237
  return {
211
238
  // Server instance
@@ -227,8 +254,7 @@ class WebpackBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
227
254
  /** Load the Webpack config. Exposed for testing. */ getProjectConfigFilePath() {
228
255
  var ref;
229
256
  // Check if the project has a webpack.config.js in the root.
230
- return (ref = this.getConfigModuleIds().reduce((prev, moduleId)=>prev || _resolveFrom().default.silent(this.projectRoot, moduleId)
231
- , null)) != null ? ref : null;
257
+ return (ref = this.getConfigModuleIds().reduce((prev, moduleId)=>prev || _resolveFrom().default.silent(this.projectRoot, moduleId), null)) != null ? ref : null;
232
258
  }
233
259
  async loadConfigAsync(options, argv) {
234
260
  // let bar: ProgressBar | null = null;
@@ -243,7 +269,7 @@ class WebpackBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
243
269
  https: options.https
244
270
  };
245
271
  var _mode;
246
- (0, _nodeEnv).setNodeEnv((_mode = env.mode) != null ? _mode : "development");
272
+ (0, _nodeEnv.setNodeEnv)((_mode = env.mode) != null ? _mode : "development");
247
273
  require("@expo/env").load(env.projectRoot);
248
274
  // Check if the project has a webpack.config.js in the root.
249
275
  const projectWebpackConfig = this.getProjectConfigFilePath();
@@ -257,7 +283,7 @@ class WebpackBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
257
283
  }
258
284
  } else {
259
285
  // Fallback to the default expo webpack config.
260
- const loadDefaultConfigAsync = (0, _resolveFromProject).importExpoWebpackConfigFromProject(this.projectRoot);
286
+ const loadDefaultConfigAsync = (0, _resolveFromProject.importExpoWebpackConfigFromProject)(this.projectRoot);
261
287
  // @ts-expect-error: types appear to be broken
262
288
  config = await loadDefaultConfigAsync(env, argv);
263
289
  }
@@ -269,20 +295,19 @@ class WebpackBundlerDevServer extends _bundlerDevServer.BundlerDevServer {
269
295
  ];
270
296
  }
271
297
  async clearWebProjectCacheAsync(projectRoot, mode = "development") {
272
- Log.log(_chalk().default.dim(`Clearing Webpack ${mode} cache directory...`));
273
- const dir = await (0, _dotExpo).ensureDotExpoProjectDirectoryInitialized(projectRoot);
274
- const cacheFolder = path().join(dir, "web/cache", mode);
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);
275
301
  try {
276
302
  await _fs().default.promises.rm(cacheFolder, {
277
303
  recursive: true,
278
304
  force: true
279
305
  });
280
306
  } catch (error) {
281
- Log.error(`Could not clear ${mode} web cache directory: ${error.message}`);
307
+ _log.error(`Could not clear ${mode} web cache directory: ${error.message}`);
282
308
  }
283
309
  }
284
310
  }
285
- exports.WebpackBundlerDevServer = WebpackBundlerDevServer;
286
311
  function getProjectWebpackConfigFilePath(projectRoot) {
287
312
  return _resolveFrom().default.silent(projectRoot, "./webpack.config.js");
288
313
  }
@@ -1 +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":["getProjectWebpackConfigFilePath","path","Log","debug","require","assertIsWebpackDevServer","value","sockWrite","sendMessage","CommandError","constructor","name","WebpackBundlerDevServer","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","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","join","fs","promises","rm","recursive","force"],"mappings":"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"}
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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"}