@expo/cli 0.22.24 → 0.22.25

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 (722) hide show
  1. package/build/bin/cli +93 -91
  2. package/build/bin/cli.map +1 -1
  3. package/build/metro-require/require.js +53 -52
  4. package/build/src/api/endpoint.js +6 -2
  5. package/build/src/api/endpoint.js.map +1 -1
  6. package/build/src/api/getExpoGoIntermediateCertificate.js +5 -3
  7. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  8. package/build/src/api/getExpoSchema.js +16 -12
  9. package/build/src/api/getExpoSchema.js.map +1 -1
  10. package/build/src/api/getNativeModuleVersions.js +6 -4
  11. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  12. package/build/src/api/getProjectDevelopmentCertificate.js +5 -3
  13. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  14. package/build/src/api/getVersions.js +7 -5
  15. package/build/src/api/getVersions.js.map +1 -1
  16. package/build/src/api/graphql/client.js +32 -26
  17. package/build/src/api/graphql/client.js.map +1 -1
  18. package/build/src/api/graphql/queries/AppQuery.js +6 -4
  19. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  20. package/build/src/api/graphql/queries/UserQuery.js +5 -3
  21. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  22. package/build/src/api/graphql/types/App.js +3 -1
  23. package/build/src/api/graphql/types/App.js.map +1 -1
  24. package/build/src/api/rest/cache/FileSystemResponseCache.js +10 -8
  25. package/build/src/api/rest/cache/FileSystemResponseCache.js.map +1 -1
  26. package/build/src/api/rest/cache/ResponseCache.js +20 -12
  27. package/build/src/api/rest/cache/ResponseCache.js.map +1 -1
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js +13 -11
  29. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  30. package/build/src/api/rest/client.js +53 -35
  31. package/build/src/api/rest/client.js.map +1 -1
  32. package/build/src/api/rest/client.types.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithBaseUrl.js +5 -3
  34. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithOffline.js +5 -3
  36. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProgress.js +11 -7
  38. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  39. package/build/src/api/rest/wrapFetchWithProxy.js +5 -3
  40. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  41. package/build/src/api/rest/wrapFetchWithUserAgent.js +8 -6
  42. package/build/src/api/rest/wrapFetchWithUserAgent.js.map +1 -1
  43. package/build/src/api/settings.js +7 -5
  44. package/build/src/api/settings.js.map +1 -1
  45. package/build/src/api/updateDevelopmentSession.js +23 -17
  46. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  47. package/build/src/api/user/UserSettings.js +39 -21
  48. package/build/src/api/user/UserSettings.js.map +1 -1
  49. package/build/src/api/user/actions.js +27 -21
  50. package/build/src/api/user/actions.js.map +1 -1
  51. package/build/src/api/user/expoSsoLauncher.js +30 -26
  52. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  53. package/build/src/api/user/otp.js +35 -29
  54. package/build/src/api/user/otp.js.map +1 -1
  55. package/build/src/api/user/user.js +44 -30
  56. package/build/src/api/user/user.js.map +1 -1
  57. package/build/src/config/configAsync.js +29 -23
  58. package/build/src/config/configAsync.js.map +1 -1
  59. package/build/src/config/index.js +25 -21
  60. package/build/src/config/index.js.map +1 -1
  61. package/build/src/customize/customizeAsync.js +8 -6
  62. package/build/src/customize/customizeAsync.js.map +1 -1
  63. package/build/src/customize/generate.js +20 -16
  64. package/build/src/customize/generate.js.map +1 -1
  65. package/build/src/customize/index.js +14 -12
  66. package/build/src/customize/index.js.map +1 -1
  67. package/build/src/customize/resolveOptions.js +4 -2
  68. package/build/src/customize/resolveOptions.js.map +1 -1
  69. package/build/src/customize/templates.js +58 -54
  70. package/build/src/customize/templates.js.map +1 -1
  71. package/build/src/customize/typescript.js +11 -7
  72. package/build/src/customize/typescript.js.map +1 -1
  73. package/build/src/export/createMetadataJson.js +11 -9
  74. package/build/src/export/createMetadataJson.js.map +1 -1
  75. package/build/src/export/embed/exportEager.js +8 -6
  76. package/build/src/export/embed/exportEager.js.map +1 -1
  77. package/build/src/export/embed/exportEmbedAsync.js +71 -61
  78. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  79. package/build/src/export/embed/exportServer.js +57 -55
  80. package/build/src/export/embed/exportServer.js.map +1 -1
  81. package/build/src/export/embed/index.js +44 -40
  82. package/build/src/export/embed/index.js.map +1 -1
  83. package/build/src/export/embed/resolveOptions.js +44 -36
  84. package/build/src/export/embed/resolveOptions.js.map +1 -1
  85. package/build/src/export/embed/xcodeCompilerLogger.js +39 -27
  86. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  87. package/build/src/export/exportApp.js +67 -63
  88. package/build/src/export/exportApp.js.map +1 -1
  89. package/build/src/export/exportAssets.js +35 -27
  90. package/build/src/export/exportAssets.js.map +1 -1
  91. package/build/src/export/exportAsync.js +13 -9
  92. package/build/src/export/exportAsync.js.map +1 -1
  93. package/build/src/export/exportDomComponents.js +53 -45
  94. package/build/src/export/exportDomComponents.js.map +1 -1
  95. package/build/src/export/exportHermes.js +85 -63
  96. package/build/src/export/exportHermes.js.map +1 -1
  97. package/build/src/export/exportStaticAsync.js +72 -62
  98. package/build/src/export/exportStaticAsync.js.map +1 -1
  99. package/build/src/export/favicon.js +33 -27
  100. package/build/src/export/favicon.js.map +1 -1
  101. package/build/src/export/getPublicExpoManifest.js +7 -5
  102. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  103. package/build/src/export/getResolvedLocales.js +11 -9
  104. package/build/src/export/getResolvedLocales.js.map +1 -1
  105. package/build/src/export/html.js +10 -6
  106. package/build/src/export/html.js.map +1 -1
  107. package/build/src/export/index.js +32 -28
  108. package/build/src/export/index.js.map +1 -1
  109. package/build/src/export/metroAssetLocalPath.js +36 -30
  110. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  111. package/build/src/export/persistMetroAssets.js +42 -34
  112. package/build/src/export/persistMetroAssets.js.map +1 -1
  113. package/build/src/export/publicFolder.js +10 -6
  114. package/build/src/export/publicFolder.js.map +1 -1
  115. package/build/src/export/resolveOptions.js +28 -24
  116. package/build/src/export/resolveOptions.js.map +1 -1
  117. package/build/src/export/saveAssets.js +50 -46
  118. package/build/src/export/saveAssets.js.map +1 -1
  119. package/build/src/export/web/exportWebAsync.js +13 -11
  120. package/build/src/export/web/exportWebAsync.js.map +1 -1
  121. package/build/src/export/web/index.js +19 -15
  122. package/build/src/export/web/index.js.map +1 -1
  123. package/build/src/export/web/resolveOptions.js +5 -3
  124. package/build/src/export/web/resolveOptions.js.map +1 -1
  125. package/build/src/export/writeContents.js +4 -2
  126. package/build/src/export/writeContents.js.map +1 -1
  127. package/build/src/graphql/generated.js +400 -274
  128. package/build/src/graphql/generated.js.map +1 -1
  129. package/build/src/install/applyPlugins.js +11 -7
  130. package/build/src/install/applyPlugins.js.map +1 -1
  131. package/build/src/install/checkPackages.js +26 -22
  132. package/build/src/install/checkPackages.js.map +1 -1
  133. package/build/src/install/fixPackages.js +16 -12
  134. package/build/src/install/fixPackages.js.map +1 -1
  135. package/build/src/install/index.js +18 -16
  136. package/build/src/install/index.js.map +1 -1
  137. package/build/src/install/installAsync.js +32 -26
  138. package/build/src/install/installAsync.js.map +1 -1
  139. package/build/src/install/installExpoPackage.js +22 -18
  140. package/build/src/install/installExpoPackage.js.map +1 -1
  141. package/build/src/install/resolveOptions.js +21 -19
  142. package/build/src/install/resolveOptions.js.map +1 -1
  143. package/build/src/install/utils/autoAddConfigPlugins.js +18 -14
  144. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  145. package/build/src/install/utils/checkPackagesCompatibility.js +13 -11
  146. package/build/src/install/utils/checkPackagesCompatibility.js.map +1 -1
  147. package/build/src/lint/ESlintPrerequisite.js +50 -44
  148. package/build/src/lint/ESlintPrerequisite.js.map +1 -1
  149. package/build/src/lint/index.js +12 -8
  150. package/build/src/lint/index.js.map +1 -1
  151. package/build/src/lint/lintAsync.js +10 -8
  152. package/build/src/lint/lintAsync.js.map +1 -1
  153. package/build/src/log.js +36 -16
  154. package/build/src/log.js.map +1 -1
  155. package/build/src/login/index.js +24 -20
  156. package/build/src/login/index.js.map +1 -1
  157. package/build/src/logout/index.js +11 -7
  158. package/build/src/logout/index.js.map +1 -1
  159. package/build/src/prebuild/clearNativeFolder.js +38 -26
  160. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  161. package/build/src/prebuild/configureProjectAsync.js +18 -14
  162. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  163. package/build/src/prebuild/copyTemplateFiles.js +17 -13
  164. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  165. package/build/src/prebuild/ensureConfigAsync.js +6 -4
  166. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  167. package/build/src/prebuild/index.js +36 -32
  168. package/build/src/prebuild/index.js.map +1 -1
  169. package/build/src/prebuild/prebuildAsync.js +29 -25
  170. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  171. package/build/src/prebuild/renameTemplateAppName.js +46 -40
  172. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  173. package/build/src/prebuild/resolveOptions.js +66 -52
  174. package/build/src/prebuild/resolveOptions.js.map +1 -1
  175. package/build/src/prebuild/resolveTemplate.js +36 -32
  176. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  177. package/build/src/prebuild/updateFromTemplate.js +19 -13
  178. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  179. package/build/src/prebuild/updatePackageJson.js +53 -39
  180. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  181. package/build/src/prebuild/validateTemplatePlatforms.js +12 -8
  182. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  183. package/build/src/register/index.js +11 -7
  184. package/build/src/register/index.js.map +1 -1
  185. package/build/src/register/registerAsync.js +5 -3
  186. package/build/src/register/registerAsync.js.map +1 -1
  187. package/build/src/run/android/index.js +36 -32
  188. package/build/src/run/android/index.js.map +1 -1
  189. package/build/src/run/android/resolveDevice.js +10 -8
  190. package/build/src/run/android/resolveDevice.js.map +1 -1
  191. package/build/src/run/android/resolveGradlePropsAsync.js +18 -16
  192. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  193. package/build/src/run/android/resolveInstallApkName.js +17 -15
  194. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  195. package/build/src/run/android/resolveLaunchProps.js +12 -10
  196. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  197. package/build/src/run/android/resolveOptions.js +4 -2
  198. package/build/src/run/android/resolveOptions.js.map +1 -1
  199. package/build/src/run/android/runAndroidAsync.js +23 -21
  200. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  201. package/build/src/run/ensureNativeProject.js +7 -5
  202. package/build/src/run/ensureNativeProject.js.map +1 -1
  203. package/build/src/run/hints.js +13 -7
  204. package/build/src/run/hints.js.map +1 -1
  205. package/build/src/run/index.js +27 -23
  206. package/build/src/run/index.js.map +1 -1
  207. package/build/src/run/ios/XcodeBuild.js +74 -56
  208. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  209. package/build/src/run/ios/XcodeBuild.types.js.map +1 -1
  210. package/build/src/run/ios/appleDevice/AppleDevice.js +69 -63
  211. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  212. package/build/src/run/ios/appleDevice/ClientManager.js +29 -26
  213. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  214. package/build/src/run/ios/appleDevice/client/AFCClient.js +28 -25
  215. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  216. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +29 -26
  217. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  218. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +22 -21
  219. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  220. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +32 -29
  221. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  222. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +28 -24
  223. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  224. package/build/src/run/ios/appleDevice/client/ServiceClient.js +7 -4
  225. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  226. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +28 -27
  227. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  228. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +23 -17
  229. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  230. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +146 -132
  231. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  232. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +29 -21
  233. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  234. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +29 -21
  235. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  236. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +34 -22
  237. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  238. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +27 -17
  239. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  240. package/build/src/run/ios/codeSigning/Security.js +53 -39
  241. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  242. package/build/src/run/ios/codeSigning/configureCodeSigning.js +13 -9
  243. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  244. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +27 -19
  245. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  246. package/build/src/run/ios/codeSigning/settings.js +9 -5
  247. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  248. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +14 -12
  249. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  250. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +27 -21
  251. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  252. package/build/src/run/ios/index.js +40 -36
  253. package/build/src/run/ios/index.js.map +1 -1
  254. package/build/src/run/ios/launchApp.js +23 -17
  255. package/build/src/run/ios/launchApp.js.map +1 -1
  256. package/build/src/run/ios/options/appleDestinations.js +38 -36
  257. package/build/src/run/ios/options/appleDestinations.js.map +1 -1
  258. package/build/src/run/ios/options/promptDevice.js +20 -16
  259. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  260. package/build/src/run/ios/options/resolveDevice.js +30 -24
  261. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  262. package/build/src/run/ios/options/resolveNativeScheme.js +31 -23
  263. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  264. package/build/src/run/ios/options/resolveOptions.js +7 -5
  265. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  266. package/build/src/run/ios/options/resolveXcodeProject.js +7 -5
  267. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  268. package/build/src/run/ios/runIosAsync.js +48 -44
  269. package/build/src/run/ios/runIosAsync.js.map +1 -1
  270. package/build/src/run/ios/validateExternalBinary.js +24 -22
  271. package/build/src/run/ios/validateExternalBinary.js.map +1 -1
  272. package/build/src/run/resolveBundlerProps.js +4 -2
  273. package/build/src/run/resolveBundlerProps.js.map +1 -1
  274. package/build/src/run/startBundler.js +16 -12
  275. package/build/src/run/startBundler.js.map +1 -1
  276. package/build/src/serve/index.js +20 -16
  277. package/build/src/serve/index.js.map +1 -1
  278. package/build/src/serve/serveAsync.js +36 -32
  279. package/build/src/serve/serveAsync.js.map +1 -1
  280. package/build/src/start/detectDevClient.js +13 -9
  281. package/build/src/start/detectDevClient.js.map +1 -1
  282. package/build/src/start/doctor/Prerequisite.js +12 -7
  283. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  284. package/build/src/start/doctor/SecurityBinPrerequisite.js +13 -11
  285. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  286. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +23 -19
  287. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  288. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +23 -19
  289. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  290. package/build/src/start/doctor/apple/XcodePrerequisite.js +51 -45
  291. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  292. package/build/src/start/doctor/apple/XcrunPrerequisite.js +18 -16
  293. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  294. package/build/src/start/doctor/dependencies/bundledNativeModules.js +23 -19
  295. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  296. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +31 -25
  297. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  298. package/build/src/start/doctor/dependencies/getMissingPackages.js +25 -17
  299. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  300. package/build/src/start/doctor/dependencies/getVersionedPackages.js +40 -32
  301. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  302. package/build/src/start/doctor/dependencies/resolvePackages.js +32 -26
  303. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  304. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +41 -31
  305. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  306. package/build/src/start/doctor/ngrok/ExternalModule.js +34 -29
  307. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  308. package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -8
  309. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  310. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +32 -28
  311. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  312. package/build/src/start/doctor/typescript/updateTSConfig.js +23 -17
  313. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  314. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +33 -27
  315. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  316. package/build/src/start/index.js +46 -42
  317. package/build/src/start/index.js.map +1 -1
  318. package/build/src/start/interface/KeyPressHandler.js +18 -14
  319. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  320. package/build/src/start/interface/commandsTable.js +94 -80
  321. package/build/src/start/interface/commandsTable.js.map +1 -1
  322. package/build/src/start/interface/interactiveActions.js +44 -40
  323. package/build/src/start/interface/interactiveActions.js.map +1 -1
  324. package/build/src/start/interface/startInterface.js +65 -61
  325. package/build/src/start/interface/startInterface.js.map +1 -1
  326. package/build/src/start/platforms/AppIdResolver.js +6 -4
  327. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  328. package/build/src/start/platforms/DeviceManager.js +10 -6
  329. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  330. package/build/src/start/platforms/ExpoGoInstaller.js +25 -20
  331. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  332. package/build/src/start/platforms/PlatformManager.js +17 -15
  333. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  334. package/build/src/start/platforms/android/ADBServer.js +39 -35
  335. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  336. package/build/src/start/platforms/android/AndroidAppIdResolver.js +18 -16
  337. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  338. package/build/src/start/platforms/android/AndroidDeviceManager.js +24 -20
  339. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  340. package/build/src/start/platforms/android/AndroidPlatformManager.js +17 -17
  341. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  342. package/build/src/start/platforms/android/AndroidSdk.js +11 -9
  343. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  344. package/build/src/start/platforms/android/activateWindow.js +26 -22
  345. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  346. package/build/src/start/platforms/android/adb.js +121 -83
  347. package/build/src/start/platforms/android/adb.js.map +1 -1
  348. package/build/src/start/platforms/android/adbReverse.js +20 -12
  349. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  350. package/build/src/start/platforms/android/emulator.js +36 -26
  351. package/build/src/start/platforms/android/emulator.js.map +1 -1
  352. package/build/src/start/platforms/android/getDevices.js +7 -5
  353. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  354. package/build/src/start/platforms/android/gradle.js +36 -28
  355. package/build/src/start/platforms/android/gradle.js.map +1 -1
  356. package/build/src/start/platforms/android/promptAndroidDevice.js +19 -15
  357. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  358. package/build/src/start/platforms/ios/AppleAppIdResolver.js +21 -19
  359. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  360. package/build/src/start/platforms/ios/AppleDeviceManager.js +37 -31
  361. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  362. package/build/src/start/platforms/ios/ApplePlatformManager.js +12 -12
  363. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  364. package/build/src/start/platforms/ios/assertSystemRequirements.js +9 -7
  365. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  366. package/build/src/start/platforms/ios/devicectl.js +87 -73
  367. package/build/src/start/platforms/ios/devicectl.js.map +1 -1
  368. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +22 -18
  369. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  370. package/build/src/start/platforms/ios/getBestSimulator.js +29 -19
  371. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  372. package/build/src/start/platforms/ios/promptAppleDevice.js +14 -10
  373. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  374. package/build/src/start/platforms/ios/simctl.js +102 -74
  375. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  376. package/build/src/start/platforms/ios/simctlLogging.js +57 -52
  377. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  378. package/build/src/start/platforms/ios/xcrun.js +22 -18
  379. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  380. package/build/src/start/project/devices.js +19 -9
  381. package/build/src/start/project/devices.js.map +1 -1
  382. package/build/src/start/project/dotExpo.js +15 -11
  383. package/build/src/start/project/dotExpo.js.map +1 -1
  384. package/build/src/start/project/settings.js +4 -2
  385. package/build/src/start/project/settings.js.map +1 -1
  386. package/build/src/start/resolveOptions.js +48 -40
  387. package/build/src/start/resolveOptions.js.map +1 -1
  388. package/build/src/start/server/AsyncNgrok.js +55 -51
  389. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  390. package/build/src/start/server/AsyncWsTunnel.js +40 -36
  391. package/build/src/start/server/AsyncWsTunnel.js.map +1 -1
  392. package/build/src/start/server/BundlerDevServer.js +81 -79
  393. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  394. package/build/src/start/server/DevServerManager.js +42 -38
  395. package/build/src/start/server/DevServerManager.js.map +1 -1
  396. package/build/src/start/server/DevToolsPluginManager.js +18 -14
  397. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  398. package/build/src/start/server/DevelopmentSession.js +18 -14
  399. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  400. package/build/src/start/server/ReactDevToolsProxy.js +16 -10
  401. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  402. package/build/src/start/server/UrlCreator.js +36 -33
  403. package/build/src/start/server/UrlCreator.js.map +1 -1
  404. package/build/src/start/server/getStaticRenderFunctions.js +29 -21
  405. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  406. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js +6 -4
  407. package/build/src/start/server/metro/DevToolsPluginWebsocketEndpoint.js.map +1 -1
  408. package/build/src/start/server/metro/MetroBundlerDevServer.js +269 -271
  409. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  410. package/build/src/start/server/metro/MetroTerminalReporter.js +63 -56
  411. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  412. package/build/src/start/server/metro/TerminalReporter.js +39 -33
  413. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  414. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  415. package/build/src/start/server/metro/createExpoMetroResolver.js +46 -40
  416. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  417. package/build/src/start/server/metro/createJResolver.js +32 -28
  418. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  419. package/build/src/start/server/metro/createServerComponentsMiddleware.js +96 -92
  420. package/build/src/start/server/metro/createServerComponentsMiddleware.js.map +1 -1
  421. package/build/src/start/server/metro/createServerRouteMiddleware.js +32 -30
  422. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  423. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js +13 -11
  424. package/build/src/start/server/metro/debugging/AtlasPrerequisite.js.map +1 -1
  425. package/build/src/start/server/metro/debugging/MessageHandler.js +3 -1
  426. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  427. package/build/src/start/server/metro/debugging/attachAtlas.js +26 -22
  428. package/build/src/start/server/metro/debugging/attachAtlas.js.map +1 -1
  429. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +19 -17
  430. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  431. package/build/src/start/server/metro/debugging/createHandlersFactory.js +25 -31
  432. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  433. package/build/src/start/server/metro/debugging/getDebuggerType.js +6 -4
  434. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  435. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +14 -8
  436. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  437. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -5
  438. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  439. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +8 -6
  440. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  441. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -5
  442. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  443. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js +14 -12
  444. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeEvaluate.js.map +1 -1
  445. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +14 -10
  446. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  447. package/build/src/start/server/metro/debugging/pageIsSupported.js +6 -4
  448. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  449. package/build/src/start/server/metro/debugging/types.js.map +1 -1
  450. package/build/src/start/server/metro/dev-server/createEventSocket.js +18 -16
  451. package/build/src/start/server/metro/dev-server/createEventSocket.js.map +1 -1
  452. package/build/src/start/server/metro/dev-server/createMessageSocket.js +23 -21
  453. package/build/src/start/server/metro/dev-server/createMessageSocket.js.map +1 -1
  454. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js +23 -21
  455. package/build/src/start/server/metro/dev-server/createMetroMiddleware.js.map +1 -1
  456. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js +4 -2
  457. package/build/src/start/server/metro/dev-server/utils/createSocketBroadcaster.js.map +1 -1
  458. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js +4 -2
  459. package/build/src/start/server/metro/dev-server/utils/createSocketMap.js.map +1 -1
  460. package/build/src/start/server/metro/dev-server/utils/socketMessages.js +8 -4
  461. package/build/src/start/server/metro/dev-server/utils/socketMessages.js.map +1 -1
  462. package/build/src/start/server/metro/externals.js +33 -25
  463. package/build/src/start/server/metro/externals.js.map +1 -1
  464. package/build/src/start/server/metro/fetchRouterManifest.js +16 -12
  465. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  466. package/build/src/start/server/metro/formatFileCandidates.js +11 -9
  467. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  468. package/build/src/start/server/metro/getCssModulesFromBundler.js +22 -18
  469. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  470. package/build/src/start/server/metro/instantiateMetro.js +85 -79
  471. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  472. package/build/src/start/server/metro/log-box/LogBoxLog.js +40 -36
  473. package/build/src/start/server/metro/log-box/LogBoxLog.js.map +1 -1
  474. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js +20 -14
  475. package/build/src/start/server/metro/log-box/LogBoxSymbolication.js.map +1 -1
  476. package/build/src/start/server/metro/log-box/formatProjectFilePath.js +10 -6
  477. package/build/src/start/server/metro/log-box/formatProjectFilePath.js.map +1 -1
  478. package/build/src/start/server/metro/metroErrorInterface.js +88 -78
  479. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  480. package/build/src/start/server/metro/metroErrors.js +8 -4
  481. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  482. package/build/src/start/server/metro/metroPrivateServer.js +9 -7
  483. package/build/src/start/server/metro/metroPrivateServer.js.map +1 -1
  484. package/build/src/start/server/metro/metroVirtualModules.js +10 -8
  485. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  486. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +24 -22
  487. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  488. package/build/src/start/server/metro/router.js +48 -32
  489. package/build/src/start/server/metro/router.js.map +1 -1
  490. package/build/src/start/server/metro/runServer-fork.js +24 -22
  491. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  492. package/build/src/start/server/metro/serializeHtml.js +24 -22
  493. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  494. package/build/src/start/server/metro/symbolicate.js.map +1 -1
  495. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +35 -29
  496. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  497. package/build/src/start/server/metro/withMetroMultiPlatform.js +149 -139
  498. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  499. package/build/src/start/server/metro/withMetroResolvers.js +49 -39
  500. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  501. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +8 -6
  502. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  503. package/build/src/start/server/middleware/CorsMiddleware.js +17 -15
  504. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  505. package/build/src/start/server/middleware/CreateFileMiddleware.js +32 -31
  506. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  507. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +22 -19
  508. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  509. package/build/src/start/server/middleware/DomComponentsMiddleware.js +33 -27
  510. package/build/src/start/server/middleware/DomComponentsMiddleware.js.map +1 -1
  511. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +64 -60
  512. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  513. package/build/src/start/server/middleware/ExpoMiddleware.js +15 -9
  514. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  515. package/build/src/start/server/middleware/FaviconMiddleware.js +15 -14
  516. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  517. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +4 -2
  518. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  519. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +34 -31
  520. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  521. package/build/src/start/server/middleware/ManifestMiddleware.js +64 -56
  522. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  523. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +23 -19
  524. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  525. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +20 -19
  526. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  527. package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -9
  528. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  529. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js +17 -11
  530. package/build/src/start/server/middleware/createBuiltinAPIRequestHandler.js.map +1 -1
  531. package/build/src/start/server/middleware/inspector/CdpClient.js +12 -10
  532. package/build/src/start/server/middleware/inspector/CdpClient.js.map +1 -1
  533. package/build/src/start/server/middleware/inspector/JsInspector.js +35 -27
  534. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  535. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +21 -19
  536. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  537. package/build/src/start/server/middleware/inspector/middlwareMutations.js +6 -2
  538. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  539. package/build/src/start/server/middleware/metroOptions.js +120 -96
  540. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  541. package/build/src/start/server/middleware/mutations.js +7 -3
  542. package/build/src/start/server/middleware/mutations.js.map +1 -1
  543. package/build/src/start/server/middleware/resolveAssets.js +26 -18
  544. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  545. package/build/src/start/server/middleware/resolvePlatform.js +23 -15
  546. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  547. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js +11 -9
  548. package/build/src/start/server/middleware/resolveRuntimeVersionWithExpoUpdatesAsync.js.map +1 -1
  549. package/build/src/start/server/middleware/server.types.js.map +1 -1
  550. package/build/src/start/server/openPlatforms.js +10 -8
  551. package/build/src/start/server/openPlatforms.js.map +1 -1
  552. package/build/src/start/server/platformBundlers.js +13 -11
  553. package/build/src/start/server/platformBundlers.js.map +1 -1
  554. package/build/src/start/server/serverLogLikeMetro.js +58 -50
  555. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  556. package/build/src/start/server/type-generation/expo-env.js +11 -7
  557. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  558. package/build/src/start/server/type-generation/routes.js +76 -54
  559. package/build/src/start/server/type-generation/routes.js.map +1 -1
  560. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +21 -19
  561. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  562. package/build/src/start/server/type-generation/tsconfig.js +36 -28
  563. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  564. package/build/src/start/server/webTemplate.js +28 -24
  565. package/build/src/start/server/webTemplate.js.map +1 -1
  566. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +52 -46
  567. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  568. package/build/src/start/server/webpack/compile.js +15 -11
  569. package/build/src/start/server/webpack/compile.js.map +1 -1
  570. package/build/src/start/server/webpack/formatWebpackMessages.js +28 -26
  571. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  572. package/build/src/start/server/webpack/resolveFromProject.js +18 -12
  573. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  574. package/build/src/start/server/webpack/tls.js +18 -12
  575. package/build/src/start/server/webpack/tls.js.map +1 -1
  576. package/build/src/start/startAsync.js +31 -27
  577. package/build/src/start/startAsync.js.map +1 -1
  578. package/build/src/utils/FileNotifier.js +20 -17
  579. package/build/src/utils/FileNotifier.js.map +1 -1
  580. package/build/src/utils/ansi.js +7 -5
  581. package/build/src/utils/ansi.js.map +1 -1
  582. package/build/src/utils/args.js +24 -14
  583. package/build/src/utils/args.js.map +1 -1
  584. package/build/src/utils/array.js +18 -6
  585. package/build/src/utils/array.js.map +1 -1
  586. package/build/src/utils/cocoapods.js +54 -46
  587. package/build/src/utils/cocoapods.js.map +1 -1
  588. package/build/src/utils/codesigning.js +78 -68
  589. package/build/src/utils/codesigning.js.map +1 -1
  590. package/build/src/utils/createFileTransform.js +16 -12
  591. package/build/src/utils/createFileTransform.js.map +1 -1
  592. package/build/src/utils/createTempPath.js +17 -13
  593. package/build/src/utils/createTempPath.js.map +1 -1
  594. package/build/src/utils/delay.js +12 -6
  595. package/build/src/utils/delay.js.map +1 -1
  596. package/build/src/utils/dir.js +46 -28
  597. package/build/src/utils/dir.js.map +1 -1
  598. package/build/src/utils/downloadAppAsync.js +10 -8
  599. package/build/src/utils/downloadAppAsync.js.map +1 -1
  600. package/build/src/utils/downloadExpoGoAsync.js +25 -21
  601. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  602. package/build/src/utils/editor.js +41 -35
  603. package/build/src/utils/editor.js.map +1 -1
  604. package/build/src/utils/env.js +63 -59
  605. package/build/src/utils/env.js.map +1 -1
  606. package/build/src/utils/errors.js +37 -30
  607. package/build/src/utils/errors.js.map +1 -1
  608. package/build/src/utils/exit.js +35 -31
  609. package/build/src/utils/exit.js.map +1 -1
  610. package/build/src/utils/expoUpdatesCli.js +32 -22
  611. package/build/src/utils/expoUpdatesCli.js.map +1 -1
  612. package/build/src/utils/fetch.js +8 -4
  613. package/build/src/utils/fetch.js.map +1 -1
  614. package/build/src/utils/filePath.js +10 -6
  615. package/build/src/utils/filePath.js.map +1 -1
  616. package/build/src/utils/findUp.js +13 -9
  617. package/build/src/utils/findUp.js.map +1 -1
  618. package/build/src/utils/fn.js +6 -2
  619. package/build/src/utils/fn.js.map +1 -1
  620. package/build/src/utils/getOrPromptApplicationId.js +32 -26
  621. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  622. package/build/src/utils/getRunningProcess.js +29 -21
  623. package/build/src/utils/getRunningProcess.js.map +1 -1
  624. package/build/src/utils/git.js +26 -20
  625. package/build/src/utils/git.js.map +1 -1
  626. package/build/src/utils/glob.js +8 -4
  627. package/build/src/utils/glob.js.map +1 -1
  628. package/build/src/utils/interactive.js +3 -1
  629. package/build/src/utils/interactive.js.map +1 -1
  630. package/build/src/utils/ip.js +21 -19
  631. package/build/src/utils/ip.js.map +1 -1
  632. package/build/src/utils/isModuleSymlinked.js +11 -9
  633. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  634. package/build/src/utils/jsonSchemaDeref.js +20 -18
  635. package/build/src/utils/jsonSchemaDeref.js.map +1 -1
  636. package/build/src/utils/link.js +17 -13
  637. package/build/src/utils/link.js.map +1 -1
  638. package/build/src/utils/mergeGitIgnorePaths.js +46 -28
  639. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  640. package/build/src/utils/modifyConfigAsync.js +16 -10
  641. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  642. package/build/src/utils/modifyConfigPlugins.js +10 -6
  643. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  644. package/build/src/utils/nodeEnv.js +12 -6
  645. package/build/src/utils/nodeEnv.js.map +1 -1
  646. package/build/src/utils/nodeModules.js +10 -8
  647. package/build/src/utils/nodeModules.js.map +1 -1
  648. package/build/src/utils/npm.js +50 -36
  649. package/build/src/utils/npm.js.map +1 -1
  650. package/build/src/utils/obj.js +11 -5
  651. package/build/src/utils/obj.js.map +1 -1
  652. package/build/src/utils/open.js +10 -8
  653. package/build/src/utils/open.js.map +1 -1
  654. package/build/src/utils/ora.js +13 -7
  655. package/build/src/utils/ora.js.map +1 -1
  656. package/build/src/utils/plist.js +21 -15
  657. package/build/src/utils/plist.js.map +1 -1
  658. package/build/src/utils/port.js +43 -33
  659. package/build/src/utils/port.js.map +1 -1
  660. package/build/src/utils/profile.js +11 -7
  661. package/build/src/utils/profile.js.map +1 -1
  662. package/build/src/utils/progress.js +11 -5
  663. package/build/src/utils/progress.js.map +1 -1
  664. package/build/src/utils/prompts.js +47 -29
  665. package/build/src/utils/prompts.js.map +1 -1
  666. package/build/src/utils/resolveArgs.js +36 -24
  667. package/build/src/utils/resolveArgs.js.map +1 -1
  668. package/build/src/utils/scheme.js +40 -32
  669. package/build/src/utils/scheme.js.map +1 -1
  670. package/build/src/utils/stream.js +5 -3
  671. package/build/src/utils/stream.js.map +1 -1
  672. package/build/src/utils/strings.js +6 -4
  673. package/build/src/utils/strings.js.map +1 -1
  674. package/build/src/utils/tar.js +19 -15
  675. package/build/src/utils/tar.js.map +1 -1
  676. package/build/src/utils/telemetry/Telemetry.js +29 -27
  677. package/build/src/utils/telemetry/Telemetry.js.map +1 -1
  678. package/build/src/utils/telemetry/clients/FetchClient.js +15 -13
  679. package/build/src/utils/telemetry/clients/FetchClient.js.map +1 -1
  680. package/build/src/utils/telemetry/clients/FetchDetachedClient.js +26 -22
  681. package/build/src/utils/telemetry/clients/FetchDetachedClient.js.map +1 -1
  682. package/build/src/utils/telemetry/clients/RudderClient.js +10 -8
  683. package/build/src/utils/telemetry/clients/RudderClient.js.map +1 -1
  684. package/build/src/utils/telemetry/clients/RudderDetachedClient.js +26 -22
  685. package/build/src/utils/telemetry/clients/RudderDetachedClient.js.map +1 -1
  686. package/build/src/utils/telemetry/clients/flushFetchDetached.js +10 -10
  687. package/build/src/utils/telemetry/clients/flushFetchDetached.js.map +1 -1
  688. package/build/src/utils/telemetry/clients/flushRudderDetached.js +10 -10
  689. package/build/src/utils/telemetry/clients/flushRudderDetached.js.map +1 -1
  690. package/build/src/utils/telemetry/events.js +4 -2
  691. package/build/src/utils/telemetry/events.js.map +1 -1
  692. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  693. package/build/src/utils/telemetry/index.js +25 -29
  694. package/build/src/utils/telemetry/index.js.map +1 -1
  695. package/build/src/utils/telemetry/types.js.map +1 -1
  696. package/build/src/utils/telemetry/utils/constants.js +8 -4
  697. package/build/src/utils/telemetry/utils/constants.js.map +1 -1
  698. package/build/src/utils/telemetry/utils/context.js +18 -14
  699. package/build/src/utils/telemetry/utils/context.js.map +1 -1
  700. package/build/src/utils/template.js +6 -4
  701. package/build/src/utils/template.js.map +1 -1
  702. package/build/src/utils/terminal.js +4 -2
  703. package/build/src/utils/terminal.js.map +1 -1
  704. package/build/src/utils/tsconfig/evaluateTsConfig.js +21 -17
  705. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  706. package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -14
  707. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  708. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +7 -5
  709. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  710. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +14 -12
  711. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  712. package/build/src/utils/url.js +23 -13
  713. package/build/src/utils/url.js.map +1 -1
  714. package/build/src/utils/validateApplicationId.js +108 -86
  715. package/build/src/utils/validateApplicationId.js.map +1 -1
  716. package/build/src/utils/variadic.js +22 -16
  717. package/build/src/utils/variadic.js.map +1 -1
  718. package/build/src/whoami/index.js +11 -7
  719. package/build/src/whoami/index.js.map +1 -1
  720. package/build/src/whoami/whoamiAsync.js +11 -7
  721. package/build/src/whoami/whoamiAsync.js.map +1 -1
  722. package/package.json +3 -3
