@expo/cli 0.18.0 → 0.18.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (653) hide show
  1. package/build/bin/cli +90 -114
  2. package/build/bin/cli.map +1 -1
  3. package/build/src/api/endpoint.js +11 -3
  4. package/build/src/api/endpoint.js.map +1 -1
  5. package/build/src/api/getExpoGoIntermediateCertificate.js +7 -4
  6. package/build/src/api/getExpoGoIntermediateCertificate.js.map +1 -1
  7. package/build/src/api/getExpoSchema.js +13 -11
  8. package/build/src/api/getExpoSchema.js.map +1 -1
  9. package/build/src/api/getNativeModuleVersions.js +7 -4
  10. package/build/src/api/getNativeModuleVersions.js.map +1 -1
  11. package/build/src/api/getProjectDevelopmentCertificate.js +7 -4
  12. package/build/src/api/getProjectDevelopmentCertificate.js.map +1 -1
  13. package/build/src/api/getVersions.js +7 -4
  14. package/build/src/api/getVersions.js.map +1 -1
  15. package/build/src/api/graphql/client.js +55 -35
  16. package/build/src/api/graphql/client.js.map +1 -1
  17. package/build/src/api/graphql/queries/AppQuery.js +9 -7
  18. package/build/src/api/graphql/queries/AppQuery.js.map +1 -1
  19. package/build/src/api/graphql/queries/UserQuery.js +7 -5
  20. package/build/src/api/graphql/queries/UserQuery.js.map +1 -1
  21. package/build/src/api/graphql/types/App.js +6 -4
  22. package/build/src/api/graphql/types/App.js.map +1 -1
  23. package/build/src/api/rest/cache/FileSystemCache.js +6 -4
  24. package/build/src/api/rest/cache/FileSystemCache.js.map +1 -1
  25. package/build/src/api/rest/cache/response.js +4 -1
  26. package/build/src/api/rest/cache/response.js.map +1 -1
  27. package/build/src/api/rest/cache/wrapFetchWithCache.js +21 -12
  28. package/build/src/api/rest/cache/wrapFetchWithCache.js.map +1 -1
  29. package/build/src/api/rest/client.js +36 -29
  30. package/build/src/api/rest/client.js.map +1 -1
  31. package/build/src/api/rest/wrapFetchWithBaseUrl.js +4 -1
  32. package/build/src/api/rest/wrapFetchWithBaseUrl.js.map +1 -1
  33. package/build/src/api/rest/wrapFetchWithOffline.js +5 -2
  34. package/build/src/api/rest/wrapFetchWithOffline.js.map +1 -1
  35. package/build/src/api/rest/wrapFetchWithProgress.js +40 -19
  36. package/build/src/api/rest/wrapFetchWithProgress.js.map +1 -1
  37. package/build/src/api/rest/wrapFetchWithProxy.js +7 -4
  38. package/build/src/api/rest/wrapFetchWithProxy.js.map +1 -1
  39. package/build/src/api/settings.js +9 -4
  40. package/build/src/api/settings.js.map +1 -1
  41. package/build/src/api/updateDevelopmentSession.js +16 -8
  42. package/build/src/api/updateDevelopmentSession.js.map +1 -1
  43. package/build/src/api/user/UserSettings.js +10 -8
  44. package/build/src/api/user/UserSettings.js.map +1 -1
  45. package/build/src/api/user/actions.js +66 -41
  46. package/build/src/api/user/actions.js.map +1 -1
  47. package/build/src/api/user/expoSsoLauncher.js +46 -25
  48. package/build/src/api/user/expoSsoLauncher.js.map +1 -1
  49. package/build/src/api/user/otp.js +70 -50
  50. package/build/src/api/user/otp.js.map +1 -1
  51. package/build/src/api/user/user.js +66 -41
  52. package/build/src/api/user/user.js.map +1 -1
  53. package/build/src/config/configAsync.js +62 -43
  54. package/build/src/config/configAsync.js.map +1 -1
  55. package/build/src/config/index.js +46 -30
  56. package/build/src/config/index.js.map +1 -1
  57. package/build/src/customize/customizeAsync.js +14 -11
  58. package/build/src/customize/customizeAsync.js.map +1 -1
  59. package/build/src/customize/generate.js +61 -46
  60. package/build/src/customize/generate.js.map +1 -1
  61. package/build/src/customize/index.js +10 -8
  62. package/build/src/customize/index.js.map +1 -1
  63. package/build/src/customize/resolveOptions.js +7 -4
  64. package/build/src/customize/resolveOptions.js.map +1 -1
  65. package/build/src/customize/templates.js +31 -34
  66. package/build/src/customize/templates.js.map +1 -1
  67. package/build/src/customize/typescript.js +43 -28
  68. package/build/src/customize/typescript.js.map +1 -1
  69. package/build/src/export/createMetadataJson.js +7 -6
  70. package/build/src/export/createMetadataJson.js.map +1 -1
  71. package/build/src/export/embed/exportEmbedAsync.js +51 -38
  72. package/build/src/export/embed/exportEmbedAsync.js.map +1 -1
  73. package/build/src/export/embed/index.js +48 -36
  74. package/build/src/export/embed/index.js.map +1 -1
  75. package/build/src/export/embed/resolveOptions.js +7 -4
  76. package/build/src/export/embed/resolveOptions.js.map +1 -1
  77. package/build/src/export/embed/xcodeCompilerLogger.js +20 -8
  78. package/build/src/export/embed/xcodeCompilerLogger.js.map +1 -1
  79. package/build/src/export/exportApp.js +84 -67
  80. package/build/src/export/exportApp.js.map +1 -1
  81. package/build/src/export/exportAssets.js +62 -43
  82. package/build/src/export/exportAssets.js.map +1 -1
  83. package/build/src/export/exportAsync.js +47 -26
  84. package/build/src/export/exportAsync.js.map +1 -1
  85. package/build/src/export/exportHermes.js +19 -11
  86. package/build/src/export/exportHermes.js.map +1 -1
  87. package/build/src/export/exportStaticAsync.js +49 -38
  88. package/build/src/export/exportStaticAsync.js.map +1 -1
  89. package/build/src/export/favicon.js +19 -11
  90. package/build/src/export/favicon.js.map +1 -1
  91. package/build/src/export/fork-bundleAsync.js +42 -39
  92. package/build/src/export/fork-bundleAsync.js.map +1 -1
  93. package/build/src/export/getPublicExpoManifest.js +9 -6
  94. package/build/src/export/getPublicExpoManifest.js.map +1 -1
  95. package/build/src/export/getResolvedLocales.js +7 -4
  96. package/build/src/export/getResolvedLocales.js.map +1 -1
  97. package/build/src/export/html.js +12 -4
  98. package/build/src/export/html.js.map +1 -1
  99. package/build/src/export/index.js +49 -33
  100. package/build/src/export/index.js.map +1 -1
  101. package/build/src/export/metroAssetLocalPath.js +22 -6
  102. package/build/src/export/metroAssetLocalPath.js.map +1 -1
  103. package/build/src/export/persistMetroAssets.js +38 -24
  104. package/build/src/export/persistMetroAssets.js.map +1 -1
  105. package/build/src/export/publicFolder.js +15 -7
  106. package/build/src/export/publicFolder.js.map +1 -1
  107. package/build/src/export/resolveOptions.js +19 -15
  108. package/build/src/export/resolveOptions.js.map +1 -1
  109. package/build/src/export/saveAssets.js +42 -38
  110. package/build/src/export/saveAssets.js.map +1 -1
  111. package/build/src/export/web/exportWebAsync.js +15 -12
  112. package/build/src/export/web/exportWebAsync.js.map +1 -1
  113. package/build/src/export/web/index.js +47 -31
  114. package/build/src/export/web/index.js.map +1 -1
  115. package/build/src/export/web/resolveOptions.js +4 -1
  116. package/build/src/export/web/resolveOptions.js.map +1 -1
  117. package/build/src/export/writeContents.js +12 -7
  118. package/build/src/export/writeContents.js.map +1 -1
  119. package/build/src/graphql/generated.js +141 -128
  120. package/build/src/graphql/generated.js.map +1 -1
  121. package/build/src/install/applyPlugins.js +43 -25
  122. package/build/src/install/applyPlugins.js.map +1 -1
  123. package/build/src/install/checkPackages.js +55 -35
  124. package/build/src/install/checkPackages.js.map +1 -1
  125. package/build/src/install/fixPackages.js +52 -35
  126. package/build/src/install/fixPackages.js.map +1 -1
  127. package/build/src/install/index.js +15 -13
  128. package/build/src/install/index.js.map +1 -1
  129. package/build/src/install/installAsync.js +90 -65
  130. package/build/src/install/installAsync.js.map +1 -1
  131. package/build/src/install/installExpoPackage.js +48 -27
  132. package/build/src/install/installExpoPackage.js.map +1 -1
  133. package/build/src/install/resolveOptions.js +8 -5
  134. package/build/src/install/resolveOptions.js.map +1 -1
  135. package/build/src/install/utils/autoAddConfigPlugins.js +15 -7
  136. package/build/src/install/utils/autoAddConfigPlugins.js.map +1 -1
  137. package/build/src/lint/ESlintPrerequisite.js +174 -0
  138. package/build/src/lint/ESlintPrerequisite.js.map +1 -0
  139. package/build/src/lint/index.js +66 -0
  140. package/build/src/lint/index.js.map +1 -0
  141. package/build/src/lint/lintAsync.js +33 -0
  142. package/build/src/lint/lintAsync.js.map +1 -0
  143. package/build/src/log.js +20 -14
  144. package/build/src/log.js.map +1 -1
  145. package/build/src/login/index.js +43 -25
  146. package/build/src/login/index.js.map +1 -1
  147. package/build/src/logout/index.js +43 -25
  148. package/build/src/logout/index.js.map +1 -1
  149. package/build/src/prebuild/clearNativeFolder.js +65 -42
  150. package/build/src/prebuild/clearNativeFolder.js.map +1 -1
  151. package/build/src/prebuild/configureProjectAsync.js +50 -29
  152. package/build/src/prebuild/configureProjectAsync.js.map +1 -1
  153. package/build/src/prebuild/copyTemplateFiles.js +19 -13
  154. package/build/src/prebuild/copyTemplateFiles.js.map +1 -1
  155. package/build/src/prebuild/ensureConfigAsync.js +54 -28
  156. package/build/src/prebuild/ensureConfigAsync.js.map +1 -1
  157. package/build/src/prebuild/index.js +52 -38
  158. package/build/src/prebuild/index.js.map +1 -1
  159. package/build/src/prebuild/prebuildAsync.js +68 -51
  160. package/build/src/prebuild/prebuildAsync.js.map +1 -1
  161. package/build/src/prebuild/renameTemplateAppName.js +15 -10
  162. package/build/src/prebuild/renameTemplateAppName.js.map +1 -1
  163. package/build/src/prebuild/resolveOptions.js +60 -35
  164. package/build/src/prebuild/resolveOptions.js.map +1 -1
  165. package/build/src/prebuild/resolveTemplate.js +66 -40
  166. package/build/src/prebuild/resolveTemplate.js.map +1 -1
  167. package/build/src/prebuild/updateFromTemplate.js +67 -44
  168. package/build/src/prebuild/updateFromTemplate.js.map +1 -1
  169. package/build/src/prebuild/updatePackageJson.js +70 -49
  170. package/build/src/prebuild/updatePackageJson.js.map +1 -1
  171. package/build/src/prebuild/validateTemplatePlatforms.js +44 -23
  172. package/build/src/prebuild/validateTemplatePlatforms.js.map +1 -1
  173. package/build/src/register/index.js +43 -25
  174. package/build/src/register/index.js.map +1 -1
  175. package/build/src/register/registerAsync.js +14 -11
  176. package/build/src/register/registerAsync.js.map +1 -1
  177. package/build/src/run/android/index.js +47 -31
  178. package/build/src/run/android/index.js.map +1 -1
  179. package/build/src/run/android/resolveDevice.js +9 -6
  180. package/build/src/run/android/resolveDevice.js.map +1 -1
  181. package/build/src/run/android/resolveGradlePropsAsync.js +10 -9
  182. package/build/src/run/android/resolveGradlePropsAsync.js.map +1 -1
  183. package/build/src/run/android/resolveInstallApkName.js +14 -12
  184. package/build/src/run/android/resolveInstallApkName.js.map +1 -1
  185. package/build/src/run/android/resolveLaunchProps.js +6 -3
  186. package/build/src/run/android/resolveLaunchProps.js.map +1 -1
  187. package/build/src/run/android/resolveOptions.js +12 -9
  188. package/build/src/run/android/resolveOptions.js.map +1 -1
  189. package/build/src/run/android/runAndroidAsync.js +27 -24
  190. package/build/src/run/android/runAndroidAsync.js.map +1 -1
  191. package/build/src/run/ensureNativeProject.js +11 -8
  192. package/build/src/run/ensureNativeProject.js.map +1 -1
  193. package/build/src/run/hints.js +15 -7
  194. package/build/src/run/hints.js.map +1 -1
  195. package/build/src/run/index.js +49 -35
  196. package/build/src/run/index.js.map +1 -1
  197. package/build/src/run/ios/XcodeBuild.js +75 -51
  198. package/build/src/run/ios/XcodeBuild.js.map +1 -1
  199. package/build/src/run/ios/appleDevice/AppleDevice.js +31 -24
  200. package/build/src/run/ios/appleDevice/AppleDevice.js.map +1 -1
  201. package/build/src/run/ios/appleDevice/ClientManager.js +66 -33
  202. package/build/src/run/ios/appleDevice/ClientManager.js.map +1 -1
  203. package/build/src/run/ios/appleDevice/client/AFCClient.js +73 -47
  204. package/build/src/run/ios/appleDevice/client/AFCClient.js.map +1 -1
  205. package/build/src/run/ios/appleDevice/client/DebugserverClient.js +53 -26
  206. package/build/src/run/ios/appleDevice/client/DebugserverClient.js.map +1 -1
  207. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js +15 -6
  208. package/build/src/run/ios/appleDevice/client/InstallationProxyClient.js.map +1 -1
  209. package/build/src/run/ios/appleDevice/client/LockdowndClient.js +54 -27
  210. package/build/src/run/ios/appleDevice/client/LockdowndClient.js.map +1 -1
  211. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js +56 -30
  212. package/build/src/run/ios/appleDevice/client/MobileImageMounterClient.js.map +1 -1
  213. package/build/src/run/ios/appleDevice/client/ServiceClient.js +18 -4
  214. package/build/src/run/ios/appleDevice/client/ServiceClient.js.map +1 -1
  215. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js +22 -13
  216. package/build/src/run/ios/appleDevice/client/UsbmuxdClient.js.map +1 -1
  217. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js +57 -31
  218. package/build/src/run/ios/appleDevice/installOnDeviceAsync.js.map +1 -1
  219. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js +79 -66
  220. package/build/src/run/ios/appleDevice/protocol/AFCProtocol.js.map +1 -1
  221. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js +28 -14
  222. package/build/src/run/ios/appleDevice/protocol/AbstractProtocol.js.map +1 -1
  223. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js +24 -11
  224. package/build/src/run/ios/appleDevice/protocol/GDBProtocol.js.map +1 -1
  225. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js +26 -13
  226. package/build/src/run/ios/appleDevice/protocol/LockdownProtocol.js.map +1 -1
  227. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js +23 -10
  228. package/build/src/run/ios/appleDevice/protocol/UsbmuxProtocol.js.map +1 -1
  229. package/build/src/run/ios/codeSigning/Security.js +27 -20
  230. package/build/src/run/ios/codeSigning/Security.js.map +1 -1
  231. package/build/src/run/ios/codeSigning/configureCodeSigning.js +49 -28
  232. package/build/src/run/ios/codeSigning/configureCodeSigning.js.map +1 -1
  233. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js +61 -36
  234. package/build/src/run/ios/codeSigning/resolveCertificateSigningIdentity.js.map +1 -1
  235. package/build/src/run/ios/codeSigning/settings.js +11 -3
  236. package/build/src/run/ios/codeSigning/settings.js.map +1 -1
  237. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js +7 -5
  238. package/build/src/run/ios/codeSigning/simulatorCodeSigning.js.map +1 -1
  239. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js +14 -8
  240. package/build/src/run/ios/codeSigning/xcodeCodeSigning.js.map +1 -1
  241. package/build/src/run/ios/index.js +50 -34
  242. package/build/src/run/ios/index.js.map +1 -1
  243. package/build/src/run/ios/launchApp.js +52 -31
  244. package/build/src/run/ios/launchApp.js.map +1 -1
  245. package/build/src/run/ios/options/promptDevice.js +17 -13
  246. package/build/src/run/ios/options/promptDevice.js.map +1 -1
  247. package/build/src/run/ios/options/resolveDevice.js +63 -39
  248. package/build/src/run/ios/options/resolveDevice.js.map +1 -1
  249. package/build/src/run/ios/options/resolveNativeScheme.js +57 -34
  250. package/build/src/run/ios/options/resolveNativeScheme.js.map +1 -1
  251. package/build/src/run/ios/options/resolveOptions.js +15 -12
  252. package/build/src/run/ios/options/resolveOptions.js.map +1 -1
  253. package/build/src/run/ios/options/resolveXcodeProject.js +6 -3
  254. package/build/src/run/ios/options/resolveXcodeProject.js.map +1 -1
  255. package/build/src/run/ios/runIosAsync.js +63 -42
  256. package/build/src/run/ios/runIosAsync.js.map +1 -1
  257. package/build/src/run/resolveBundlerProps.js +8 -5
  258. package/build/src/run/resolveBundlerProps.js.map +1 -1
  259. package/build/src/run/startBundler.js +47 -26
  260. package/build/src/run/startBundler.js.map +1 -1
  261. package/build/src/start/detectDevClient.js +6 -3
  262. package/build/src/start/detectDevClient.js.map +1 -1
  263. package/build/src/start/doctor/Prerequisite.js +15 -7
  264. package/build/src/start/doctor/Prerequisite.js.map +1 -1
  265. package/build/src/start/doctor/SecurityBinPrerequisite.js +7 -4
  266. package/build/src/start/doctor/SecurityBinPrerequisite.js.map +1 -1
  267. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js +44 -23
  268. package/build/src/start/doctor/apple/SimulatorAppPrerequisite.js.map +1 -1
  269. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js +44 -23
  270. package/build/src/start/doctor/apple/XcodeDeveloperDiskImagePrerequisite.js.map +1 -1
  271. package/build/src/start/doctor/apple/XcodePrerequisite.js +61 -36
  272. package/build/src/start/doctor/apple/XcodePrerequisite.js.map +1 -1
  273. package/build/src/start/doctor/apple/XcrunPrerequisite.js +15 -12
  274. package/build/src/start/doctor/apple/XcrunPrerequisite.js.map +1 -1
  275. package/build/src/start/doctor/dependencies/bundledNativeModules.js +49 -28
  276. package/build/src/start/doctor/dependencies/bundledNativeModules.js.map +1 -1
  277. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js +98 -53
  278. package/build/src/start/doctor/dependencies/ensureDependenciesAsync.js.map +1 -1
  279. package/build/src/start/doctor/dependencies/getMissingPackages.js +17 -9
  280. package/build/src/start/doctor/dependencies/getMissingPackages.js.map +1 -1
  281. package/build/src/start/doctor/dependencies/getVersionedPackages.js +23 -15
  282. package/build/src/start/doctor/dependencies/getVersionedPackages.js.map +1 -1
  283. package/build/src/start/doctor/dependencies/resolvePackages.js +19 -13
  284. package/build/src/start/doctor/dependencies/resolvePackages.js.map +1 -1
  285. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js +63 -41
  286. package/build/src/start/doctor/dependencies/validateDependenciesVersions.js.map +1 -1
  287. package/build/src/start/doctor/ngrok/ExternalModule.js +64 -39
  288. package/build/src/start/doctor/ngrok/ExternalModule.js.map +1 -1
  289. package/build/src/start/doctor/ngrok/NgrokResolver.js +12 -5
  290. package/build/src/start/doctor/ngrok/NgrokResolver.js.map +1 -1
  291. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js +59 -41
  292. package/build/src/start/doctor/typescript/TypeScriptProjectPrerequisite.js.map +1 -1
  293. package/build/src/start/doctor/typescript/updateTSConfig.js +59 -36
  294. package/build/src/start/doctor/typescript/updateTSConfig.js.map +1 -1
  295. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js +57 -31
  296. package/build/src/start/doctor/web/WebSupportProjectPrerequisite.js.map +1 -1
  297. package/build/src/start/index.js +56 -42
  298. package/build/src/start/index.js.map +1 -1
  299. package/build/src/start/interface/KeyPressHandler.js +43 -22
  300. package/build/src/start/interface/KeyPressHandler.js.map +1 -1
  301. package/build/src/start/interface/commandsTable.js +60 -38
  302. package/build/src/start/interface/commandsTable.js.map +1 -1
  303. package/build/src/start/interface/interactiveActions.js +85 -68
  304. package/build/src/start/interface/interactiveActions.js.map +1 -1
  305. package/build/src/start/interface/startInterface.js +78 -57
  306. package/build/src/start/interface/startInterface.js.map +1 -1
  307. package/build/src/start/platforms/AppIdResolver.js +9 -6
  308. package/build/src/start/platforms/AppIdResolver.js.map +1 -1
  309. package/build/src/start/platforms/DeviceManager.js +41 -20
  310. package/build/src/start/platforms/DeviceManager.js.map +1 -1
  311. package/build/src/start/platforms/ExpoGoInstaller.js +55 -35
  312. package/build/src/start/platforms/ExpoGoInstaller.js.map +1 -1
  313. package/build/src/start/platforms/PlatformManager.js +19 -17
  314. package/build/src/start/platforms/PlatformManager.js.map +1 -1
  315. package/build/src/start/platforms/android/ADBServer.js +15 -12
  316. package/build/src/start/platforms/android/ADBServer.js.map +1 -1
  317. package/build/src/start/platforms/android/AndroidAppIdResolver.js +6 -4
  318. package/build/src/start/platforms/android/AndroidAppIdResolver.js.map +1 -1
  319. package/build/src/start/platforms/android/AndroidDeviceManager.js +70 -50
  320. package/build/src/start/platforms/android/AndroidDeviceManager.js.map +1 -1
  321. package/build/src/start/platforms/android/AndroidPlatformManager.js +9 -6
  322. package/build/src/start/platforms/android/AndroidPlatformManager.js.map +1 -1
  323. package/build/src/start/platforms/android/AndroidSdk.js +11 -8
  324. package/build/src/start/platforms/android/AndroidSdk.js.map +1 -1
  325. package/build/src/start/platforms/android/activateWindow.js +43 -22
  326. package/build/src/start/platforms/android/activateWindow.js.map +1 -1
  327. package/build/src/start/platforms/android/adb.js +73 -52
  328. package/build/src/start/platforms/android/adb.js.map +1 -1
  329. package/build/src/start/platforms/android/adbReverse.js +57 -31
  330. package/build/src/start/platforms/android/adbReverse.js.map +1 -1
  331. package/build/src/start/platforms/android/emulator.js +63 -42
  332. package/build/src/start/platforms/android/emulator.js.map +1 -1
  333. package/build/src/start/platforms/android/getDevices.js +11 -10
  334. package/build/src/start/platforms/android/getDevices.js.map +1 -1
  335. package/build/src/start/platforms/android/gradle.js +18 -11
  336. package/build/src/start/platforms/android/gradle.js.map +1 -1
  337. package/build/src/start/platforms/android/promptAndroidDevice.js +14 -14
  338. package/build/src/start/platforms/android/promptAndroidDevice.js.map +1 -1
  339. package/build/src/start/platforms/ios/AppleAppIdResolver.js +7 -4
  340. package/build/src/start/platforms/ios/AppleAppIdResolver.js.map +1 -1
  341. package/build/src/start/platforms/ios/AppleDeviceManager.js +80 -54
  342. package/build/src/start/platforms/ios/AppleDeviceManager.js.map +1 -1
  343. package/build/src/start/platforms/ios/ApplePlatformManager.js +7 -4
  344. package/build/src/start/platforms/ios/ApplePlatformManager.js.map +1 -1
  345. package/build/src/start/platforms/ios/assertSystemRequirements.js +11 -8
  346. package/build/src/start/platforms/ios/assertSystemRequirements.js.map +1 -1
  347. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js +50 -29
  348. package/build/src/start/platforms/ios/ensureSimulatorAppRunning.js.map +1 -1
  349. package/build/src/start/platforms/ios/getBestSimulator.js +53 -29
  350. package/build/src/start/platforms/ios/getBestSimulator.js.map +1 -1
  351. package/build/src/start/platforms/ios/promptAppleDevice.js +18 -12
  352. package/build/src/start/platforms/ios/promptAppleDevice.js.map +1 -1
  353. package/build/src/start/platforms/ios/simctl.js +65 -42
  354. package/build/src/start/platforms/ios/simctl.js.map +1 -1
  355. package/build/src/start/platforms/ios/simctlLogging.js +67 -44
  356. package/build/src/start/platforms/ios/simctlLogging.js.map +1 -1
  357. package/build/src/start/platforms/ios/xcrun.js +8 -5
  358. package/build/src/start/platforms/ios/xcrun.js.map +1 -1
  359. package/build/src/start/project/devices.js +19 -16
  360. package/build/src/start/project/devices.js.map +1 -1
  361. package/build/src/start/project/dotExpo.js +13 -5
  362. package/build/src/start/project/dotExpo.js.map +1 -1
  363. package/build/src/start/project/settings.js +6 -4
  364. package/build/src/start/project/settings.js.map +1 -1
  365. package/build/src/start/resolveOptions.js +26 -19
  366. package/build/src/start/resolveOptions.js.map +1 -1
  367. package/build/src/start/server/AsyncNgrok.js +66 -46
  368. package/build/src/start/server/AsyncNgrok.js.map +1 -1
  369. package/build/src/start/server/BundlerDevServer.js +64 -44
  370. package/build/src/start/server/BundlerDevServer.js.map +1 -1
  371. package/build/src/start/server/DevServerManager.js +81 -69
  372. package/build/src/start/server/DevServerManager.js.map +1 -1
  373. package/build/src/start/server/DevToolsPluginManager.js +21 -16
  374. package/build/src/start/server/DevToolsPluginManager.js.map +1 -1
  375. package/build/src/start/server/DevelopmentSession.js +49 -31
  376. package/build/src/start/server/DevelopmentSession.js.map +1 -1
  377. package/build/src/start/server/ReactDevToolsProxy.js +14 -6
  378. package/build/src/start/server/ReactDevToolsProxy.js.map +1 -1
  379. package/build/src/start/server/UrlCreator.js +44 -23
  380. package/build/src/start/server/UrlCreator.js.map +1 -1
  381. package/build/src/start/server/getStaticRenderFunctions.js +46 -34
  382. package/build/src/start/server/getStaticRenderFunctions.js.map +1 -1
  383. package/build/src/start/server/metro/MetroBundlerDevServer.js +135 -108
  384. package/build/src/start/server/metro/MetroBundlerDevServer.js.map +1 -1
  385. package/build/src/start/server/metro/MetroTerminalReporter.js +24 -17
  386. package/build/src/start/server/metro/MetroTerminalReporter.js.map +1 -1
  387. package/build/src/start/server/metro/TerminalReporter.js +18 -8
  388. package/build/src/start/server/metro/TerminalReporter.js.map +1 -1
  389. package/build/src/start/server/metro/createExpoMetroResolver.js +31 -20
  390. package/build/src/start/server/metro/createExpoMetroResolver.js.map +1 -1
  391. package/build/src/start/server/metro/createJResolver.js +76 -51
  392. package/build/src/start/server/metro/createJResolver.js.map +1 -1
  393. package/build/src/start/server/metro/createServerRouteMiddleware.js +22 -14
  394. package/build/src/start/server/metro/createServerRouteMiddleware.js.map +1 -1
  395. package/build/src/start/server/metro/debugging/MessageHandler.js +4 -1
  396. package/build/src/start/server/metro/debugging/MessageHandler.js.map +1 -1
  397. package/build/src/start/server/metro/debugging/createDebugMiddleware.js +10 -9
  398. package/build/src/start/server/metro/debugging/createDebugMiddleware.js.map +1 -1
  399. package/build/src/start/server/metro/debugging/createHandlersFactory.js +14 -13
  400. package/build/src/start/server/metro/debugging/createHandlersFactory.js.map +1 -1
  401. package/build/src/start/server/metro/debugging/getDebuggerType.js +5 -2
  402. package/build/src/start/server/metro/debugging/getDebuggerType.js.map +1 -1
  403. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js +5 -2
  404. package/build/src/start/server/metro/debugging/messageHandlers/NetworkResponse.js.map +1 -1
  405. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js +5 -2
  406. package/build/src/start/server/metro/debugging/messageHandlers/PageReload.js.map +1 -1
  407. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js +7 -4
  408. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerGetPossibleBreakpoints.js.map +1 -1
  409. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js +7 -4
  410. package/build/src/start/server/metro/debugging/messageHandlers/VscodeDebuggerSetBreakpointByUrl.js.map +1 -1
  411. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js +7 -4
  412. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeCallFunctionOn.js.map +1 -1
  413. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js +7 -4
  414. package/build/src/start/server/metro/debugging/messageHandlers/VscodeRuntimeGetProperties.js.map +1 -1
  415. package/build/src/start/server/metro/debugging/pageIsSupported.js +4 -1
  416. package/build/src/start/server/metro/debugging/pageIsSupported.js.map +1 -1
  417. package/build/src/start/server/metro/externals.js +21 -10
  418. package/build/src/start/server/metro/externals.js.map +1 -1
  419. package/build/src/start/server/metro/fetchRouterManifest.js +20 -7
  420. package/build/src/start/server/metro/fetchRouterManifest.js.map +1 -1
  421. package/build/src/start/server/metro/formatFileCandidates.js +21 -17
  422. package/build/src/start/server/metro/formatFileCandidates.js.map +1 -1
  423. package/build/src/start/server/metro/getCssModulesFromBundler.js +15 -7
  424. package/build/src/start/server/metro/getCssModulesFromBundler.js.map +1 -1
  425. package/build/src/start/server/metro/instantiateMetro.js +57 -44
  426. package/build/src/start/server/metro/instantiateMetro.js.map +1 -1
  427. package/build/src/start/server/metro/metroErrorInterface.js +43 -34
  428. package/build/src/start/server/metro/metroErrorInterface.js.map +1 -1
  429. package/build/src/start/server/metro/metroErrors.js +11 -2
  430. package/build/src/start/server/metro/metroErrors.js.map +1 -1
  431. package/build/src/start/server/metro/metroVirtualModules.js +10 -2
  432. package/build/src/start/server/metro/metroVirtualModules.js.map +1 -1
  433. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js +5 -2
  434. package/build/src/start/server/metro/metroWatchTypeScriptFiles.js.map +1 -1
  435. package/build/src/start/server/metro/router.js +27 -20
  436. package/build/src/start/server/metro/router.js.map +1 -1
  437. package/build/src/start/server/metro/runServer-fork.js +21 -14
  438. package/build/src/start/server/metro/runServer-fork.js.map +1 -1
  439. package/build/src/start/server/metro/serializeHtml.js +7 -7
  440. package/build/src/start/server/metro/serializeHtml.js.map +1 -1
  441. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js +12 -4
  442. package/build/src/start/server/metro/waitForMetroToObserveTypeScriptFile.js.map +1 -1
  443. package/build/src/start/server/metro/withMetroMultiPlatform.js +107 -81
  444. package/build/src/start/server/metro/withMetroMultiPlatform.js.map +1 -1
  445. package/build/src/start/server/metro/withMetroResolvers.js +72 -42
  446. package/build/src/start/server/metro/withMetroResolvers.js.map +1 -1
  447. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js +4 -1
  448. package/build/src/start/server/middleware/ContextModuleSourceMapsMiddleware.js.map +1 -1
  449. package/build/src/start/server/middleware/CorsMiddleware.js +4 -1
  450. package/build/src/start/server/middleware/CorsMiddleware.js.map +1 -1
  451. package/build/src/start/server/middleware/CreateFileMiddleware.js +13 -5
  452. package/build/src/start/server/middleware/CreateFileMiddleware.js.map +1 -1
  453. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js +15 -12
  454. package/build/src/start/server/middleware/DevToolsPluginMiddleware.js.map +1 -1
  455. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js +30 -23
  456. package/build/src/start/server/middleware/ExpoGoManifestHandlerMiddleware.js.map +1 -1
  457. package/build/src/start/server/middleware/ExpoMiddleware.js +47 -21
  458. package/build/src/start/server/middleware/ExpoMiddleware.js.map +1 -1
  459. package/build/src/start/server/middleware/FaviconMiddleware.js +8 -5
  460. package/build/src/start/server/middleware/FaviconMiddleware.js.map +1 -1
  461. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js +6 -3
  462. package/build/src/start/server/middleware/HistoryFallbackMiddleware.js.map +1 -1
  463. package/build/src/start/server/middleware/InterstitialPageMiddleware.js +23 -16
  464. package/build/src/start/server/middleware/InterstitialPageMiddleware.js.map +1 -1
  465. package/build/src/start/server/middleware/ManifestMiddleware.js +84 -60
  466. package/build/src/start/server/middleware/ManifestMiddleware.js.map +1 -1
  467. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js +14 -7
  468. package/build/src/start/server/middleware/ReactDevToolsPageMiddleware.js.map +1 -1
  469. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js +47 -26
  470. package/build/src/start/server/middleware/RuntimeRedirectMiddleware.js.map +1 -1
  471. package/build/src/start/server/middleware/ServeStaticMiddleware.js +11 -8
  472. package/build/src/start/server/middleware/ServeStaticMiddleware.js.map +1 -1
  473. package/build/src/start/server/middleware/inspector/JsInspector.js +30 -24
  474. package/build/src/start/server/middleware/inspector/JsInspector.js.map +1 -1
  475. package/build/src/start/server/middleware/inspector/LaunchBrowser.js +16 -8
  476. package/build/src/start/server/middleware/inspector/LaunchBrowser.js.map +1 -1
  477. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js +4 -2
  478. package/build/src/start/server/middleware/inspector/LaunchBrowser.types.js.map +1 -1
  479. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js +16 -12
  480. package/build/src/start/server/middleware/inspector/LaunchBrowserImplLinux.js.map +1 -1
  481. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js +59 -37
  482. package/build/src/start/server/middleware/inspector/LaunchBrowserImplMacOS.js.map +1 -1
  483. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js +22 -16
  484. package/build/src/start/server/middleware/inspector/LaunchBrowserImplWindows.js.map +1 -1
  485. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js +9 -6
  486. package/build/src/start/server/middleware/inspector/createJsInspectorMiddleware.js.map +1 -1
  487. package/build/src/start/server/middleware/inspector/middlwareMutations.js +11 -4
  488. package/build/src/start/server/middleware/inspector/middlwareMutations.js.map +1 -1
  489. package/build/src/start/server/middleware/metroOptions.js +26 -18
  490. package/build/src/start/server/middleware/metroOptions.js.map +1 -1
  491. package/build/src/start/server/middleware/mutations.js +11 -4
  492. package/build/src/start/server/middleware/mutations.js.map +1 -1
  493. package/build/src/start/server/middleware/resolveAssets.js +65 -41
  494. package/build/src/start/server/middleware/resolveAssets.js.map +1 -1
  495. package/build/src/start/server/middleware/resolvePlatform.js +14 -6
  496. package/build/src/start/server/middleware/resolvePlatform.js.map +1 -1
  497. package/build/src/start/server/middleware/suppressErrorMiddleware.js +4 -1
  498. package/build/src/start/server/middleware/suppressErrorMiddleware.js.map +1 -1
  499. package/build/src/start/server/openPlatforms.js +7 -6
  500. package/build/src/start/server/openPlatforms.js.map +1 -1
  501. package/build/src/start/server/platformBundlers.js +5 -2
  502. package/build/src/start/server/platformBundlers.js.map +1 -1
  503. package/build/src/start/server/serverLogLikeMetro.js +62 -33
  504. package/build/src/start/server/serverLogLikeMetro.js.map +1 -1
  505. package/build/src/start/server/type-generation/expo-env.js +12 -4
  506. package/build/src/start/server/type-generation/expo-env.js.map +1 -1
  507. package/build/src/start/server/type-generation/routes.js +52 -51
  508. package/build/src/start/server/type-generation/routes.js.map +1 -1
  509. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js +22 -19
  510. package/build/src/start/server/type-generation/startTypescriptTypeGeneration.js.map +1 -1
  511. package/build/src/start/server/type-generation/tsconfig.js +18 -11
  512. package/build/src/start/server/type-generation/tsconfig.js.map +1 -1
  513. package/build/src/start/server/webTemplate.js +21 -15
  514. package/build/src/start/server/webTemplate.js.map +1 -1
  515. package/build/src/start/server/webpack/WebpackBundlerDevServer.js +81 -56
  516. package/build/src/start/server/webpack/WebpackBundlerDevServer.js.map +1 -1
  517. package/build/src/start/server/webpack/compile.js +47 -26
  518. package/build/src/start/server/webpack/compile.js.map +1 -1
  519. package/build/src/start/server/webpack/formatWebpackMessages.js +35 -25
  520. package/build/src/start/server/webpack/formatWebpackMessages.js.map +1 -1
  521. package/build/src/start/server/webpack/resolveFromProject.js +13 -5
  522. package/build/src/start/server/webpack/resolveFromProject.js.map +1 -1
  523. package/build/src/start/server/webpack/tls.js +54 -28
  524. package/build/src/start/server/webpack/tls.js.map +1 -1
  525. package/build/src/start/startAsync.js +73 -52
  526. package/build/src/start/startAsync.js.map +1 -1
  527. package/build/src/utils/FileNotifier.js +46 -25
  528. package/build/src/utils/FileNotifier.js.map +1 -1
  529. package/build/src/utils/analytics/getDevClientProperties.js +29 -21
  530. package/build/src/utils/analytics/getDevClientProperties.js.map +1 -1
  531. package/build/src/utils/analytics/getMetroDebugProperties.js +4 -1
  532. package/build/src/utils/analytics/getMetroDebugProperties.js.map +1 -1
  533. package/build/src/utils/analytics/getMetroProperties.js +4 -1
  534. package/build/src/utils/analytics/getMetroProperties.js.map +1 -1
  535. package/build/src/utils/analytics/metroDebuggerMiddleware.js +14 -6
  536. package/build/src/utils/analytics/metroDebuggerMiddleware.js.map +1 -1
  537. package/build/src/utils/ansi.js +5 -2
  538. package/build/src/utils/ansi.js.map +1 -1
  539. package/build/src/utils/args.js +57 -29
  540. package/build/src/utils/args.js.map +1 -1
  541. package/build/src/utils/array.js +16 -9
  542. package/build/src/utils/array.js.map +1 -1
  543. package/build/src/utils/cocoapods.js +77 -53
  544. package/build/src/utils/cocoapods.js.map +1 -1
  545. package/build/src/utils/codesigning.js +80 -58
  546. package/build/src/utils/codesigning.js.map +1 -1
  547. package/build/src/utils/createFileTransform.js +13 -5
  548. package/build/src/utils/createFileTransform.js.map +1 -1
  549. package/build/src/utils/delay.js +13 -6
  550. package/build/src/utils/delay.js.map +1 -1
  551. package/build/src/utils/dir.js +24 -21
  552. package/build/src/utils/dir.js.map +1 -1
  553. package/build/src/utils/downloadAppAsync.js +16 -13
  554. package/build/src/utils/downloadAppAsync.js.map +1 -1
  555. package/build/src/utils/downloadExpoGoAsync.js +26 -20
  556. package/build/src/utils/downloadExpoGoAsync.js.map +1 -1
  557. package/build/src/utils/editor.js +50 -24
  558. package/build/src/utils/editor.js.map +1 -1
  559. package/build/src/utils/env.js +35 -33
  560. package/build/src/utils/env.js.map +1 -1
  561. package/build/src/utils/errors.js +17 -9
  562. package/build/src/utils/errors.js.map +1 -1
  563. package/build/src/utils/exit.js +10 -7
  564. package/build/src/utils/exit.js.map +1 -1
  565. package/build/src/utils/findUp.js +22 -4
  566. package/build/src/utils/findUp.js.map +1 -1
  567. package/build/src/utils/fn.js +11 -3
  568. package/build/src/utils/fn.js.map +1 -1
  569. package/build/src/utils/getOrPromptApplicationId.js +71 -45
  570. package/build/src/utils/getOrPromptApplicationId.js.map +1 -1
  571. package/build/src/utils/getRunningProcess.js +52 -26
  572. package/build/src/utils/getRunningProcess.js.map +1 -1
  573. package/build/src/utils/git.js +64 -38
  574. package/build/src/utils/git.js.map +1 -1
  575. package/build/src/utils/glob.js +14 -9
  576. package/build/src/utils/glob.js.map +1 -1
  577. package/build/src/utils/interactive.js +5 -2
  578. package/build/src/utils/interactive.js.map +1 -1
  579. package/build/src/utils/ip.js +5 -2
  580. package/build/src/utils/ip.js.map +1 -1
  581. package/build/src/utils/isModuleSymlinked.js +7 -4
  582. package/build/src/utils/isModuleSymlinked.js.map +1 -1
  583. package/build/src/utils/link.js +13 -5
  584. package/build/src/utils/link.js.map +1 -1
  585. package/build/src/utils/mergeGitIgnorePaths.js +22 -17
  586. package/build/src/utils/mergeGitIgnorePaths.js.map +1 -1
  587. package/build/src/utils/modifyConfigAsync.js +56 -30
  588. package/build/src/utils/modifyConfigAsync.js.map +1 -1
  589. package/build/src/utils/modifyConfigPlugins.js +43 -22
  590. package/build/src/utils/modifyConfigPlugins.js.map +1 -1
  591. package/build/src/utils/nodeEnv.js +6 -1
  592. package/build/src/utils/nodeEnv.js.map +1 -1
  593. package/build/src/utils/nodeModules.js +9 -6
  594. package/build/src/utils/nodeModules.js.map +1 -1
  595. package/build/src/utils/npm.js +32 -24
  596. package/build/src/utils/npm.js.map +1 -1
  597. package/build/src/utils/obj.js +12 -4
  598. package/build/src/utils/obj.js.map +1 -1
  599. package/build/src/utils/open.js +7 -4
  600. package/build/src/utils/open.js.map +1 -1
  601. package/build/src/utils/ora.js +25 -21
  602. package/build/src/utils/ora.js.map +1 -1
  603. package/build/src/utils/plist.js +53 -27
  604. package/build/src/utils/plist.js.map +1 -1
  605. package/build/src/utils/port.js +58 -32
  606. package/build/src/utils/port.js.map +1 -1
  607. package/build/src/utils/profile.js +49 -28
  608. package/build/src/utils/profile.js.map +1 -1
  609. package/build/src/utils/progress.js +16 -12
  610. package/build/src/utils/progress.js.map +1 -1
  611. package/build/src/utils/prompts.js +33 -28
  612. package/build/src/utils/prompts.js.map +1 -1
  613. package/build/src/utils/resolveArgs.js +23 -20
  614. package/build/src/utils/resolveArgs.js.map +1 -1
  615. package/build/src/utils/scheme.js +61 -37
  616. package/build/src/utils/scheme.js.map +1 -1
  617. package/build/src/utils/strings.js +11 -4
  618. package/build/src/utils/strings.js.map +1 -1
  619. package/build/src/utils/tar.js +43 -22
  620. package/build/src/utils/tar.js.map +1 -1
  621. package/build/src/utils/telemetry/DetachedClient.js +8 -5
  622. package/build/src/utils/telemetry/DetachedClient.js.map +1 -1
  623. package/build/src/utils/telemetry/RudderClient.js +12 -9
  624. package/build/src/utils/telemetry/RudderClient.js.map +1 -1
  625. package/build/src/utils/telemetry/flushDetached.js +8 -7
  626. package/build/src/utils/telemetry/flushDetached.js.map +1 -1
  627. package/build/src/utils/telemetry/getContext.js +48 -28
  628. package/build/src/utils/telemetry/getContext.js.map +1 -1
  629. package/build/src/utils/telemetry/index.js +16 -11
  630. package/build/src/utils/telemetry/index.js.map +1 -1
  631. package/build/src/utils/template.js +27 -2
  632. package/build/src/utils/template.js.map +1 -1
  633. package/build/src/utils/terminal.js +5 -2
  634. package/build/src/utils/terminal.js.map +1 -1
  635. package/build/src/utils/tsconfig/evaluateTsConfig.js +18 -12
  636. package/build/src/utils/tsconfig/evaluateTsConfig.js.map +1 -1
  637. package/build/src/utils/tsconfig/loadTsConfigPaths.js +18 -10
  638. package/build/src/utils/tsconfig/loadTsConfigPaths.js.map +1 -1
  639. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js +8 -4
  640. package/build/src/utils/tsconfig/matchTsConfigPathAlias.js.map +1 -1
  641. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js +12 -9
  642. package/build/src/utils/tsconfig/resolveWithTsConfigPaths.js.map +1 -1
  643. package/build/src/utils/url.js +17 -10
  644. package/build/src/utils/url.js.map +1 -1
  645. package/build/src/utils/validateApplicationId.js +32 -25
  646. package/build/src/utils/validateApplicationId.js.map +1 -1
  647. package/build/src/utils/variadic.js +15 -11
  648. package/build/src/utils/variadic.js.map +1 -1
  649. package/build/src/whoami/index.js +43 -25
  650. package/build/src/whoami/index.js.map +1 -1
  651. package/build/src/whoami/whoamiAsync.js +44 -23
  652. package/build/src/whoami/whoamiAsync.js.map +1 -1
  653. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/run/ios/codeSigning/Security.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport forge from 'node-forge';\n\nimport { SecurityBinPrerequisite } from '../../../start/doctor/SecurityBinPrerequisite';\nimport { CommandError } from '../../../utils/errors';\n\nexport type CertificateSigningInfo = {\n /**\n * @example 'AA00AABB0A'\n */\n signingCertificateId: string;\n /**\n * @example 'Apple Development: Evan Bacon (AA00AABB0A)'\n */\n codeSigningInfo?: string;\n /**\n * @example '650 Industries, Inc.'\n */\n appleTeamName?: string;\n /**\n * @example 'A1BCDEF234'\n */\n appleTeamId?: string;\n};\n\nexport async function getSecurityPemAsync(id: string) {\n const pem = (await spawnAsync('security', ['find-certificate', '-c', id, '-p'])).stdout?.trim?.();\n if (!pem) {\n throw new CommandError(`Failed to get PEM certificate for ID \"${id}\" using the 'security' bin`);\n }\n return pem;\n}\n\nexport async function getCertificateForSigningIdAsync(id: string): Promise<forge.pki.Certificate> {\n const pem = await getSecurityPemAsync(id);\n return forge.pki.certificateFromPem(pem);\n}\n\n/**\n * Get the signing identities from the security bin. Return a list of parsed values with duplicates removed.\n * @returns A list like ['Apple Development: bacon@expo.io (BB00AABB0A)', 'Apple Developer: Evan Bacon (AA00AABB0A)']\n */\nexport async function findIdentitiesAsync(): Promise<string[]> {\n await SecurityBinPrerequisite.instance.assertAsync();\n\n const results = (\n await spawnAsync('security', ['find-identity', '-p', 'codesigning', '-v'])\n ).stdout.trim?.();\n // Returns a string like:\n // 1) 12222234253761286351826735HGKDHAJGF45283 \"Apple Development: Evan Bacon (AA00AABB0A)\" (CSSMERR_TP_CERT_REVOKED)\n // 2) 12312234253761286351826735HGKDHAJGF45283 \"Apple Development: bacon@expo.io (BB00AABB0A)\"\n // 3) 12442234253761286351826735HGKDHAJGF45283 \"iPhone Distribution: Evan Bacon (CC00AABB0B)\" (CSSMERR_TP_CERT_REVOKED)\n // 4) 15672234253761286351826735HGKDHAJGF45283 \"Apple Development: Evan Bacon (AA00AABB0A)\"\n // 4 valid identities found\n\n const parsed = results\n .split('\\n')\n .map((line) => extractCodeSigningInfo(line))\n .filter(Boolean) as string[];\n\n // Remove duplicates\n return [...new Set(parsed)];\n}\n\n/**\n * @param value ' 2) 12312234253761286351826735HGKDHAJGF45283 \"Apple Development: bacon@expo.io (BB00AABB0A)\"'\n * @returns 'Apple Development: Evan Bacon (PH75MDXG4H)'\n */\nexport function extractCodeSigningInfo(value: string): string | null {\n return value.match(/^\\s*\\d+\\).+\"(.+Develop(ment|er).+)\"$/)?.[1] ?? null;\n}\n\nexport async function resolveIdentitiesAsync(\n identities: string[]\n): Promise<CertificateSigningInfo[]> {\n const values = identities.map(extractSigningId).filter(Boolean) as string[];\n return Promise.all(values.map(resolveCertificateSigningInfoAsync));\n}\n\n/**\n * @param signingCertificateId 'AA00AABB0A'\n */\nexport async function resolveCertificateSigningInfoAsync(\n signingCertificateId: string\n): Promise<CertificateSigningInfo> {\n const certificate = await getCertificateForSigningIdAsync(signingCertificateId);\n return {\n signingCertificateId,\n codeSigningInfo: certificate.subject.getField('CN')?.value,\n appleTeamName: certificate.subject.getField('O')?.value,\n appleTeamId: certificate.subject.getField('OU')?.value,\n };\n}\n\n/**\n * @param codeSigningInfo 'Apple Development: Evan Bacon (AA00AABB0A)'\n * @returns 'AA00AABB0A'\n */\nexport function extractSigningId(codeSigningInfo: string): string | null {\n return codeSigningInfo.match(/.*\\(([a-zA-Z0-9]+)\\)/)?.[1] ?? null;\n}\n"],"names":["getSecurityPemAsync","getCertificateForSigningIdAsync","findIdentitiesAsync","extractCodeSigningInfo","resolveIdentitiesAsync","resolveCertificateSigningInfoAsync","extractSigningId","id","pem","spawnAsync","stdout","trim","CommandError","forge","pki","certificateFromPem","SecurityBinPrerequisite","instance","assertAsync","results","parsed","split","map","line","filter","Boolean","Set","value","match","identities","values","Promise","all","signingCertificateId","certificate","codeSigningInfo","subject","getField","appleTeamName","appleTeamId"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/run/ios/codeSigning/Security.ts"],"sourcesContent":["import spawnAsync from '@expo/spawn-async';\nimport forge from 'node-forge';\n\nimport { SecurityBinPrerequisite } from '../../../start/doctor/SecurityBinPrerequisite';\nimport { CommandError } from '../../../utils/errors';\n\nexport type CertificateSigningInfo = {\n /**\n * @example 'AA00AABB0A'\n */\n signingCertificateId: string;\n /**\n * @example 'Apple Development: Evan Bacon (AA00AABB0A)'\n */\n codeSigningInfo?: string;\n /**\n * @example '650 Industries, Inc.'\n */\n appleTeamName?: string;\n /**\n * @example 'A1BCDEF234'\n */\n appleTeamId?: string;\n};\n\nexport async function getSecurityPemAsync(id: string) {\n const pem = (await spawnAsync('security', ['find-certificate', '-c', id, '-p'])).stdout?.trim?.();\n if (!pem) {\n throw new CommandError(`Failed to get PEM certificate for ID \"${id}\" using the 'security' bin`);\n }\n return pem;\n}\n\nexport async function getCertificateForSigningIdAsync(id: string): Promise<forge.pki.Certificate> {\n const pem = await getSecurityPemAsync(id);\n return forge.pki.certificateFromPem(pem);\n}\n\n/**\n * Get the signing identities from the security bin. Return a list of parsed values with duplicates removed.\n * @returns A list like ['Apple Development: bacon@expo.io (BB00AABB0A)', 'Apple Developer: Evan Bacon (AA00AABB0A)']\n */\nexport async function findIdentitiesAsync(): Promise<string[]> {\n await SecurityBinPrerequisite.instance.assertAsync();\n\n const results = (\n await spawnAsync('security', ['find-identity', '-p', 'codesigning', '-v'])\n ).stdout.trim?.();\n // Returns a string like:\n // 1) 12222234253761286351826735HGKDHAJGF45283 \"Apple Development: Evan Bacon (AA00AABB0A)\" (CSSMERR_TP_CERT_REVOKED)\n // 2) 12312234253761286351826735HGKDHAJGF45283 \"Apple Development: bacon@expo.io (BB00AABB0A)\"\n // 3) 12442234253761286351826735HGKDHAJGF45283 \"iPhone Distribution: Evan Bacon (CC00AABB0B)\" (CSSMERR_TP_CERT_REVOKED)\n // 4) 15672234253761286351826735HGKDHAJGF45283 \"Apple Development: Evan Bacon (AA00AABB0A)\"\n // 4 valid identities found\n\n const parsed = results\n .split('\\n')\n .map((line) => extractCodeSigningInfo(line))\n .filter(Boolean) as string[];\n\n // Remove duplicates\n return [...new Set(parsed)];\n}\n\n/**\n * @param value ' 2) 12312234253761286351826735HGKDHAJGF45283 \"Apple Development: bacon@expo.io (BB00AABB0A)\"'\n * @returns 'Apple Development: Evan Bacon (PH75MDXG4H)'\n */\nexport function extractCodeSigningInfo(value: string): string | null {\n return value.match(/^\\s*\\d+\\).+\"(.+Develop(ment|er).+)\"$/)?.[1] ?? null;\n}\n\nexport async function resolveIdentitiesAsync(\n identities: string[]\n): Promise<CertificateSigningInfo[]> {\n const values = identities.map(extractSigningId).filter(Boolean) as string[];\n return Promise.all(values.map(resolveCertificateSigningInfoAsync));\n}\n\n/**\n * @param signingCertificateId 'AA00AABB0A'\n */\nexport async function resolveCertificateSigningInfoAsync(\n signingCertificateId: string\n): Promise<CertificateSigningInfo> {\n const certificate = await getCertificateForSigningIdAsync(signingCertificateId);\n return {\n signingCertificateId,\n codeSigningInfo: certificate.subject.getField('CN')?.value,\n appleTeamName: certificate.subject.getField('O')?.value,\n appleTeamId: certificate.subject.getField('OU')?.value,\n };\n}\n\n/**\n * @param codeSigningInfo 'Apple Development: Evan Bacon (AA00AABB0A)'\n * @returns 'AA00AABB0A'\n */\nexport function extractSigningId(codeSigningInfo: string): string | null {\n return codeSigningInfo.match(/.*\\(([a-zA-Z0-9]+)\\)/)?.[1] ?? null;\n}\n"],"names":["getSecurityPemAsync","getCertificateForSigningIdAsync","findIdentitiesAsync","extractCodeSigningInfo","resolveIdentitiesAsync","resolveCertificateSigningInfoAsync","extractSigningId","id","pem","spawnAsync","stdout","trim","CommandError","forge","pki","certificateFromPem","SecurityBinPrerequisite","instance","assertAsync","results","parsed","split","map","line","filter","Boolean","Set","value","match","identities","values","Promise","all","signingCertificateId","certificate","codeSigningInfo","subject","getField","appleTeamName","appleTeamId"],"mappings":"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"}
@@ -2,43 +2,64 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.ensureDeviceIsCodeSignedForDeploymentAsync = ensureDeviceIsCodeSignedForDeploymentAsync;
5
+ Object.defineProperty(exports, "ensureDeviceIsCodeSignedForDeploymentAsync", {
6
+ enumerable: true,
7
+ get: ()=>ensureDeviceIsCodeSignedForDeploymentAsync
8
+ });
6
9
  function _chalk() {
7
- const data = _interopRequireDefault(require("chalk"));
10
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
8
11
  _chalk = function() {
9
12
  return data;
10
13
  };
11
14
  return data;
12
15
  }
13
- var Security = _interopRequireWildcard(require("./Security"));
14
- var _resolveCertificateSigningIdentity = require("./resolveCertificateSigningIdentity");
15
- var _xcodeCodeSigning = require("./xcodeCodeSigning");
16
- var Log = _interopRequireWildcard(require("../../../log"));
16
+ const _security = /*#__PURE__*/ _interopRequireWildcard(require("./Security"));
17
+ const _resolveCertificateSigningIdentity = require("./resolveCertificateSigningIdentity");
18
+ const _xcodeCodeSigning = require("./xcodeCodeSigning");
19
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../../log"));
17
20
  function _interopRequireDefault(obj) {
18
21
  return obj && obj.__esModule ? obj : {
19
22
  default: obj
20
23
  };
21
24
  }
22
- function _interopRequireWildcard(obj) {
23
- if (obj && obj.__esModule) {
25
+ function _getRequireWildcardCache(nodeInterop) {
26
+ if (typeof WeakMap !== "function") return null;
27
+ var cacheBabelInterop = new WeakMap();
28
+ var cacheNodeInterop = new WeakMap();
29
+ return (_getRequireWildcardCache = function(nodeInterop) {
30
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
31
+ })(nodeInterop);
32
+ }
33
+ function _interopRequireWildcard(obj, nodeInterop) {
34
+ if (!nodeInterop && obj && obj.__esModule) {
24
35
  return obj;
25
- } else {
26
- var newObj = {};
27
- if (obj != null) {
28
- for(var key in obj){
29
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
30
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
31
- if (desc.get || desc.set) {
32
- Object.defineProperty(newObj, key, desc);
33
- } else {
34
- newObj[key] = obj[key];
35
- }
36
- }
36
+ }
37
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
38
+ return {
39
+ default: obj
40
+ };
41
+ }
42
+ var cache = _getRequireWildcardCache(nodeInterop);
43
+ if (cache && cache.has(obj)) {
44
+ return cache.get(obj);
45
+ }
46
+ var newObj = {};
47
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
48
+ for(var key in obj){
49
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
50
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
51
+ if (desc && (desc.get || desc.set)) {
52
+ Object.defineProperty(newObj, key, desc);
53
+ } else {
54
+ newObj[key] = obj[key];
37
55
  }
38
56
  }
39
- newObj.default = obj;
40
- return newObj;
41
57
  }
58
+ newObj.default = obj;
59
+ if (cache) {
60
+ cache.set(obj, newObj);
61
+ }
62
+ return newObj;
42
63
  }
43
64
  async function ensureDeviceIsCodeSignedForDeploymentAsync(projectRoot) {
44
65
  if (isCodeSigningConfigured(projectRoot)) {
@@ -48,7 +69,7 @@ async function ensureDeviceIsCodeSignedForDeploymentAsync(projectRoot) {
48
69
  }
49
70
  function isCodeSigningConfigured(projectRoot) {
50
71
  // Check if the app already has a development team defined.
51
- const signingInfo = (0, _xcodeCodeSigning).getCodeSigningInfoForPbxproj(projectRoot);
72
+ const signingInfo = (0, _xcodeCodeSigning.getCodeSigningInfoForPbxproj)(projectRoot);
52
73
  const allTargetsHaveTeams = Object.values(signingInfo).reduce((prev, curr)=>{
53
74
  return prev && !!curr.developmentTeams.length;
54
75
  }, true);
@@ -58,7 +79,7 @@ function isCodeSigningConfigured(projectRoot) {
58
79
  curr.developmentTeams[0]
59
80
  ]);
60
81
  }, []);
61
- Log.log(_chalk().default.dim`\u203A Auto signing app using team(s): ${teamList.join(", ")}`);
82
+ _log.log(_chalk().default.dim`\u203A Auto signing app using team(s): ${teamList.join(", ")}`);
62
83
  return true;
63
84
  }
64
85
  const allTargetsHaveProfiles = Object.values(signingInfo).reduce((prev, curr)=>{
@@ -71,10 +92,10 @@ function isCodeSigningConfigured(projectRoot) {
71
92
  return false;
72
93
  }
73
94
  async function configureCodeSigningAsync(projectRoot) {
74
- const ids = await Security.findIdentitiesAsync();
75
- const id = await (0, _resolveCertificateSigningIdentity).resolveCertificateSigningIdentityAsync(ids);
76
- Log.log(`\u203A Signing and building iOS app with: ${id.codeSigningInfo}`);
77
- (0, _xcodeCodeSigning).setAutoCodeSigningInfoForPbxproj(projectRoot, {
95
+ const ids = await _security.findIdentitiesAsync();
96
+ const id = await (0, _resolveCertificateSigningIdentity.resolveCertificateSigningIdentityAsync)(ids);
97
+ _log.log(`\u203A Signing and building iOS app with: ${id.codeSigningInfo}`);
98
+ (0, _xcodeCodeSigning.setAutoCodeSigningInfoForPbxproj)(projectRoot, {
78
99
  appleTeamId: id.appleTeamId
79
100
  });
80
101
  return id.appleTeamId;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/run/ios/codeSigning/configureCodeSigning.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport * as Security from './Security';\nimport { resolveCertificateSigningIdentityAsync } from './resolveCertificateSigningIdentity';\nimport { getCodeSigningInfoForPbxproj, setAutoCodeSigningInfoForPbxproj } from './xcodeCodeSigning';\nimport * as Log from '../../../log';\n\nexport async function ensureDeviceIsCodeSignedForDeploymentAsync(\n projectRoot: string\n): Promise<string | null> {\n if (isCodeSigningConfigured(projectRoot)) {\n return null;\n }\n return configureCodeSigningAsync(projectRoot);\n}\n\nfunction isCodeSigningConfigured(projectRoot: string): boolean {\n // Check if the app already has a development team defined.\n const signingInfo = getCodeSigningInfoForPbxproj(projectRoot);\n\n const allTargetsHaveTeams = Object.values(signingInfo).reduce((prev, curr) => {\n return prev && !!curr.developmentTeams.length;\n }, true);\n\n if (allTargetsHaveTeams) {\n const teamList = Object.values(signingInfo).reduce<string[]>((prev, curr) => {\n return prev.concat([curr.developmentTeams[0]]);\n }, []);\n Log.log(chalk.dim`\\u203A Auto signing app using team(s): ${teamList.join(', ')}`);\n return true;\n }\n\n const allTargetsHaveProfiles = Object.values(signingInfo).reduce((prev, curr) => {\n return prev && !!curr.provisioningProfiles.length;\n }, true);\n\n if (allTargetsHaveProfiles) {\n // this indicates that the user has manual code signing setup (possibly for production).\n return true;\n }\n return false;\n}\n\nasync function configureCodeSigningAsync(projectRoot: string) {\n const ids = await Security.findIdentitiesAsync();\n\n const id = await resolveCertificateSigningIdentityAsync(ids);\n\n Log.log(`\\u203A Signing and building iOS app with: ${id.codeSigningInfo}`);\n\n setAutoCodeSigningInfoForPbxproj(projectRoot, {\n appleTeamId: id.appleTeamId!,\n });\n return id.appleTeamId!;\n}\n"],"names":["ensureDeviceIsCodeSignedForDeploymentAsync","Security","Log","projectRoot","isCodeSigningConfigured","configureCodeSigningAsync","signingInfo","getCodeSigningInfoForPbxproj","allTargetsHaveTeams","Object","values","reduce","prev","curr","developmentTeams","length","teamList","concat","log","chalk","dim","join","allTargetsHaveProfiles","provisioningProfiles","ids","findIdentitiesAsync","id","resolveCertificateSigningIdentityAsync","codeSigningInfo","setAutoCodeSigningInfoForPbxproj","appleTeamId"],"mappings":"AAAA;;;;QAOsBA,0CAA0C,GAA1CA,0CAA0C;SAP9C,MAAO;gDAAP,OAAO;IAAP,MAAO;;;;;AAEbC,IAAAA,QAAQ,mCAAM,YAAY,EAAlB;AACmC,IAAA,kCAAqC,WAArC,qCAAqC,CAAA;AACb,IAAA,iBAAoB,WAApB,oBAAoB,CAAA;AACvFC,IAAAA,GAAG,mCAAM,cAAc,EAApB;;;;;;;;;;;;;;;;;;;;;;;;;;;AAER,eAAeF,0CAA0C,CAC9DG,WAAmB,EACK;IACxB,IAAIC,uBAAuB,CAACD,WAAW,CAAC,EAAE;QACxC,OAAO,IAAI,CAAC;KACb;IACD,OAAOE,yBAAyB,CAACF,WAAW,CAAC,CAAC;CAC/C;AAED,SAASC,uBAAuB,CAACD,WAAmB,EAAW;IAC7D,2DAA2D;IAC3D,MAAMG,WAAW,GAAGC,CAAAA,GAAAA,iBAA4B,AAAa,CAAA,6BAAb,CAACJ,WAAW,CAAC,AAAC;IAE9D,MAAMK,mBAAmB,GAAGC,MAAM,CAACC,MAAM,CAACJ,WAAW,CAAC,CAACK,MAAM,CAAC,CAACC,IAAI,EAAEC,IAAI,GAAK;QAC5E,OAAOD,IAAI,IAAI,CAAC,CAACC,IAAI,CAACC,gBAAgB,CAACC,MAAM,CAAC;KAC/C,EAAE,IAAI,CAAC,AAAC;IAET,IAAIP,mBAAmB,EAAE;QACvB,MAAMQ,QAAQ,GAAGP,MAAM,CAACC,MAAM,CAACJ,WAAW,CAAC,CAACK,MAAM,CAAW,CAACC,IAAI,EAAEC,IAAI,GAAK;YAC3E,OAAOD,IAAI,CAACK,MAAM,CAAC;gBAACJ,IAAI,CAACC,gBAAgB,CAAC,CAAC,CAAC;aAAC,CAAC,CAAC;SAChD,EAAE,EAAE,CAAC,AAAC;QACPZ,GAAG,CAACgB,GAAG,CAACC,MAAK,UAAA,CAACC,GAAG,CAAC,uCAAuC,EAAEJ,QAAQ,CAACK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC;KACb;IAED,MAAMC,sBAAsB,GAAGb,MAAM,CAACC,MAAM,CAACJ,WAAW,CAAC,CAACK,MAAM,CAAC,CAACC,IAAI,EAAEC,IAAI,GAAK;QAC/E,OAAOD,IAAI,IAAI,CAAC,CAACC,IAAI,CAACU,oBAAoB,CAACR,MAAM,CAAC;KACnD,EAAE,IAAI,CAAC,AAAC;IAET,IAAIO,sBAAsB,EAAE;QAC1B,wFAAwF;QACxF,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;CACd;AAED,eAAejB,yBAAyB,CAACF,WAAmB,EAAE;IAC5D,MAAMqB,GAAG,GAAG,MAAMvB,QAAQ,CAACwB,mBAAmB,EAAE,AAAC;IAEjD,MAAMC,EAAE,GAAG,MAAMC,CAAAA,GAAAA,kCAAsC,AAAK,CAAA,uCAAL,CAACH,GAAG,CAAC,AAAC;IAE7DtB,GAAG,CAACgB,GAAG,CAAC,CAAC,0CAA0C,EAAEQ,EAAE,CAACE,eAAe,CAAC,CAAC,CAAC,CAAC;IAE3EC,CAAAA,GAAAA,iBAAgC,AAE9B,CAAA,iCAF8B,CAAC1B,WAAW,EAAE;QAC5C2B,WAAW,EAAEJ,EAAE,CAACI,WAAW;KAC5B,CAAC,CAAC;IACH,OAAOJ,EAAE,CAACI,WAAW,CAAE;CACxB"}
1
+ {"version":3,"sources":["../../../../../src/run/ios/codeSigning/configureCodeSigning.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport * as Security from './Security';\nimport { resolveCertificateSigningIdentityAsync } from './resolveCertificateSigningIdentity';\nimport { getCodeSigningInfoForPbxproj, setAutoCodeSigningInfoForPbxproj } from './xcodeCodeSigning';\nimport * as Log from '../../../log';\n\nexport async function ensureDeviceIsCodeSignedForDeploymentAsync(\n projectRoot: string\n): Promise<string | null> {\n if (isCodeSigningConfigured(projectRoot)) {\n return null;\n }\n return configureCodeSigningAsync(projectRoot);\n}\n\nfunction isCodeSigningConfigured(projectRoot: string): boolean {\n // Check if the app already has a development team defined.\n const signingInfo = getCodeSigningInfoForPbxproj(projectRoot);\n\n const allTargetsHaveTeams = Object.values(signingInfo).reduce((prev, curr) => {\n return prev && !!curr.developmentTeams.length;\n }, true);\n\n if (allTargetsHaveTeams) {\n const teamList = Object.values(signingInfo).reduce<string[]>((prev, curr) => {\n return prev.concat([curr.developmentTeams[0]]);\n }, []);\n Log.log(chalk.dim`\\u203A Auto signing app using team(s): ${teamList.join(', ')}`);\n return true;\n }\n\n const allTargetsHaveProfiles = Object.values(signingInfo).reduce((prev, curr) => {\n return prev && !!curr.provisioningProfiles.length;\n }, true);\n\n if (allTargetsHaveProfiles) {\n // this indicates that the user has manual code signing setup (possibly for production).\n return true;\n }\n return false;\n}\n\nasync function configureCodeSigningAsync(projectRoot: string) {\n const ids = await Security.findIdentitiesAsync();\n\n const id = await resolveCertificateSigningIdentityAsync(ids);\n\n Log.log(`\\u203A Signing and building iOS app with: ${id.codeSigningInfo}`);\n\n setAutoCodeSigningInfoForPbxproj(projectRoot, {\n appleTeamId: id.appleTeamId!,\n });\n return id.appleTeamId!;\n}\n"],"names":["ensureDeviceIsCodeSignedForDeploymentAsync","projectRoot","isCodeSigningConfigured","configureCodeSigningAsync","signingInfo","getCodeSigningInfoForPbxproj","allTargetsHaveTeams","Object","values","reduce","prev","curr","developmentTeams","length","teamList","concat","Log","log","chalk","dim","join","allTargetsHaveProfiles","provisioningProfiles","ids","Security","findIdentitiesAsync","id","resolveCertificateSigningIdentityAsync","codeSigningInfo","setAutoCodeSigningInfoForPbxproj","appleTeamId"],"mappings":"AAAA;;;;+BAOsBA,4CAA0C;;aAA1CA,0CAA0C;;;8DAP9C,OAAO;;;;;;gEAEC,YAAY;mDACiB,qCAAqC;kCACb,oBAAoB;2DAC9E,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE5B,eAAeA,0CAA0C,CAC9DC,WAAmB,EACK;IACxB,IAAIC,uBAAuB,CAACD,WAAW,CAAC,EAAE;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAOE,yBAAyB,CAACF,WAAW,CAAC,CAAC;AAChD,CAAC;AAED,SAASC,uBAAuB,CAACD,WAAmB,EAAW;IAC7D,2DAA2D;IAC3D,MAAMG,WAAW,GAAGC,IAAAA,iBAA4B,6BAAA,EAACJ,WAAW,CAAC,AAAC;IAE9D,MAAMK,mBAAmB,GAAGC,MAAM,CAACC,MAAM,CAACJ,WAAW,CAAC,CAACK,MAAM,CAAC,CAACC,IAAI,EAAEC,IAAI,GAAK;QAC5E,OAAOD,IAAI,IAAI,CAAC,CAACC,IAAI,CAACC,gBAAgB,CAACC,MAAM,CAAC;IAChD,CAAC,EAAE,IAAI,CAAC,AAAC;IAET,IAAIP,mBAAmB,EAAE;QACvB,MAAMQ,QAAQ,GAAGP,MAAM,CAACC,MAAM,CAACJ,WAAW,CAAC,CAACK,MAAM,CAAW,CAACC,IAAI,EAAEC,IAAI,GAAK;YAC3E,OAAOD,IAAI,CAACK,MAAM,CAAC;gBAACJ,IAAI,CAACC,gBAAgB,CAAC,CAAC,CAAC;aAAC,CAAC,CAAC;QACjD,CAAC,EAAE,EAAE,CAAC,AAAC;QACPI,IAAG,CAACC,GAAG,CAACC,MAAK,EAAA,QAAA,CAACC,GAAG,CAAC,uCAAuC,EAAEL,QAAQ,CAACM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAMC,sBAAsB,GAAGd,MAAM,CAACC,MAAM,CAACJ,WAAW,CAAC,CAACK,MAAM,CAAC,CAACC,IAAI,EAAEC,IAAI,GAAK;QAC/E,OAAOD,IAAI,IAAI,CAAC,CAACC,IAAI,CAACW,oBAAoB,CAACT,MAAM,CAAC;IACpD,CAAC,EAAE,IAAI,CAAC,AAAC;IAET,IAAIQ,sBAAsB,EAAE;QAC1B,wFAAwF;QACxF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,eAAelB,yBAAyB,CAACF,WAAmB,EAAE;IAC5D,MAAMsB,GAAG,GAAG,MAAMC,SAAQ,CAACC,mBAAmB,EAAE,AAAC;IAEjD,MAAMC,EAAE,GAAG,MAAMC,IAAAA,kCAAsC,uCAAA,EAACJ,GAAG,CAAC,AAAC;IAE7DP,IAAG,CAACC,GAAG,CAAC,CAAC,0CAA0C,EAAES,EAAE,CAACE,eAAe,CAAC,CAAC,CAAC,CAAC;IAE3EC,IAAAA,iBAAgC,iCAAA,EAAC5B,WAAW,EAAE;QAC5C6B,WAAW,EAAEJ,EAAE,CAACI,WAAW;KAC5B,CAAC,CAAC;IACH,OAAOJ,EAAE,CAACI,WAAW,CAAE;AACzB,CAAC"}
@@ -2,51 +2,77 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.sortDefaultIdToBeginningAsync = sortDefaultIdToBeginningAsync;
6
- exports.resolveCertificateSigningIdentityAsync = resolveCertificateSigningIdentityAsync;
7
- exports.selectDevelopmentTeamAsync = selectDevelopmentTeamAsync;
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ sortDefaultIdToBeginningAsync: ()=>sortDefaultIdToBeginningAsync,
13
+ resolveCertificateSigningIdentityAsync: ()=>resolveCertificateSigningIdentityAsync,
14
+ selectDevelopmentTeamAsync: ()=>selectDevelopmentTeamAsync
15
+ });
8
16
  function _chalk() {
9
- const data = _interopRequireDefault(require("chalk"));
17
+ const data = /*#__PURE__*/ _interopRequireDefault(require("chalk"));
10
18
  _chalk = function() {
11
19
  return data;
12
20
  };
13
21
  return data;
14
22
  }
15
- var Security = _interopRequireWildcard(require("./Security"));
16
- var _settings = require("./settings");
17
- var Log = _interopRequireWildcard(require("../../../log"));
18
- var _errors = require("../../../utils/errors");
19
- var _interactive = require("../../../utils/interactive");
20
- var _link = require("../../../utils/link");
21
- var _prompts = require("../../../utils/prompts");
23
+ const _security = /*#__PURE__*/ _interopRequireWildcard(require("./Security"));
24
+ const _settings = require("./settings");
25
+ const _log = /*#__PURE__*/ _interopRequireWildcard(require("../../../log"));
26
+ const _errors = require("../../../utils/errors");
27
+ const _interactive = require("../../../utils/interactive");
28
+ const _link = require("../../../utils/link");
29
+ const _prompts = require("../../../utils/prompts");
22
30
  function _interopRequireDefault(obj) {
23
31
  return obj && obj.__esModule ? obj : {
24
32
  default: obj
25
33
  };
26
34
  }
27
- function _interopRequireWildcard(obj) {
28
- if (obj && obj.__esModule) {
35
+ function _getRequireWildcardCache(nodeInterop) {
36
+ if (typeof WeakMap !== "function") return null;
37
+ var cacheBabelInterop = new WeakMap();
38
+ var cacheNodeInterop = new WeakMap();
39
+ return (_getRequireWildcardCache = function(nodeInterop) {
40
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
41
+ })(nodeInterop);
42
+ }
43
+ function _interopRequireWildcard(obj, nodeInterop) {
44
+ if (!nodeInterop && obj && obj.__esModule) {
29
45
  return obj;
30
- } else {
31
- var newObj = {};
32
- if (obj != null) {
33
- for(var key in obj){
34
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
35
- var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {};
36
- if (desc.get || desc.set) {
37
- Object.defineProperty(newObj, key, desc);
38
- } else {
39
- newObj[key] = obj[key];
40
- }
41
- }
46
+ }
47
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
48
+ return {
49
+ default: obj
50
+ };
51
+ }
52
+ var cache = _getRequireWildcardCache(nodeInterop);
53
+ if (cache && cache.has(obj)) {
54
+ return cache.get(obj);
55
+ }
56
+ var newObj = {};
57
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
58
+ for(var key in obj){
59
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
60
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
61
+ if (desc && (desc.get || desc.set)) {
62
+ Object.defineProperty(newObj, key, desc);
63
+ } else {
64
+ newObj[key] = obj[key];
42
65
  }
43
66
  }
44
- newObj.default = obj;
45
- return newObj;
46
67
  }
68
+ newObj.default = obj;
69
+ if (cache) {
70
+ cache.set(obj, newObj);
71
+ }
72
+ return newObj;
47
73
  }
48
74
  async function sortDefaultIdToBeginningAsync(identities) {
49
- const lastSelected = await (0, _settings).getLastDeveloperCodeSigningIdAsync();
75
+ const lastSelected = await (0, _settings.getLastDeveloperCodeSigningIdAsync)();
50
76
  if (lastSelected) {
51
77
  let iterations = 0;
52
78
  while(identities[0].signingCertificateId !== lastSelected && iterations < identities.length){
@@ -64,7 +90,7 @@ async function sortDefaultIdToBeginningAsync(identities) {
64
90
  * This links to an FYI page that was user tested internally.
65
91
  */ function assertCodeSigningSetup() {
66
92
  // TODO: We can probably do this too automatically.
67
- Log.log(`\u203A Your computer requires some additional setup before you can build onto physical iOS devices.\n ${_chalk().default.bold((0, _link).learnMore("https://expo.fyi/setup-xcode-signing"))}`);
93
+ _log.log(`\u203A Your computer requires some additional setup before you can build onto physical iOS devices.\n ${_chalk().default.bold((0, _link.learnMore)("https://expo.fyi/setup-xcode-signing"))}`);
68
94
  throw new _errors.CommandError("No code signing certificates are available to use.");
69
95
  }
70
96
  async function resolveCertificateSigningIdentityAsync(ids) {
@@ -75,23 +101,22 @@ async function resolveCertificateSigningIdentityAsync(ids) {
75
101
  // One ID available 🤝 Program is not interactive
76
102
  //
77
103
  // using the the first available option
78
- if (ids.length === 1 || !(0, _interactive).isInteractive()) {
104
+ if (ids.length === 1 || !(0, _interactive.isInteractive)()) {
79
105
  // This method is cheaper than `resolveIdentitiesAsync` and checking the
80
106
  // cached user preference so we should use this as early as possible.
81
- return Security.resolveCertificateSigningInfoAsync(ids[0]);
107
+ return _security.resolveCertificateSigningInfoAsync(ids[0]);
82
108
  }
83
109
  // Get identities and sort by the one that the user is most likely to choose.
84
- const [identities, preferred] = await sortDefaultIdToBeginningAsync(await Security.resolveIdentitiesAsync(ids));
110
+ const [identities, preferred] = await sortDefaultIdToBeginningAsync(await _security.resolveIdentitiesAsync(ids));
85
111
  const selected = await selectDevelopmentTeamAsync(identities, preferred);
86
112
  // Store the last used value and suggest it as the first value
87
113
  // next time the user has to select a code signing identity.
88
- await (0, _settings).setLastDeveloperCodeSigningIdAsync(selected.signingCertificateId);
114
+ await (0, _settings.setLastDeveloperCodeSigningIdAsync)(selected.signingCertificateId);
89
115
  return selected;
90
116
  }
91
117
  async function selectDevelopmentTeamAsync(identities, preferredId) {
92
- const index = await (0, _prompts).selectAsync("Development team for signing the app", identities.map((value, i)=>{
93
- const format = value.signingCertificateId === preferredId ? _chalk().default.bold : (message)=>message
94
- ;
118
+ const index = await (0, _prompts.selectAsync)("Development team for signing the app", identities.map((value, i)=>{
119
+ const format = value.signingCertificateId === preferredId ? _chalk().default.bold : (message)=>message;
95
120
  return {
96
121
  // Formatted like: `650 Industries, Inc. (A1BCDEF234) - Apple Development: Evan Bacon (AA00AABB0A)`
97
122
  title: format([
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/run/ios/codeSigning/resolveCertificateSigningIdentity.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport * as Security from './Security';\nimport { getLastDeveloperCodeSigningIdAsync, setLastDeveloperCodeSigningIdAsync } from './settings';\nimport * as Log from '../../../log';\nimport { CommandError } from '../../../utils/errors';\nimport { isInteractive } from '../../../utils/interactive';\nimport { learnMore } from '../../../utils/link';\nimport { selectAsync } from '../../../utils/prompts';\n\n/**\n * Sort the code signing items so the last selected item (user's default) is the first suggested.\n */\nexport async function sortDefaultIdToBeginningAsync(\n identities: Security.CertificateSigningInfo[]\n): Promise<[Security.CertificateSigningInfo[], string | null]> {\n const lastSelected = await getLastDeveloperCodeSigningIdAsync();\n\n if (lastSelected) {\n let iterations = 0;\n while (identities[0].signingCertificateId !== lastSelected && iterations < identities.length) {\n identities.push(identities.shift()!);\n iterations++;\n }\n }\n return [identities, lastSelected];\n}\n\n/**\n * Assert that the computer needs code signing setup.\n * This links to an FYI page that was user tested internally.\n */\nfunction assertCodeSigningSetup(): never {\n // TODO: We can probably do this too automatically.\n Log.log(\n `\\u203A Your computer requires some additional setup before you can build onto physical iOS devices.\\n ${chalk.bold(\n learnMore('https://expo.fyi/setup-xcode-signing')\n )}`\n );\n\n throw new CommandError('No code signing certificates are available to use.');\n}\n\n/**\n * Resolve the best certificate signing identity from a given list of IDs.\n * - If no IDs: Assert that the user has to setup code signing.\n * - If one ID: Return the first ID.\n * - If multiple IDs: Ask the user to select one, then store the value to be suggested first next time (since users generally use the same ID).\n */\nexport async function resolveCertificateSigningIdentityAsync(\n ids: string[]\n): Promise<Security.CertificateSigningInfo> {\n // The user has no valid code signing identities.\n if (!ids.length) {\n assertCodeSigningSetup();\n }\n\n // One ID available 🤝 Program is not interactive\n //\n // using the the first available option\n if (ids.length === 1 || !isInteractive()) {\n // This method is cheaper than `resolveIdentitiesAsync` and checking the\n // cached user preference so we should use this as early as possible.\n return Security.resolveCertificateSigningInfoAsync(ids[0]);\n }\n\n // Get identities and sort by the one that the user is most likely to choose.\n const [identities, preferred] = await sortDefaultIdToBeginningAsync(\n await Security.resolveIdentitiesAsync(ids)\n );\n\n const selected = await selectDevelopmentTeamAsync(identities, preferred);\n\n // Store the last used value and suggest it as the first value\n // next time the user has to select a code signing identity.\n await setLastDeveloperCodeSigningIdAsync(selected.signingCertificateId);\n\n return selected;\n}\n\n/** Prompt the user to select a development team, highlighting the preferred value based on the user history. */\nexport async function selectDevelopmentTeamAsync(\n identities: Security.CertificateSigningInfo[],\n preferredId: string | null\n): Promise<Security.CertificateSigningInfo> {\n const index = await selectAsync(\n 'Development team for signing the app',\n identities.map((value, i) => {\n const format =\n value.signingCertificateId === preferredId ? chalk.bold : (message: string) => message;\n return {\n // Formatted like: `650 Industries, Inc. (A1BCDEF234) - Apple Development: Evan Bacon (AA00AABB0A)`\n title: format(\n [value.appleTeamName, `(${value.appleTeamId}) -`, value.codeSigningInfo].join(' ')\n ),\n value: i,\n };\n })\n );\n\n return identities[index];\n}\n"],"names":["sortDefaultIdToBeginningAsync","resolveCertificateSigningIdentityAsync","selectDevelopmentTeamAsync","Security","Log","identities","lastSelected","getLastDeveloperCodeSigningIdAsync","iterations","signingCertificateId","length","push","shift","assertCodeSigningSetup","log","chalk","bold","learnMore","CommandError","ids","isInteractive","resolveCertificateSigningInfoAsync","preferred","resolveIdentitiesAsync","selected","setLastDeveloperCodeSigningIdAsync","preferredId","index","selectAsync","map","value","i","format","message","title","appleTeamName","appleTeamId","codeSigningInfo","join"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/run/ios/codeSigning/resolveCertificateSigningIdentity.ts"],"sourcesContent":["import chalk from 'chalk';\n\nimport * as Security from './Security';\nimport { getLastDeveloperCodeSigningIdAsync, setLastDeveloperCodeSigningIdAsync } from './settings';\nimport * as Log from '../../../log';\nimport { CommandError } from '../../../utils/errors';\nimport { isInteractive } from '../../../utils/interactive';\nimport { learnMore } from '../../../utils/link';\nimport { selectAsync } from '../../../utils/prompts';\n\n/**\n * Sort the code signing items so the last selected item (user's default) is the first suggested.\n */\nexport async function sortDefaultIdToBeginningAsync(\n identities: Security.CertificateSigningInfo[]\n): Promise<[Security.CertificateSigningInfo[], string | null]> {\n const lastSelected = await getLastDeveloperCodeSigningIdAsync();\n\n if (lastSelected) {\n let iterations = 0;\n while (identities[0].signingCertificateId !== lastSelected && iterations < identities.length) {\n identities.push(identities.shift()!);\n iterations++;\n }\n }\n return [identities, lastSelected];\n}\n\n/**\n * Assert that the computer needs code signing setup.\n * This links to an FYI page that was user tested internally.\n */\nfunction assertCodeSigningSetup(): never {\n // TODO: We can probably do this too automatically.\n Log.log(\n `\\u203A Your computer requires some additional setup before you can build onto physical iOS devices.\\n ${chalk.bold(\n learnMore('https://expo.fyi/setup-xcode-signing')\n )}`\n );\n\n throw new CommandError('No code signing certificates are available to use.');\n}\n\n/**\n * Resolve the best certificate signing identity from a given list of IDs.\n * - If no IDs: Assert that the user has to setup code signing.\n * - If one ID: Return the first ID.\n * - If multiple IDs: Ask the user to select one, then store the value to be suggested first next time (since users generally use the same ID).\n */\nexport async function resolveCertificateSigningIdentityAsync(\n ids: string[]\n): Promise<Security.CertificateSigningInfo> {\n // The user has no valid code signing identities.\n if (!ids.length) {\n assertCodeSigningSetup();\n }\n\n // One ID available 🤝 Program is not interactive\n //\n // using the the first available option\n if (ids.length === 1 || !isInteractive()) {\n // This method is cheaper than `resolveIdentitiesAsync` and checking the\n // cached user preference so we should use this as early as possible.\n return Security.resolveCertificateSigningInfoAsync(ids[0]);\n }\n\n // Get identities and sort by the one that the user is most likely to choose.\n const [identities, preferred] = await sortDefaultIdToBeginningAsync(\n await Security.resolveIdentitiesAsync(ids)\n );\n\n const selected = await selectDevelopmentTeamAsync(identities, preferred);\n\n // Store the last used value and suggest it as the first value\n // next time the user has to select a code signing identity.\n await setLastDeveloperCodeSigningIdAsync(selected.signingCertificateId);\n\n return selected;\n}\n\n/** Prompt the user to select a development team, highlighting the preferred value based on the user history. */\nexport async function selectDevelopmentTeamAsync(\n identities: Security.CertificateSigningInfo[],\n preferredId: string | null\n): Promise<Security.CertificateSigningInfo> {\n const index = await selectAsync(\n 'Development team for signing the app',\n identities.map((value, i) => {\n const format =\n value.signingCertificateId === preferredId ? chalk.bold : (message: string) => message;\n return {\n // Formatted like: `650 Industries, Inc. (A1BCDEF234) - Apple Development: Evan Bacon (AA00AABB0A)`\n title: format(\n [value.appleTeamName, `(${value.appleTeamId}) -`, value.codeSigningInfo].join(' ')\n ),\n value: i,\n };\n })\n );\n\n return identities[index];\n}\n"],"names":["sortDefaultIdToBeginningAsync","resolveCertificateSigningIdentityAsync","selectDevelopmentTeamAsync","identities","lastSelected","getLastDeveloperCodeSigningIdAsync","iterations","signingCertificateId","length","push","shift","assertCodeSigningSetup","Log","log","chalk","bold","learnMore","CommandError","ids","isInteractive","Security","resolveCertificateSigningInfoAsync","preferred","resolveIdentitiesAsync","selected","setLastDeveloperCodeSigningIdAsync","preferredId","index","selectAsync","map","value","i","format","message","title","appleTeamName","appleTeamId","codeSigningInfo","join"],"mappings":"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"}
@@ -2,9 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.getLastDeveloperCodeSigningIdAsync = getLastDeveloperCodeSigningIdAsync;
6
- exports.setLastDeveloperCodeSigningIdAsync = setLastDeveloperCodeSigningIdAsync;
7
- var _userSettings = _interopRequireDefault(require("../../../api/user/UserSettings"));
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ getLastDeveloperCodeSigningIdAsync: ()=>getLastDeveloperCodeSigningIdAsync,
13
+ setLastDeveloperCodeSigningIdAsync: ()=>setLastDeveloperCodeSigningIdAsync
14
+ });
15
+ const _userSettings = /*#__PURE__*/ _interopRequireDefault(require("../../../api/user/UserSettings"));
8
16
  function _interopRequireDefault(obj) {
9
17
  return obj && obj.__esModule ? obj : {
10
18
  default: obj
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/run/ios/codeSigning/settings.ts"],"sourcesContent":["import UserSettings from '../../../api/user/UserSettings';\n\n/** Get the cached code signing ID from the last time a user configured code signing via the CLI. */\nexport async function getLastDeveloperCodeSigningIdAsync(): Promise<string | null> {\n const { developmentCodeSigningId } = await UserSettings.readAsync();\n return developmentCodeSigningId ?? null;\n}\n\n/** Cache the code signing ID that the user chose for their project, we'll recommend this value for the next project they code sign. */\nexport async function setLastDeveloperCodeSigningIdAsync(id: string): Promise<void> {\n await UserSettings.setAsync('developmentCodeSigningId', id).catch(() => {});\n}\n"],"names":["getLastDeveloperCodeSigningIdAsync","setLastDeveloperCodeSigningIdAsync","developmentCodeSigningId","UserSettings","readAsync","id","setAsync","catch"],"mappings":"AAAA;;;;QAGsBA,kCAAkC,GAAlCA,kCAAkC;QAMlCC,kCAAkC,GAAlCA,kCAAkC;AAT/B,IAAA,aAAgC,kCAAhC,gCAAgC,EAAA;;;;;;AAGlD,eAAeD,kCAAkC,GAA2B;IACjF,MAAM,EAAEE,wBAAwB,CAAA,EAAE,GAAG,MAAMC,aAAY,QAAA,CAACC,SAAS,EAAE,AAAC;IACpE,OAAOF,wBAAwB,WAAxBA,wBAAwB,GAAI,IAAI,CAAC;CACzC;AAGM,eAAeD,kCAAkC,CAACI,EAAU,EAAiB;IAClF,MAAMF,aAAY,QAAA,CAACG,QAAQ,CAAC,0BAA0B,EAAED,EAAE,CAAC,CAACE,KAAK,CAAC,IAAM,EAAE,CAAC,CAAC;CAC7E"}
1
+ {"version":3,"sources":["../../../../../src/run/ios/codeSigning/settings.ts"],"sourcesContent":["import UserSettings from '../../../api/user/UserSettings';\n\n/** Get the cached code signing ID from the last time a user configured code signing via the CLI. */\nexport async function getLastDeveloperCodeSigningIdAsync(): Promise<string | null> {\n const { developmentCodeSigningId } = await UserSettings.readAsync();\n return developmentCodeSigningId ?? null;\n}\n\n/** Cache the code signing ID that the user chose for their project, we'll recommend this value for the next project they code sign. */\nexport async function setLastDeveloperCodeSigningIdAsync(id: string): Promise<void> {\n await UserSettings.setAsync('developmentCodeSigningId', id).catch(() => {});\n}\n"],"names":["getLastDeveloperCodeSigningIdAsync","setLastDeveloperCodeSigningIdAsync","developmentCodeSigningId","UserSettings","readAsync","id","setAsync","catch"],"mappings":"AAAA;;;;;;;;;;;IAGsBA,kCAAkC,MAAlCA,kCAAkC;IAMlCC,kCAAkC,MAAlCA,kCAAkC;;mEAT/B,gCAAgC;;;;;;AAGlD,eAAeD,kCAAkC,GAA2B;IACjF,MAAM,EAAEE,wBAAwB,CAAA,EAAE,GAAG,MAAMC,aAAY,QAAA,CAACC,SAAS,EAAE,AAAC;IACpE,OAAOF,wBAAwB,WAAxBA,wBAAwB,GAAI,IAAI,CAAC;AAC1C,CAAC;AAGM,eAAeD,kCAAkC,CAACI,EAAU,EAAiB;IAClF,MAAMF,aAAY,QAAA,CAACG,QAAQ,CAAC,0BAA0B,EAAED,EAAE,CAAC,CAACE,KAAK,CAAC,IAAM,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC"}
@@ -2,7 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.simulatorBuildRequiresCodeSigning = simulatorBuildRequiresCodeSigning;
5
+ Object.defineProperty(exports, "simulatorBuildRequiresCodeSigning", {
6
+ enumerable: true,
7
+ get: ()=>simulatorBuildRequiresCodeSigning
8
+ });
6
9
  function _configPlugins() {
7
10
  const data = require("@expo/config-plugins");
8
11
  _configPlugins = function() {
@@ -11,14 +14,14 @@ function _configPlugins() {
11
14
  return data;
12
15
  }
13
16
  function _plist() {
14
- const data = _interopRequireDefault(require("@expo/plist"));
17
+ const data = /*#__PURE__*/ _interopRequireDefault(require("@expo/plist"));
15
18
  _plist = function() {
16
19
  return data;
17
20
  };
18
21
  return data;
19
22
  }
20
23
  function _fs() {
21
- const data = _interopRequireDefault(require("fs"));
24
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
22
25
  _fs = function() {
23
26
  return data;
24
27
  };
@@ -56,8 +59,7 @@ function simulatorBuildRequiresCodeSigning(projectRoot) {
56
59
  if (!entitlements) {
57
60
  return false;
58
61
  }
59
- return ENTITLEMENTS_THAT_REQUIRE_CODE_SIGNING.some((entitlement)=>entitlement in entitlements
60
- );
62
+ return ENTITLEMENTS_THAT_REQUIRE_CODE_SIGNING.some((entitlement)=>entitlement in entitlements);
61
63
  }
62
64
 
63
65
  //# sourceMappingURL=simulatorCodeSigning.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/run/ios/codeSigning/simulatorCodeSigning.ts"],"sourcesContent":["import { IOSConfig } from '@expo/config-plugins';\nimport plist from '@expo/plist';\nimport fs from 'fs';\n\nconst debug = require('debug')('expo:run:ios:codeSigning:simulator');\n\n// NOTE(EvanBacon): These are entitlements that work in a simulator\n// but still require the project to have development code signing setup.\n// There may be more, but this is fine for now.\nconst ENTITLEMENTS_THAT_REQUIRE_CODE_SIGNING = [\n 'com.apple.developer.associated-domains',\n 'com.apple.developer.applesignin',\n];\n\nfunction getEntitlements(projectRoot: string): Record<string, any> | null {\n try {\n const entitlementsPath = IOSConfig.Entitlements.getEntitlementsPath(projectRoot);\n if (!entitlementsPath || !fs.existsSync(entitlementsPath)) {\n return null;\n }\n\n const entitlementsContents = fs.readFileSync(entitlementsPath, 'utf8');\n const entitlements = plist.parse(entitlementsContents);\n return entitlements;\n } catch (error) {\n debug('Failed to read entitlements', error);\n }\n return null;\n}\n\n/** @returns true if the simulator build should be code signed for development. */\nexport function simulatorBuildRequiresCodeSigning(projectRoot: string): boolean {\n const entitlements = getEntitlements(projectRoot);\n if (!entitlements) {\n return false;\n }\n return ENTITLEMENTS_THAT_REQUIRE_CODE_SIGNING.some((entitlement) => entitlement in entitlements);\n}\n"],"names":["simulatorBuildRequiresCodeSigning","debug","require","ENTITLEMENTS_THAT_REQUIRE_CODE_SIGNING","getEntitlements","projectRoot","entitlementsPath","IOSConfig","Entitlements","getEntitlementsPath","fs","existsSync","entitlementsContents","readFileSync","entitlements","plist","parse","error","some","entitlement"],"mappings":"AAAA;;;;QA+BgBA,iCAAiC,GAAjCA,iCAAiC;SA/BvB,cAAsB;yBAAtB,sBAAsB;IAAtB,cAAsB;;;;;SAC9B,MAAa;gDAAb,aAAa;IAAb,MAAa;;;;;SAChB,GAAI;gDAAJ,IAAI;IAAJ,GAAI;;;;;;;;;;AAEnB,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,oCAAoC,CAAC,AAAC;AAErE,mEAAmE;AACnE,wEAAwE;AACxE,+CAA+C;AAC/C,MAAMC,sCAAsC,GAAG;IAC7C,wCAAwC;IACxC,iCAAiC;CAClC,AAAC;AAEF,SAASC,eAAe,CAACC,WAAmB,EAA8B;IACxE,IAAI;QACF,MAAMC,gBAAgB,GAAGC,cAAS,YAAA,CAACC,YAAY,CAACC,mBAAmB,CAACJ,WAAW,CAAC,AAAC;QACjF,IAAI,CAACC,gBAAgB,IAAI,CAACI,GAAE,UAAA,CAACC,UAAU,CAACL,gBAAgB,CAAC,EAAE;YACzD,OAAO,IAAI,CAAC;SACb;QAED,MAAMM,oBAAoB,GAAGF,GAAE,UAAA,CAACG,YAAY,CAACP,gBAAgB,EAAE,MAAM,CAAC,AAAC;QACvE,MAAMQ,YAAY,GAAGC,MAAK,UAAA,CAACC,KAAK,CAACJ,oBAAoB,CAAC,AAAC;QACvD,OAAOE,YAAY,CAAC;KACrB,CAAC,OAAOG,KAAK,EAAE;QACdhB,KAAK,CAAC,6BAA6B,EAAEgB,KAAK,CAAC,CAAC;KAC7C;IACD,OAAO,IAAI,CAAC;CACb;AAGM,SAASjB,iCAAiC,CAACK,WAAmB,EAAW;IAC9E,MAAMS,YAAY,GAAGV,eAAe,CAACC,WAAW,CAAC,AAAC;IAClD,IAAI,CAACS,YAAY,EAAE;QACjB,OAAO,KAAK,CAAC;KACd;IACD,OAAOX,sCAAsC,CAACe,IAAI,CAAC,CAACC,WAAW,GAAKA,WAAW,IAAIL,YAAY;IAAA,CAAC,CAAC;CAClG"}
1
+ {"version":3,"sources":["../../../../../src/run/ios/codeSigning/simulatorCodeSigning.ts"],"sourcesContent":["import { IOSConfig } from '@expo/config-plugins';\nimport plist from '@expo/plist';\nimport fs from 'fs';\n\nconst debug = require('debug')('expo:run:ios:codeSigning:simulator');\n\n// NOTE(EvanBacon): These are entitlements that work in a simulator\n// but still require the project to have development code signing setup.\n// There may be more, but this is fine for now.\nconst ENTITLEMENTS_THAT_REQUIRE_CODE_SIGNING = [\n 'com.apple.developer.associated-domains',\n 'com.apple.developer.applesignin',\n];\n\nfunction getEntitlements(projectRoot: string): Record<string, any> | null {\n try {\n const entitlementsPath = IOSConfig.Entitlements.getEntitlementsPath(projectRoot);\n if (!entitlementsPath || !fs.existsSync(entitlementsPath)) {\n return null;\n }\n\n const entitlementsContents = fs.readFileSync(entitlementsPath, 'utf8');\n const entitlements = plist.parse(entitlementsContents);\n return entitlements;\n } catch (error) {\n debug('Failed to read entitlements', error);\n }\n return null;\n}\n\n/** @returns true if the simulator build should be code signed for development. */\nexport function simulatorBuildRequiresCodeSigning(projectRoot: string): boolean {\n const entitlements = getEntitlements(projectRoot);\n if (!entitlements) {\n return false;\n }\n return ENTITLEMENTS_THAT_REQUIRE_CODE_SIGNING.some((entitlement) => entitlement in entitlements);\n}\n"],"names":["simulatorBuildRequiresCodeSigning","debug","require","ENTITLEMENTS_THAT_REQUIRE_CODE_SIGNING","getEntitlements","projectRoot","entitlementsPath","IOSConfig","Entitlements","getEntitlementsPath","fs","existsSync","entitlementsContents","readFileSync","entitlements","plist","parse","error","some","entitlement"],"mappings":"AAAA;;;;+BA+BgBA,mCAAiC;;aAAjCA,iCAAiC;;;yBA/BvB,sBAAsB;;;;;;;8DAC9B,aAAa;;;;;;;8DAChB,IAAI;;;;;;;;;;;AAEnB,MAAMC,KAAK,GAAGC,OAAO,CAAC,OAAO,CAAC,CAAC,oCAAoC,CAAC,AAAC;AAErE,mEAAmE;AACnE,wEAAwE;AACxE,+CAA+C;AAC/C,MAAMC,sCAAsC,GAAG;IAC7C,wCAAwC;IACxC,iCAAiC;CAClC,AAAC;AAEF,SAASC,eAAe,CAACC,WAAmB,EAA8B;IACxE,IAAI;QACF,MAAMC,gBAAgB,GAAGC,cAAS,EAAA,UAAA,CAACC,YAAY,CAACC,mBAAmB,CAACJ,WAAW,CAAC,AAAC;QACjF,IAAI,CAACC,gBAAgB,IAAI,CAACI,GAAE,EAAA,QAAA,CAACC,UAAU,CAACL,gBAAgB,CAAC,EAAE;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAMM,oBAAoB,GAAGF,GAAE,EAAA,QAAA,CAACG,YAAY,CAACP,gBAAgB,EAAE,MAAM,CAAC,AAAC;QACvE,MAAMQ,YAAY,GAAGC,MAAK,EAAA,QAAA,CAACC,KAAK,CAACJ,oBAAoB,CAAC,AAAC;QACvD,OAAOE,YAAY,CAAC;IACtB,EAAE,OAAOG,KAAK,EAAE;QACdhB,KAAK,CAAC,6BAA6B,EAAEgB,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAGM,SAASjB,iCAAiC,CAACK,WAAmB,EAAW;IAC9E,MAAMS,YAAY,GAAGV,eAAe,CAACC,WAAW,CAAC,AAAC;IAClD,IAAI,CAACS,YAAY,EAAE;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAOX,sCAAsC,CAACe,IAAI,CAAC,CAACC,WAAW,GAAKA,WAAW,IAAIL,YAAY,CAAC,CAAC;AACnG,CAAC"}
@@ -2,9 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.getCodeSigningInfoForPbxproj = getCodeSigningInfoForPbxproj;
6
- exports.mutateXcodeProjectWithAutoCodeSigningInfo = mutateXcodeProjectWithAutoCodeSigningInfo;
7
- exports.setAutoCodeSigningInfoForPbxproj = setAutoCodeSigningInfoForPbxproj;
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ getCodeSigningInfoForPbxproj: ()=>getCodeSigningInfoForPbxproj,
13
+ mutateXcodeProjectWithAutoCodeSigningInfo: ()=>mutateXcodeProjectWithAutoCodeSigningInfo,
14
+ setAutoCodeSigningInfoForPbxproj: ()=>setAutoCodeSigningInfoForPbxproj
15
+ });
8
16
  function _configPlugins() {
9
17
  const data = require("@expo/config-plugins");
10
18
  _configPlugins = function() {
@@ -13,7 +21,7 @@ function _configPlugins() {
13
21
  return data;
14
22
  }
15
23
  function _fs() {
16
- const data = _interopRequireDefault(require("fs"));
24
+ const data = /*#__PURE__*/ _interopRequireDefault(require("fs"));
17
25
  _fs = function() {
18
26
  return data;
19
27
  };
@@ -31,8 +39,7 @@ function getCodeSigningInfoForPbxproj(projectRoot) {
31
39
  for (const [nativeTargetId, nativeTarget] of targets){
32
40
  const developmentTeams = [];
33
41
  const provisioningProfiles = [];
34
- _configPlugins().IOSConfig.XcodeUtils.getBuildConfigurationsForListId(project, nativeTarget.buildConfigurationList).filter(([, item])=>item.buildSettings.PRODUCT_NAME
35
- ).forEach(([, item])=>{
42
+ _configPlugins().IOSConfig.XcodeUtils.getBuildConfigurationsForListId(project, nativeTarget.buildConfigurationList).filter(([, item])=>item.buildSettings.PRODUCT_NAME).forEach(([, item])=>{
36
43
  const { DEVELOPMENT_TEAM , PROVISIONING_PROFILE } = item.buildSettings;
37
44
  if (typeof DEVELOPMENT_TEAM === "string" && // If the user selects "Team: none" in Xcode, it'll be an empty string.
38
45
  !!DEVELOPMENT_TEAM && // xcode package sometimes reads an empty string as a quoted empty string.
@@ -54,8 +61,7 @@ function mutateXcodeProjectWithAutoCodeSigningInfo({ project , appleTeamId }) {
54
61
  const targets = _configPlugins().IOSConfig.Target.findSignableTargets(project);
55
62
  const quotedAppleTeamId = ensureQuotes(appleTeamId);
56
63
  for (const [nativeTargetId, nativeTarget] of targets){
57
- _configPlugins().IOSConfig.XcodeUtils.getBuildConfigurationsForListId(project, nativeTarget.buildConfigurationList).filter(([, item])=>item.buildSettings.PRODUCT_NAME
58
- ).forEach(([, item])=>{
64
+ _configPlugins().IOSConfig.XcodeUtils.getBuildConfigurationsForListId(project, nativeTarget.buildConfigurationList).filter(([, item])=>item.buildSettings.PRODUCT_NAME).forEach(([, item])=>{
59
65
  item.buildSettings.DEVELOPMENT_TEAM = quotedAppleTeamId;
60
66
  item.buildSettings.CODE_SIGN_IDENTITY = '"Apple Development"';
61
67
  item.buildSettings.CODE_SIGN_STYLE = "Automatic";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/run/ios/codeSigning/xcodeCodeSigning.ts"],"sourcesContent":["import { IOSConfig, XcodeProject } from '@expo/config-plugins';\nimport fs from 'fs';\n\nexport type CodeSigningInfo = Record<\n string,\n {\n developmentTeams: string[];\n provisioningProfiles: string[];\n }\n>;\n\n/** Find the development team and provisioning profile that's currently in use by the Xcode project. */\nexport function getCodeSigningInfoForPbxproj(projectRoot: string): CodeSigningInfo {\n const project = IOSConfig.XcodeUtils.getPbxproj(projectRoot);\n const targets = IOSConfig.Target.findSignableTargets(project);\n\n const signingInfo: CodeSigningInfo = {};\n for (const [nativeTargetId, nativeTarget] of targets) {\n const developmentTeams: string[] = [];\n const provisioningProfiles: string[] = [];\n\n IOSConfig.XcodeUtils.getBuildConfigurationsForListId(\n project,\n nativeTarget.buildConfigurationList\n )\n .filter(\n ([, item]: IOSConfig.XcodeUtils.ConfigurationSectionEntry) =>\n item.buildSettings.PRODUCT_NAME\n )\n .forEach(([, item]: IOSConfig.XcodeUtils.ConfigurationSectionEntry) => {\n const { DEVELOPMENT_TEAM, PROVISIONING_PROFILE } = item.buildSettings;\n if (\n typeof DEVELOPMENT_TEAM === 'string' &&\n // If the user selects \"Team: none\" in Xcode, it'll be an empty string.\n !!DEVELOPMENT_TEAM &&\n // xcode package sometimes reads an empty string as a quoted empty string.\n DEVELOPMENT_TEAM !== '\"\"'\n ) {\n developmentTeams.push(DEVELOPMENT_TEAM);\n }\n if (typeof PROVISIONING_PROFILE === 'string' && !!PROVISIONING_PROFILE) {\n provisioningProfiles.push(PROVISIONING_PROFILE);\n }\n });\n signingInfo[nativeTargetId] = {\n developmentTeams,\n provisioningProfiles,\n };\n }\n\n return signingInfo;\n}\n\n/**\n * Set the development team and configure the Xcode project for automatic code signing,\n * this helps us resolve the code signing on subsequent runs and emulates Xcode behavior.\n *\n * @param props.project xcode project object from `xcode` package.\n * @param props.appleTeamId Apple Team ID to use for code signing.\n */\nexport function mutateXcodeProjectWithAutoCodeSigningInfo({\n project,\n appleTeamId,\n}: {\n project: XcodeProject;\n appleTeamId: string;\n}): XcodeProject {\n const targets = IOSConfig.Target.findSignableTargets(project);\n\n const quotedAppleTeamId = ensureQuotes(appleTeamId);\n\n for (const [nativeTargetId, nativeTarget] of targets) {\n IOSConfig.XcodeUtils.getBuildConfigurationsForListId(\n project,\n nativeTarget.buildConfigurationList\n )\n .filter(\n ([, item]: IOSConfig.XcodeUtils.ConfigurationSectionEntry) =>\n item.buildSettings.PRODUCT_NAME\n )\n .forEach(([, item]: IOSConfig.XcodeUtils.ConfigurationSectionEntry) => {\n item.buildSettings.DEVELOPMENT_TEAM = quotedAppleTeamId;\n item.buildSettings.CODE_SIGN_IDENTITY = '\"Apple Development\"';\n item.buildSettings.CODE_SIGN_STYLE = 'Automatic';\n });\n\n Object.entries(IOSConfig.XcodeUtils.getProjectSection(project))\n .filter(IOSConfig.XcodeUtils.isNotComment)\n .forEach(([, item]: IOSConfig.XcodeUtils.ProjectSectionEntry) => {\n if (!item.attributes.TargetAttributes) {\n item.attributes.TargetAttributes = {};\n }\n\n if (!item.attributes.TargetAttributes[nativeTargetId]) {\n item.attributes.TargetAttributes[nativeTargetId] = {};\n }\n\n item.attributes.TargetAttributes[nativeTargetId].DevelopmentTeam = quotedAppleTeamId;\n item.attributes.TargetAttributes[nativeTargetId].ProvisioningStyle = 'Automatic';\n });\n }\n\n return project;\n}\n\n/**\n * Configures the Xcode project for automatic code signing and persists the results.\n */\nexport function setAutoCodeSigningInfoForPbxproj(\n projectRoot: string,\n { appleTeamId }: { appleTeamId: string }\n): void {\n const project = IOSConfig.XcodeUtils.getPbxproj(projectRoot);\n mutateXcodeProjectWithAutoCodeSigningInfo({ project, appleTeamId });\n\n fs.writeFileSync(project.filepath, project.writeSync());\n}\n\nconst ensureQuotes = (value: string) => {\n if (!value.match(/^['\"]/)) {\n return `\"${value}\"`;\n }\n return value;\n};\n"],"names":["getCodeSigningInfoForPbxproj","mutateXcodeProjectWithAutoCodeSigningInfo","setAutoCodeSigningInfoForPbxproj","projectRoot","project","IOSConfig","XcodeUtils","getPbxproj","targets","Target","findSignableTargets","signingInfo","nativeTargetId","nativeTarget","developmentTeams","provisioningProfiles","getBuildConfigurationsForListId","buildConfigurationList","filter","item","buildSettings","PRODUCT_NAME","forEach","DEVELOPMENT_TEAM","PROVISIONING_PROFILE","push","appleTeamId","quotedAppleTeamId","ensureQuotes","CODE_SIGN_IDENTITY","CODE_SIGN_STYLE","Object","entries","getProjectSection","isNotComment","attributes","TargetAttributes","DevelopmentTeam","ProvisioningStyle","fs","writeFileSync","filepath","writeSync","value","match"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/run/ios/codeSigning/xcodeCodeSigning.ts"],"sourcesContent":["import { IOSConfig, XcodeProject } from '@expo/config-plugins';\nimport fs from 'fs';\n\nexport type CodeSigningInfo = Record<\n string,\n {\n developmentTeams: string[];\n provisioningProfiles: string[];\n }\n>;\n\n/** Find the development team and provisioning profile that's currently in use by the Xcode project. */\nexport function getCodeSigningInfoForPbxproj(projectRoot: string): CodeSigningInfo {\n const project = IOSConfig.XcodeUtils.getPbxproj(projectRoot);\n const targets = IOSConfig.Target.findSignableTargets(project);\n\n const signingInfo: CodeSigningInfo = {};\n for (const [nativeTargetId, nativeTarget] of targets) {\n const developmentTeams: string[] = [];\n const provisioningProfiles: string[] = [];\n\n IOSConfig.XcodeUtils.getBuildConfigurationsForListId(\n project,\n nativeTarget.buildConfigurationList\n )\n .filter(\n ([, item]: IOSConfig.XcodeUtils.ConfigurationSectionEntry) =>\n item.buildSettings.PRODUCT_NAME\n )\n .forEach(([, item]: IOSConfig.XcodeUtils.ConfigurationSectionEntry) => {\n const { DEVELOPMENT_TEAM, PROVISIONING_PROFILE } = item.buildSettings;\n if (\n typeof DEVELOPMENT_TEAM === 'string' &&\n // If the user selects \"Team: none\" in Xcode, it'll be an empty string.\n !!DEVELOPMENT_TEAM &&\n // xcode package sometimes reads an empty string as a quoted empty string.\n DEVELOPMENT_TEAM !== '\"\"'\n ) {\n developmentTeams.push(DEVELOPMENT_TEAM);\n }\n if (typeof PROVISIONING_PROFILE === 'string' && !!PROVISIONING_PROFILE) {\n provisioningProfiles.push(PROVISIONING_PROFILE);\n }\n });\n signingInfo[nativeTargetId] = {\n developmentTeams,\n provisioningProfiles,\n };\n }\n\n return signingInfo;\n}\n\n/**\n * Set the development team and configure the Xcode project for automatic code signing,\n * this helps us resolve the code signing on subsequent runs and emulates Xcode behavior.\n *\n * @param props.project xcode project object from `xcode` package.\n * @param props.appleTeamId Apple Team ID to use for code signing.\n */\nexport function mutateXcodeProjectWithAutoCodeSigningInfo({\n project,\n appleTeamId,\n}: {\n project: XcodeProject;\n appleTeamId: string;\n}): XcodeProject {\n const targets = IOSConfig.Target.findSignableTargets(project);\n\n const quotedAppleTeamId = ensureQuotes(appleTeamId);\n\n for (const [nativeTargetId, nativeTarget] of targets) {\n IOSConfig.XcodeUtils.getBuildConfigurationsForListId(\n project,\n nativeTarget.buildConfigurationList\n )\n .filter(\n ([, item]: IOSConfig.XcodeUtils.ConfigurationSectionEntry) =>\n item.buildSettings.PRODUCT_NAME\n )\n .forEach(([, item]: IOSConfig.XcodeUtils.ConfigurationSectionEntry) => {\n item.buildSettings.DEVELOPMENT_TEAM = quotedAppleTeamId;\n item.buildSettings.CODE_SIGN_IDENTITY = '\"Apple Development\"';\n item.buildSettings.CODE_SIGN_STYLE = 'Automatic';\n });\n\n Object.entries(IOSConfig.XcodeUtils.getProjectSection(project))\n .filter(IOSConfig.XcodeUtils.isNotComment)\n .forEach(([, item]: IOSConfig.XcodeUtils.ProjectSectionEntry) => {\n if (!item.attributes.TargetAttributes) {\n item.attributes.TargetAttributes = {};\n }\n\n if (!item.attributes.TargetAttributes[nativeTargetId]) {\n item.attributes.TargetAttributes[nativeTargetId] = {};\n }\n\n item.attributes.TargetAttributes[nativeTargetId].DevelopmentTeam = quotedAppleTeamId;\n item.attributes.TargetAttributes[nativeTargetId].ProvisioningStyle = 'Automatic';\n });\n }\n\n return project;\n}\n\n/**\n * Configures the Xcode project for automatic code signing and persists the results.\n */\nexport function setAutoCodeSigningInfoForPbxproj(\n projectRoot: string,\n { appleTeamId }: { appleTeamId: string }\n): void {\n const project = IOSConfig.XcodeUtils.getPbxproj(projectRoot);\n mutateXcodeProjectWithAutoCodeSigningInfo({ project, appleTeamId });\n\n fs.writeFileSync(project.filepath, project.writeSync());\n}\n\nconst ensureQuotes = (value: string) => {\n if (!value.match(/^['\"]/)) {\n return `\"${value}\"`;\n }\n return value;\n};\n"],"names":["getCodeSigningInfoForPbxproj","mutateXcodeProjectWithAutoCodeSigningInfo","setAutoCodeSigningInfoForPbxproj","projectRoot","project","IOSConfig","XcodeUtils","getPbxproj","targets","Target","findSignableTargets","signingInfo","nativeTargetId","nativeTarget","developmentTeams","provisioningProfiles","getBuildConfigurationsForListId","buildConfigurationList","filter","item","buildSettings","PRODUCT_NAME","forEach","DEVELOPMENT_TEAM","PROVISIONING_PROFILE","push","appleTeamId","quotedAppleTeamId","ensureQuotes","CODE_SIGN_IDENTITY","CODE_SIGN_STYLE","Object","entries","getProjectSection","isNotComment","attributes","TargetAttributes","DevelopmentTeam","ProvisioningStyle","fs","writeFileSync","filepath","writeSync","value","match"],"mappings":"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"}