@expo/cli 0.17.9 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (570) hide show
  1. package/build/bin/cli +11 -7
  2. package/build/bin/cli.map +1 -1
  3. package/build/src/api/getExpoSchema.js +23 -5
  4. package/build/src/api/getExpoSchema.js.map +1 -1
  5. package/build/src/api/graphql/client.js +28 -10
  6. package/build/src/api/graphql/client.js.map +1 -1
  7. package/build/src/api/graphql/queries/AppQuery.js +16 -4
  8. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  9. package/build/src/api/graphql/queries/UserQuery.js +8 -2
  10. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  11. package/build/src/api/graphql/types/App.js +8 -2
  12. package/build/src/api/graphql/types/App.js.map +1 -1
  13. package/build/src/api/rest/cache/FileSystemCache.js +21 -9
  14. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
  15. package/build/src/api/rest/cache/response.js +9 -3
  16. package/build/src/api/rest/cache/response.js.map +1 -1
  17. package/build/src/api/rest/cache/wrapFetchWithCache.js +32 -8
  18. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  19. package/build/src/api/rest/client.js +23 -5
  20. package/build/src/api/rest/client.js.map +1 -1
  21. package/build/src/api/rest/wrapFetchWithBaseUrl.js +9 -4
  22. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  23. package/build/src/api/rest/wrapFetchWithProxy.js +8 -2
  24. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  25. package/build/src/api/settings.js +8 -2
  26. package/build/src/api/settings.js.map +1 -1
  27. package/build/src/api/updateDevelopmentSession.js +18 -6
  28. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  29. package/build/src/api/user/UserSettings.js +26 -8
  30. package/build/src/api/user/UserSettings.js.map +1 -1
  31. package/build/src/api/user/actions.js +17 -5
  32. package/build/src/api/user/actions.js.map +1 -1
  33. package/build/src/api/user/expoSsoLauncher.js +32 -8
  34. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  35. package/build/src/api/user/otp.js +17 -5
  36. package/build/src/api/user/otp.js.map +1 -1
  37. package/build/src/api/user/user.js +19 -12
  38. package/build/src/api/user/user.js.map +1 -1
  39. package/build/src/config/configAsync.js +25 -7
  40. package/build/src/config/configAsync.js.map +1 -1
  41. package/build/src/config/index.js +9 -3
  42. package/build/src/config/index.js.map +1 -1
  43. package/build/src/customize/customizeAsync.js +8 -2
  44. package/build/src/customize/customizeAsync.js.map +1 -1
  45. package/build/src/customize/generate.js +16 -4
  46. package/build/src/customize/generate.js.map +1 -1
  47. package/build/src/customize/index.js +10 -4
  48. package/build/src/customize/index.js.map +1 -1
  49. package/build/src/customize/templates.js +33 -9
  50. package/build/src/customize/templates.js.map +1 -1
  51. package/build/src/customize/typescript.js +8 -2
  52. package/build/src/customize/typescript.js.map +1 -1
  53. package/build/src/export/createMetadataJson.js +8 -2
  54. package/build/src/export/createMetadataJson.js.map +1 -1
  55. package/build/src/export/embed/exportEmbedAsync.js +58 -18
  56. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  57. package/build/src/export/embed/index.js +17 -5
  58. package/build/src/export/embed/index.js.map +1 -1
  59. package/build/src/export/embed/resolveOptions.js +8 -2
  60. package/build/src/export/embed/resolveOptions.js.map +1 -1
  61. package/build/src/export/embed/xcodeCompilerLogger.js +16 -4
  62. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  63. package/build/src/export/exportApp.js +32 -12
  64. package/build/src/export/exportApp.js.map +1 -1
  65. package/build/src/export/exportAssets.js +27 -9
  66. package/build/src/export/exportAssets.js.map +1 -1
  67. package/build/src/export/exportAsync.js +10 -2
  68. package/build/src/export/exportAsync.js.map +1 -1
  69. package/build/src/export/exportHermes.js +29 -17
  70. package/build/src/export/exportHermes.js.map +1 -1
  71. package/build/src/export/exportStaticAsync.js +69 -37
  72. package/build/src/export/exportStaticAsync.js.map +1 -1
  73. package/build/src/export/favicon.js +33 -9
  74. package/build/src/export/favicon.js.map +1 -1
  75. package/build/src/export/fork-bundleAsync.js +61 -16
  76. package/build/src/export/fork-bundleAsync.js.map +1 -1
  77. package/build/src/export/getPublicExpoManifest.js +8 -2
  78. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  79. package/build/src/export/getResolvedLocales.js +15 -3
  80. package/build/src/export/getResolvedLocales.js.map +1 -1
  81. package/build/src/export/index.js +11 -5
  82. package/build/src/export/index.js.map +1 -1
  83. package/build/src/export/metroAssetLocalPath.js +9 -3
  84. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  85. package/build/src/export/persistMetroAssets.js +27 -15
  86. package/build/src/export/persistMetroAssets.js.map +1 -1
  87. package/build/src/export/publicFolder.js +18 -6
  88. package/build/src/export/publicFolder.js.map +1 -1
  89. package/build/src/export/resolveOptions.js +8 -2
  90. package/build/src/export/resolveOptions.js.map +1 -1
  91. package/build/src/export/saveAssets.js +43 -19
  92. package/build/src/export/saveAssets.js.map +1 -1
  93. package/build/src/export/web/exportWebAsync.js +16 -4
  94. package/build/src/export/web/exportWebAsync.js.map +1 -1
  95. package/build/src/export/web/index.js +9 -3
  96. package/build/src/export/web/index.js.map +1 -1
  97. package/build/src/install/applyPlugins.js +8 -2
  98. package/build/src/install/applyPlugins.js.map +1 -1
  99. package/build/src/install/checkPackages.js +18 -6
  100. package/build/src/install/checkPackages.js.map +1 -1
  101. package/build/src/install/fixPackages.js +8 -2
  102. package/build/src/install/fixPackages.js.map +1 -1
  103. package/build/src/install/index.js +14 -8
  104. package/build/src/install/index.js.map +1 -1
  105. package/build/src/install/installAsync.js +27 -9
  106. package/build/src/install/installAsync.js.map +1 -1
  107. package/build/src/install/installExpoPackage.js +17 -5
  108. package/build/src/install/installExpoPackage.js.map +1 -1
  109. package/build/src/install/utils/autoAddConfigPlugins.js +17 -5
  110. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  111. package/build/src/log.js +9 -3
  112. package/build/src/log.js.map +1 -1
  113. package/build/src/prebuild/clearNativeFolder.js +37 -13
  114. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  115. package/build/src/prebuild/configureProjectAsync.js +16 -4
  116. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  117. package/build/src/prebuild/copyTemplateFiles.js +29 -11
  118. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  119. package/build/src/prebuild/ensureConfigAsync.js +24 -6
  120. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  121. package/build/src/prebuild/index.js +14 -8
  122. package/build/src/prebuild/index.js.map +1 -1
  123. package/build/src/prebuild/prebuildAsync.js +9 -3
  124. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  125. package/build/src/prebuild/renameTemplateAppName.js +119 -0
  126. package/build/src/prebuild/renameTemplateAppName.js.map +1 -0
  127. package/build/src/prebuild/resolveOptions.js +32 -8
  128. package/build/src/prebuild/resolveOptions.js.map +1 -1
  129. package/build/src/prebuild/resolveTemplate.js +44 -14
  130. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  131. package/build/src/prebuild/updateFromTemplate.js +18 -2
  132. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  133. package/build/src/prebuild/updatePackageJson.js +49 -13
  134. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  135. package/build/src/prebuild/validateTemplatePlatforms.js +16 -4
  136. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  137. package/build/src/run/android/index.js +20 -4
  138. package/build/src/run/android/index.js.map +1 -1
  139. package/build/src/run/android/resolveGradlePropsAsync.js +55 -0
  140. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -0
  141. package/build/src/run/android/resolveInstallApkName.js +18 -6
  142. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  143. package/build/src/run/android/resolveLaunchProps.js +10 -4
  144. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  145. package/build/src/run/android/resolveOptions.js +5 -3
  146. package/build/src/run/android/resolveOptions.js.map +1 -1
  147. package/build/src/run/android/runAndroidAsync.js +13 -4
  148. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  149. package/build/src/run/ensureNativeProject.js +15 -3
  150. package/build/src/run/ensureNativeProject.js.map +1 -1
  151. package/build/src/run/hints.js +10 -4
  152. package/build/src/run/hints.js.map +1 -1
  153. package/build/src/run/index.js +8 -2
  154. package/build/src/run/index.js.map +1 -1
  155. package/build/src/run/ios/XcodeBuild.js +57 -21
  156. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  157. package/build/src/run/ios/appleDevice/AppleDevice.js +25 -7
  158. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  159. package/build/src/run/ios/appleDevice/ClientManager.js +10 -4
  160. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  161. package/build/src/run/ios/appleDevice/client/AFCClient.js +34 -10
  162. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  163. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +16 -4
  164. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  165. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +8 -2
  166. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  167. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +17 -5
  168. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  169. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +17 -5
  170. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  171. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +25 -7
  172. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  173. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +24 -6
  174. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  175. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +8 -2
  176. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  177. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +16 -4
  178. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  179. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +8 -2
  180. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  181. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +16 -4
  182. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  183. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +16 -4
  184. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  185. package/build/src/run/ios/codeSigning/Security.js +17 -5
  186. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  187. package/build/src/run/ios/codeSigning/configureCodeSigning.js +8 -2
  188. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  189. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +9 -3
  190. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  191. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +25 -7
  192. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  193. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +22 -10
  194. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  195. package/build/src/run/ios/index.js +19 -7
  196. package/build/src/run/ios/index.js.map +1 -1
  197. package/build/src/run/ios/launchApp.js +17 -5
  198. package/build/src/run/ios/launchApp.js.map +1 -1
  199. package/build/src/run/ios/options/promptDevice.js +9 -3
  200. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  201. package/build/src/run/ios/options/resolveDevice.js +1 -2
  202. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  203. package/build/src/run/ios/options/resolveNativeScheme.js +27 -9
  204. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  205. package/build/src/run/ios/options/resolveXcodeProject.js +8 -2
  206. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  207. package/build/src/run/ios/runIosAsync.js +10 -2
  208. package/build/src/run/ios/runIosAsync.js.map +1 -1
  209. package/build/src/run/startBundler.js +16 -4
  210. package/build/src/run/startBundler.js.map +1 -1
  211. package/build/src/start/detectDevClient.js +29 -0
  212. package/build/src/start/detectDevClient.js.map +1 -0
  213. package/build/src/start/doctor/SecurityBinPrerequisite.js +8 -2
  214. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  215. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +16 -4
  216. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  217. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +16 -4
  218. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  219. package/build/src/start/doctor/apple/XcodePrerequisite.js +79 -29
  220. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  221. package/build/src/start/doctor/apple/XcrunPrerequisite.js +24 -6
  222. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  223. package/build/src/start/doctor/dependencies/bundledNativeModules.js +25 -7
  224. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  225. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +27 -9
  226. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  227. package/build/src/start/doctor/dependencies/getMissingPackages.js +24 -6
  228. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  229. package/build/src/start/doctor/dependencies/getVersionedPackages.js +8 -2
  230. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  231. package/build/src/start/doctor/dependencies/resolvePackages.js +25 -7
  232. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  233. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +32 -21
  234. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  235. package/build/src/start/doctor/ngrok/ExternalModule.js +33 -9
  236. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  237. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +18 -6
  238. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  239. package/build/src/start/doctor/typescript/updateTSConfig.js +29 -11
  240. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  241. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +18 -6
  242. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  243. package/build/src/start/index.js +17 -11
  244. package/build/src/start/index.js.map +1 -1
  245. package/build/src/start/interface/commandsTable.js +27 -9
  246. package/build/src/start/interface/commandsTable.js.map +1 -1
  247. package/build/src/start/interface/interactiveActions.js +17 -11
  248. package/build/src/start/interface/interactiveActions.js.map +1 -1
  249. package/build/src/start/interface/startInterface.js +8 -2
  250. package/build/src/start/interface/startInterface.js.map +1 -1
  251. package/build/src/start/platforms/AppIdResolver.js +9 -3
  252. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  253. package/build/src/start/platforms/DeviceManager.js +8 -2
  254. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  255. package/build/src/start/platforms/ExpoGoInstaller.js +30 -14
  256. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  257. package/build/src/start/platforms/PlatformManager.js +33 -13
  258. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  259. package/build/src/start/platforms/android/ADBServer.js +17 -5
  260. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  261. package/build/src/start/platforms/android/AndroidAppIdResolver.js +13 -7
  262. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  263. package/build/src/start/platforms/android/AndroidDeviceManager.js +19 -7
  264. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  265. package/build/src/start/platforms/android/AndroidSdk.js +34 -10
  266. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  267. package/build/src/start/platforms/android/activateWindow.js +16 -4
  268. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  269. package/build/src/start/platforms/android/adb.js +21 -4
  270. package/build/src/start/platforms/android/adb.js.map +1 -1
  271. package/build/src/start/platforms/android/emulator.js +32 -8
  272. package/build/src/start/platforms/android/emulator.js.map +1 -1
  273. package/build/src/start/platforms/android/gradle.js +23 -6
  274. package/build/src/start/platforms/android/gradle.js.map +1 -1
  275. package/build/src/start/platforms/android/promptAndroidDevice.js +10 -4
  276. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  277. package/build/src/start/platforms/ios/AppleAppIdResolver.js +26 -8
  278. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  279. package/build/src/start/platforms/ios/AppleDeviceManager.js +50 -18
  280. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  281. package/build/src/start/platforms/ios/assertSystemRequirements.js +4 -3
  282. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  283. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +16 -4
  284. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  285. package/build/src/start/platforms/ios/getBestSimulator.js +8 -2
  286. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  287. package/build/src/start/platforms/ios/promptAppleDevice.js +9 -3
  288. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  289. package/build/src/start/platforms/ios/simctl.js +12 -6
  290. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  291. package/build/src/start/platforms/ios/simctlLogging.js +40 -10
  292. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  293. package/build/src/start/platforms/ios/xcrun.js +16 -4
  294. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  295. package/build/src/start/project/dotExpo.js +27 -9
  296. package/build/src/start/project/dotExpo.js.map +1 -1
  297. package/build/src/start/resolveOptions.js +33 -15
  298. package/build/src/start/resolveOptions.js.map +1 -1
  299. package/build/src/start/server/AsyncNgrok.js +34 -10
  300. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  301. package/build/src/start/server/BundlerDevServer.js +16 -4
  302. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  303. package/build/src/start/server/DevServerManager.js +28 -10
  304. package/build/src/start/server/DevServerManager.js.map +1 -1
  305. package/build/src/start/server/DevToolsPluginManager.js +16 -4
  306. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  307. package/build/src/start/server/DevelopmentSession.js +9 -3
  308. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  309. package/build/src/start/server/ReactDevToolsProxy.js +26 -8
  310. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  311. package/build/src/start/server/UrlCreator.js +19 -6
  312. package/build/src/start/server/UrlCreator.js.map +1 -1
  313. package/build/src/start/server/getStaticRenderFunctions.js +91 -55
  314. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  315. package/build/src/start/server/metro/MetroBundlerDevServer.js +231 -83
  316. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  317. package/build/src/start/server/metro/MetroTerminalReporter.js +30 -15
  318. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  319. package/build/src/start/server/metro/TerminalReporter.js +26 -8
  320. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  321. package/build/src/start/server/metro/TerminalReporter.types.js.map +1 -1
  322. package/build/src/start/server/metro/createExpoMetroResolver.js +56 -20
  323. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  324. package/build/src/start/server/metro/createJResolver.js +90 -45
  325. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  326. package/build/src/start/server/metro/createServerRouteMiddleware.js +29 -28
  327. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  328. package/build/src/start/server/metro/debugging/MessageHandler.js +27 -0
  329. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -0
  330. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +11 -8
  331. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  332. package/build/src/start/server/metro/debugging/createHandlersFactory.js +63 -0
  333. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -0
  334. package/build/src/start/server/metro/debugging/{inspectorHandlers/utils.js → getDebuggerType.js} +1 -6
  335. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -0
  336. package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/NetworkResponse.js +8 -5
  337. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -0
  338. package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/PageReload.js +7 -6
  339. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -0
  340. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +25 -0
  341. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -0
  342. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +22 -0
  343. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -0
  344. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +28 -0
  345. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -0
  346. package/build/src/start/server/metro/debugging/{inspectorHandlers → messageHandlers}/VscodeRuntimeGetProperties.js +10 -6
  347. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -0
  348. package/build/src/start/server/metro/debugging/pageIsSupported.js +14 -0
  349. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -0
  350. package/build/src/start/server/metro/debugging/types.js.map +1 -0
  351. package/build/src/start/server/metro/externals.js +51 -64
  352. package/build/src/start/server/metro/externals.js.map +1 -1
  353. package/build/src/start/server/metro/fetchRouterManifest.js +8 -2
  354. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  355. package/build/src/start/server/metro/formatFileCandidates.js +8 -2
  356. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  357. package/build/src/start/server/metro/getCssModulesFromBundler.js +34 -10
  358. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  359. package/build/src/start/server/metro/instantiateMetro.js +96 -30
  360. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  361. package/build/src/start/server/metro/metroErrorInterface.js +40 -21
  362. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  363. package/build/src/start/server/metro/metroVirtualModules.js +82 -0
  364. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -0
  365. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +8 -2
  366. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  367. package/build/src/start/server/metro/router.js +44 -17
  368. package/build/src/start/server/metro/router.js.map +1 -1
  369. package/build/src/start/server/metro/runServer-fork.js +56 -14
  370. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  371. package/build/src/start/server/metro/serializeHtml.js +25 -12
  372. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  373. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +8 -2
  374. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  375. package/build/src/start/server/metro/withMetroMultiPlatform.js +148 -46
  376. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  377. package/build/src/start/server/metro/withMetroResolvers.js +31 -13
  378. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  379. package/build/src/start/server/middleware/CreateFileMiddleware.js +22 -10
  380. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  381. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +16 -4
  382. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  383. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +42 -12
  384. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  385. package/build/src/start/server/middleware/ExpoMiddleware.js +8 -2
  386. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  387. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +41 -11
  388. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  389. package/build/src/start/server/middleware/ManifestMiddleware.js +40 -10
  390. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  391. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +24 -6
  392. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  393. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +8 -2
  394. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  395. package/build/src/start/server/middleware/ServeStaticMiddleware.js +24 -6
  396. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  397. package/build/src/start/server/middleware/inspector/JsInspector.js +25 -8
  398. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  399. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +10 -4
  400. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
  401. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +24 -6
  402. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
  403. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +33 -9
  404. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
  405. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +27 -11
  406. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
  407. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +33 -9
  408. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  409. package/build/src/start/server/middleware/metroOptions.js +12 -2
  410. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  411. package/build/src/start/server/middleware/resolveAssets.js +17 -5
  412. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  413. package/build/src/start/server/middleware/resolvePlatform.js +8 -2
  414. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  415. package/build/src/start/server/platformBundlers.js +8 -2
  416. package/build/src/start/server/platformBundlers.js.map +1 -1
  417. package/build/src/start/server/serverLogLikeMetro.js +37 -13
  418. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  419. package/build/src/start/server/type-generation/expo-env.js +16 -4
  420. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  421. package/build/src/start/server/type-generation/routes.js +91 -37
  422. package/build/src/start/server/type-generation/routes.js.map +1 -1
  423. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +27 -9
  424. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  425. package/build/src/start/server/type-generation/tsconfig.js +27 -9
  426. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  427. package/build/src/start/server/webTemplate.js +26 -8
  428. package/build/src/start/server/webTemplate.js.map +1 -1
  429. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +36 -12
  430. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  431. package/build/src/start/server/webpack/compile.js +17 -5
  432. package/build/src/start/server/webpack/compile.js.map +1 -1
  433. package/build/src/start/server/webpack/resolveFromProject.js +8 -2
  434. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  435. package/build/src/start/server/webpack/tls.js +35 -11
  436. package/build/src/start/server/webpack/tls.js.map +1 -1
  437. package/build/src/start/startAsync.js +36 -11
  438. package/build/src/start/startAsync.js.map +1 -1
  439. package/build/src/utils/FileNotifier.js +32 -8
  440. package/build/src/utils/FileNotifier.js.map +1 -1
  441. package/build/src/utils/analytics/getDevClientProperties.js +26 -8
  442. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
  443. package/build/src/utils/analytics/metroDebuggerMiddleware.js +2 -2
  444. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
  445. package/build/src/utils/args.js +32 -8
  446. package/build/src/utils/args.js.map +1 -1
  447. package/build/src/utils/cocoapods.js +64 -28
  448. package/build/src/utils/cocoapods.js.map +1 -1
  449. package/build/src/utils/codesigning.js +79 -29
  450. package/build/src/utils/codesigning.js.map +1 -1
  451. package/build/src/utils/createFileTransform.js +24 -69
  452. package/build/src/utils/createFileTransform.js.map +1 -1
  453. package/build/src/utils/dir.js +33 -26
  454. package/build/src/utils/dir.js.map +1 -1
  455. package/build/src/utils/downloadAppAsync.js +40 -10
  456. package/build/src/utils/downloadAppAsync.js.map +1 -1
  457. package/build/src/utils/downloadExpoGoAsync.js +26 -11
  458. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  459. package/build/src/utils/editor.js +18 -6
  460. package/build/src/utils/editor.js.map +1 -1
  461. package/build/src/utils/env.js +40 -31
  462. package/build/src/utils/env.js.map +1 -1
  463. package/build/src/utils/errors.js +20 -5
  464. package/build/src/utils/errors.js.map +1 -1
  465. package/build/src/utils/findUp.js +18 -6
  466. package/build/src/utils/findUp.js.map +1 -1
  467. package/build/src/utils/getOrPromptApplicationId.js +19 -7
  468. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  469. package/build/src/utils/getRunningProcess.js +18 -6
  470. package/build/src/utils/getRunningProcess.js.map +1 -1
  471. package/build/src/utils/git.js +18 -6
  472. package/build/src/utils/git.js.map +1 -1
  473. package/build/src/utils/glob.js +9 -3
  474. package/build/src/utils/glob.js.map +1 -1
  475. package/build/src/utils/ip.js +8 -2
  476. package/build/src/utils/ip.js.map +1 -1
  477. package/build/src/utils/isModuleSymlinked.js +16 -4
  478. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  479. package/build/src/utils/link.js +18 -6
  480. package/build/src/utils/link.js.map +1 -1
  481. package/build/src/utils/mergeGitIgnorePaths.js +25 -13
  482. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  483. package/build/src/utils/modifyConfigAsync.js +18 -6
  484. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  485. package/build/src/utils/modifyConfigPlugins.js +8 -2
  486. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  487. package/build/src/utils/nodeEnv.js +2 -0
  488. package/build/src/utils/nodeEnv.js.map +1 -1
  489. package/build/src/utils/nodeModules.js +23 -5
  490. package/build/src/utils/nodeModules.js.map +1 -1
  491. package/build/src/utils/npm.js +64 -17
  492. package/build/src/utils/npm.js.map +1 -1
  493. package/build/src/utils/open.js +9 -3
  494. package/build/src/utils/open.js.map +1 -1
  495. package/build/src/utils/ora.js +16 -4
  496. package/build/src/utils/ora.js.map +1 -1
  497. package/build/src/utils/plist.js +24 -6
  498. package/build/src/utils/plist.js.map +1 -1
  499. package/build/src/utils/port.js +22 -10
  500. package/build/src/utils/port.js.map +1 -1
  501. package/build/src/utils/profile.js +8 -2
  502. package/build/src/utils/profile.js.map +1 -1
  503. package/build/src/utils/progress.js +8 -2
  504. package/build/src/utils/progress.js.map +1 -1
  505. package/build/src/utils/prompts.js +16 -4
  506. package/build/src/utils/prompts.js.map +1 -1
  507. package/build/src/utils/scheme.js +75 -23
  508. package/build/src/utils/scheme.js.map +1 -1
  509. package/build/src/utils/tar.js +16 -4
  510. package/build/src/utils/tar.js.map +1 -1
  511. package/build/src/utils/telemetry/DetachedClient.js +87 -0
  512. package/build/src/utils/telemetry/DetachedClient.js.map +1 -0
  513. package/build/src/utils/telemetry/RudderClient.js +98 -0
  514. package/build/src/utils/telemetry/RudderClient.js.map +1 -0
  515. package/build/src/utils/telemetry/flushDetached.js +43 -0
  516. package/build/src/utils/telemetry/flushDetached.js.map +1 -0
  517. package/build/src/utils/telemetry/getContext.js +92 -0
  518. package/build/src/utils/telemetry/getContext.js.map +1 -0
  519. package/build/src/utils/telemetry/index.js +32 -0
  520. package/build/src/utils/telemetry/index.js.map +1 -0
  521. package/build/src/utils/telemetry/types.js +6 -0
  522. package/build/src/utils/telemetry/types.js.map +1 -0
  523. package/build/src/utils/tsconfig/evaluateTsConfig.js +16 -4
  524. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  525. package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -6
  526. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  527. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +10 -4
  528. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  529. package/build/src/utils/url.js +19 -10
  530. package/build/src/utils/url.js.map +1 -1
  531. package/build/src/utils/validateApplicationId.js +18 -6
  532. package/build/src/utils/validateApplicationId.js.map +1 -1
  533. package/build/src/whoami/whoamiAsync.js +8 -2
  534. package/build/src/whoami/whoamiAsync.js.map +1 -1
  535. package/package.json +15 -16
  536. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-dev.js +27907 -0
  537. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-prod.js +9494 -0
  538. package/static/canary/react-native/Libraries/Renderer/implementations/ReactFabric-profiling.js +10015 -0
  539. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +28375 -0
  540. package/static/canary/react-native/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +9714 -0
  541. package/build/src/run/android/resolveGradleProps.js +0 -37
  542. package/build/src/run/android/resolveGradleProps.js.map +0 -1
  543. package/build/src/start/server/metro/bundleApiRoutes.js +0 -52
  544. package/build/src/start/server/metro/bundleApiRoutes.js.map +0 -1
  545. package/build/src/start/server/metro/debugging/InspectorDevice.js +0 -80
  546. package/build/src/start/server/metro/debugging/InspectorDevice.js.map +0 -1
  547. package/build/src/start/server/metro/debugging/InspectorProxy.js +0 -116
  548. package/build/src/start/server/metro/debugging/InspectorProxy.js.map +0 -1
  549. package/build/src/start/server/metro/debugging/inspectorHandlers/NetworkResponse.js.map +0 -1
  550. package/build/src/start/server/metro/debugging/inspectorHandlers/PageReload.js.map +0 -1
  551. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js +0 -21
  552. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +0 -1
  553. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js +0 -56
  554. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerScriptParsed.js.map +0 -1
  555. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js +0 -18
  556. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +0 -1
  557. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js +0 -24
  558. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeCallFunctionOn.js.map +0 -1
  559. package/build/src/start/server/metro/debugging/inspectorHandlers/VscodeRuntimeGetProperties.js.map +0 -1
  560. package/build/src/start/server/metro/debugging/inspectorHandlers/types.js.map +0 -1
  561. package/build/src/start/server/metro/debugging/inspectorHandlers/utils.js.map +0 -1
  562. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js +0 -38
  563. package/build/src/start/server/type-generation/__typetests__/fixtures/basic.js.map +0 -1
  564. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js +0 -38
  565. package/build/src/start/server/type-generation/__typetests__/generateFixtures.js.map +0 -1
  566. package/build/src/start/server/type-generation/__typetests__/route.test.js +0 -184
  567. package/build/src/start/server/type-generation/__typetests__/route.test.js.map +0 -1
  568. package/build/src/utils/analytics/rudderstackClient.js +0 -147
  569. package/build/src/utils/analytics/rudderstackClient.js.map +0 -1
  570. /package/build/src/start/server/metro/debugging/{inspectorHandlers/types.js → types.js} +0 -0