@@ -9,81 +9,87 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- defaultRenameConfig: ()=>defaultRenameConfig,
13
- getTemplateFilesToRenameAsync: ()=>getTemplateFilesToRenameAsync,
14
- renameTemplateAppNameAsync: ()=>renameTemplateAppNameAsync
12
+ defaultRenameConfig: function() {
13
+ return defaultRenameConfig;
14
+ },
15
+ getTemplateFilesToRenameAsync: function() {
16
+ return getTemplateFilesToRenameAsync;
17
+ },
18
+ renameTemplateAppNameAsync: function() {
19
+ return renameTemplateAppNameAsync;
20
+ }
15
21
  });
16
- function _configPlugins() {
22
+ function _configplugins() {
17
23
  const data = require("@expo/config-plugins");
18
- _configPlugins = function() {
24
+ _configplugins = function() {
19
25
  return data;
20
26
  };
21
27
  return data;
22
28
  }
23
- function _fastGlob() {
29
+ function _fastglob() {
24
30
  const data = require("fast-glob");
25
- _fastGlob = function() {
31
+ _fastglob = function() {
26
32
  return data;
27
33
  };
28
34
  return data;
29
35
  }
30
36
  function _fs() {
31
- const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
37
+ const data = /*#__PURE__*/ _interop_require_default(require("fs"));
32
38
  _fs = function() {
33
39
  return data;
34
40
  };
35
41
  return data;
36
42
  }
37
43
  function _path() {
38
- const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
44
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
39
45
  _path = function() {
40
46
  return data;
41
47
  };
42
48
  return data;
43
49
  }
44
- function _interopRequireDefault(obj) {
50
+ function _interop_require_default(obj) {
45
51
  return obj && obj.__esModule ? obj : {
46
52
  default: obj
47
53
  };
48
54
  }
49
- const debug = require("debug")("expo:prebuild:copyTemplateFiles");
55
+ const debug = require('debug')('expo:prebuild:copyTemplateFiles');
50
56
  function escapeXMLCharacters(original) {
51
- const noAmps = original.replace("&", "&");
52
- const noLt = noAmps.replace("<", "&lt;");
53
- const noGt = noLt.replace(">", "&gt;");
57
+ const noAmps = original.replace('&', '&amp;');
58
+ const noLt = noAmps.replace('<', '&lt;');
59
+ const noGt = noLt.replace('>', '&gt;');
54
60
  const noApos = noGt.replace('"', '\\"');
55
61
  return noApos.replace("'", "\\'");
56
62
  }
57
63
  const defaultRenameConfig = [
58
64
  // Common
59
- "!**/node_modules",
60
- "app.json",
65
+ '!**/node_modules',
66
+ 'app.json',
61
67
  // Android
62
- "android/**/*.gradle",
63
- "android/app/BUCK",
64
- "android/app/src/**/*.java",
65
- "android/app/src/**/*.kt",
66
- "android/app/src/**/*.xml",
68
+ 'android/**/*.gradle',
69
+ 'android/app/BUCK',
70
+ 'android/app/src/**/*.java',
71
+ 'android/app/src/**/*.kt',
72
+ 'android/app/src/**/*.xml',
67
73
  // iOS
68
- "ios/Podfile",
69
- "ios/**/*.xcodeproj/project.pbxproj",
70
- "ios/**/*.xcodeproj/xcshareddata/xcschemes/*.xcscheme",
71
- "ios/**/*.xcworkspace/contents.xcworkspacedata",
74
+ 'ios/Podfile',
75
+ 'ios/**/*.xcodeproj/project.pbxproj',
76
+ 'ios/**/*.xcodeproj/xcshareddata/xcschemes/*.xcscheme',
77
+ 'ios/**/*.xcworkspace/contents.xcworkspacedata',
72
78
  // macOS
73
- "macos/Podfile",
74
- "macos/**/*.xcodeproj/project.pbxproj",
75
- "macos/**/*.xcodeproj/xcshareddata/xcschemes/*.xcscheme",
76
- "macos/**/*.xcworkspace/contents.xcworkspacedata",
79
+ 'macos/Podfile',
80
+ 'macos/**/*.xcodeproj/project.pbxproj',
81
+ 'macos/**/*.xcodeproj/xcshareddata/xcschemes/*.xcscheme',
82
+ 'macos/**/*.xcworkspace/contents.xcworkspacedata'
77
83
  ];
78
- async function getTemplateFilesToRenameAsync({ cwd , /**
84
+ async function getTemplateFilesToRenameAsync({ cwd, /**
79
85
  * An array of patterns following the rename config format. If omitted, then
80
86
  * we fall back to defaultRenameConfig.
81
87
  * @see defaultRenameConfig
82
- */ renameConfig: userConfig }) {
88
+ */ renameConfig: userConfig }) {
83
89
  let config = userConfig ?? defaultRenameConfig;
84
90
  // Strip comments, trim whitespace, and remove empty lines.
85
- config = config.map((line)=>line.split(/(?<!\\)#/, 2)[0].trim()).filter((line)=>line !== "");
86
- return await (0, _fastGlob().glob)(config, {
91
+ config = config.map((line)=>line.split(/(?<!\\)#/, 2)[0].trim()).filter((line)=>line !== '');
92
+ return await (0, _fastglob().glob)(config, {
87
93
  cwd,
88
94
  // `true` is consistent with .gitignore. Allows `*.xml` to match .xml files
89
95
  // in all subdirs.
@@ -94,14 +100,14 @@ async function getTemplateFilesToRenameAsync({ cwd , /**
94
100
  followSymbolicLinks: false
95
101
  });
96
102
  }
97
- async function renameTemplateAppNameAsync({ cwd , name , files }) {
103
+ async function renameTemplateAppNameAsync({ cwd, name, files }) {
98
104
  debug(`Got files to transform: ${JSON.stringify(files)}`);
99
105
  await Promise.all(files.map(async (file)=>{
100
106
  const absoluteFilePath = _path().default.resolve(cwd, file);
101
107
  let contents;
102
108
  try {
103
109
  contents = await _fs().default.promises.readFile(absoluteFilePath, {
104
- encoding: "utf-8"
110
+ encoding: 'utf-8'
105
111
  });
106
112
  } catch (error) {
107
113
  throw new Error(`Failed to read template file: "${absoluteFilePath}". Was it removed mid-operation?`, {
@@ -110,18 +116,18 @@ async function renameTemplateAppNameAsync({ cwd , name , files }) {
110
116
  }
111
117
  debug(`Renaming app name in file: ${absoluteFilePath}`);
112
118
  const safeName = [
113
- ".xml",
114
- ".plist"
119
+ '.xml',
120
+ '.plist'
115
121
  ].includes(_path().default.extname(file)) ? escapeXMLCharacters(name) : name;
116
122
  try {
117
- const replacement = contents.replace(/Hello App Display Name/g, safeName).replace(/HelloWorld/g, _configPlugins().IOSConfig.XcodeUtils.sanitizedName(safeName)).replace(/helloworld/g, _configPlugins().IOSConfig.XcodeUtils.sanitizedName(safeName.toLowerCase()));
123
+ const replacement = contents.replace(/Hello App Display Name/g, safeName).replace(/HelloWorld/g, _configplugins().IOSConfig.XcodeUtils.sanitizedName(safeName)).replace(/helloworld/g, _configplugins().IOSConfig.XcodeUtils.sanitizedName(safeName.toLowerCase()));
118
124
  if (replacement === contents) {
119
125
  return;
120
126
  }
121
127
  await _fs().default.promises.writeFile(absoluteFilePath, replacement);
122
- } catch (error1) {
128
+ } catch (error) {
123
129
  throw new Error(`Failed to overwrite template file: "${absoluteFilePath}". Was it removed mid-operation?`, {
124
- cause: error1
130
+ cause: error
125
131
  });
126
132
  }
127
133
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/prebuild/renameTemplateAppName.ts"],"sourcesContent":["import { IOSConfig } from '@expo/config-plugins';\nimport { glob } from 'fast-glob';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { ExtractProps } from '../utils/npm';\n\nconst debug = require('debug')('expo:prebuild:copyTemplateFiles') as typeof console.log;\n\nfunction escapeXMLCharacters(original: string): string {\n const noAmps = original.replace('&', '&amp;');\n const noLt = noAmps.replace('<', '&lt;');\n const noGt = noLt.replace('>', '&gt;');\n const noApos = noGt.replace('\"', '\\\\\"');\n return noApos.replace(\"'\", \"\\\\'\");\n}\n\n/**\n * # Background\n *\n * `@expo/cli` and `create-expo` extract a template from a tarball (whether from\n * a local npm project or a GitHub repository), but these templates have a\n * static name that needs to be updated to match whatever app name the user\n * specified.\n *\n * By convention, the app name of all templates is \"HelloWorld\". During\n * extraction, filepaths are transformed via `createEntryResolver()` in\n * `createFileTransform.ts`, but the contents of files are left untouched.\n * Technically, the contents used to be transformed during extraction as well,\n * but due to poor configurability, we've moved to a post-extraction approach.\n *\n * # The new approach: Renaming the app post-extraction\n *\n * In this new approach, we take a list of file patterns, otherwise known as the\n * \"rename config\" to determine explicitly which files – relative to the root of\n * the template – to perform find-and-replace on, to update the app name.\n *\n * ## The rename config\n *\n * The rename config can be passed directly as a string array to\n * `getTemplateFilesToRenameAsync()`.\n *\n * The file patterns are formatted as glob expressions to be interpreted by\n * [fast-glob](https://github.com/mrmlnc/fast-glob). Comments are supported with\n * the `#` symbol, both in the plain-text file and string array formats.\n * Whitespace is trimmed and whitespace-only lines are ignored.\n *\n * If no rename config has been passed directly to\n * `getTemplateFilesToRenameAsync()` then this default rename config will be\n * used instead.\n */\nexport const defaultRenameConfig = [\n // Common\n '!**/node_modules',\n 'app.json',\n\n // Android\n 'android/**/*.gradle',\n 'android/app/BUCK',\n 'android/app/src/**/*.java',\n 'android/app/src/**/*.kt',\n 'android/app/src/**/*.xml',\n\n // iOS\n 'ios/Podfile',\n 'ios/**/*.xcodeproj/project.pbxproj',\n 'ios/**/*.xcodeproj/xcshareddata/xcschemes/*.xcscheme',\n 'ios/**/*.xcworkspace/contents.xcworkspacedata',\n\n // macOS\n 'macos/Podfile',\n 'macos/**/*.xcodeproj/project.pbxproj',\n 'macos/**/*.xcodeproj/xcshareddata/xcschemes/*.xcscheme',\n 'macos/**/*.xcworkspace/contents.xcworkspacedata',\n] as const;\n\n/**\n * Returns a list of files within a template matched by the resolved rename\n * config.\n *\n * The rename config is resolved in the order of preference:\n * Config provided as function param > defaultRenameConfig\n */\nexport async function getTemplateFilesToRenameAsync({\n cwd,\n /**\n * An array of patterns following the rename config format. If omitted, then\n * we fall back to defaultRenameConfig.\n * @see defaultRenameConfig\n */\n renameConfig: userConfig,\n}: Pick<ExtractProps, 'cwd'> & { renameConfig?: string[] }) {\n let config = userConfig ?? defaultRenameConfig;\n\n // Strip comments, trim whitespace, and remove empty lines.\n config = config.map((line) => line.split(/(?<!\\\\)#/, 2)[0].trim()).filter((line) => line !== '');\n\n return await glob(config, {\n cwd,\n // `true` is consistent with .gitignore. Allows `*.xml` to match .xml files\n // in all subdirs.\n baseNameMatch: true,\n dot: true,\n // Prevent climbing out of the template directory in case a template\n // includes a symlink to an external directory.\n followSymbolicLinks: false,\n });\n}\n\nexport async function renameTemplateAppNameAsync({\n cwd,\n name,\n files,\n}: Pick<ExtractProps, 'cwd' | 'name'> & {\n /**\n * An array of files to transform. Usually provided by calling\n * getTemplateFilesToRenameAsync().\n * @see getTemplateFilesToRenameAsync\n */\n files: string[];\n}) {\n debug(`Got files to transform: ${JSON.stringify(files)}`);\n\n await Promise.all(\n files.map(async (file) => {\n const absoluteFilePath = path.resolve(cwd, file);\n\n let contents: string;\n try {\n contents = await fs.promises.readFile(absoluteFilePath, { encoding: 'utf-8' });\n } catch (error) {\n throw new Error(\n `Failed to read template file: \"${absoluteFilePath}\". Was it removed mid-operation?`,\n { cause: error }\n );\n }\n\n debug(`Renaming app name in file: ${absoluteFilePath}`);\n\n const safeName = ['.xml', '.plist'].includes(path.extname(file))\n ? escapeXMLCharacters(name)\n : name;\n\n try {\n const replacement = contents\n .replace(/Hello App Display Name/g, safeName)\n .replace(/HelloWorld/g, IOSConfig.XcodeUtils.sanitizedName(safeName))\n .replace(/helloworld/g, IOSConfig.XcodeUtils.sanitizedName(safeName.toLowerCase()));\n\n if (replacement === contents) {\n return;\n }\n\n await fs.promises.writeFile(absoluteFilePath, replacement);\n } catch (error) {\n throw new Error(\n `Failed to overwrite template file: \"${absoluteFilePath}\". Was it removed mid-operation?`,\n { cause: error }\n );\n }\n })\n );\n}\n"],"names":["defaultRenameConfig","getTemplateFilesToRenameAsync","renameTemplateAppNameAsync","debug","require","escapeXMLCharacters","original","noAmps","replace","noLt","noGt","noApos","cwd","renameConfig","userConfig","config","map","line","split","trim","filter","glob","baseNameMatch","dot","followSymbolicLinks","name","files","JSON","stringify","Promise","all","file","absoluteFilePath","path","resolve","contents","fs","promises","readFile","encoding","error","Error","cause","safeName","includes","extname","replacement","IOSConfig","XcodeUtils","sanitizedName","toLowerCase","writeFile"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/prebuild/renameTemplateAppName.ts"],"sourcesContent":["import { IOSConfig } from '@expo/config-plugins';\nimport { glob } from 'fast-glob';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { ExtractProps } from '../utils/npm';\n\nconst debug = require('debug')('expo:prebuild:copyTemplateFiles') as typeof console.log;\n\nfunction escapeXMLCharacters(original: string): string {\n const noAmps = original.replace('&', '&amp;');\n const noLt = noAmps.replace('<', '&lt;');\n const noGt = noLt.replace('>', '&gt;');\n const noApos = noGt.replace('\"', '\\\\\"');\n return noApos.replace(\"'\", \"\\\\'\");\n}\n\n/**\n * # Background\n *\n * `@expo/cli` and `create-expo` extract a template from a tarball (whether from\n * a local npm project or a GitHub repository), but these templates have a\n * static name that needs to be updated to match whatever app name the user\n * specified.\n *\n * By convention, the app name of all templates is \"HelloWorld\". During\n * extraction, filepaths are transformed via `createEntryResolver()` in\n * `createFileTransform.ts`, but the contents of files are left untouched.\n * Technically, the contents used to be transformed during extraction as well,\n * but due to poor configurability, we've moved to a post-extraction approach.\n *\n * # The new approach: Renaming the app post-extraction\n *\n * In this new approach, we take a list of file patterns, otherwise known as the\n * \"rename config\" to determine explicitly which files – relative to the root of\n * the template – to perform find-and-replace on, to update the app name.\n *\n * ## The rename config\n *\n * The rename config can be passed directly as a string array to\n * `getTemplateFilesToRenameAsync()`.\n *\n * The file patterns are formatted as glob expressions to be interpreted by\n * [fast-glob](https://github.com/mrmlnc/fast-glob). Comments are supported with\n * the `#` symbol, both in the plain-text file and string array formats.\n * Whitespace is trimmed and whitespace-only lines are ignored.\n *\n * If no rename config has been passed directly to\n * `getTemplateFilesToRenameAsync()` then this default rename config will be\n * used instead.\n */\nexport const defaultRenameConfig = [\n // Common\n '!**/node_modules',\n 'app.json',\n\n // Android\n 'android/**/*.gradle',\n 'android/app/BUCK',\n 'android/app/src/**/*.java',\n 'android/app/src/**/*.kt',\n 'android/app/src/**/*.xml',\n\n // iOS\n 'ios/Podfile',\n 'ios/**/*.xcodeproj/project.pbxproj',\n 'ios/**/*.xcodeproj/xcshareddata/xcschemes/*.xcscheme',\n 'ios/**/*.xcworkspace/contents.xcworkspacedata',\n\n // macOS\n 'macos/Podfile',\n 'macos/**/*.xcodeproj/project.pbxproj',\n 'macos/**/*.xcodeproj/xcshareddata/xcschemes/*.xcscheme',\n 'macos/**/*.xcworkspace/contents.xcworkspacedata',\n] as const;\n\n/**\n * Returns a list of files within a template matched by the resolved rename\n * config.\n *\n * The rename config is resolved in the order of preference:\n * Config provided as function param > defaultRenameConfig\n */\nexport async function getTemplateFilesToRenameAsync({\n cwd,\n /**\n * An array of patterns following the rename config format. If omitted, then\n * we fall back to defaultRenameConfig.\n * @see defaultRenameConfig\n */\n renameConfig: userConfig,\n}: Pick<ExtractProps, 'cwd'> & { renameConfig?: string[] }) {\n let config = userConfig ?? defaultRenameConfig;\n\n // Strip comments, trim whitespace, and remove empty lines.\n config = config.map((line) => line.split(/(?<!\\\\)#/, 2)[0].trim()).filter((line) => line !== '');\n\n return await glob(config, {\n cwd,\n // `true` is consistent with .gitignore. Allows `*.xml` to match .xml files\n // in all subdirs.\n baseNameMatch: true,\n dot: true,\n // Prevent climbing out of the template directory in case a template\n // includes a symlink to an external directory.\n followSymbolicLinks: false,\n });\n}\n\nexport async function renameTemplateAppNameAsync({\n cwd,\n name,\n files,\n}: Pick<ExtractProps, 'cwd' | 'name'> & {\n /**\n * An array of files to transform. Usually provided by calling\n * getTemplateFilesToRenameAsync().\n * @see getTemplateFilesToRenameAsync\n */\n files: string[];\n}) {\n debug(`Got files to transform: ${JSON.stringify(files)}`);\n\n await Promise.all(\n files.map(async (file) => {\n const absoluteFilePath = path.resolve(cwd, file);\n\n let contents: string;\n try {\n contents = await fs.promises.readFile(absoluteFilePath, { encoding: 'utf-8' });\n } catch (error) {\n throw new Error(\n `Failed to read template file: \"${absoluteFilePath}\". Was it removed mid-operation?`,\n { cause: error }\n );\n }\n\n debug(`Renaming app name in file: ${absoluteFilePath}`);\n\n const safeName = ['.xml', '.plist'].includes(path.extname(file))\n ? escapeXMLCharacters(name)\n : name;\n\n try {\n const replacement = contents\n .replace(/Hello App Display Name/g, safeName)\n .replace(/HelloWorld/g, IOSConfig.XcodeUtils.sanitizedName(safeName))\n .replace(/helloworld/g, IOSConfig.XcodeUtils.sanitizedName(safeName.toLowerCase()));\n\n if (replacement === contents) {\n return;\n }\n\n await fs.promises.writeFile(absoluteFilePath, replacement);\n } catch (error) {\n throw new Error(\n `Failed to overwrite template file: \"${absoluteFilePath}\". Was it removed mid-operation?`,\n { cause: error }\n );\n }\n })\n );\n}\n"],"names":["defaultRenameConfig","getTemplateFilesToRenameAsync","renameTemplateAppNameAsync","debug","require","escapeXMLCharacters","original","noAmps","replace","noLt","noGt","noApos","cwd","renameConfig","userConfig","config","map","line","split","trim","filter","glob","baseNameMatch","dot","followSymbolicLinks","name","files","JSON","stringify","Promise","all","file","absoluteFilePath","path","resolve","contents","fs","promises","readFile","encoding","error","Error","cause","safeName","includes","extname","replacement","IOSConfig","XcodeUtils","sanitizedName","toLowerCase","writeFile"],"mappings":";;;;;;;;;;;IAmDaA,mBAAmB;eAAnBA;;IAgCSC,6BAA6B;eAA7BA;;IA0BAC,0BAA0B;eAA1BA;;;;yBA7GI;;;;;;;yBACL;;;;;;;gEACN;;;;;;;gEACE;;;;;;;;;;;AAIjB,MAAMC,QAAQC,QAAQ,SAAS;AAE/B,SAASC,oBAAoBC,QAAgB;IAC3C,MAAMC,SAASD,SAASE,OAAO,CAAC,KAAK;IACrC,MAAMC,OAAOF,OAAOC,OAAO,CAAC,KAAK;IACjC,MAAME,OAAOD,KAAKD,OAAO,CAAC,KAAK;IAC/B,MAAMG,SAASD,KAAKF,OAAO,CAAC,KAAK;IACjC,OAAOG,OAAOH,OAAO,CAAC,KAAK;AAC7B;AAoCO,MAAMR,sBAAsB;IACjC,SAAS;IACT;IACA;IAEA,UAAU;IACV;IACA;IACA;IACA;IACA;IAEA,MAAM;IACN;IACA;IACA;IACA;IAEA,QAAQ;IACR;IACA;IACA;IACA;CACD;AASM,eAAeC,8BAA8B,EAClDW,GAAG,EACH;;;;GAIC,GACDC,cAAcC,UAAU,EACgC;IACxD,IAAIC,SAASD,cAAcd;IAE3B,2DAA2D;IAC3De,SAASA,OAAOC,GAAG,CAAC,CAACC,OAASA,KAAKC,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,CAACC,IAAI,IAAIC,MAAM,CAAC,CAACH,OAASA,SAAS;IAE7F,OAAO,MAAMI,IAAAA,gBAAI,EAACN,QAAQ;QACxBH;QACA,2EAA2E;QAC3E,kBAAkB;QAClBU,eAAe;QACfC,KAAK;QACL,oEAAoE;QACpE,+CAA+C;QAC/CC,qBAAqB;IACvB;AACF;AAEO,eAAetB,2BAA2B,EAC/CU,GAAG,EACHa,IAAI,EACJC,KAAK,EAQN;IACCvB,MAAM,CAAC,wBAAwB,EAAEwB,KAAKC,SAAS,CAACF,QAAQ;IAExD,MAAMG,QAAQC,GAAG,CACfJ,MAAMV,GAAG,CAAC,OAAOe;QACf,MAAMC,mBAAmBC,eAAI,CAACC,OAAO,CAACtB,KAAKmB;QAE3C,IAAII;QACJ,IAAI;YACFA,WAAW,MAAMC,aAAE,CAACC,QAAQ,CAACC,QAAQ,CAACN,kBAAkB;gBAAEO,UAAU;YAAQ;QAC9E,EAAE,OAAOC,OAAO;YACd,MAAM,IAAIC,MACR,CAAC,+BAA+B,EAAET,iBAAiB,gCAAgC,CAAC,EACpF;gBAAEU,OAAOF;YAAM;QAEnB;QAEArC,MAAM,CAAC,2BAA2B,EAAE6B,kBAAkB;QAEtD,MAAMW,WAAW;YAAC;YAAQ;SAAS,CAACC,QAAQ,CAACX,eAAI,CAACY,OAAO,CAACd,SACtD1B,oBAAoBoB,QACpBA;QAEJ,IAAI;YACF,MAAMqB,cAAcX,SACjB3B,OAAO,CAAC,2BAA2BmC,UACnCnC,OAAO,CAAC,eAAeuC,0BAAS,CAACC,UAAU,CAACC,aAAa,CAACN,WAC1DnC,OAAO,CAAC,eAAeuC,0BAAS,CAACC,UAAU,CAACC,aAAa,CAACN,SAASO,WAAW;YAEjF,IAAIJ,gBAAgBX,UAAU;gBAC5B;YACF;YAEA,MAAMC,aAAE,CAACC,QAAQ,CAACc,SAAS,CAACnB,kBAAkBc;QAChD,EAAE,OAAON,OAAO;YACd,MAAM,IAAIC,MACR,CAAC,oCAAoC,EAAET,iBAAiB,gCAAgC,CAAC,EACzF;gBAAEU,OAAOF;YAAM;QAEnB;IACF;AAEJ"}
@@ -9,45 +9,57 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- resolvePackageManagerOptions: ()=>resolvePackageManagerOptions,
13
- resolveTemplateOption: ()=>resolveTemplateOption,
14
- resolveSkipDependencyUpdate: ()=>resolveSkipDependencyUpdate,
15
- resolvePlatformOption: ()=>resolvePlatformOption,
16
- ensureValidPlatforms: ()=>ensureValidPlatforms,
17
- assertPlatforms: ()=>assertPlatforms
12
+ assertPlatforms: function() {
13
+ return assertPlatforms;
14
+ },
15
+ ensureValidPlatforms: function() {
16
+ return ensureValidPlatforms;
17
+ },
18
+ resolvePackageManagerOptions: function() {
19
+ return resolvePackageManagerOptions;
20
+ },
21
+ resolvePlatformOption: function() {
22
+ return resolvePlatformOption;
23
+ },
24
+ resolveSkipDependencyUpdate: function() {
25
+ return resolveSkipDependencyUpdate;
26
+ },
27
+ resolveTemplateOption: function() {
28
+ return resolveTemplateOption;
29
+ }
18
30
  });
19
31
  function _assert() {
20
- const data = /*#__PURE__*/ _interopRequireDefault(require("assert"));
32
+ const data = /*#__PURE__*/ _interop_require_default(require("assert"));
21
33
  _assert = function() {
22
34
  return data;
23
35
  };
24
36
  return data;
25
37
  }
26
38
  function _chalk() {
27
- const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
39
+ const data = /*#__PURE__*/ _interop_require_default(require("chalk"));
28
40
  _chalk = function() {
29
41
  return data;
30
42
  };
31
43
  return data;
32
44
  }
33
45
  function _fs() {
34
- const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
46
+ const data = /*#__PURE__*/ _interop_require_default(require("fs"));
35
47
  _fs = function() {
36
48
  return data;
37
49
  };
38
50
  return data;
39
51
  }
40
52
  function _path() {
41
- const data = /*#__PURE__*/ _interopRequireDefault(require("path"));
53
+ const data = /*#__PURE__*/ _interop_require_default(require("path"));
42
54
  _path = function() {
43
55
  return data;
44
56
  };
45
57
  return data;
46
58
  }
47
- const _log = /*#__PURE__*/ _interopRequireWildcard(require("../log"));
59
+ const _log = /*#__PURE__*/ _interop_require_wildcard(require("../log"));
48
60
  const _errors = require("../utils/errors");
49
61
  const _url = require("../utils/url");
50
- function _interopRequireDefault(obj) {
62
+ function _interop_require_default(obj) {
51
63
  return obj && obj.__esModule ? obj : {
52
64
  default: obj
53
65
  };
@@ -60,7 +72,7 @@ function _getRequireWildcardCache(nodeInterop) {
60
72
  return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
61
73
  })(nodeInterop);
62
74
  }
63
- function _interopRequireWildcard(obj, nodeInterop) {
75
+ function _interop_require_wildcard(obj, nodeInterop) {
64
76
  if (!nodeInterop && obj && obj.__esModule) {
65
77
  return obj;
66
78
  }
@@ -73,7 +85,9 @@ function _interopRequireWildcard(obj, nodeInterop) {
73
85
  if (cache && cache.has(obj)) {
74
86
  return cache.get(obj);
75
87
  }
76
- var newObj = {};
88
+ var newObj = {
89
+ __proto__: null
90
+ };
77
91
  var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
78
92
  for(var key in obj){
79
93
  if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
@@ -91,91 +105,91 @@ function _interopRequireWildcard(obj, nodeInterop) {
91
105
  }
92
106
  return newObj;
93
107
  }
94
- const debug = require("debug")("expo:prebuild:resolveOptions");
108
+ const debug = require('debug')('expo:prebuild:resolveOptions');
95
109
  function resolvePackageManagerOptions(args) {
96
110
  const managers = {
97
- npm: args["--npm"],
98
- yarn: args["--yarn"],
99
- pnpm: args["--pnpm"],
100
- bun: args["--bun"]
111
+ npm: args['--npm'],
112
+ yarn: args['--yarn'],
113
+ pnpm: args['--pnpm'],
114
+ bun: args['--bun']
101
115
  };
102
116
  if ([
103
117
  managers.npm,
104
118
  managers.pnpm,
105
119
  managers.yarn,
106
120
  managers.bun,
107
- !!args["--no-install"]
121
+ !!args['--no-install']
108
122
  ].filter(Boolean).length > 1) {
109
- throw new _errors.CommandError("BAD_ARGS", "Specify at most one of: --no-install, --npm, --pnpm, --yarn, --bun");
123
+ throw new _errors.CommandError('BAD_ARGS', 'Specify at most one of: --no-install, --npm, --pnpm, --yarn, --bun');
110
124
  }
111
125
  return managers;
112
126
  }
113
127
  function resolveTemplateOption(template) {
114
- (0, _assert().default)(template, "template is required");
115
- if (template.startsWith("https://") || template.startsWith("http://")) {
128
+ (0, _assert().default)(template, 'template is required');
129
+ if (template.startsWith('https://') || template.startsWith('http://')) {
116
130
  if (!(0, _url.validateUrl)(template)) {
117
- throw new _errors.CommandError("BAD_ARGS", "Invalid URL provided as a template");
131
+ throw new _errors.CommandError('BAD_ARGS', 'Invalid URL provided as a template');
118
132
  }
119
- debug("Resolved template to repository path:", template);
133
+ debug('Resolved template to repository path:', template);
120
134
  return {
121
- type: "repository",
135
+ type: 'repository',
122
136
  uri: template
123
137
  };
124
138
  }
125
139
  if (// Supports `file:./path/to/template.tgz`
126
- template.startsWith("file:") || // Supports `../path/to/template.tgz`
127
- template.startsWith(".") || // Supports `\\path\\to\\template.tgz`
140
+ template.startsWith('file:') || // Supports `../path/to/template.tgz`
141
+ template.startsWith('.') || // Supports `\\path\\to\\template.tgz`
128
142
  template.startsWith(_path().default.sep)) {
129
143
  let resolvedUri = template;
130
- if (resolvedUri.startsWith("file:")) {
144
+ if (resolvedUri.startsWith('file:')) {
131
145
  resolvedUri = resolvedUri.substring(5);
132
146
  }
133
147
  const templatePath = _path().default.resolve(resolvedUri);
134
- (0, _assert().default)(_fs().default.existsSync(templatePath), "template file does not exist: " + templatePath);
135
- (0, _assert().default)(_fs().default.statSync(templatePath).isFile(), "template must be a tar file created by running `npm pack` in a project: " + templatePath);
148
+ (0, _assert().default)(_fs().default.existsSync(templatePath), 'template file does not exist: ' + templatePath);
149
+ (0, _assert().default)(_fs().default.statSync(templatePath).isFile(), 'template must be a tar file created by running `npm pack` in a project: ' + templatePath);
136
150
  debug(`Resolved template to file path:`, templatePath);
137
151
  return {
138
- type: "file",
152
+ type: 'file',
139
153
  uri: templatePath
140
154
  };
141
155
  }
142
156
  if (_fs().default.existsSync(template)) {
143
157
  // Backward compatible with the old local template argument, e.g. `--template dir/template.tgz`
144
- const templatePath1 = _path().default.resolve(template);
145
- debug(`Resolved template to file path:`, templatePath1);
158
+ const templatePath = _path().default.resolve(template);
159
+ debug(`Resolved template to file path:`, templatePath);
146
160
  return {
147
- type: "file",
148
- uri: templatePath1
161
+ type: 'file',
162
+ uri: templatePath
149
163
  };
150
164
  }
151
165
  debug(`Resolved template to NPM package:`, template);
152
166
  return {
153
- type: "npm",
167
+ type: 'npm',
154
168
  uri: template
155
169
  };
156
170
  }
157
171
  function resolveSkipDependencyUpdate(value) {
158
- if (!value || typeof value !== "string") {
172
+ if (!value || typeof value !== 'string') {
159
173
  return [];
160
174
  }
161
- return value.split(",");
175
+ return value.split(',');
162
176
  }
163
- function resolvePlatformOption(platform = "all", { loose } = {}) {
177
+ function resolvePlatformOption(platform = 'all', { loose } = {}) {
164
178
  switch(platform){
165
- case "ios":
179
+ case 'ios':
166
180
  return [
167
- "ios"
181
+ 'ios'
168
182
  ];
169
- case "android":
183
+ case 'android':
170
184
  return [
171
- "android"
185
+ 'android'
172
186
  ];
173
- case "all":
174
- return loose || process.platform !== "win32" ? [
175
- "android",
176
- "ios"
187
+ case 'all':
188
+ return loose || process.platform !== 'win32' ? [
189
+ 'android',
190
+ 'ios'
177
191
  ] : [
178
- "android"
192
+ 'android'
179
193
  ];
180
194
  default:
181
195
  return [
@@ -185,15 +199,15 @@ function resolvePlatformOption(platform = "all", { loose } = {}) {
185
199
  }
186
200
  function ensureValidPlatforms(platforms) {
187
201
  // Skip prebuild for iOS on Windows
188
- if (process.platform === "win32" && platforms.includes("ios")) {
202
+ if (process.platform === 'win32' && platforms.includes('ios')) {
189
203
  _log.warn((0, _chalk().default)`⚠️ Skipping generating the iOS native project files. Run {bold npx expo prebuild} again from macOS or Linux to generate the iOS project.\n`);
190
- return platforms.filter((platform)=>platform !== "ios");
204
+ return platforms.filter((platform)=>platform !== 'ios');
191
205
  }
192
206
  return platforms;
193
207
  }
194
208
  function assertPlatforms(platforms) {
195
209
  if (!(platforms == null ? void 0 : platforms.length)) {
196
- throw new _errors.CommandError("At least one platform must be enabled when syncing");
210
+ throw new _errors.CommandError('At least one platform must be enabled when syncing');
197
211
  }
198
212
  }
199
213
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/prebuild/resolveOptions.ts"],"sourcesContent":["import { ModPlatform } from '@expo/config-plugins';\nimport assert from 'assert';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport * as Log from '../log';\nimport { CommandError } from '../utils/errors';\nimport { validateUrl } from '../utils/url';\n\nconst debug = require('debug')('expo:prebuild:resolveOptions') as typeof console.log;\n\nexport interface ResolvedTemplateOption {\n type: 'file' | 'npm' | 'repository';\n uri: string;\n}\n\nexport function resolvePackageManagerOptions(args: any) {\n const managers: Record<string, boolean> = {\n npm: args['--npm'],\n yarn: args['--yarn'],\n pnpm: args['--pnpm'],\n bun: args['--bun'],\n };\n\n if (\n [managers.npm, managers.pnpm, managers.yarn, managers.bun, !!args['--no-install']].filter(\n Boolean\n ).length > 1\n ) {\n throw new CommandError(\n 'BAD_ARGS',\n 'Specify at most one of: --no-install, --npm, --pnpm, --yarn, --bun'\n );\n }\n\n return managers;\n}\n\n/** Resolves a template option as a URL or file path pointing to a tar file. */\nexport function resolveTemplateOption(template: string): ResolvedTemplateOption {\n assert(template, 'template is required');\n\n if (template.startsWith('https://') || template.startsWith('http://')) {\n if (!validateUrl(template)) {\n throw new CommandError('BAD_ARGS', 'Invalid URL provided as a template');\n }\n debug('Resolved template to repository path:', template);\n return { type: 'repository', uri: template };\n }\n\n if (\n // Supports `file:./path/to/template.tgz`\n template.startsWith('file:') ||\n // Supports `../path/to/template.tgz`\n template.startsWith('.') ||\n // Supports `\\\\path\\\\to\\\\template.tgz`\n template.startsWith(path.sep)\n ) {\n let resolvedUri = template;\n if (resolvedUri.startsWith('file:')) {\n resolvedUri = resolvedUri.substring(5);\n }\n const templatePath = path.resolve(resolvedUri);\n assert(fs.existsSync(templatePath), 'template file does not exist: ' + templatePath);\n assert(\n fs.statSync(templatePath).isFile(),\n 'template must be a tar file created by running `npm pack` in a project: ' + templatePath\n );\n\n debug(`Resolved template to file path:`, templatePath);\n return { type: 'file', uri: templatePath };\n }\n\n if (fs.existsSync(template)) {\n // Backward compatible with the old local template argument, e.g. `--template dir/template.tgz`\n const templatePath = path.resolve(template);\n debug(`Resolved template to file path:`, templatePath);\n return { type: 'file', uri: templatePath };\n }\n\n debug(`Resolved template to NPM package:`, template);\n return { type: 'npm', uri: template };\n}\n\n/** Resolves dependencies to skip from a string joined by `,`. Example: `react-native,expo,lodash` */\nexport function resolveSkipDependencyUpdate(value: any) {\n if (!value || typeof value !== 'string') {\n return [];\n }\n return value.split(',');\n}\n\n/** Returns an array of platforms based on the input platform identifier and runtime constraints. */\nexport function resolvePlatformOption(\n platform: string = 'all',\n { loose }: { loose?: boolean } = {}\n): ModPlatform[] {\n switch (platform) {\n case 'ios':\n return ['ios'];\n case 'android':\n return ['android'];\n case 'all':\n return loose || process.platform !== 'win32' ? ['android', 'ios'] : ['android'];\n default:\n return [platform as ModPlatform];\n }\n}\n\n/** Warns and filters out unsupported platforms based on the runtime constraints. Essentially this means no iOS on Windows devices. */\nexport function ensureValidPlatforms(platforms: ModPlatform[]): ModPlatform[] {\n // Skip prebuild for iOS on Windows\n if (process.platform === 'win32' && platforms.includes('ios')) {\n Log.warn(\n chalk`⚠️ Skipping generating the iOS native project files. Run {bold npx expo prebuild} again from macOS or Linux to generate the iOS project.\\n`\n );\n return platforms.filter((platform) => platform !== 'ios');\n }\n return platforms;\n}\n\n/** Asserts platform length must be greater than zero. */\nexport function assertPlatforms(platforms: ModPlatform[]) {\n if (!platforms?.length) {\n throw new CommandError('At least one platform must be enabled when syncing');\n }\n}\n"],"names":["resolvePackageManagerOptions","resolveTemplateOption","resolveSkipDependencyUpdate","resolvePlatformOption","ensureValidPlatforms","assertPlatforms","debug","require","args","managers","npm","yarn","pnpm","bun","filter","Boolean","length","CommandError","template","assert","startsWith","validateUrl","type","uri","path","sep","resolvedUri","substring","templatePath","resolve","fs","existsSync","statSync","isFile","value","split","platform","loose","process","platforms","includes","Log","warn","chalk"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/prebuild/resolveOptions.ts"],"sourcesContent":["import { ModPlatform } from '@expo/config-plugins';\nimport assert from 'assert';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport * as Log from '../log';\nimport { CommandError } from '../utils/errors';\nimport { validateUrl } from '../utils/url';\n\nconst debug = require('debug')('expo:prebuild:resolveOptions') as typeof console.log;\n\nexport interface ResolvedTemplateOption {\n type: 'file' | 'npm' | 'repository';\n uri: string;\n}\n\nexport function resolvePackageManagerOptions(args: any) {\n const managers: Record<string, boolean> = {\n npm: args['--npm'],\n yarn: args['--yarn'],\n pnpm: args['--pnpm'],\n bun: args['--bun'],\n };\n\n if (\n [managers.npm, managers.pnpm, managers.yarn, managers.bun, !!args['--no-install']].filter(\n Boolean\n ).length > 1\n ) {\n throw new CommandError(\n 'BAD_ARGS',\n 'Specify at most one of: --no-install, --npm, --pnpm, --yarn, --bun'\n );\n }\n\n return managers;\n}\n\n/** Resolves a template option as a URL or file path pointing to a tar file. */\nexport function resolveTemplateOption(template: string): ResolvedTemplateOption {\n assert(template, 'template is required');\n\n if (template.startsWith('https://') || template.startsWith('http://')) {\n if (!validateUrl(template)) {\n throw new CommandError('BAD_ARGS', 'Invalid URL provided as a template');\n }\n debug('Resolved template to repository path:', template);\n return { type: 'repository', uri: template };\n }\n\n if (\n // Supports `file:./path/to/template.tgz`\n template.startsWith('file:') ||\n // Supports `../path/to/template.tgz`\n template.startsWith('.') ||\n // Supports `\\\\path\\\\to\\\\template.tgz`\n template.startsWith(path.sep)\n ) {\n let resolvedUri = template;\n if (resolvedUri.startsWith('file:')) {\n resolvedUri = resolvedUri.substring(5);\n }\n const templatePath = path.resolve(resolvedUri);\n assert(fs.existsSync(templatePath), 'template file does not exist: ' + templatePath);\n assert(\n fs.statSync(templatePath).isFile(),\n 'template must be a tar file created by running `npm pack` in a project: ' + templatePath\n );\n\n debug(`Resolved template to file path:`, templatePath);\n return { type: 'file', uri: templatePath };\n }\n\n if (fs.existsSync(template)) {\n // Backward compatible with the old local template argument, e.g. `--template dir/template.tgz`\n const templatePath = path.resolve(template);\n debug(`Resolved template to file path:`, templatePath);\n return { type: 'file', uri: templatePath };\n }\n\n debug(`Resolved template to NPM package:`, template);\n return { type: 'npm', uri: template };\n}\n\n/** Resolves dependencies to skip from a string joined by `,`. Example: `react-native,expo,lodash` */\nexport function resolveSkipDependencyUpdate(value: any) {\n if (!value || typeof value !== 'string') {\n return [];\n }\n return value.split(',');\n}\n\n/** Returns an array of platforms based on the input platform identifier and runtime constraints. */\nexport function resolvePlatformOption(\n platform: string = 'all',\n { loose }: { loose?: boolean } = {}\n): ModPlatform[] {\n switch (platform) {\n case 'ios':\n return ['ios'];\n case 'android':\n return ['android'];\n case 'all':\n return loose || process.platform !== 'win32' ? ['android', 'ios'] : ['android'];\n default:\n return [platform as ModPlatform];\n }\n}\n\n/** Warns and filters out unsupported platforms based on the runtime constraints. Essentially this means no iOS on Windows devices. */\nexport function ensureValidPlatforms(platforms: ModPlatform[]): ModPlatform[] {\n // Skip prebuild for iOS on Windows\n if (process.platform === 'win32' && platforms.includes('ios')) {\n Log.warn(\n chalk`⚠️ Skipping generating the iOS native project files. Run {bold npx expo prebuild} again from macOS or Linux to generate the iOS project.\\n`\n );\n return platforms.filter((platform) => platform !== 'ios');\n }\n return platforms;\n}\n\n/** Asserts platform length must be greater than zero. */\nexport function assertPlatforms(platforms: ModPlatform[]) {\n if (!platforms?.length) {\n throw new CommandError('At least one platform must be enabled when syncing');\n }\n}\n"],"names":["assertPlatforms","ensureValidPlatforms","resolvePackageManagerOptions","resolvePlatformOption","resolveSkipDependencyUpdate","resolveTemplateOption","debug","require","args","managers","npm","yarn","pnpm","bun","filter","Boolean","length","CommandError","template","assert","startsWith","validateUrl","type","uri","path","sep","resolvedUri","substring","templatePath","resolve","fs","existsSync","statSync","isFile","value","split","platform","loose","process","platforms","includes","Log","warn","chalk"],"mappings":"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"}