@@ -4,9 +4,27 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  exports.createCopyFilesSuccessMessage = createCopyFilesSuccessMessage;
6
6
  exports.copyTemplateFiles = copyTemplateFiles;
7
- var _chalk = _interopRequireDefault(require("chalk"));
8
- var _fs = _interopRequireDefault(require("fs"));
9
- var _path = _interopRequireDefault(require("path"));
7
+ function _chalk() {
8
+ const data = _interopRequireDefault(require("chalk"));
9
+ _chalk = function() {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _fs() {
15
+ const data = _interopRequireDefault(require("fs"));
16
+ _fs = function() {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _path() {
22
+ const data = _interopRequireDefault(require("path"));
23
+ _path = function() {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
10
28
  var _dir = require("../utils/dir");
11
29
  var _mergeGitIgnorePaths = require("../utils/mergeGitIgnorePaths");
12
30
  function _interopRequireDefault(obj) {
@@ -21,23 +39,23 @@ const debug = require("debug")("expo:prebuild:copyTemplateFiles");
21
39
  * @param projectRoot
22
40
  * @param platforms
23
41
  */ function hasAllPlatformSpecificGitIgnores(projectRoot, platforms) {
24
- return platforms.reduce((p, platform)=>p && _fs.default.existsSync(_path.default.join(projectRoot, platform, ".gitignore"))
42
+ return platforms.reduce((p, platform)=>p && _fs().default.existsSync(_path().default.join(projectRoot, platform, ".gitignore"))
25
43
  , true);
26
44
  }
27
45
  function createCopyFilesSuccessMessage(platforms, { skippedPaths , gitignore }) {
28
46
  const pluralized = platforms.length > 1 ? "directories" : "directory";
29
47
  let message = `Created native ${pluralized}`;
30
48
  if (skippedPaths.length) {
31
- message += _chalk.default.dim(` | reusing ${skippedPaths.map((path)=>_chalk.default.bold(`/${path}`)
49
+ message += _chalk().default.dim(` | reusing ${skippedPaths.map((path)=>_chalk().default.bold(`/${path}`)
32
50
  ).join(", ")}`);
33
51
  }
34
52
  if (!gitignore) {
35
53
  // Add no additional message...
36
54
  } else if (!gitignore.didMerge) {
37
- message += _chalk.default.dim(` | reusing gitignore`);
55
+ message += _chalk().default.dim(` | reusing gitignore`);
38
56
  } else if (gitignore.didMerge && gitignore.didClear) {
39
57
  // This is legacy and for non-standard templates. The Expo template adds gitignores to the platform folders.
40
- message += _chalk.default.dim(` | updated gitignore`);
58
+ message += _chalk().default.dim(` | updated gitignore`);
41
59
  }
42
60
  return message;
43
61
  }
@@ -45,18 +63,18 @@ function copyTemplateFiles(projectRoot, { templateDirectory , platforms }) {
45
63
  const copiedPaths = [];
46
64
  const skippedPaths = [];
47
65
  platforms.forEach((copyFilePath)=>{
48
- const projectPath = _path.default.join(projectRoot, copyFilePath);
49
- if (_fs.default.existsSync(projectPath)) {
66
+ const projectPath = _path().default.join(projectRoot, copyFilePath);
67
+ if (_fs().default.existsSync(projectPath)) {
50
68
  skippedPaths.push(copyFilePath);
51
69
  } else {
52
70
  copiedPaths.push(copyFilePath);
53
- (0, _dir).copySync(_path.default.join(templateDirectory, copyFilePath), projectPath);
71
+ (0, _dir).copySync(_path().default.join(templateDirectory, copyFilePath), projectPath);
54
72
  }
55
73
  });
56
74
  const hasPlatformSpecificGitIgnores = hasAllPlatformSpecificGitIgnores(templateDirectory, platforms);
57
75
  debug(`All platforms have an internal gitignore: ${hasPlatformSpecificGitIgnores}`);
58
76
  // TODO: Remove gitignore modifications -- maybe move to `npx expo-doctor`
59
- const gitignore = hasPlatformSpecificGitIgnores ? null : (0, _mergeGitIgnorePaths).mergeGitIgnorePaths(_path.default.join(projectRoot, ".gitignore"), _path.default.join(templateDirectory, ".gitignore"));
77
+ const gitignore = hasPlatformSpecificGitIgnores ? null : (0, _mergeGitIgnorePaths).mergeGitIgnorePaths(_path().default.join(projectRoot, ".gitignore"), _path().default.join(templateDirectory, ".gitignore"));
60
78
  return {
61
79
  copiedPaths,
62
80
  skippedPaths,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/prebuild/copyTemplateFiles.ts"],"sourcesContent":["import { ModPlatform } from '@expo/config-plugins';\nimport { MergeResults } from '@expo/config-plugins/build/utils/generateCode';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { copySync } from '../utils/dir';\nimport { mergeGitIgnorePaths } from '../utils/mergeGitIgnorePaths';\n\nconst debug = require('debug')('expo:prebuild:copyTemplateFiles') as typeof console.log;\n\ntype CopyFilesResults = {\n /** Merge results for the root `.gitignore` file */\n gitignore: MergeResults | null;\n /** List of file paths that were copied from the template into the project. */\n copiedPaths: string[];\n /** List of file paths that were skipped due to a number of factors. */\n skippedPaths: string[];\n};\n\n/**\n * Return true if the given platforms all have an internal `.gitignore` file.\n *\n * @param projectRoot\n * @param platforms\n */\nfunction hasAllPlatformSpecificGitIgnores(projectRoot: string, platforms: ModPlatform[]): boolean {\n return platforms.reduce<boolean>(\n (p, platform) => p && fs.existsSync(path.join(projectRoot, platform, '.gitignore')),\n true\n );\n}\n\n/** Create a custom log message based on the copy file results. */\nexport function createCopyFilesSuccessMessage(\n platforms: ModPlatform[],\n { skippedPaths, gitignore }: CopyFilesResults\n): string {\n const pluralized = platforms.length > 1 ? 'directories' : 'directory';\n let message = `Created native ${pluralized}`;\n\n if (skippedPaths.length) {\n message += chalk.dim(\n ` | reusing ${skippedPaths.map((path) => chalk.bold(`/${path}`)).join(', ')}`\n );\n }\n if (!gitignore) {\n // Add no additional message...\n } else if (!gitignore.didMerge) {\n message += chalk.dim(` | reusing gitignore`);\n } else if (gitignore.didMerge && gitignore.didClear) {\n // This is legacy and for non-standard templates. The Expo template adds gitignores to the platform folders.\n message += chalk.dim(` | updated gitignore`);\n }\n return message;\n}\n\n/** Copy template files into the project and possibly merge the `.gitignore` files. */\nexport function copyTemplateFiles(\n projectRoot: string,\n {\n templateDirectory,\n platforms,\n }: {\n /** File path to the template directory. */\n templateDirectory: string;\n /** List of platforms to copy against. */\n platforms: ModPlatform[];\n }\n): CopyFilesResults {\n const copiedPaths: string[] = [];\n const skippedPaths: string[] = [];\n\n platforms.forEach((copyFilePath) => {\n const projectPath = path.join(projectRoot, copyFilePath);\n if (fs.existsSync(projectPath)) {\n skippedPaths.push(copyFilePath);\n } else {\n copiedPaths.push(copyFilePath);\n copySync(path.join(templateDirectory, copyFilePath), projectPath);\n }\n });\n\n const hasPlatformSpecificGitIgnores = hasAllPlatformSpecificGitIgnores(\n templateDirectory,\n platforms\n );\n debug(`All platforms have an internal gitignore: ${hasPlatformSpecificGitIgnores}`);\n\n // TODO: Remove gitignore modifications -- maybe move to `npx expo-doctor`\n const gitignore = hasPlatformSpecificGitIgnores\n ? null\n : mergeGitIgnorePaths(\n path.join(projectRoot, '.gitignore'),\n path.join(templateDirectory, '.gitignore')\n );\n\n return { copiedPaths, skippedPaths, gitignore };\n}\n"],"names":["createCopyFilesSuccessMessage","copyTemplateFiles","debug","require","hasAllPlatformSpecificGitIgnores","projectRoot","platforms","reduce","p","platform","fs","existsSync","path","join","skippedPaths","gitignore","pluralized","length","message","chalk","dim","map","bold","didMerge","didClear","templateDirectory","copiedPaths","forEach","copyFilePath","projectPath","push","copySync","hasPlatformSpecificGitIgnores","mergeGitIgnorePaths"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/prebuild/copyTemplateFiles.ts"],"sourcesContent":["import { ModPlatform } from '@expo/config-plugins';\nimport { MergeResults } from '@expo/config-plugins/build/utils/generateCode';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\n\nimport { copySync } from '../utils/dir';\nimport { mergeGitIgnorePaths } from '../utils/mergeGitIgnorePaths';\n\nconst debug = require('debug')('expo:prebuild:copyTemplateFiles') as typeof console.log;\n\ntype CopyFilesResults = {\n /** Merge results for the root `.gitignore` file */\n gitignore: MergeResults | null;\n /** List of file paths that were copied from the template into the project. */\n copiedPaths: string[];\n /** List of file paths that were skipped due to a number of factors. */\n skippedPaths: string[];\n};\n\n/**\n * Return true if the given platforms all have an internal `.gitignore` file.\n *\n * @param projectRoot\n * @param platforms\n */\nfunction hasAllPlatformSpecificGitIgnores(projectRoot: string, platforms: ModPlatform[]): boolean {\n return platforms.reduce<boolean>(\n (p, platform) => p && fs.existsSync(path.join(projectRoot, platform, '.gitignore')),\n true\n );\n}\n\n/** Create a custom log message based on the copy file results. */\nexport function createCopyFilesSuccessMessage(\n platforms: ModPlatform[],\n { skippedPaths, gitignore }: CopyFilesResults\n): string {\n const pluralized = platforms.length > 1 ? 'directories' : 'directory';\n let message = `Created native ${pluralized}`;\n\n if (skippedPaths.length) {\n message += chalk.dim(\n ` | reusing ${skippedPaths.map((path) => chalk.bold(`/${path}`)).join(', ')}`\n );\n }\n if (!gitignore) {\n // Add no additional message...\n } else if (!gitignore.didMerge) {\n message += chalk.dim(` | reusing gitignore`);\n } else if (gitignore.didMerge && gitignore.didClear) {\n // This is legacy and for non-standard templates. The Expo template adds gitignores to the platform folders.\n message += chalk.dim(` | updated gitignore`);\n }\n return message;\n}\n\n/** Copy template files into the project and possibly merge the `.gitignore` files. */\nexport function copyTemplateFiles(\n projectRoot: string,\n {\n templateDirectory,\n platforms,\n }: {\n /** File path to the template directory. */\n templateDirectory: string;\n /** List of platforms to copy against. */\n platforms: ModPlatform[];\n }\n): CopyFilesResults {\n const copiedPaths: string[] = [];\n const skippedPaths: string[] = [];\n\n platforms.forEach((copyFilePath) => {\n const projectPath = path.join(projectRoot, copyFilePath);\n if (fs.existsSync(projectPath)) {\n skippedPaths.push(copyFilePath);\n } else {\n copiedPaths.push(copyFilePath);\n copySync(path.join(templateDirectory, copyFilePath), projectPath);\n }\n });\n\n const hasPlatformSpecificGitIgnores = hasAllPlatformSpecificGitIgnores(\n templateDirectory,\n platforms\n );\n debug(`All platforms have an internal gitignore: ${hasPlatformSpecificGitIgnores}`);\n\n // TODO: Remove gitignore modifications -- maybe move to `npx expo-doctor`\n const gitignore = hasPlatformSpecificGitIgnores\n ? null\n : mergeGitIgnorePaths(\n path.join(projectRoot, '.gitignore'),\n path.join(templateDirectory, '.gitignore')\n );\n\n return { copiedPaths, skippedPaths, gitignore };\n}\n"],"names":["createCopyFilesSuccessMessage","copyTemplateFiles","debug","require","hasAllPlatformSpecificGitIgnores","projectRoot","platforms","reduce","p","platform","fs","existsSync","path","join","skippedPaths","gitignore","pluralized","length","message","chalk","dim","map","bold","didMerge","didClear","templateDirectory","copiedPaths","forEach","copyFilePath","projectPath","push","copySync","hasPlatformSpecificGitIgnores","mergeGitIgnorePaths"],"mappings":"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"}
@@ -4,9 +4,27 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  exports.ensureConfigExistsAsync = ensureConfigExistsAsync;
6
6
  exports.ensureConfigAsync = ensureConfigAsync;
7
- var _config = require("@expo/config");
8
- var _jsonFile = _interopRequireDefault(require("@expo/json-file"));
9
- var _path = _interopRequireDefault(require("path"));
7
+ function _config() {
8
+ const data = require("@expo/config");
9
+ _config = function() {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _jsonFile() {
15
+ const data = _interopRequireDefault(require("@expo/json-file"));
16
+ _jsonFile = function() {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _path() {
22
+ const data = _interopRequireDefault(require("path"));
23
+ _path = function() {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
10
28
  var Log = _interopRequireWildcard(require("../log"));
11
29
  var _errors = require("../utils/errors");
12
30
  var _getOrPromptApplicationId = require("../utils/getOrPromptApplicationId");
@@ -38,7 +56,7 @@ function _interopRequireWildcard(obj) {
38
56
  }
39
57
  async function ensureConfigExistsAsync(projectRoot) {
40
58
  try {
41
- const config = (0, _config).getConfig(projectRoot, {
59
+ const config = _config().getConfig(projectRoot, {
42
60
  skipSDKVersionRequirement: false
43
61
  });
44
62
  // If no config exists in the file system then we should generate one so the process doesn't fail.
@@ -46,7 +64,7 @@ async function ensureConfigExistsAsync(projectRoot) {
46
64
  // Remove the internal object before writing.
47
65
  delete config.exp._internal;
48
66
  // Write the generated config.
49
- await _jsonFile.default.writeAsync(_path.default.join(projectRoot, "app.json"), {
67
+ await _jsonFile().default.writeAsync(_path().default.join(projectRoot, "app.json"), {
50
68
  expo: config.exp
51
69
  }, {
52
70
  json5: false
@@ -69,7 +87,7 @@ async function ensureConfigAsync(projectRoot, { platforms }) {
69
87
  await (0, _getOrPromptApplicationId).getOrPromptForBundleIdentifier(projectRoot);
70
88
  }
71
89
  // Read config again because prompting for bundle id or package name may have mutated the results.
72
- return (0, _config).getConfig(projectRoot);
90
+ return _config().getConfig(projectRoot);
73
91
  }
74
92
 
75
93
  //# sourceMappingURL=ensureConfigAsync.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/prebuild/ensureConfigAsync.ts"],"sourcesContent":["import { ExpoConfig, getConfig, PackageJSONConfig } from '@expo/config';\nimport { ModPlatform } from '@expo/config-plugins';\nimport JsonFile, { JSONObject } from '@expo/json-file';\nimport path from 'path';\n\nimport * as Log from '../log';\nimport { CommandError } from '../utils/errors';\nimport {\n getOrPromptForBundleIdentifier,\n getOrPromptForPackage,\n} from '../utils/getOrPromptApplicationId';\n\n/**\n * If an Expo config file does not exist, write a new one using the in-memory config.\n *\n * @param projectRoot\n */\nexport async function ensureConfigExistsAsync(projectRoot: string) {\n try {\n const config = getConfig(projectRoot, { skipSDKVersionRequirement: false });\n // If no config exists in the file system then we should generate one so the process doesn't fail.\n if (!config.dynamicConfigPath && !config.staticConfigPath) {\n // Remove the internal object before writing.\n delete config.exp._internal;\n\n // Write the generated config.\n await JsonFile.writeAsync(\n path.join(projectRoot, 'app.json'),\n { expo: config.exp as unknown as JSONObject },\n { json5: false }\n );\n }\n } catch (error: any) {\n // TODO(Bacon): Currently this is already handled in the command\n Log.log();\n throw new CommandError(`${error.message}\\n`);\n }\n}\n\n/** Ensure config is written, and prompts for application identifiers. */\nexport async function ensureConfigAsync(\n projectRoot: string,\n {\n platforms,\n }: {\n platforms: ModPlatform[];\n }\n): Promise<{ exp: ExpoConfig; pkg: PackageJSONConfig }> {\n await ensureConfigExistsAsync(projectRoot);\n\n // Prompt for the Android package first because it's more strict than the bundle identifier\n // this means you'll have a better chance at matching the bundle identifier with the package name.\n if (platforms.includes('android')) {\n await getOrPromptForPackage(projectRoot);\n }\n\n if (platforms.includes('ios')) {\n await getOrPromptForBundleIdentifier(projectRoot);\n }\n\n // Read config again because prompting for bundle id or package name may have mutated the results.\n return getConfig(projectRoot);\n}\n"],"names":["ensureConfigExistsAsync","ensureConfigAsync","Log","projectRoot","config","getConfig","skipSDKVersionRequirement","dynamicConfigPath","staticConfigPath","exp","_internal","JsonFile","writeAsync","path","join","expo","json5","error","log","CommandError","message","platforms","includes","getOrPromptForPackage","getOrPromptForBundleIdentifier"],"mappings":"AAAA;;;;QAiBsBA,uBAAuB,GAAvBA,uBAAuB;QAuBvBC,iBAAiB,GAAjBA,iBAAiB;AAxCkB,IAAA,OAAc,WAAd,cAAc,CAAA;AAElC,IAAA,SAAiB,kCAAjB,iBAAiB,EAAA;AACrC,IAAA,KAAM,kCAAN,MAAM,EAAA;AAEXC,IAAAA,GAAG,mCAAM,QAAQ,EAAd;AACc,IAAA,OAAiB,WAAjB,iBAAiB,CAAA;AAIvC,IAAA,yBAAmC,WAAnC,mCAAmC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOnC,eAAeF,uBAAuB,CAACG,WAAmB,EAAE;IACjE,IAAI;QACF,MAAMC,MAAM,GAAGC,CAAAA,GAAAA,OAAS,AAAmD,CAAA,UAAnD,CAACF,WAAW,EAAE;YAAEG,yBAAyB,EAAE,KAAK;SAAE,CAAC,AAAC;QAC5E,kGAAkG;QAClG,IAAI,CAACF,MAAM,CAACG,iBAAiB,IAAI,CAACH,MAAM,CAACI,gBAAgB,EAAE;YACzD,6CAA6C;YAC7C,OAAOJ,MAAM,CAACK,GAAG,CAACC,SAAS,CAAC;YAE5B,8BAA8B;YAC9B,MAAMC,SAAQ,QAAA,CAACC,UAAU,CACvBC,KAAI,QAAA,CAACC,IAAI,CAACX,WAAW,EAAE,UAAU,CAAC,EAClC;gBAAEY,IAAI,EAAEX,MAAM,CAACK,GAAG;aAA2B,EAC7C;gBAAEO,KAAK,EAAE,KAAK;aAAE,CACjB,CAAC;SACH;KACF,CAAC,OAAOC,KAAK,EAAO;QACnB,gEAAgE;QAChEf,GAAG,CAACgB,GAAG,EAAE,CAAC;QACV,MAAM,IAAIC,OAAY,aAAA,CAAC,CAAC,EAAEF,KAAK,CAACG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;KAC9C;CACF;AAGM,eAAenB,iBAAiB,CACrCE,WAAmB,EACnB,EACEkB,SAAS,CAAA,EAGV,EACqD;IACtD,MAAMrB,uBAAuB,CAACG,WAAW,CAAC,CAAC;IAE3C,2FAA2F;IAC3F,kGAAkG;IAClG,IAAIkB,SAAS,CAACC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACjC,MAAMC,CAAAA,GAAAA,yBAAqB,AAAa,CAAA,sBAAb,CAACpB,WAAW,CAAC,CAAC;KAC1C;IAED,IAAIkB,SAAS,CAACC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC7B,MAAME,CAAAA,GAAAA,yBAA8B,AAAa,CAAA,+BAAb,CAACrB,WAAW,CAAC,CAAC;KACnD;IAED,kGAAkG;IAClG,OAAOE,CAAAA,GAAAA,OAAS,AAAa,CAAA,UAAb,CAACF,WAAW,CAAC,CAAC;CAC/B"}
1
+ {"version":3,"sources":["../../../src/prebuild/ensureConfigAsync.ts"],"sourcesContent":["import { ExpoConfig, getConfig, PackageJSONConfig } from '@expo/config';\nimport { ModPlatform } from '@expo/config-plugins';\nimport JsonFile, { JSONObject } from '@expo/json-file';\nimport path from 'path';\n\nimport * as Log from '../log';\nimport { CommandError } from '../utils/errors';\nimport {\n getOrPromptForBundleIdentifier,\n getOrPromptForPackage,\n} from '../utils/getOrPromptApplicationId';\n\n/**\n * If an Expo config file does not exist, write a new one using the in-memory config.\n *\n * @param projectRoot\n */\nexport async function ensureConfigExistsAsync(projectRoot: string) {\n try {\n const config = getConfig(projectRoot, { skipSDKVersionRequirement: false });\n // If no config exists in the file system then we should generate one so the process doesn't fail.\n if (!config.dynamicConfigPath && !config.staticConfigPath) {\n // Remove the internal object before writing.\n delete config.exp._internal;\n\n // Write the generated config.\n await JsonFile.writeAsync(\n path.join(projectRoot, 'app.json'),\n { expo: config.exp as unknown as JSONObject },\n { json5: false }\n );\n }\n } catch (error: any) {\n // TODO(Bacon): Currently this is already handled in the command\n Log.log();\n throw new CommandError(`${error.message}\\n`);\n }\n}\n\n/** Ensure config is written, and prompts for application identifiers. */\nexport async function ensureConfigAsync(\n projectRoot: string,\n {\n platforms,\n }: {\n platforms: ModPlatform[];\n }\n): Promise<{ exp: ExpoConfig; pkg: PackageJSONConfig }> {\n await ensureConfigExistsAsync(projectRoot);\n\n // Prompt for the Android package first because it's more strict than the bundle identifier\n // this means you'll have a better chance at matching the bundle identifier with the package name.\n if (platforms.includes('android')) {\n await getOrPromptForPackage(projectRoot);\n }\n\n if (platforms.includes('ios')) {\n await getOrPromptForBundleIdentifier(projectRoot);\n }\n\n // Read config again because prompting for bundle id or package name may have mutated the results.\n return getConfig(projectRoot);\n}\n"],"names":["ensureConfigExistsAsync","ensureConfigAsync","Log","projectRoot","config","getConfig","skipSDKVersionRequirement","dynamicConfigPath","staticConfigPath","exp","_internal","JsonFile","writeAsync","path","join","expo","json5","error","log","CommandError","message","platforms","includes","getOrPromptForPackage","getOrPromptForBundleIdentifier"],"mappings":"AAAA;;;;QAiBsBA,uBAAuB,GAAvBA,uBAAuB;QAuBvBC,iBAAiB,GAAjBA,iBAAiB;SAxCkB,OAAc;yBAAd,cAAc;IAAd,OAAc;;;;;SAElC,SAAiB;gDAAjB,iBAAiB;IAAjB,SAAiB;;;;;SACrC,KAAM;gDAAN,MAAM;IAAN,KAAM;;;;;AAEXC,IAAAA,GAAG,mCAAM,QAAQ,EAAd;AACc,IAAA,OAAiB,WAAjB,iBAAiB,CAAA;AAIvC,IAAA,yBAAmC,WAAnC,mCAAmC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOnC,eAAeF,uBAAuB,CAACG,WAAmB,EAAE;IACjE,IAAI;QACF,MAAMC,MAAM,GAAGC,OAAS,YAAA,CAACF,WAAW,EAAE;YAAEG,yBAAyB,EAAE,KAAK;SAAE,CAAC,AAAC;QAC5E,kGAAkG;QAClG,IAAI,CAACF,MAAM,CAACG,iBAAiB,IAAI,CAACH,MAAM,CAACI,gBAAgB,EAAE;YACzD,6CAA6C;YAC7C,OAAOJ,MAAM,CAACK,GAAG,CAACC,SAAS,CAAC;YAE5B,8BAA8B;YAC9B,MAAMC,SAAQ,UAAA,CAACC,UAAU,CACvBC,KAAI,UAAA,CAACC,IAAI,CAACX,WAAW,EAAE,UAAU,CAAC,EAClC;gBAAEY,IAAI,EAAEX,MAAM,CAACK,GAAG;aAA2B,EAC7C;gBAAEO,KAAK,EAAE,KAAK;aAAE,CACjB,CAAC;SACH;KACF,CAAC,OAAOC,KAAK,EAAO;QACnB,gEAAgE;QAChEf,GAAG,CAACgB,GAAG,EAAE,CAAC;QACV,MAAM,IAAIC,OAAY,aAAA,CAAC,CAAC,EAAEF,KAAK,CAACG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;KAC9C;CACF;AAGM,eAAenB,iBAAiB,CACrCE,WAAmB,EACnB,EACEkB,SAAS,CAAA,EAGV,EACqD;IACtD,MAAMrB,uBAAuB,CAACG,WAAW,CAAC,CAAC;IAE3C,2FAA2F;IAC3F,kGAAkG;IAClG,IAAIkB,SAAS,CAACC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACjC,MAAMC,CAAAA,GAAAA,yBAAqB,AAAa,CAAA,sBAAb,CAACpB,WAAW,CAAC,CAAC;KAC1C;IAED,IAAIkB,SAAS,CAACC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC7B,MAAME,CAAAA,GAAAA,yBAA8B,AAAa,CAAA,+BAAb,CAACrB,WAAW,CAAC,CAAC;KACnD;IAED,kGAAkG;IAClG,OAAOE,OAAS,YAAA,CAACF,WAAW,CAAC,CAAC;CAC/B"}
@@ -4,7 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.expoPrebuild = void 0;
7
- var _chalk = _interopRequireDefault(require("chalk"));
7
+ function _chalk() {
8
+ const data = _interopRequireDefault(require("chalk"));
9
+ _chalk = function() {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
8
14
  var _args = require("../utils/args");
9
15
  function _interopRequireDefault(obj) {
10
16
  return obj && obj.__esModule ? obj : {
@@ -51,16 +57,16 @@ const expoPrebuild = async (argv)=>{
51
57
  "-t": "--type"
52
58
  }, argv);
53
59
  if (args["--help"]) {
54
- (0, _args).printHelp(`Create native iOS and Android project files for building natively`, _chalk.default`npx expo prebuild {dim <dir>}`, [
55
- _chalk.default`<dir> Directory of the Expo project. {dim Default: Current working directory}`,
60
+ (0, _args).printHelp(`Create native iOS and Android project files for building natively`, _chalk().default`npx expo prebuild {dim <dir>}`, [
61
+ _chalk().default`<dir> Directory of the Expo project. {dim Default: Current working directory}`,
56
62
  `--no-install Skip installing npm packages and CocoaPods`,
57
63
  `--clean Delete the native folders and regenerate them before applying changes`,
58
- _chalk.default`--npm Use npm to install dependencies. {dim Default when package-lock.json exists}`,
59
- _chalk.default`--yarn Use Yarn to install dependencies. {dim Default when yarn.lock exists}`,
60
- _chalk.default`--bun Use bun to install dependencies. {dim Default when bun.lockb exists}`,
61
- _chalk.default`--pnpm Use pnpm to install dependencies. {dim Default when pnpm-lock.yaml exists}`,
64
+ _chalk().default`--npm Use npm to install dependencies. {dim Default when package-lock.json exists}`,
65
+ _chalk().default`--yarn Use Yarn to install dependencies. {dim Default when yarn.lock exists}`,
66
+ _chalk().default`--bun Use bun to install dependencies. {dim Default when bun.lockb exists}`,
67
+ _chalk().default`--pnpm Use pnpm to install dependencies. {dim Default when pnpm-lock.yaml exists}`,
62
68
  `--template <template> Project template to clone from. File path pointing to a local tar file or a github repo`,
63
- _chalk.default`-p, --platform <all|android|ios> Platforms to sync: ios, android, all. {dim Default: all}`,
69
+ _chalk().default`-p, --platform <all|android|ios> Platforms to sync: ios, android, all. {dim Default: all}`,
64
70
  `--skip-dependency-update <dependencies> Preserves versions of listed packages in package.json (comma separated list)`,
65
71
  `-h, --help Usage info`,
66
72
  ].join("\n"));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/prebuild/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport chalk from 'chalk';\n\nimport { Command } from '../../bin/cli';\nimport { assertArgs, getProjectRoot, printHelp } from '../utils/args';\n\nexport const expoPrebuild: Command = async (argv) => {\n const args = assertArgs(\n {\n // Types\n '--help': Boolean,\n '--clean': Boolean,\n '--npm': Boolean,\n '--pnpm': Boolean,\n '--yarn': Boolean,\n '--bun': Boolean,\n '--no-install': Boolean,\n '--template': String,\n '--platform': String,\n '--skip-dependency-update': String,\n // Aliases\n '-h': '--help',\n '-p': '--platform',\n '-t': '--type',\n },\n argv\n );\n\n if (args['--help']) {\n printHelp(\n `Create native iOS and Android project files for building natively`,\n chalk`npx expo prebuild {dim <dir>}`,\n [\n chalk`<dir> Directory of the Expo project. {dim Default: Current working directory}`,\n `--no-install Skip installing npm packages and CocoaPods`,\n `--clean Delete the native folders and regenerate them before applying changes`,\n chalk`--npm Use npm to install dependencies. {dim Default when package-lock.json exists}`,\n chalk`--yarn Use Yarn to install dependencies. {dim Default when yarn.lock exists}`,\n chalk`--bun Use bun to install dependencies. {dim Default when bun.lockb exists}`,\n chalk`--pnpm Use pnpm to install dependencies. {dim Default when pnpm-lock.yaml exists}`,\n `--template <template> Project template to clone from. File path pointing to a local tar file or a github repo`,\n chalk`-p, --platform <all|android|ios> Platforms to sync: ios, android, all. {dim Default: all}`,\n `--skip-dependency-update <dependencies> Preserves versions of listed packages in package.json (comma separated list)`,\n `-h, --help Usage info`,\n ].join('\\n')\n );\n }\n\n // Load modules after the help prompt so `npx expo prebuild -h` shows as fast as possible.\n const [\n // ./prebuildAsync\n { prebuildAsync },\n // ./resolveOptions\n { resolvePlatformOption, resolvePackageManagerOptions, resolveSkipDependencyUpdate },\n // ../utils/errors\n { logCmdError },\n ] = await Promise.all([\n import('./prebuildAsync.js'),\n import('./resolveOptions.js'),\n import('../utils/errors.js'),\n ]);\n\n return (() => {\n return prebuildAsync(getProjectRoot(args), {\n // Parsed options\n clean: args['--clean'],\n\n packageManager: resolvePackageManagerOptions(args),\n install: !args['--no-install'],\n platforms: resolvePlatformOption(args['--platform']),\n // TODO: Parse\n skipDependencyUpdate: resolveSkipDependencyUpdate(args['--skip-dependency-update']),\n template: args['--template'],\n });\n })().catch(logCmdError);\n};\n"],"names":["expoPrebuild","argv","args","assertArgs","Boolean","String","printHelp","chalk","join","prebuildAsync","resolvePlatformOption","resolvePackageManagerOptions","resolveSkipDependencyUpdate","logCmdError","Promise","all","getProjectRoot","clean","packageManager","install","platforms","skipDependencyUpdate","template","catch"],"mappings":"AAAA;;;;;;AACkB,IAAA,MAAO,kCAAP,OAAO,EAAA;AAG6B,IAAA,KAAe,WAAf,eAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE9D,MAAMA,YAAY,GAAY,OAAOC,IAAI,GAAK;IACnD,MAAMC,IAAI,GAAGC,CAAAA,GAAAA,KAAU,AAmBtB,CAAA,WAnBsB,CACrB;QACE,QAAQ;QACR,QAAQ,EAAEC,OAAO;QACjB,SAAS,EAAEA,OAAO;QAClB,OAAO,EAAEA,OAAO;QAChB,QAAQ,EAAEA,OAAO;QACjB,QAAQ,EAAEA,OAAO;QACjB,OAAO,EAAEA,OAAO;QAChB,cAAc,EAAEA,OAAO;QACvB,YAAY,EAAEC,MAAM;QACpB,YAAY,EAAEA,MAAM;QACpB,0BAA0B,EAAEA,MAAM;QAClC,UAAU;QACV,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,QAAQ;KACf,EACDJ,IAAI,CACL,AAAC;IAEF,IAAIC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAClBI,CAAAA,GAAAA,KAAS,AAgBR,CAAA,UAhBQ,CACP,CAAC,iEAAiE,CAAC,EACnEC,MAAK,QAAA,CAAC,6BAA6B,CAAC,EACpC;YACEA,MAAK,QAAA,CAAC,gHAAgH,CAAC;YACvH,CAAC,mFAAmF,CAAC;YACrF,CAAC,8GAA8G,CAAC;YAChHA,MAAK,QAAA,CAAC,qHAAqH,CAAC;YAC5HA,MAAK,QAAA,CAAC,8GAA8G,CAAC;YACrHA,MAAK,QAAA,CAAC,6GAA6G,CAAC;YACpHA,MAAK,QAAA,CAAC,mHAAmH,CAAC;YAC1H,CAAC,gIAAgI,CAAC;YAClIA,MAAK,QAAA,CAAC,iGAAiG,CAAC;YACxG,CAAC,qHAAqH,CAAC;YACvH,CAAC,mDAAmD,CAAC;SACtD,CAACC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;KACH;IAED,0FAA0F;IAC1F,MAAM,CACJ,kBAAkB;IAClB,EAAEC,aAAa,CAAA,EAAE,EACjB,mBAAmB;IACnB,EAAEC,qBAAqB,CAAA,EAAEC,4BAA4B,CAAA,EAAEC,2BAA2B,CAAA,EAAE,EACpF,kBAAkB;IAClB,EAAEC,WAAW,CAAA,EAAE,GAChB,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC;QACpB;mDAAO,oBAAoB;UAAC;QAC5B;mDAAO,qBAAqB;UAAC;QAC7B;mDAAO,oBAAoB;UAAC;KAC7B,CAAC,AAAC;IAEH,OAAO,CAAC,IAAM;QACZ,OAAON,aAAa,CAACO,CAAAA,GAAAA,KAAc,AAAM,CAAA,eAAN,CAACd,IAAI,CAAC,EAAE;YACzC,iBAAiB;YACjBe,KAAK,EAAEf,IAAI,CAAC,SAAS,CAAC;YAEtBgB,cAAc,EAAEP,4BAA4B,CAACT,IAAI,CAAC;YAClDiB,OAAO,EAAE,CAACjB,IAAI,CAAC,cAAc,CAAC;YAC9BkB,SAAS,EAAEV,qBAAqB,CAACR,IAAI,CAAC,YAAY,CAAC,CAAC;YACpD,cAAc;YACdmB,oBAAoB,EAAET,2BAA2B,CAACV,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACnFoB,QAAQ,EAAEpB,IAAI,CAAC,YAAY,CAAC;SAC7B,CAAC,CAAC;KACJ,CAAC,EAAE,CAACqB,KAAK,CAACV,WAAW,CAAC,CAAC;CACzB,AAAC;QArEWb,YAAY,GAAZA,YAAY"}
1
+ {"version":3,"sources":["../../../src/prebuild/index.ts"],"sourcesContent":["#!/usr/bin/env node\nimport chalk from 'chalk';\n\nimport { Command } from '../../bin/cli';\nimport { assertArgs, getProjectRoot, printHelp } from '../utils/args';\n\nexport const expoPrebuild: Command = async (argv) => {\n const args = assertArgs(\n {\n // Types\n '--help': Boolean,\n '--clean': Boolean,\n '--npm': Boolean,\n '--pnpm': Boolean,\n '--yarn': Boolean,\n '--bun': Boolean,\n '--no-install': Boolean,\n '--template': String,\n '--platform': String,\n '--skip-dependency-update': String,\n // Aliases\n '-h': '--help',\n '-p': '--platform',\n '-t': '--type',\n },\n argv\n );\n\n if (args['--help']) {\n printHelp(\n `Create native iOS and Android project files for building natively`,\n chalk`npx expo prebuild {dim <dir>}`,\n [\n chalk`<dir> Directory of the Expo project. {dim Default: Current working directory}`,\n `--no-install Skip installing npm packages and CocoaPods`,\n `--clean Delete the native folders and regenerate them before applying changes`,\n chalk`--npm Use npm to install dependencies. {dim Default when package-lock.json exists}`,\n chalk`--yarn Use Yarn to install dependencies. {dim Default when yarn.lock exists}`,\n chalk`--bun Use bun to install dependencies. {dim Default when bun.lockb exists}`,\n chalk`--pnpm Use pnpm to install dependencies. {dim Default when pnpm-lock.yaml exists}`,\n `--template <template> Project template to clone from. File path pointing to a local tar file or a github repo`,\n chalk`-p, --platform <all|android|ios> Platforms to sync: ios, android, all. {dim Default: all}`,\n `--skip-dependency-update <dependencies> Preserves versions of listed packages in package.json (comma separated list)`,\n `-h, --help Usage info`,\n ].join('\\n')\n );\n }\n\n // Load modules after the help prompt so `npx expo prebuild -h` shows as fast as possible.\n const [\n // ./prebuildAsync\n { prebuildAsync },\n // ./resolveOptions\n { resolvePlatformOption, resolvePackageManagerOptions, resolveSkipDependencyUpdate },\n // ../utils/errors\n { logCmdError },\n ] = await Promise.all([\n import('./prebuildAsync.js'),\n import('./resolveOptions.js'),\n import('../utils/errors.js'),\n ]);\n\n return (() => {\n return prebuildAsync(getProjectRoot(args), {\n // Parsed options\n clean: args['--clean'],\n\n packageManager: resolvePackageManagerOptions(args),\n install: !args['--no-install'],\n platforms: resolvePlatformOption(args['--platform']),\n // TODO: Parse\n skipDependencyUpdate: resolveSkipDependencyUpdate(args['--skip-dependency-update']),\n template: args['--template'],\n });\n })().catch(logCmdError);\n};\n"],"names":["expoPrebuild","argv","args","assertArgs","Boolean","String","printHelp","chalk","join","prebuildAsync","resolvePlatformOption","resolvePackageManagerOptions","resolveSkipDependencyUpdate","logCmdError","Promise","all","getProjectRoot","clean","packageManager","install","platforms","skipDependencyUpdate","template","catch"],"mappings":"AAAA;;;;;;SACkB,MAAO;gDAAP,OAAO;IAAP,MAAO;;;;;AAG6B,IAAA,KAAe,WAAf,eAAe,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE9D,MAAMA,YAAY,GAAY,OAAOC,IAAI,GAAK;IACnD,MAAMC,IAAI,GAAGC,CAAAA,GAAAA,KAAU,AAmBtB,CAAA,WAnBsB,CACrB;QACE,QAAQ;QACR,QAAQ,EAAEC,OAAO;QACjB,SAAS,EAAEA,OAAO;QAClB,OAAO,EAAEA,OAAO;QAChB,QAAQ,EAAEA,OAAO;QACjB,QAAQ,EAAEA,OAAO;QACjB,OAAO,EAAEA,OAAO;QAChB,cAAc,EAAEA,OAAO;QACvB,YAAY,EAAEC,MAAM;QACpB,YAAY,EAAEA,MAAM;QACpB,0BAA0B,EAAEA,MAAM;QAClC,UAAU;QACV,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,QAAQ;KACf,EACDJ,IAAI,CACL,AAAC;IAEF,IAAIC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAClBI,CAAAA,GAAAA,KAAS,AAgBR,CAAA,UAhBQ,CACP,CAAC,iEAAiE,CAAC,EACnEC,MAAK,UAAA,CAAC,6BAA6B,CAAC,EACpC;YACEA,MAAK,UAAA,CAAC,gHAAgH,CAAC;YACvH,CAAC,mFAAmF,CAAC;YACrF,CAAC,8GAA8G,CAAC;YAChHA,MAAK,UAAA,CAAC,qHAAqH,CAAC;YAC5HA,MAAK,UAAA,CAAC,8GAA8G,CAAC;YACrHA,MAAK,UAAA,CAAC,6GAA6G,CAAC;YACpHA,MAAK,UAAA,CAAC,mHAAmH,CAAC;YAC1H,CAAC,gIAAgI,CAAC;YAClIA,MAAK,UAAA,CAAC,iGAAiG,CAAC;YACxG,CAAC,qHAAqH,CAAC;YACvH,CAAC,mDAAmD,CAAC;SACtD,CAACC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;KACH;IAED,0FAA0F;IAC1F,MAAM,CACJ,kBAAkB;IAClB,EAAEC,aAAa,CAAA,EAAE,EACjB,mBAAmB;IACnB,EAAEC,qBAAqB,CAAA,EAAEC,4BAA4B,CAAA,EAAEC,2BAA2B,CAAA,EAAE,EACpF,kBAAkB;IAClB,EAAEC,WAAW,CAAA,EAAE,GAChB,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC;QACpB;mDAAO,oBAAoB;UAAC;QAC5B;mDAAO,qBAAqB;UAAC;QAC7B;mDAAO,oBAAoB;UAAC;KAC7B,CAAC,AAAC;IAEH,OAAO,CAAC,IAAM;QACZ,OAAON,aAAa,CAACO,CAAAA,GAAAA,KAAc,AAAM,CAAA,eAAN,CAACd,IAAI,CAAC,EAAE;YACzC,iBAAiB;YACjBe,KAAK,EAAEf,IAAI,CAAC,SAAS,CAAC;YAEtBgB,cAAc,EAAEP,4BAA4B,CAACT,IAAI,CAAC;YAClDiB,OAAO,EAAE,CAACjB,IAAI,CAAC,cAAc,CAAC;YAC9BkB,SAAS,EAAEV,qBAAqB,CAACR,IAAI,CAAC,YAAY,CAAC,CAAC;YACpD,cAAc;YACdmB,oBAAoB,EAAET,2BAA2B,CAACV,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACnFoB,QAAQ,EAAEpB,IAAI,CAAC,YAAY,CAAC;SAC7B,CAAC,CAAC;KACJ,CAAC,EAAE,CAACqB,KAAK,CAACV,WAAW,CAAC,CAAC;CACzB,AAAC;QArEWb,YAAY,GAAZA,YAAY"}
@@ -3,7 +3,13 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  exports.prebuildAsync = prebuildAsync;
6
- var _chalk = _interopRequireDefault(require("chalk"));
6
+ function _chalk() {
7
+ const data = _interopRequireDefault(require("chalk"));
8
+ _chalk = function() {
9
+ return data;
10
+ };
11
+ return data;
12
+ }
7
13
  var _clearNativeFolder = require("./clearNativeFolder");
8
14
  var _configureProjectAsync = require("./configureProjectAsync");
9
15
  var _ensureConfigAsync = require("./ensureConfigAsync");
@@ -84,8 +90,8 @@ async function prebuildAsync(projectRoot, options) {
84
90
  if ((ref = options.packageManager) == null ? void 0 : ref.npm) {
85
91
  await (0, _nodeModules).clearNodeModulesAsync(projectRoot);
86
92
  }
87
- _log.Log.log(_chalk.default.gray(_chalk.default`Dependencies in the {bold package.json} changed:`));
88
- _log.Log.log(_chalk.default.gray(" " + changedDependencies.join(", ")));
93
+ _log.Log.log(_chalk().default.gray(_chalk().default`Dependencies in the {bold package.json} changed:`));
94
+ _log.Log.log(_chalk().default.gray(" " + changedDependencies.join(", ")));
89
95
  // Installing dependencies is a legacy feature from the unversioned
90
96
  // command. We know opt to not change dependencies unless a template
91
97
  // indicates a new dependency is required, or if the core dependencies are wrong.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/prebuild/prebuildAsync.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport { ModPlatform } from '@expo/config-plugins';\nimport chalk from 'chalk';\n\nimport { clearNativeFolder, promptToClearMalformedNativeProjectsAsync } from './clearNativeFolder';\nimport { configureProjectAsync } from './configureProjectAsync';\nimport { ensureConfigAsync } from './ensureConfigAsync';\nimport { assertPlatforms, ensureValidPlatforms, resolveTemplateOption } from './resolveOptions';\nimport { updateFromTemplateAsync } from './updateFromTemplate';\nimport { installAsync } from '../install/installAsync';\nimport { Log } from '../log';\nimport { env } from '../utils/env';\nimport { setNodeEnv } from '../utils/nodeEnv';\nimport { clearNodeModulesAsync } from '../utils/nodeModules';\nimport { logNewSection } from '../utils/ora';\nimport { profile } from '../utils/profile';\nimport { confirmAsync } from '../utils/prompts';\n\nconst debug = require('debug')('expo:prebuild') as typeof console.log;\n\nexport type PrebuildResults = {\n /** Expo config. */\n exp: ExpoConfig;\n /** Indicates if the process created new files. */\n hasNewProjectFiles: boolean;\n /** The platforms that were prebuilt. */\n platforms: ModPlatform[];\n /** Indicates if pod install was run. */\n podInstall: boolean;\n /** Indicates if node modules were installed. */\n nodeInstall: boolean;\n};\n\n/**\n * Entry point into the prebuild process, delegates to other helpers to perform various steps.\n *\n * 0. Attempt to clean the project folders.\n * 1. Create native projects (ios, android).\n * 2. Install node modules.\n * 3. Apply config to native projects.\n * 4. Install CocoaPods.\n */\nexport async function prebuildAsync(\n projectRoot: string,\n options: {\n /** Should install node modules and cocoapods. */\n install?: boolean;\n /** List of platforms to prebuild. */\n platforms: ModPlatform[];\n /** Should delete the native folders before attempting to prebuild. */\n clean?: boolean;\n /** URL or file path to the prebuild template. */\n template?: string;\n /** Name of the node package manager to install with. */\n packageManager?: {\n npm?: boolean;\n yarn?: boolean;\n pnpm?: boolean;\n bun?: boolean;\n };\n /** List of node modules to skip updating. */\n skipDependencyUpdate?: string[];\n }\n): Promise<PrebuildResults | null> {\n setNodeEnv('development');\n require('@expo/env').load(projectRoot);\n\n if (options.clean) {\n const { maybeBailOnGitStatusAsync } = await import('../utils/git.js');\n // Clean the project folders...\n if (await maybeBailOnGitStatusAsync()) {\n return null;\n }\n // Clear the native folders before syncing\n await clearNativeFolder(projectRoot, options.platforms);\n } else {\n // Check if the existing project folders are malformed.\n await promptToClearMalformedNativeProjectsAsync(projectRoot, options.platforms);\n }\n\n // Warn if the project is attempting to prebuild an unsupported platform (iOS on Windows).\n options.platforms = ensureValidPlatforms(options.platforms);\n // Assert if no platforms are left over after filtering.\n assertPlatforms(options.platforms);\n\n // Get the Expo config, create it if missing.\n const { exp, pkg } = await ensureConfigAsync(projectRoot, { platforms: options.platforms });\n\n // Create native projects from template.\n const { hasNewProjectFiles, needsPodInstall, templateChecksum, changedDependencies } =\n await updateFromTemplateAsync(projectRoot, {\n exp,\n pkg,\n template: options.template != null ? resolveTemplateOption(options.template) : undefined,\n platforms: options.platforms,\n skipDependencyUpdate: options.skipDependencyUpdate,\n });\n\n // Install node modules\n if (options.install) {\n if (changedDependencies.length) {\n if (options.packageManager?.npm) {\n await clearNodeModulesAsync(projectRoot);\n }\n\n Log.log(chalk.gray(chalk`Dependencies in the {bold package.json} changed:`));\n Log.log(chalk.gray(' ' + changedDependencies.join(', ')));\n\n // Installing dependencies is a legacy feature from the unversioned\n // command. We know opt to not change dependencies unless a template\n // indicates a new dependency is required, or if the core dependencies are wrong.\n if (\n await confirmAsync({\n message: `Install the updated dependencies?`,\n initial: true,\n })\n ) {\n await installAsync([], {\n npm: !!options.packageManager?.npm,\n yarn: !!options.packageManager?.yarn,\n pnpm: !!options.packageManager?.pnpm,\n bun: !!options.packageManager?.bun,\n silent: !(env.EXPO_DEBUG || env.CI),\n });\n }\n }\n }\n\n // Apply Expo config to native projects. Prevent log-spew from ora when running in debug mode.\n const configSyncingStep: { succeed(text?: string): unknown; fail(text?: string): unknown } =\n env.EXPO_DEBUG\n ? {\n succeed(text) {\n Log.log(text!);\n },\n fail(text) {\n Log.error(text!);\n },\n }\n : logNewSection('Running prebuild');\n try {\n await profile(configureProjectAsync)(projectRoot, {\n platforms: options.platforms,\n exp,\n templateChecksum,\n });\n configSyncingStep.succeed('Finished prebuild');\n } catch (error) {\n configSyncingStep.fail('Prebuild failed');\n throw error;\n }\n\n // Install CocoaPods\n let podsInstalled: boolean = false;\n // err towards running pod install less because it's slow and users can easily run npx pod-install afterwards.\n if (options.platforms.includes('ios') && options.install && needsPodInstall) {\n const { installCocoaPodsAsync } = await import('../utils/cocoapods.js');\n\n podsInstalled = await installCocoaPodsAsync(projectRoot);\n } else {\n debug('Skipped pod install');\n }\n\n return {\n nodeInstall: !!options.install,\n podInstall: !podsInstalled,\n platforms: options.platforms,\n hasNewProjectFiles,\n exp,\n };\n}\n"],"names":["prebuildAsync","debug","require","projectRoot","options","setNodeEnv","load","clean","maybeBailOnGitStatusAsync","clearNativeFolder","platforms","promptToClearMalformedNativeProjectsAsync","ensureValidPlatforms","assertPlatforms","exp","pkg","ensureConfigAsync","hasNewProjectFiles","needsPodInstall","templateChecksum","changedDependencies","updateFromTemplateAsync","template","resolveTemplateOption","undefined","skipDependencyUpdate","install","length","packageManager","npm","clearNodeModulesAsync","Log","log","chalk","gray","join","confirmAsync","message","initial","installAsync","yarn","pnpm","bun","silent","env","EXPO_DEBUG","CI","configSyncingStep","succeed","text","fail","error","logNewSection","profile","configureProjectAsync","podsInstalled","includes","installCocoaPodsAsync","nodeInstall","podInstall"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/prebuild/prebuildAsync.ts"],"sourcesContent":["import { ExpoConfig } from '@expo/config';\nimport { ModPlatform } from '@expo/config-plugins';\nimport chalk from 'chalk';\n\nimport { clearNativeFolder, promptToClearMalformedNativeProjectsAsync } from './clearNativeFolder';\nimport { configureProjectAsync } from './configureProjectAsync';\nimport { ensureConfigAsync } from './ensureConfigAsync';\nimport { assertPlatforms, ensureValidPlatforms, resolveTemplateOption } from './resolveOptions';\nimport { updateFromTemplateAsync } from './updateFromTemplate';\nimport { installAsync } from '../install/installAsync';\nimport { Log } from '../log';\nimport { env } from '../utils/env';\nimport { setNodeEnv } from '../utils/nodeEnv';\nimport { clearNodeModulesAsync } from '../utils/nodeModules';\nimport { logNewSection } from '../utils/ora';\nimport { profile } from '../utils/profile';\nimport { confirmAsync } from '../utils/prompts';\n\nconst debug = require('debug')('expo:prebuild') as typeof console.log;\n\nexport type PrebuildResults = {\n /** Expo config. */\n exp: ExpoConfig;\n /** Indicates if the process created new files. */\n hasNewProjectFiles: boolean;\n /** The platforms that were prebuilt. */\n platforms: ModPlatform[];\n /** Indicates if pod install was run. */\n podInstall: boolean;\n /** Indicates if node modules were installed. */\n nodeInstall: boolean;\n};\n\n/**\n * Entry point into the prebuild process, delegates to other helpers to perform various steps.\n *\n * 0. Attempt to clean the project folders.\n * 1. Create native projects (ios, android).\n * 2. Install node modules.\n * 3. Apply config to native projects.\n * 4. Install CocoaPods.\n */\nexport async function prebuildAsync(\n projectRoot: string,\n options: {\n /** Should install node modules and cocoapods. */\n install?: boolean;\n /** List of platforms to prebuild. */\n platforms: ModPlatform[];\n /** Should delete the native folders before attempting to prebuild. */\n clean?: boolean;\n /** URL or file path to the prebuild template. */\n template?: string;\n /** Name of the node package manager to install with. */\n packageManager?: {\n npm?: boolean;\n yarn?: boolean;\n pnpm?: boolean;\n bun?: boolean;\n };\n /** List of node modules to skip updating. */\n skipDependencyUpdate?: string[];\n }\n): Promise<PrebuildResults | null> {\n setNodeEnv('development');\n require('@expo/env').load(projectRoot);\n\n if (options.clean) {\n const { maybeBailOnGitStatusAsync } = await import('../utils/git.js');\n // Clean the project folders...\n if (await maybeBailOnGitStatusAsync()) {\n return null;\n }\n // Clear the native folders before syncing\n await clearNativeFolder(projectRoot, options.platforms);\n } else {\n // Check if the existing project folders are malformed.\n await promptToClearMalformedNativeProjectsAsync(projectRoot, options.platforms);\n }\n\n // Warn if the project is attempting to prebuild an unsupported platform (iOS on Windows).\n options.platforms = ensureValidPlatforms(options.platforms);\n // Assert if no platforms are left over after filtering.\n assertPlatforms(options.platforms);\n\n // Get the Expo config, create it if missing.\n const { exp, pkg } = await ensureConfigAsync(projectRoot, { platforms: options.platforms });\n\n // Create native projects from template.\n const { hasNewProjectFiles, needsPodInstall, templateChecksum, changedDependencies } =\n await updateFromTemplateAsync(projectRoot, {\n exp,\n pkg,\n template: options.template != null ? resolveTemplateOption(options.template) : undefined,\n platforms: options.platforms,\n skipDependencyUpdate: options.skipDependencyUpdate,\n });\n\n // Install node modules\n if (options.install) {\n if (changedDependencies.length) {\n if (options.packageManager?.npm) {\n await clearNodeModulesAsync(projectRoot);\n }\n\n Log.log(chalk.gray(chalk`Dependencies in the {bold package.json} changed:`));\n Log.log(chalk.gray(' ' + changedDependencies.join(', ')));\n\n // Installing dependencies is a legacy feature from the unversioned\n // command. We know opt to not change dependencies unless a template\n // indicates a new dependency is required, or if the core dependencies are wrong.\n if (\n await confirmAsync({\n message: `Install the updated dependencies?`,\n initial: true,\n })\n ) {\n await installAsync([], {\n npm: !!options.packageManager?.npm,\n yarn: !!options.packageManager?.yarn,\n pnpm: !!options.packageManager?.pnpm,\n bun: !!options.packageManager?.bun,\n silent: !(env.EXPO_DEBUG || env.CI),\n });\n }\n }\n }\n\n // Apply Expo config to native projects. Prevent log-spew from ora when running in debug mode.\n const configSyncingStep: { succeed(text?: string): unknown; fail(text?: string): unknown } =\n env.EXPO_DEBUG\n ? {\n succeed(text) {\n Log.log(text!);\n },\n fail(text) {\n Log.error(text!);\n },\n }\n : logNewSection('Running prebuild');\n try {\n await profile(configureProjectAsync)(projectRoot, {\n platforms: options.platforms,\n exp,\n templateChecksum,\n });\n configSyncingStep.succeed('Finished prebuild');\n } catch (error) {\n configSyncingStep.fail('Prebuild failed');\n throw error;\n }\n\n // Install CocoaPods\n let podsInstalled: boolean = false;\n // err towards running pod install less because it's slow and users can easily run npx pod-install afterwards.\n if (options.platforms.includes('ios') && options.install && needsPodInstall) {\n const { installCocoaPodsAsync } = await import('../utils/cocoapods.js');\n\n podsInstalled = await installCocoaPodsAsync(projectRoot);\n } else {\n debug('Skipped pod install');\n }\n\n return {\n nodeInstall: !!options.install,\n podInstall: !podsInstalled,\n platforms: options.platforms,\n hasNewProjectFiles,\n exp,\n };\n}\n"],"names":["prebuildAsync","debug","require","projectRoot","options","setNodeEnv","load","clean","maybeBailOnGitStatusAsync","clearNativeFolder","platforms","promptToClearMalformedNativeProjectsAsync","ensureValidPlatforms","assertPlatforms","exp","pkg","ensureConfigAsync","hasNewProjectFiles","needsPodInstall","templateChecksum","changedDependencies","updateFromTemplateAsync","template","resolveTemplateOption","undefined","skipDependencyUpdate","install","length","packageManager","npm","clearNodeModulesAsync","Log","log","chalk","gray","join","confirmAsync","message","initial","installAsync","yarn","pnpm","bun","silent","env","EXPO_DEBUG","CI","configSyncingStep","succeed","text","fail","error","logNewSection","profile","configureProjectAsync","podsInstalled","includes","installCocoaPodsAsync","nodeInstall","podInstall"],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ exports.getTemplateFilesToRenameAsync = getTemplateFilesToRenameAsync;
6
+ exports.renameTemplateAppNameAsync = renameTemplateAppNameAsync;
7
+ exports.defaultRenameConfig = void 0;
8
+ function _configPlugins() {
9
+ const data = require("@expo/config-plugins");
10
+ _configPlugins = function() {
11
+ return data;
12
+ };
13
+ return data;
14
+ }
15
+ function _fastGlob() {
16
+ const data = require("fast-glob");
17
+ _fastGlob = function() {
18
+ return data;
19
+ };
20
+ return data;
21
+ }
22
+ function _fs() {
23
+ const data = _interopRequireDefault(require("fs"));
24
+ _fs = function() {
25
+ return data;
26
+ };
27
+ return data;
28
+ }
29
+ function _path() {
30
+ const data = _interopRequireDefault(require("path"));
31
+ _path = function() {
32
+ return data;
33
+ };
34
+ return data;
35
+ }
36
+ function _interopRequireDefault(obj) {
37
+ return obj && obj.__esModule ? obj : {
38
+ default: obj
39
+ };
40
+ }
41
+ const debug = require("debug")("expo:prebuild:copyTemplateFiles");
42
+ function escapeXMLCharacters(original) {
43
+ const noAmps = original.replace("&", "&amp;");
44
+ const noLt = noAmps.replace("<", "&lt;");
45
+ const noGt = noLt.replace(">", "&gt;");
46
+ const noApos = noGt.replace('"', '\\"');
47
+ return noApos.replace("'", "\\'");
48
+ }
49
+ const defaultRenameConfig = [
50
+ // Common
51
+ "!**/node_modules",
52
+ "app.json",
53
+ // Android
54
+ "android/**/*.gradle",
55
+ "android/app/BUCK",
56
+ "android/app/src/**/*.java",
57
+ "android/app/src/**/*.kt",
58
+ "android/app/src/**/*.xml",
59
+ // iOS
60
+ "ios/Podfile",
61
+ "ios/**/*.xcodeproj/project.pbxproj",
62
+ "ios/**/*.xcodeproj/xcshareddata/xcschemes/*.xcscheme",
63
+ ];
64
+ exports.defaultRenameConfig = defaultRenameConfig;
65
+ async function getTemplateFilesToRenameAsync({ cwd , /**
66
+ * An array of patterns following the rename config format. If omitted, then
67
+ * we fall back to defaultRenameConfig.
68
+ * @see defaultRenameConfig
69
+ */ renameConfig: userConfig }) {
70
+ let config = userConfig != null ? userConfig : defaultRenameConfig;
71
+ // Strip comments, trim whitespace, and remove empty lines.
72
+ config = config.map((line)=>line.split(/(?<!\\)#/, 2)[0].trim()
73
+ ).filter((line)=>line !== ""
74
+ );
75
+ return await _fastGlob().glob(config, {
76
+ cwd,
77
+ // `true` is consistent with .gitignore. Allows `*.xml` to match .xml files
78
+ // in all subdirs.
79
+ baseNameMatch: true,
80
+ dot: true,
81
+ // Prevent climbing out of the template directory in case a template
82
+ // includes a symlink to an external directory.
83
+ followSymbolicLinks: false
84
+ });
85
+ }
86
+ async function renameTemplateAppNameAsync({ cwd , name , files }) {
87
+ debug(`Got files to transform: ${JSON.stringify(files)}`);
88
+ await Promise.all(files.map(async (file)=>{
89
+ const absoluteFilePath = _path().default.resolve(cwd, file);
90
+ let contents;
91
+ try {
92
+ contents = await _fs().default.promises.readFile(absoluteFilePath, {
93
+ encoding: "utf-8"
94
+ });
95
+ } catch (error) {
96
+ throw new Error(`Failed to read template file: "${absoluteFilePath}". Was it removed mid-operation?`, {
97
+ cause: error
98
+ });
99
+ }
100
+ debug(`Renaming app name in file: ${absoluteFilePath}`);
101
+ const safeName = [
102
+ ".xml",
103
+ ".plist"
104
+ ].includes(_path().default.extname(file)) ? escapeXMLCharacters(name) : name;
105
+ try {
106
+ 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()));
107
+ if (replacement === contents) {
108
+ return;
109
+ }
110
+ await _fs().default.promises.writeFile(absoluteFilePath, replacement);
111
+ } catch (error1) {
112
+ throw new Error(`Failed to overwrite template file: "${absoluteFilePath}". Was it removed mid-operation?`, {
113
+ cause: error1
114
+ });
115
+ }
116
+ }));
117
+ }
118
+
119
+ //# sourceMappingURL=renameTemplateAppName.js.map
@@ -0,0 +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] 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":["getTemplateFilesToRenameAsync","renameTemplateAppNameAsync","debug","require","escapeXMLCharacters","original","noAmps","replace","noLt","noGt","noApos","defaultRenameConfig","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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"}
@@ -8,10 +8,34 @@ exports.resolveSkipDependencyUpdate = resolveSkipDependencyUpdate;
8
8
  exports.resolvePlatformOption = resolvePlatformOption;
9
9
  exports.ensureValidPlatforms = ensureValidPlatforms;
10
10
  exports.assertPlatforms = assertPlatforms;
11
- var _assert = _interopRequireDefault(require("assert"));
12
- var _chalk = _interopRequireDefault(require("chalk"));
13
- var _fs = _interopRequireDefault(require("fs"));
14
- var _path = _interopRequireDefault(require("path"));
11
+ function _assert() {
12
+ const data = _interopRequireDefault(require("assert"));
13
+ _assert = function() {
14
+ return data;
15
+ };
16
+ return data;
17
+ }
18
+ function _chalk() {
19
+ const data = _interopRequireDefault(require("chalk"));
20
+ _chalk = function() {
21
+ return data;
22
+ };
23
+ return data;
24
+ }
25
+ function _fs() {
26
+ const data = _interopRequireDefault(require("fs"));
27
+ _fs = function() {
28
+ return data;
29
+ };
30
+ return data;
31
+ }
32
+ function _path() {
33
+ const data = _interopRequireDefault(require("path"));
34
+ _path = function() {
35
+ return data;
36
+ };
37
+ return data;
38
+ }
15
39
  var Log = _interopRequireWildcard(require("../log"));
16
40
  var _errors = require("../utils/errors");
17
41
  var _url = require("../utils/url");
@@ -63,9 +87,9 @@ function resolveTemplateOption(template) {
63
87
  if ((0, _url).validateUrl(template)) {
64
88
  return template;
65
89
  }
66
- const templatePath = _path.default.resolve(template);
67
- (0, _assert).default(_fs.default.existsSync(templatePath), "template file does not exist: " + templatePath);
68
- (0, _assert).default(_fs.default.statSync(templatePath).isFile(), "template must be a tar file created by running `npm pack` in a project: " + templatePath);
90
+ const templatePath = _path().default.resolve(template);
91
+ _assert().default(_fs().default.existsSync(templatePath), "template file does not exist: " + templatePath);
92
+ _assert().default(_fs().default.statSync(templatePath).isFile(), "template must be a tar file created by running `npm pack` in a project: " + templatePath);
69
93
  return templatePath;
70
94
  }
71
95
  function resolveSkipDependencyUpdate(value) {
@@ -100,7 +124,7 @@ function resolvePlatformOption(platform = "all", { loose } = {}) {
100
124
  function ensureValidPlatforms(platforms) {
101
125
  // Skip prebuild for iOS on Windows
102
126
  if (process.platform === "win32" && platforms.includes("ios")) {
103
- Log.warn(_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`);
127
+ Log.warn(_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`);
104
128
  return platforms.filter((platform)=>platform !== "ios"
105
129
  );
106
130
  }
@@ -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\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) {\n if (validateUrl(template)) {\n return template;\n }\n const templatePath = path.resolve(template);\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 return templatePath;\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","Log","args","managers","npm","yarn","pnpm","bun","filter","Boolean","length","CommandError","template","validateUrl","templatePath","path","resolve","assert","fs","existsSync","statSync","isFile","value","split","platform","loose","process","platforms","includes","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\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) {\n if (validateUrl(template)) {\n return template;\n }\n const templatePath = path.resolve(template);\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 return templatePath;\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","Log","args","managers","npm","yarn","pnpm","bun","filter","Boolean","length","CommandError","template","validateUrl","templatePath","path","resolve","assert","fs","existsSync","statSync","isFile","value","split","platform","loose","process","platforms","includes","warn","chalk"],"mappings":"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"}