eas-cli 16.27.0 → 16.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (357) hide show
  1. package/README.md +97 -94
  2. package/build/analytics/AnalyticsManager.js +4 -4
  3. package/build/analytics/common.js +1 -2
  4. package/build/api.js +5 -5
  5. package/build/branch/delete.d.ts +5 -0
  6. package/build/branch/delete.js +23 -0
  7. package/build/branch/queries.js +5 -5
  8. package/build/branch/utils.js +2 -2
  9. package/build/build/android/build.js +3 -4
  10. package/build/build/android/graphql.js +1 -2
  11. package/build/build/android/prepareJob.js +1 -2
  12. package/build/build/android/syncProjectConfiguration.js +2 -3
  13. package/build/build/android/version.js +6 -6
  14. package/build/build/build.js +3 -4
  15. package/build/build/configure.js +4 -5
  16. package/build/build/context.d.ts +1 -0
  17. package/build/build/createContext.js +2 -2
  18. package/build/build/evaluateConfigWithEnvVarsAsync.js +1 -2
  19. package/build/build/graphql.js +7 -7
  20. package/build/build/ios/build.js +2 -3
  21. package/build/build/ios/credentials.js +2 -3
  22. package/build/build/ios/graphql.js +2 -3
  23. package/build/build/ios/prepareJob.js +2 -3
  24. package/build/build/ios/syncProjectConfiguration.js +1 -2
  25. package/build/build/ios/version.js +10 -10
  26. package/build/build/local.js +2 -2
  27. package/build/build/metadata.js +3 -4
  28. package/build/build/queries.js +4 -4
  29. package/build/build/runBuildAndSubmit.js +12 -3
  30. package/build/build/utils/appJson.js +2 -3
  31. package/build/build/utils/credentials.js +1 -2
  32. package/build/build/utils/devClient.js +1 -2
  33. package/build/build/utils/formatBuild.js +2 -3
  34. package/build/build/utils/printBuildInfo.js +4 -5
  35. package/build/build/utils/repository.js +8 -9
  36. package/build/build/utils/resourceClass.js +1 -2
  37. package/build/build/utils/url.js +8 -9
  38. package/build/build/utils/version.js +2 -3
  39. package/build/build/validate.js +3 -4
  40. package/build/channel/branch-mapping.js +24 -24
  41. package/build/channel/delete.d.ts +5 -0
  42. package/build/channel/delete.js +23 -0
  43. package/build/channel/print-utils.js +2 -3
  44. package/build/channel/queries.js +8 -8
  45. package/build/channel/utils.js +1 -2
  46. package/build/commandUtils/builds.js +3 -4
  47. package/build/commandUtils/context/contextUtils/createGraphqlClient.js +1 -2
  48. package/build/commandUtils/context/contextUtils/findProjectDirAndVerifyProjectSetupAsync.js +2 -3
  49. package/build/commandUtils/context/contextUtils/getProjectIdAsync.js +3 -4
  50. package/build/commandUtils/context/contextUtils/loadServerSideEnvironmentVariablesAsync.js +1 -2
  51. package/build/commandUtils/experienceParser.d.ts +6 -0
  52. package/build/commandUtils/experienceParser.js +42 -0
  53. package/build/commandUtils/new/commands.js +3 -4
  54. package/build/commandUtils/new/configs.js +11 -9
  55. package/build/commandUtils/new/projectFiles.js +6 -7
  56. package/build/commandUtils/new/utils.js +1 -2
  57. package/build/commandUtils/projectNameValidation.d.ts +8 -0
  58. package/build/commandUtils/projectNameValidation.js +30 -0
  59. package/build/commandUtils/workflow/buildProfileUtils.js +12 -13
  60. package/build/commandUtils/workflow/creation.js +5 -5
  61. package/build/commandUtils/workflow/fetchLogs.js +2 -3
  62. package/build/commandUtils/workflow/inputs.js +5 -5
  63. package/build/commandUtils/workflow/stateMachine.js +7 -7
  64. package/build/commandUtils/workflow/utils.js +12 -12
  65. package/build/commandUtils/workflow/validation.js +4 -5
  66. package/build/commands/branch/delete.js +6 -20
  67. package/build/commands/build/cancel.js +1 -2
  68. package/build/commands/build/delete.js +1 -2
  69. package/build/commands/build/index.js +1 -10
  70. package/build/commands/channel/delete.js +7 -23
  71. package/build/commands/channel/edit.js +1 -2
  72. package/build/commands/channel/pause.js +1 -2
  73. package/build/commands/channel/resume.js +1 -2
  74. package/build/commands/deploy/index.js +1 -1
  75. package/build/commands/project/init.js +3 -1
  76. package/build/commands/project/new.js +3 -4
  77. package/build/commands/update/index.d.ts +8 -0
  78. package/build/commands/update/index.js +39 -2
  79. package/build/commands/update/list.d.ts +3 -0
  80. package/build/commands/update/list.js +30 -1
  81. package/build/commands/update/revert-update-rollout.js +1 -2
  82. package/build/credentials/android/actions/BuildCredentialsUtils.js +6 -7
  83. package/build/credentials/android/api/GraphqlClient.js +21 -21
  84. package/build/credentials/android/api/graphql/queries/AndroidAppCredentialsQuery.d.ts +2 -2
  85. package/build/credentials/android/api/graphql/queries/GoogleServiceAccountKeyQuery.d.ts +5 -5
  86. package/build/credentials/android/utils/googleServiceAccountKey.js +4 -4
  87. package/build/credentials/android/utils/keystore.js +2 -3
  88. package/build/credentials/android/utils/keystoreNew.js +3 -4
  89. package/build/credentials/android/utils/printCredentials.js +3 -4
  90. package/build/credentials/credentialsJson/read.js +3 -4
  91. package/build/credentials/credentialsJson/update.js +2 -3
  92. package/build/credentials/credentialsJson/utils.js +2 -3
  93. package/build/credentials/ios/actions/AppleTeamFormatting.js +1 -2
  94. package/build/credentials/ios/actions/AppleTeamUtils.js +1 -2
  95. package/build/credentials/ios/actions/AscApiKeyUtils.js +10 -10
  96. package/build/credentials/ios/actions/BuildCredentialsUtils.js +7 -8
  97. package/build/credentials/ios/actions/DeviceUtils.js +2 -3
  98. package/build/credentials/ios/actions/DistributionCertificateUtils.js +4 -5
  99. package/build/credentials/ios/actions/ProvisioningProfileUtils.js +2 -3
  100. package/build/credentials/ios/actions/PushKeyUtils.js +5 -6
  101. package/build/credentials/ios/actions/SetUpAdhocProvisioningProfile.js +2 -2
  102. package/build/credentials/ios/actions/SetUpTargetBuildCredentials.js +6 -2
  103. package/build/credentials/ios/api/GraphqlClient.js +24 -25
  104. package/build/credentials/ios/api/graphql/queries/AppStoreConnectApiKeyQuery.d.ts +5 -5
  105. package/build/credentials/ios/api/graphql/queries/AppleDeviceQuery.d.ts +8 -8
  106. package/build/credentials/ios/api/graphql/queries/AppleDistributionCertificateQuery.d.ts +5 -5
  107. package/build/credentials/ios/api/graphql/queries/ApplePushKeyQuery.d.ts +5 -5
  108. package/build/credentials/ios/api/graphql/queries/IosAppCredentialsQuery.d.ts +1 -1
  109. package/build/credentials/ios/appstore/AppStoreApi.d.ts +0 -2
  110. package/build/credentials/ios/appstore/Credentials.js +4 -5
  111. package/build/credentials/ios/appstore/Credentials.types.d.ts +0 -1
  112. package/build/credentials/ios/appstore/CredentialsUtils.js +6 -7
  113. package/build/credentials/ios/appstore/ascApiKey.d.ts +0 -1
  114. package/build/credentials/ios/appstore/ascApiKey.js +6 -7
  115. package/build/credentials/ios/appstore/authenticate.d.ts +0 -1
  116. package/build/credentials/ios/appstore/authenticate.js +4 -5
  117. package/build/credentials/ios/appstore/authenticateTypes.d.ts +0 -1
  118. package/build/credentials/ios/appstore/bundleId.d.ts +0 -1
  119. package/build/credentials/ios/appstore/bundleId.js +2 -3
  120. package/build/credentials/ios/appstore/bundleIdCapabilities.d.ts +0 -1
  121. package/build/credentials/ios/appstore/bundleIdCapabilities.js +3 -3
  122. package/build/credentials/ios/appstore/capabilityIdentifiers.d.ts +0 -1
  123. package/build/credentials/ios/appstore/capabilityIdentifiers.js +1 -2
  124. package/build/credentials/ios/appstore/capabilityList.d.ts +0 -1
  125. package/build/credentials/ios/appstore/contractMessages.d.ts +0 -1
  126. package/build/credentials/ios/appstore/contractMessages.js +2 -3
  127. package/build/credentials/ios/appstore/distributionCertificate.d.ts +0 -1
  128. package/build/credentials/ios/appstore/distributionCertificate.js +7 -7
  129. package/build/credentials/ios/appstore/ensureAppExists.d.ts +6 -1
  130. package/build/credentials/ios/appstore/ensureAppExists.js +55 -18
  131. package/build/credentials/ios/appstore/ensureTestFlightGroup.d.ts +0 -1
  132. package/build/credentials/ios/appstore/ensureTestFlightGroup.js +1 -2
  133. package/build/credentials/ios/appstore/keychain.js +4 -4
  134. package/build/credentials/ios/appstore/provisioningProfile.d.ts +0 -1
  135. package/build/credentials/ios/appstore/provisioningProfile.js +5 -5
  136. package/build/credentials/ios/appstore/provisioningProfileAdhoc.d.ts +0 -1
  137. package/build/credentials/ios/appstore/provisioningProfileAdhoc.js +1 -2
  138. package/build/credentials/ios/appstore/pushKey.js +4 -4
  139. package/build/credentials/ios/appstore/resolveCredentials.d.ts +0 -1
  140. package/build/credentials/ios/appstore/resolveCredentials.js +6 -7
  141. package/build/credentials/ios/credentials.d.ts +0 -1
  142. package/build/credentials/ios/credentials.js +2 -2
  143. package/build/credentials/ios/utils/authType.d.ts +0 -1
  144. package/build/credentials/ios/utils/authType.js +1 -2
  145. package/build/credentials/ios/utils/convertHTMLToASCII.js +1 -2
  146. package/build/credentials/ios/utils/p12Certificate.d.ts +0 -1
  147. package/build/credentials/ios/utils/p12Certificate.js +3 -4
  148. package/build/credentials/ios/utils/printCredentials.js +3 -4
  149. package/build/credentials/ios/utils/provisioningProfile.js +5 -6
  150. package/build/credentials/ios/validators/validateAscApiKey.js +2 -3
  151. package/build/credentials/ios/validators/validateDistributionCertificate.js +1 -2
  152. package/build/credentials/ios/validators/validateProvisioningProfile.js +1 -2
  153. package/build/credentials/ios/validators/validatePushKey.js +1 -2
  154. package/build/credentials/manager/IosActions.js +4 -4
  155. package/build/credentials/manager/SelectPlatform.js +1 -1
  156. package/build/credentials/utils/promptForCredentials.js +3 -4
  157. package/build/devices/actions/create/currentMachineMethod.js +1 -2
  158. package/build/devices/actions/create/developerPortalMethod.d.ts +0 -1
  159. package/build/devices/actions/create/developerPortalMethod.js +2 -3
  160. package/build/devices/actions/create/inputMethod.js +1 -2
  161. package/build/devices/actions/create/registrationUrlMethod.js +1 -2
  162. package/build/devices/actions/create/utils.js +4 -5
  163. package/build/devices/context.js +1 -2
  164. package/build/devices/queries.js +4 -4
  165. package/build/devices/udids.js +2 -3
  166. package/build/devices/utils/formatDevice.js +2 -3
  167. package/build/fetch.d.ts +0 -1
  168. package/build/fetch.js +1 -1
  169. package/build/fingerprint/cli.js +3 -4
  170. package/build/fingerprint/diff.js +1 -2
  171. package/build/fingerprint/types.d.ts +0 -1
  172. package/build/fingerprint/utils.js +4 -5
  173. package/build/graphql/client.js +2 -2
  174. package/build/graphql/generated.d.ts +331 -103
  175. package/build/graphql/generated.js +45 -3
  176. package/build/graphql/mutations/PublishMutation.d.ts +2 -2
  177. package/build/graphql/queries/AccountUsageQuery.d.ts +1 -1
  178. package/build/graphql/queries/AppVersionQuery.d.ts +1 -1
  179. package/build/graphql/queries/BackgroundJobReceiptQuery.d.ts +1 -1
  180. package/build/graphql/queries/BranchQuery.d.ts +3 -3
  181. package/build/graphql/queries/BuildQuery.d.ts +3 -3
  182. package/build/graphql/queries/ChannelQuery.d.ts +2 -2
  183. package/build/graphql/queries/ChannelQuery.js +2 -2
  184. package/build/graphql/queries/EnvironmentVariablesQuery.d.ts +12 -12
  185. package/build/graphql/queries/FingerprintQuery.d.ts +6 -6
  186. package/build/graphql/queries/PublishQuery.d.ts +1 -1
  187. package/build/graphql/queries/SubmissionQuery.d.ts +1 -1
  188. package/build/graphql/queries/UserQuery.d.ts +1 -1
  189. package/build/graphql/queries/WorkflowJobQuery.d.ts +2 -2
  190. package/build/graphql/queries/WorkflowRunQuery.d.ts +4 -4
  191. package/build/graphql/types/AppPlatform.js +2 -3
  192. package/build/log.js +2 -3
  193. package/build/metadata/apple/config/reader.d.ts +0 -1
  194. package/build/metadata/apple/config/writer.d.ts +0 -1
  195. package/build/metadata/apple/data.d.ts +0 -1
  196. package/build/metadata/apple/tasks/age-rating.d.ts +0 -1
  197. package/build/metadata/apple/tasks/age-rating.js +0 -1
  198. package/build/metadata/apple/tasks/app-info.d.ts +0 -1
  199. package/build/metadata/apple/tasks/app-info.js +15 -4
  200. package/build/metadata/apple/tasks/app-review-detail.d.ts +0 -1
  201. package/build/metadata/apple/tasks/app-review-detail.js +0 -1
  202. package/build/metadata/apple/tasks/app-version.d.ts +0 -1
  203. package/build/metadata/apple/tasks/app-version.js +15 -3
  204. package/build/metadata/apple/tasks/index.js +1 -2
  205. package/build/metadata/apple/types.d.ts +0 -1
  206. package/build/metadata/auth.d.ts +0 -1
  207. package/build/metadata/auth.js +1 -2
  208. package/build/metadata/config/resolve.js +4 -5
  209. package/build/metadata/config/validate.js +1 -2
  210. package/build/metadata/download.js +1 -2
  211. package/build/metadata/errors.js +3 -3
  212. package/build/metadata/upload.js +1 -2
  213. package/build/metadata/utils/ajv.js +2 -3
  214. package/build/metadata/utils/asc.d.ts +0 -1
  215. package/build/metadata/utils/date.js +1 -2
  216. package/build/metadata/utils/log.js +1 -2
  217. package/build/metadata/utils/retry.js +2 -3
  218. package/build/metadata/utils/telemetry.d.ts +0 -1
  219. package/build/metadata/utils/telemetry.js +2 -3
  220. package/build/onboarding/git.js +3 -4
  221. package/build/onboarding/installDependencies.js +3 -3
  222. package/build/onboarding/runCommand.js +1 -2
  223. package/build/ora.js +1 -2
  224. package/build/platform.d.ts +1 -0
  225. package/build/platform.js +28 -10
  226. package/build/project/android/applicationId.js +6 -6
  227. package/build/project/android/gradle.js +1 -2
  228. package/build/project/android/gradleUtils.js +4 -4
  229. package/build/project/android/versions.js +3 -3
  230. package/build/project/applicationIdentifier.js +1 -2
  231. package/build/project/customBuildConfig.js +3 -4
  232. package/build/project/expoConfig.js +5 -6
  233. package/build/project/expoSdk.js +1 -2
  234. package/build/project/fetchOrCreateProjectIDForWriteToConfigWithConfirmationAsync.js +2 -3
  235. package/build/project/ios/bundleIdentifier.js +6 -6
  236. package/build/project/ios/entitlements.js +2 -3
  237. package/build/project/ios/exemptEncryption.js +1 -2
  238. package/build/project/ios/scheme.js +2 -3
  239. package/build/project/ios/target.d.ts +0 -1
  240. package/build/project/ios/target.js +8 -9
  241. package/build/project/ios/versions.js +3 -3
  242. package/build/project/maybeUploadAssetMapAsync.js +1 -2
  243. package/build/project/maybeUploadFingerprintAsync.js +1 -2
  244. package/build/project/metroConfig.js +1 -2
  245. package/build/project/projectUtils.js +15 -16
  246. package/build/project/publish.d.ts +15 -2
  247. package/build/project/publish.js +56 -29
  248. package/build/project/remoteVersionSource.js +6 -6
  249. package/build/project/resolveRuntimeVersionAsync.js +2 -3
  250. package/build/project/uploadAccountScopedFileAsync.js +1 -2
  251. package/build/project/uploadAccountScopedProjectSourceAsync.js +1 -2
  252. package/build/project/workflow.js +3 -4
  253. package/build/prompts.js +5 -6
  254. package/build/rollout/branch-mapping.js +14 -15
  255. package/build/rollout/utils.js +5 -6
  256. package/build/run/android/aapt.js +2 -3
  257. package/build/run/android/adb.js +8 -9
  258. package/build/run/android/emulator.js +6 -6
  259. package/build/run/android/run.js +1 -2
  260. package/build/run/android/sdk.d.ts +0 -1
  261. package/build/run/android/sdk.js +2 -2
  262. package/build/run/android/systemRequirements.js +1 -2
  263. package/build/run/ios/run.js +1 -2
  264. package/build/run/ios/simctl.js +1 -2
  265. package/build/run/ios/simulator.js +9 -10
  266. package/build/run/ios/systemRequirements.js +1 -2
  267. package/build/run/ios/xcode.js +5 -5
  268. package/build/run/ios/xcrun.js +3 -4
  269. package/build/run/run.js +2 -3
  270. package/build/run/utils.js +1 -2
  271. package/build/submit/ArchiveSource.js +3 -3
  272. package/build/submit/android/ServiceAccountSource.js +4 -4
  273. package/build/submit/commons.js +2 -3
  274. package/build/submit/context.js +1 -2
  275. package/build/submit/ios/AppProduce.js +1 -2
  276. package/build/submit/ios/AppSpecificPasswordSource.js +3 -3
  277. package/build/submit/ios/AscApiKeySource.js +4 -4
  278. package/build/submit/ios/utils/language.js +1 -2
  279. package/build/submit/submit.js +3 -4
  280. package/build/submit/utils/builds.js +1 -2
  281. package/build/submit/utils/errors.js +1 -2
  282. package/build/submit/utils/files.js +2 -3
  283. package/build/submit/utils/logs.js +1 -2
  284. package/build/submit/utils/summary.js +2 -3
  285. package/build/submit/utils/urls.js +2 -3
  286. package/build/submit/utils/wait.js +2 -3
  287. package/build/update/android/UpdatesModule.js +2 -3
  288. package/build/update/configure.js +4 -4
  289. package/build/update/delete.js +1 -2
  290. package/build/update/getBranchFromChannelNameAndCreateAndLinkIfNotExistsAsync.js +1 -2
  291. package/build/update/ios/UpdatesModule.js +2 -3
  292. package/build/update/queries.d.ts +5 -3
  293. package/build/update/queries.js +12 -9
  294. package/build/update/republish.js +5 -6
  295. package/build/update/roll-back-to-embedded.js +1 -2
  296. package/build/update/utils.js +15 -15
  297. package/build/uploads.js +3 -4
  298. package/build/user/User.js +2 -3
  299. package/build/user/actions.js +1 -2
  300. package/build/user/expoSsoLauncher.js +1 -2
  301. package/build/user/fetchSessionSecretAndSsoUser.js +1 -2
  302. package/build/user/fetchSessionSecretAndUser.js +1 -2
  303. package/build/user/fetchUser.js +1 -2
  304. package/build/utils/code-signing.d.ts +0 -1
  305. package/build/utils/code-signing.js +7 -8
  306. package/build/utils/date.js +1 -2
  307. package/build/utils/download.js +2 -3
  308. package/build/utils/expoCli.js +4 -4
  309. package/build/utils/expoUpdatesCli.js +2 -2
  310. package/build/utils/expodash/areSetsEqual.js +1 -1
  311. package/build/utils/expodash/capitalize.js +1 -1
  312. package/build/utils/expodash/chunk.js +1 -1
  313. package/build/utils/expodash/differenceBy.js +1 -1
  314. package/build/utils/expodash/filter.js +1 -2
  315. package/build/utils/expodash/groupBy.js +1 -1
  316. package/build/utils/expodash/intersection.js +1 -1
  317. package/build/utils/expodash/mapMapAsync.js +1 -1
  318. package/build/utils/expodash/memoize.js +1 -2
  319. package/build/utils/expodash/pick.js +1 -1
  320. package/build/utils/expodash/sortBy.js +1 -1
  321. package/build/utils/expodash/uniq.js +1 -1
  322. package/build/utils/expodash/uniqBy.js +1 -1
  323. package/build/utils/expodash/zipObject.js +1 -1
  324. package/build/utils/files.js +2 -3
  325. package/build/utils/formatFields.js +1 -1
  326. package/build/utils/image.js +3 -3
  327. package/build/utils/json.js +2 -3
  328. package/build/utils/plist.d.ts +0 -1
  329. package/build/utils/plist.js +3 -4
  330. package/build/utils/pollForBackgroundJobReceiptAsync.js +2 -2
  331. package/build/utils/profiles.js +3 -4
  332. package/build/utils/progress.js +1 -2
  333. package/build/utils/promise.js +1 -2
  334. package/build/utils/prompts.js +8 -9
  335. package/build/utils/queries.js +2 -3
  336. package/build/utils/relay.js +4 -4
  337. package/build/utils/statuspageService.js +1 -2
  338. package/build/utils/timer.js +4 -5
  339. package/build/utils/usage/checkForOverages.js +4 -6
  340. package/build/utils/variableUtils.js +4 -5
  341. package/build/vcs/clients/git.js +1 -2
  342. package/build/vcs/git.js +5 -6
  343. package/build/vcs/index.js +1 -2
  344. package/build/vcs/local.js +2 -2
  345. package/build/webhooks/formatWebhook.js +1 -2
  346. package/build/webhooks/input.js +3 -4
  347. package/build/worker/assets.d.ts +0 -1
  348. package/build/worker/assets.js +6 -7
  349. package/build/worker/deployment.js +8 -9
  350. package/build/worker/mutations.d.ts +1 -1
  351. package/build/worker/queries.d.ts +4 -4
  352. package/build/worker/upload.d.ts +0 -2
  353. package/build/worker/upload.js +5 -6
  354. package/build/worker/utils/logs.js +5 -5
  355. package/build/worker/utils/multipart.js +3 -3
  356. package/oclif.manifest.json +35 -1
  357. package/package.json +13 -11
@@ -1,4 +1,3 @@
1
- /// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
2
1
  import { ExpoConfig } from '@expo/config';
3
2
  import { XcodeBuildContext } from './scheme';
4
3
  import { ApplePlatform } from '../../credentials/ios/appstore/constants';
@@ -1,6 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getApplePlatformFromDeviceFamily = exports.getApplePlatformFromSdkRoot = exports.getApplePlatformFromTarget = exports.findTargetByName = exports.findApplicationTarget = exports.resolveTargetsAsync = exports.resolveBareProjectTargetsAsync = exports.resolveManagedProjectTargetsAsync = void 0;
3
+ exports.resolveManagedProjectTargetsAsync = resolveManagedProjectTargetsAsync;
4
+ exports.resolveBareProjectTargetsAsync = resolveBareProjectTargetsAsync;
5
+ exports.resolveTargetsAsync = resolveTargetsAsync;
6
+ exports.findApplicationTarget = findApplicationTarget;
7
+ exports.findTargetByName = findTargetByName;
8
+ exports.getApplePlatformFromTarget = getApplePlatformFromTarget;
9
+ exports.getApplePlatformFromSdkRoot = getApplePlatformFromSdkRoot;
10
+ exports.getApplePlatformFromDeviceFamily = getApplePlatformFromDeviceFamily;
4
11
  const tslib_1 = require("tslib");
5
12
  const config_plugins_1 = require("@expo/config-plugins");
6
13
  const eas_build_job_1 = require("@expo/eas-build-job");
@@ -48,7 +55,6 @@ async function resolveManagedProjectTargetsAsync({ exp, projectDir, xcodeBuildCo
48
55
  ...extensionsTargets,
49
56
  ];
50
57
  }
51
- exports.resolveManagedProjectTargetsAsync = resolveManagedProjectTargetsAsync;
52
58
  async function resolveBareProjectTargetsAsync({ exp, projectDir, xcodeBuildContext, vcsClient, }) {
53
59
  const { buildScheme, buildConfiguration } = xcodeBuildContext;
54
60
  const result = [];
@@ -83,7 +89,6 @@ async function resolveBareProjectTargetsAsync({ exp, projectDir, xcodeBuildConte
83
89
  }
84
90
  return result;
85
91
  }
86
- exports.resolveBareProjectTargetsAsync = resolveBareProjectTargetsAsync;
87
92
  async function resolveTargetsAsync(opts) {
88
93
  const workflow = await (0, workflow_1.resolveWorkflowAsync)(opts.projectDir, eas_build_job_1.Platform.IOS, opts.vcsClient);
89
94
  if (workflow === eas_build_job_1.Workflow.GENERIC) {
@@ -96,7 +101,6 @@ async function resolveTargetsAsync(opts) {
96
101
  throw new Error(`Unknown workflow: ${workflow}`);
97
102
  }
98
103
  }
99
- exports.resolveTargetsAsync = resolveTargetsAsync;
100
104
  async function resolveBareProjectDependenciesAsync({ exp, projectDir, buildConfiguration, target, bundleIdentifier, pbxProject, vcsClient, }) {
101
105
  const result = [];
102
106
  if (target.dependencies && target.dependencies.length > 0) {
@@ -143,7 +147,6 @@ function findApplicationTarget(targets) {
143
147
  }
144
148
  return applicationTarget;
145
149
  }
146
- exports.findApplicationTarget = findApplicationTarget;
147
150
  function findTargetByName(targets, name) {
148
151
  const target = targets.find(target => target.targetName === name);
149
152
  if (!target) {
@@ -151,7 +154,6 @@ function findTargetByName(targets, name) {
151
154
  }
152
155
  return target;
153
156
  }
154
- exports.findTargetByName = findTargetByName;
155
157
  function resolveBareProjectBuildSettings(project, targetName, buildConfiguration) {
156
158
  const xcBuildConfiguration = config_plugins_1.IOSConfig.Target.getXCBuildConfigurationFromPbxproj(project, {
157
159
  targetName,
@@ -168,7 +170,6 @@ function getApplePlatformFromTarget(target) {
168
170
  getApplePlatformFromDeviceFamily(target) ??
169
171
  constants_1.ApplePlatform.IOS);
170
172
  }
171
- exports.getApplePlatformFromTarget = getApplePlatformFromTarget;
172
173
  /**
173
174
  * Get Apple Platform from the Xcode SDKROOT where possible.
174
175
  * @returns - Apple Platform when known, defaults to null when unknown
@@ -191,7 +192,6 @@ function getApplePlatformFromSdkRoot(target) {
191
192
  return null;
192
193
  }
193
194
  }
194
- exports.getApplePlatformFromSdkRoot = getApplePlatformFromSdkRoot;
195
195
  /**
196
196
  * Get Apple Platform from the Xcode TARGETED_DEVICE_FAMILY where possible.
197
197
  *
@@ -217,7 +217,6 @@ function getApplePlatformFromDeviceFamily(target) {
217
217
  }
218
218
  throw new Error(`Unexpected device family type in XCode build settings: ${JSON.stringify(deviceFamily)}`);
219
219
  }
220
- exports.getApplePlatformFromDeviceFamily = getApplePlatformFromDeviceFamily;
221
220
  function deviceFamilyToPlatform(deviceFamily) {
222
221
  if (deviceFamily === 1 || deviceFamily === 2) {
223
222
  return constants_1.ApplePlatform.IOS;
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getNextBuildNumber = exports.isValidBuildNumber = exports.BUILD_NUMBER_REQUIREMENTS = void 0;
3
+ exports.BUILD_NUMBER_REQUIREMENTS = void 0;
4
+ exports.isValidBuildNumber = isValidBuildNumber;
5
+ exports.getNextBuildNumber = getNextBuildNumber;
4
6
  const tslib_1 = require("tslib");
5
7
  const assert_1 = tslib_1.__importDefault(require("assert"));
6
8
  exports.BUILD_NUMBER_REQUIREMENTS = `buildNumber needs to consist only of up to 3 dot-separated positive integers`;
7
9
  function isValidBuildNumber(buildNumber) {
8
10
  return !!buildNumber.match(/^\d+(\.\d+)?(\.\d+)?$/);
9
11
  }
10
- exports.isValidBuildNumber = isValidBuildNumber;
11
12
  function getNextBuildNumber(buildNumber) {
12
13
  (0, assert_1.default)(isValidBuildNumber(buildNumber), `Invalid buildNumber ${buildNumber}`);
13
14
  const comps = buildNumber.split('.');
14
15
  comps[comps.length - 1] = String(Number(comps[comps.length - 1]) + 1);
15
16
  return comps.join('.');
16
17
  }
17
- exports.getNextBuildNumber = getNextBuildNumber;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.maybeUploadAssetMapAsync = void 0;
3
+ exports.maybeUploadAssetMapAsync = maybeUploadAssetMapAsync;
4
4
  const tslib_1 = require("tslib");
5
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
6
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
@@ -37,4 +37,3 @@ async function maybeUploadAssetMapAsync(distRoot, graphqlClient) {
37
37
  bucketKey: gcsBucketKey,
38
38
  };
39
39
  }
40
- exports.maybeUploadAssetMapAsync = maybeUploadAssetMapAsync;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.maybeUploadFingerprintAsync = void 0;
3
+ exports.maybeUploadFingerprintAsync = maybeUploadFingerprintAsync;
4
4
  const tslib_1 = require("tslib");
5
5
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
6
6
  const path_1 = tslib_1.__importDefault(require("path"));
@@ -49,4 +49,3 @@ async function maybeUploadFingerprintAsync({ hash, fingerprint, graphqlClient, l
49
49
  },
50
50
  };
51
51
  }
52
- exports.maybeUploadFingerprintAsync = maybeUploadFingerprintAsync;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateMetroConfigForManagedWorkflowAsync = void 0;
3
+ exports.validateMetroConfigForManagedWorkflowAsync = validateMetroConfigForManagedWorkflowAsync;
4
4
  const tslib_1 = require("tslib");
5
5
  const core_1 = require("@oclif/core");
6
6
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
@@ -38,7 +38,6 @@ async function validateMetroConfigForManagedWorkflowAsync(ctx) {
38
38
  }
39
39
  }
40
40
  }
41
- exports.validateMetroConfigForManagedWorkflowAsync = validateMetroConfigForManagedWorkflowAsync;
42
41
  function importMetroConfigFromProject(projectDir) {
43
42
  const resolvedPath = resolve_from_1.default.silent(projectDir, 'metro-config');
44
43
  if (!resolvedPath) {
@@ -1,6 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDisplayNameForProjectIdAsync = exports.getOwnerAccountForProjectIdAsync = exports.installExpoUpdatesAsync = exports.isModernExpoUpdatesCLIWithRuntimeVersionCommandSupportedAsync = exports.enforceRollBackToEmbeddedUpdateSupportAsync = exports.validateAppVersionRuntimePolicySupportAsync = exports.getExpoUpdatesPackageVersionIfInstalledAsync = exports.isUsingEASUpdate = exports.isExpoUpdatesInstalledOrAvailable = exports.isExpoUpdatesInstalledAsDevDependency = exports.isExpoInstalled = exports.isExpoNotificationsInstalled = exports.isExpoUpdatesInstalled = exports.getProjectConfigDescription = exports.getUsernameForBuildMetadataAndBuildJob = void 0;
3
+ exports.getUsernameForBuildMetadataAndBuildJob = getUsernameForBuildMetadataAndBuildJob;
4
+ exports.getProjectConfigDescription = getProjectConfigDescription;
5
+ exports.isExpoUpdatesInstalled = isExpoUpdatesInstalled;
6
+ exports.isExpoNotificationsInstalled = isExpoNotificationsInstalled;
7
+ exports.isExpoInstalled = isExpoInstalled;
8
+ exports.isExpoUpdatesInstalledAsDevDependency = isExpoUpdatesInstalledAsDevDependency;
9
+ exports.isExpoUpdatesInstalledOrAvailable = isExpoUpdatesInstalledOrAvailable;
10
+ exports.isUsingEASUpdate = isUsingEASUpdate;
11
+ exports.getExpoUpdatesPackageVersionIfInstalledAsync = getExpoUpdatesPackageVersionIfInstalledAsync;
12
+ exports.validateAppVersionRuntimePolicySupportAsync = validateAppVersionRuntimePolicySupportAsync;
13
+ exports.enforceRollBackToEmbeddedUpdateSupportAsync = enforceRollBackToEmbeddedUpdateSupportAsync;
14
+ exports.isModernExpoUpdatesCLIWithRuntimeVersionCommandSupportedAsync = isModernExpoUpdatesCLIWithRuntimeVersionCommandSupportedAsync;
15
+ exports.installExpoUpdatesAsync = installExpoUpdatesAsync;
16
+ exports.getOwnerAccountForProjectIdAsync = getOwnerAccountForProjectIdAsync;
17
+ exports.getDisplayNameForProjectIdAsync = getDisplayNameForProjectIdAsync;
4
18
  const tslib_1 = require("tslib");
5
19
  const config_1 = require("@expo/config");
6
20
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
@@ -23,7 +37,6 @@ function getUsernameForBuildMetadataAndBuildJob(user) {
23
37
  return undefined;
24
38
  }
25
39
  }
26
- exports.getUsernameForBuildMetadataAndBuildJob = getUsernameForBuildMetadataAndBuildJob;
27
40
  /**
28
41
  * Return a useful name describing the project config.
29
42
  * - dynamic: app.config.js
@@ -45,27 +58,22 @@ function getProjectConfigDescription(projectDir) {
45
58
  }
46
59
  return 'app.config.js/app.json';
47
60
  }
48
- exports.getProjectConfigDescription = getProjectConfigDescription;
49
61
  function isExpoUpdatesInstalled(projectDir) {
50
62
  const packageJson = (0, config_1.getPackageJson)(projectDir);
51
63
  return !!(packageJson.dependencies && 'expo-updates' in packageJson.dependencies);
52
64
  }
53
- exports.isExpoUpdatesInstalled = isExpoUpdatesInstalled;
54
65
  function isExpoNotificationsInstalled(projectDir) {
55
66
  const packageJson = (0, config_1.getPackageJson)(projectDir);
56
67
  return !!(packageJson.dependencies && 'expo-notifications' in packageJson.dependencies);
57
68
  }
58
- exports.isExpoNotificationsInstalled = isExpoNotificationsInstalled;
59
69
  function isExpoInstalled(projectDir) {
60
70
  const packageJson = (0, config_1.getPackageJson)(projectDir);
61
71
  return !!(packageJson.dependencies && 'expo' in packageJson.dependencies);
62
72
  }
63
- exports.isExpoInstalled = isExpoInstalled;
64
73
  function isExpoUpdatesInstalledAsDevDependency(projectDir) {
65
74
  const packageJson = (0, config_1.getPackageJson)(projectDir);
66
75
  return !!(packageJson.devDependencies && 'expo-updates' in packageJson.devDependencies);
67
76
  }
68
- exports.isExpoUpdatesInstalledAsDevDependency = isExpoUpdatesInstalledAsDevDependency;
69
77
  function isExpoUpdatesInstalledOrAvailable(projectDir, sdkVersion) {
70
78
  // before sdk 44, expo-updates was included in with the expo module
71
79
  if (sdkVersion && semver_1.default.lt(sdkVersion, '44.0.0')) {
@@ -73,11 +81,9 @@ function isExpoUpdatesInstalledOrAvailable(projectDir, sdkVersion) {
73
81
  }
74
82
  return isExpoUpdatesInstalled(projectDir);
75
83
  }
76
- exports.isExpoUpdatesInstalledOrAvailable = isExpoUpdatesInstalledOrAvailable;
77
84
  function isUsingEASUpdate(exp, projectId, manifestHostOverride) {
78
85
  return exp.updates?.url === (0, api_1.getEASUpdateURL)(projectId, manifestHostOverride);
79
86
  }
80
- exports.isUsingEASUpdate = isUsingEASUpdate;
81
87
  async function getExpoUpdatesPackageVersionIfInstalledAsync(projectDir) {
82
88
  const maybePackageJson = resolve_from_1.default.silent(projectDir, 'expo-updates/package.json');
83
89
  if (!maybePackageJson) {
@@ -86,7 +92,6 @@ async function getExpoUpdatesPackageVersionIfInstalledAsync(projectDir) {
86
92
  const { version } = await fs_extra_1.default.readJson(maybePackageJson);
87
93
  return version ?? null;
88
94
  }
89
- exports.getExpoUpdatesPackageVersionIfInstalledAsync = getExpoUpdatesPackageVersionIfInstalledAsync;
90
95
  async function validateAppVersionRuntimePolicySupportAsync(projectDir, exp) {
91
96
  if (typeof exp.runtimeVersion !== 'object' || exp.runtimeVersion?.policy !== 'appVersion') {
92
97
  return;
@@ -99,7 +104,6 @@ async function validateAppVersionRuntimePolicySupportAsync(projectDir, exp) {
99
104
  }
100
105
  log_1.default.warn(`You need to be on SDK 46 or higher, and use expo-updates >= 0.14.4 to use appVersion runtime policy.`);
101
106
  }
102
- exports.validateAppVersionRuntimePolicySupportAsync = validateAppVersionRuntimePolicySupportAsync;
103
107
  async function enforceRollBackToEmbeddedUpdateSupportAsync(projectDir) {
104
108
  const expoUpdatesPackageVersion = await getExpoUpdatesPackageVersionIfInstalledAsync(projectDir);
105
109
  if (expoUpdatesPackageVersion !== null &&
@@ -109,7 +113,6 @@ async function enforceRollBackToEmbeddedUpdateSupportAsync(projectDir) {
109
113
  }
110
114
  throw new Error(`The expo-updates package must have a version >= 0.19.0 to use roll back to embedded, which corresponds to Expo SDK 50 or greater. ${(0, log_1.learnMore)('https://docs.expo.dev/workflow/upgrading-expo-sdk-walkthrough/')}`);
111
115
  }
112
- exports.enforceRollBackToEmbeddedUpdateSupportAsync = enforceRollBackToEmbeddedUpdateSupportAsync;
113
116
  async function isModernExpoUpdatesCLIWithRuntimeVersionCommandSupportedAsync(projectDir) {
114
117
  const expoUpdatesPackageVersion = await getExpoUpdatesPackageVersionIfInstalledAsync(projectDir);
115
118
  if (expoUpdatesPackageVersion === null) {
@@ -121,7 +124,6 @@ async function isModernExpoUpdatesCLIWithRuntimeVersionCommandSupportedAsync(pro
121
124
  // Anything SDK 51 or greater uses the expo-updates CLI
122
125
  return semver_1.default.gte(expoUpdatesPackageVersion, '0.25.4');
123
126
  }
124
- exports.isModernExpoUpdatesCLIWithRuntimeVersionCommandSupportedAsync = isModernExpoUpdatesCLIWithRuntimeVersionCommandSupportedAsync;
125
127
  async function installExpoUpdatesAsync(projectDir, options) {
126
128
  log_1.default.log(chalk_1.default.gray `> npx expo install expo-updates`);
127
129
  try {
@@ -134,14 +136,11 @@ async function installExpoUpdatesAsync(projectDir, options) {
134
136
  throw error;
135
137
  }
136
138
  }
137
- exports.installExpoUpdatesAsync = installExpoUpdatesAsync;
138
139
  async function getOwnerAccountForProjectIdAsync(graphqlClient, projectId) {
139
140
  const app = await AppQuery_1.AppQuery.byIdAsync(graphqlClient, projectId);
140
141
  return app.ownerAccount;
141
142
  }
142
- exports.getOwnerAccountForProjectIdAsync = getOwnerAccountForProjectIdAsync;
143
143
  async function getDisplayNameForProjectIdAsync(graphqlClient, projectId) {
144
144
  const app = await AppQuery_1.AppQuery.byIdAsync(graphqlClient, projectId);
145
145
  return app.fullName;
146
146
  }
147
- exports.getDisplayNameForProjectIdAsync = getDisplayNameForProjectIdAsync;
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { ExpoConfig, Platform as ExpoConfigPlatform } from '@expo/config';
3
2
  import { Env, Platform, Workflow } from '@expo/eas-build-job';
4
3
  import Joi from 'joi';
@@ -70,12 +69,14 @@ export declare function convertAssetToUpdateInfoGroupFormatAsync(asset: RawAsset
70
69
  */
71
70
  export declare function buildUnsortedUpdateInfoGroupAsync(assets: FilteredCollectedAssets, exp: ExpoConfig): Promise<Partial<UpdateInfoGroup>>;
72
71
  export type ExpoCLIExportPlatformFlag = ExpoConfigPlatform | 'all';
73
- export declare function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clearCache, extraEnv, }: {
72
+ export declare function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clearCache, noBytecode, sourceMaps, extraEnv, }: {
74
73
  projectDir: string;
75
74
  inputDir: string;
76
75
  exp: Pick<ExpoConfig, 'sdkVersion' | 'web'>;
77
76
  platformFlag: ExpoCLIExportPlatformFlag;
78
77
  clearCache?: boolean;
78
+ noBytecode?: boolean;
79
+ sourceMaps?: string;
79
80
  extraEnv?: Record<string, string | undefined> | undefined;
80
81
  }): Promise<void>;
81
82
  export declare function resolveInputDirectoryAsync(inputDir: string, { skipBundler }: {
@@ -217,4 +218,16 @@ export declare function getUpdateRolloutInfoGroupAsync(graphqlClient: ExpoGraphq
217
218
  runtimeVersion: string;
218
219
  platforms: UpdatePublishPlatform[];
219
220
  }): Promise<UpdateRolloutInfoGroup>;
221
+ /**
222
+ * Get the command line arguments for source map generation in expo export.
223
+ *
224
+ * Uses --source-maps if provided, otherwise falls back to --dump-sourcemap.
225
+ * SDK 55+ supports --source-maps with a value (e.g., 'inline'), but older SDKs
226
+ * only support it as a boolean flag. Passing a value to older SDKs causes it
227
+ * to be parsed as the project root positional argument.
228
+ */
229
+ export declare function getSourceMapExportCommandArgs({ sourceMaps, sdkVersion, }: {
230
+ sourceMaps: string | undefined;
231
+ sdkVersion: string | undefined;
232
+ }): string[];
220
233
  export {};
@@ -1,6 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUpdateRolloutInfoGroupAsync = exports.getRuntimeToUpdateRolloutInfoGroupMappingAsync = exports.platformDisplayNames = exports.findCompatibleBuildsAsync = exports.maybeCalculateFingerprintForRuntimeVersionInfoObjectsWithoutExpoUpdatesAsync = exports.getRuntimeToPlatformsAndFingerprintInfoMappingFromRuntimeVersionInfoObjects = exports.getRuntimeVersionInfoObjectsAsync = exports.defaultPublishPlatforms = exports.getUpdateMessageForCommandAsync = exports.getBranchNameForCommandAsync = exports.isUploadedAssetCountAboveWarningThreshold = exports.uploadAssetsAsync = exports.filterOutAssetsThatAlreadyExistAsync = exports.collectAssetsAsync = exports.getOriginalPathFromAssetMap = exports.getAssetHashFromPath = exports.filterCollectedAssetsByRequestedPlatforms = exports.generateEasMetadataAsync = exports.loadMetadata = exports.resolveInputDirectoryAsync = exports.buildBundlesAsync = exports.buildUnsortedUpdateInfoGroupAsync = exports.convertAssetToUpdateInfoGroupFormatAsync = exports.getStorageKeyForAssetAsync = exports.getStorageKey = exports.getBase64URLEncoding = exports.guessContentTypeFromExtension = exports.MetadataJoi = void 0;
3
+ exports.platformDisplayNames = exports.defaultPublishPlatforms = exports.MetadataJoi = void 0;
4
+ exports.guessContentTypeFromExtension = guessContentTypeFromExtension;
5
+ exports.getBase64URLEncoding = getBase64URLEncoding;
6
+ exports.getStorageKey = getStorageKey;
7
+ exports.getStorageKeyForAssetAsync = getStorageKeyForAssetAsync;
8
+ exports.convertAssetToUpdateInfoGroupFormatAsync = convertAssetToUpdateInfoGroupFormatAsync;
9
+ exports.buildUnsortedUpdateInfoGroupAsync = buildUnsortedUpdateInfoGroupAsync;
10
+ exports.buildBundlesAsync = buildBundlesAsync;
11
+ exports.resolveInputDirectoryAsync = resolveInputDirectoryAsync;
12
+ exports.loadMetadata = loadMetadata;
13
+ exports.generateEasMetadataAsync = generateEasMetadataAsync;
14
+ exports.filterCollectedAssetsByRequestedPlatforms = filterCollectedAssetsByRequestedPlatforms;
15
+ exports.getAssetHashFromPath = getAssetHashFromPath;
16
+ exports.getOriginalPathFromAssetMap = getOriginalPathFromAssetMap;
17
+ exports.collectAssetsAsync = collectAssetsAsync;
18
+ exports.filterOutAssetsThatAlreadyExistAsync = filterOutAssetsThatAlreadyExistAsync;
19
+ exports.uploadAssetsAsync = uploadAssetsAsync;
20
+ exports.isUploadedAssetCountAboveWarningThreshold = isUploadedAssetCountAboveWarningThreshold;
21
+ exports.getBranchNameForCommandAsync = getBranchNameForCommandAsync;
22
+ exports.getUpdateMessageForCommandAsync = getUpdateMessageForCommandAsync;
23
+ exports.getRuntimeVersionInfoObjectsAsync = getRuntimeVersionInfoObjectsAsync;
24
+ exports.getRuntimeToPlatformsAndFingerprintInfoMappingFromRuntimeVersionInfoObjects = getRuntimeToPlatformsAndFingerprintInfoMappingFromRuntimeVersionInfoObjects;
25
+ exports.maybeCalculateFingerprintForRuntimeVersionInfoObjectsWithoutExpoUpdatesAsync = maybeCalculateFingerprintForRuntimeVersionInfoObjectsWithoutExpoUpdatesAsync;
26
+ exports.findCompatibleBuildsAsync = findCompatibleBuildsAsync;
27
+ exports.getRuntimeToUpdateRolloutInfoGroupMappingAsync = getRuntimeToUpdateRolloutInfoGroupMappingAsync;
28
+ exports.getUpdateRolloutInfoGroupAsync = getUpdateRolloutInfoGroupAsync;
29
+ exports.getSourceMapExportCommandArgs = getSourceMapExportCommandArgs;
4
30
  const tslib_1 = require("tslib");
5
31
  const config_plugins_1 = require("@expo/config-plugins");
6
32
  const eas_build_job_1 = require("@expo/eas-build-job");
@@ -14,6 +40,7 @@ const mime_1 = tslib_1.__importDefault(require("mime"));
14
40
  const nullthrows_1 = tslib_1.__importDefault(require("nullthrows"));
15
41
  const path_1 = tslib_1.__importDefault(require("path"));
16
42
  const promise_limit_1 = tslib_1.__importDefault(require("promise-limit"));
43
+ const semver_1 = tslib_1.__importDefault(require("semver"));
17
44
  const maybeUploadFingerprintAsync_1 = require("./maybeUploadFingerprintAsync");
18
45
  const projectUtils_1 = require("./projectUtils");
19
46
  const resolveRuntimeVersionAsync_1 = require("./resolveRuntimeVersionAsync");
@@ -56,12 +83,10 @@ exports.MetadataJoi = joi_1.default.object({
56
83
  function guessContentTypeFromExtension(ext) {
57
84
  return mime_1.default.getType(ext ?? '') ?? 'application/octet-stream'; // unrecognized extension
58
85
  }
59
- exports.guessContentTypeFromExtension = guessContentTypeFromExtension;
60
86
  function getBase64URLEncoding(buffer) {
61
87
  const base64 = buffer.toString('base64');
62
88
  return base64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
63
89
  }
64
- exports.getBase64URLEncoding = getBase64URLEncoding;
65
90
  /**
66
91
  * The storage key is used to store the asset in GCS
67
92
  */
@@ -75,7 +100,6 @@ function getStorageKey(contentType, contentHash) {
75
100
  .digest();
76
101
  return getBase64URLEncoding(hash);
77
102
  }
78
- exports.getStorageKey = getStorageKey;
79
103
  async function calculateFileHashAsync(filePath, algorithm) {
80
104
  return await new Promise((resolve, reject) => {
81
105
  const file = fs_extra_1.default.createReadStream(filePath).on('error', reject);
@@ -92,7 +116,6 @@ async function getStorageKeyForAssetAsync(asset) {
92
116
  const fileSHA256 = getBase64URLEncoding(await calculateFileHashAsync(asset.path, 'sha256'));
93
117
  return getStorageKey(asset.contentType, fileSHA256);
94
118
  }
95
- exports.getStorageKeyForAssetAsync = getStorageKeyForAssetAsync;
96
119
  async function convertAssetToUpdateInfoGroupFormatAsync(asset) {
97
120
  const fileSHA256 = getBase64URLEncoding(await calculateFileHashAsync(asset.path, 'sha256'));
98
121
  const { contentType, fileExtension } = asset;
@@ -106,7 +129,6 @@ async function convertAssetToUpdateInfoGroupFormatAsync(asset) {
106
129
  fileExtension,
107
130
  };
108
131
  }
109
- exports.convertAssetToUpdateInfoGroupFormatAsync = convertAssetToUpdateInfoGroupFormatAsync;
110
132
  /**
111
133
  * This will be sorted later based on the platform's runtime versions.
112
134
  */
@@ -124,8 +146,7 @@ async function buildUnsortedUpdateInfoGroupAsync(assets, exp) {
124
146
  }
125
147
  return updateInfoGroup;
126
148
  }
127
- exports.buildUnsortedUpdateInfoGroupAsync = buildUnsortedUpdateInfoGroupAsync;
128
- async function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clearCache, extraEnv, }) {
149
+ async function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clearCache, noBytecode, sourceMaps, extraEnv, }) {
129
150
  const packageJSON = json_file_1.default.read(path_1.default.resolve(projectDir, 'package.json'));
130
151
  if (!packageJSON) {
131
152
  throw new Error('Could not locate package.json');
@@ -153,14 +174,16 @@ async function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clea
153
174
  const platformArgs = platformFlag === 'all'
154
175
  ? ['--platform', 'ios', '--platform', 'android']
155
176
  : ['--platform', platformFlag];
177
+ const sourceMapArgs = getSourceMapExportCommandArgs({ sourceMaps, sdkVersion: exp.sdkVersion });
156
178
  await (0, expoCli_1.expoCommandAsync)(projectDir, [
157
179
  'export',
158
180
  '--output-dir',
159
181
  inputDir,
160
- '--dump-sourcemap',
182
+ ...sourceMapArgs,
161
183
  '--dump-assetmap',
162
184
  ...platformArgs,
163
185
  ...(clearCache ? ['--clear'] : []),
186
+ ...(noBytecode ? ['--no-bytecode'] : []),
164
187
  ], {
165
188
  extraEnv,
166
189
  });
@@ -173,19 +196,20 @@ async function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clea
173
196
  log_1.default.warn('Exporting bundle for all platforms, including Metro web.');
174
197
  log_1.default.warn('If your app is incompatible with web, remove the "expo.web.bundler" property from your app manifest, or upgrade to the latest Expo SDK.');
175
198
  }
199
+ const sourceMapArgs = getSourceMapExportCommandArgs({ sourceMaps, sdkVersion: exp.sdkVersion });
176
200
  await (0, expoCli_1.expoCommandAsync)(projectDir, [
177
201
  'export',
178
202
  '--output-dir',
179
203
  inputDir,
180
- '--dump-sourcemap',
204
+ ...sourceMapArgs,
181
205
  '--dump-assetmap',
182
206
  `--platform=${platformFlag}`,
183
207
  ...(clearCache ? ['--clear'] : []),
208
+ ...(noBytecode ? ['--no-bytecode'] : []),
184
209
  ], {
185
210
  extraEnv,
186
211
  });
187
212
  }
188
- exports.buildBundlesAsync = buildBundlesAsync;
189
213
  async function resolveInputDirectoryAsync(inputDir, { skipBundler }) {
190
214
  const distRoot = path_1.default.resolve(inputDir);
191
215
  if (!(await fs_extra_1.default.pathExists(distRoot))) {
@@ -197,7 +221,6 @@ async function resolveInputDirectoryAsync(inputDir, { skipBundler }) {
197
221
  }
198
222
  return distRoot;
199
223
  }
200
- exports.resolveInputDirectoryAsync = resolveInputDirectoryAsync;
201
224
  function loadMetadata(distRoot) {
202
225
  const metadata = json_file_1.default.read(path_1.default.join(distRoot, 'metadata.json'));
203
226
  const { error } = exports.MetadataJoi.validate(metadata);
@@ -219,12 +242,10 @@ function loadMetadata(distRoot) {
219
242
  log_1.default.debug(`Loaded ${platforms.length} platform(s): ${platforms.join(', ')}`);
220
243
  return metadata;
221
244
  }
222
- exports.loadMetadata = loadMetadata;
223
245
  async function generateEasMetadataAsync(distRoot, metadata) {
224
246
  const easMetadataPath = path_1.default.join(distRoot, 'eas-update-metadata.json');
225
247
  await json_file_1.default.writeAsync(easMetadataPath, { updates: metadata });
226
248
  }
227
- exports.generateEasMetadataAsync = generateEasMetadataAsync;
228
249
  function filterCollectedAssetsByRequestedPlatforms(collectedAssets, requestedPlatform) {
229
250
  if (requestedPlatform === platform_1.RequestedPlatform.All) {
230
251
  return {
@@ -240,7 +261,6 @@ function filterCollectedAssetsByRequestedPlatforms(collectedAssets, requestedPla
240
261
  }
241
262
  return { [requestedPlatform]: collectedAssets[collectedAssetsKey] };
242
263
  }
243
- exports.filterCollectedAssetsByRequestedPlatforms = filterCollectedAssetsByRequestedPlatforms;
244
264
  /** Try to load the asset map for logging the names of assets published */
245
265
  async function loadAssetMapAsync(distRoot) {
246
266
  const assetMapPath = path_1.default.join(distRoot, 'assetmap.json');
@@ -256,7 +276,6 @@ function getAssetHashFromPath(assetPath) {
256
276
  const [, hash] = assetPath.match(new RegExp(/assets\/([a-z0-9]+)$/, 'i')) ?? [];
257
277
  return hash ?? null;
258
278
  }
259
- exports.getAssetHashFromPath = getAssetHashFromPath;
260
279
  // exposed for testing
261
280
  function getOriginalPathFromAssetMap(assetMap, asset) {
262
281
  if (!assetMap) {
@@ -270,7 +289,6 @@ function getOriginalPathFromAssetMap(assetMap, asset) {
270
289
  const pathPrefix = assetMapEntry.httpServerLocation.substring('/assets'.length);
271
290
  return `${pathPrefix}/${assetMapEntry.name}.${assetMapEntry.type}`;
272
291
  }
273
- exports.getOriginalPathFromAssetMap = getOriginalPathFromAssetMap;
274
292
  /** Given a directory, load the metadata.json and collect the assets for each platform. */
275
293
  async function collectAssetsAsync(dir) {
276
294
  const metadata = loadMetadata(dir);
@@ -294,7 +312,6 @@ async function collectAssetsAsync(dir) {
294
312
  }
295
313
  return collectedAssets;
296
314
  }
297
- exports.collectAssetsAsync = collectAssetsAsync;
298
315
  // ensure the file extension has a '.' prefix
299
316
  function ensureLeadingPeriod(extension) {
300
317
  return extension.startsWith('.') ? extension : `.${extension}`;
@@ -309,7 +326,6 @@ async function filterOutAssetsThatAlreadyExistAsync(graphqlClient, uniqueAssetsW
309
326
  });
310
327
  return missingAssets;
311
328
  }
312
- exports.filterOutAssetsThatAlreadyExistAsync = filterOutAssetsThatAlreadyExistAsync;
313
329
  async function uploadAssetsAsync(graphqlClient, assetsForUpdateInfoGroup, projectId, cancelationToken, onAssetUploadResultsChanged, onAssetUploadBegin) {
314
330
  let assets = [];
315
331
  let platform;
@@ -382,12 +398,10 @@ async function uploadAssetsAsync(graphqlClient, assetsForUpdateInfoGroup, projec
382
398
  assetLimitPerUpdateGroup,
383
399
  };
384
400
  }
385
- exports.uploadAssetsAsync = uploadAssetsAsync;
386
401
  function isUploadedAssetCountAboveWarningThreshold(uploadedAssetCount, assetLimitPerUpdateGroup) {
387
402
  const warningThreshold = Math.floor(assetLimitPerUpdateGroup * 0.75);
388
403
  return uploadedAssetCount > warningThreshold;
389
404
  }
390
- exports.isUploadedAssetCountAboveWarningThreshold = isUploadedAssetCountAboveWarningThreshold;
391
405
  async function getBranchNameForCommandAsync({ graphqlClient, projectId, channelNameArg, branchNameArg, autoFlag, nonInteractive, paginatedQueryOptions, vcsClient, }) {
392
406
  if (channelNameArg && branchNameArg) {
393
407
  throw new Error('Cannot specify both --channel and --branch. Specify either --channel, --branch, or --auto.');
@@ -437,7 +451,6 @@ async function getBranchNameForCommandAsync({ graphqlClient, projectId, channelN
437
451
  return branchName;
438
452
  }
439
453
  }
440
- exports.getBranchNameForCommandAsync = getBranchNameForCommandAsync;
441
454
  async function getUpdateMessageForCommandAsync(vcsClient, { updateMessageArg, autoFlag, nonInteractive, jsonFlag, }) {
442
455
  let updateMessage = updateMessageArg;
443
456
  if (!updateMessageArg && autoFlag) {
@@ -470,7 +483,6 @@ async function getUpdateMessageForCommandAsync(vcsClient, { updateMessageArg, au
470
483
  }
471
484
  return truncatedMessage;
472
485
  }
473
- exports.getUpdateMessageForCommandAsync = getUpdateMessageForCommandAsync;
474
486
  exports.defaultPublishPlatforms = ['android', 'ios'];
475
487
  async function getRuntimeVersionInfoObjectsAsync({ exp, platforms, workflows, projectDir, env, }) {
476
488
  return await Promise.all(platforms.map(async (platform) => {
@@ -486,7 +498,6 @@ async function getRuntimeVersionInfoObjectsAsync({ exp, platforms, workflows, pr
486
498
  };
487
499
  }));
488
500
  }
489
- exports.getRuntimeVersionInfoObjectsAsync = getRuntimeVersionInfoObjectsAsync;
490
501
  async function getRuntimeVersionInfoForPlatformAsync({ exp, platform, workflow, projectDir, env, }) {
491
502
  if (await (0, projectUtils_1.isModernExpoUpdatesCLIWithRuntimeVersionCommandSupportedAsync)(projectDir)) {
492
503
  try {
@@ -536,7 +547,6 @@ function getRuntimeToPlatformsAndFingerprintInfoMappingFromRuntimeVersionInfoObj
536
547
  };
537
548
  });
538
549
  }
539
- exports.getRuntimeToPlatformsAndFingerprintInfoMappingFromRuntimeVersionInfoObjects = getRuntimeToPlatformsAndFingerprintInfoMappingFromRuntimeVersionInfoObjects;
540
550
  async function maybeCalculateFingerprintForRuntimeVersionInfoObjectsWithoutExpoUpdatesAsync({ projectDir, graphqlClient, runtimeToPlatformsAndFingerprintInfoAndFingerprintSourceMapping, workflowsByPlatform, env, }) {
541
551
  const runtimesToComputeFingerprintsFor = runtimeToPlatformsAndFingerprintInfoAndFingerprintSourceMapping.filter(infoGroup => !infoGroup.expoUpdatesRuntimeFingerprintHash);
542
552
  const fingerprintOptionsByRuntimeAndPlatform = new Map();
@@ -601,7 +611,6 @@ async function maybeCalculateFingerprintForRuntimeVersionInfoObjectsWithoutExpoU
601
611
  });
602
612
  return [...runtimesWithComputedFingerprint, ...runtimesWithPreviouslyComputedFingerprints];
603
613
  }
604
- exports.maybeCalculateFingerprintForRuntimeVersionInfoObjectsWithoutExpoUpdatesAsync = maybeCalculateFingerprintForRuntimeVersionInfoObjectsWithoutExpoUpdatesAsync;
605
614
  async function findCompatibleBuildsAsync(graphqlClient, appId, runtimeToPlatformsAndFingerprintInfoMapping) {
606
615
  const { fingerprintInfoGroup } = runtimeToPlatformsAndFingerprintInfoMapping;
607
616
  const entriesPromises = Object.entries(fingerprintInfoGroup).map(async ([platform, fingerprintInfo]) => {
@@ -621,7 +630,6 @@ async function findCompatibleBuildsAsync(graphqlClient, appId, runtimeToPlatform
621
630
  fingerprintInfoGroupWithCompatibleBuilds,
622
631
  };
623
632
  }
624
- exports.findCompatibleBuildsAsync = findCompatibleBuildsAsync;
625
633
  exports.platformDisplayNames = {
626
634
  android: 'Android',
627
635
  ios: 'iOS',
@@ -638,7 +646,6 @@ async function getRuntimeToUpdateRolloutInfoGroupMappingAsync(graphqlClient, { a
638
646
  });
639
647
  });
640
648
  }
641
- exports.getRuntimeToUpdateRolloutInfoGroupMappingAsync = getRuntimeToUpdateRolloutInfoGroupMappingAsync;
642
649
  async function getUpdateRolloutInfoGroupAsync(graphqlClient, { appId, branchName, rolloutPercentage, runtimeVersion, platforms, }) {
643
650
  // note that this could return control updates in different update groups if the update groups only have a single platform
644
651
  return Object.fromEntries(await Promise.all(platforms.map(async (platform) => {
@@ -651,4 +658,24 @@ async function getUpdateRolloutInfoGroupAsync(graphqlClient, { appId, branchName
651
658
  return [platform, { rolloutPercentage, rolloutControlUpdateId: updateIdForPlatform }];
652
659
  })));
653
660
  }
654
- exports.getUpdateRolloutInfoGroupAsync = getUpdateRolloutInfoGroupAsync;
661
+ /**
662
+ * Get the command line arguments for source map generation in expo export.
663
+ *
664
+ * Uses --source-maps if provided, otherwise falls back to --dump-sourcemap.
665
+ * SDK 55+ supports --source-maps with a value (e.g., 'inline'), but older SDKs
666
+ * only support it as a boolean flag. Passing a value to older SDKs causes it
667
+ * to be parsed as the project root positional argument.
668
+ */
669
+ function getSourceMapExportCommandArgs({ sourceMaps, sdkVersion, }) {
670
+ if (!sourceMaps) {
671
+ return ['--dump-sourcemap'];
672
+ }
673
+ if (sourceMaps === 'false') {
674
+ return [];
675
+ }
676
+ const supportsSourceMapModes = sdkVersion && semver_1.default.satisfies(sdkVersion, '>=55.0.0');
677
+ if (supportsSourceMapModes && sourceMaps !== 'true') {
678
+ return ['--source-maps', sourceMaps];
679
+ }
680
+ return ['--source-maps'];
681
+ }
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ensureAppVersionSourceIsSetAsync = exports.getBuildVersionName = exports.validateAppConfigForRemoteVersionSource = exports.validateBuildProfileVersionSettingsAsync = exports.ensureVersionSourceIsRemoteAsync = exports.AppVersionSourceUpdateOption = void 0;
3
+ exports.AppVersionSourceUpdateOption = void 0;
4
+ exports.ensureVersionSourceIsRemoteAsync = ensureVersionSourceIsRemoteAsync;
5
+ exports.validateBuildProfileVersionSettingsAsync = validateBuildProfileVersionSettingsAsync;
6
+ exports.validateAppConfigForRemoteVersionSource = validateAppConfigForRemoteVersionSource;
7
+ exports.getBuildVersionName = getBuildVersionName;
8
+ exports.ensureAppVersionSourceIsSetAsync = ensureAppVersionSourceIsSetAsync;
4
9
  const tslib_1 = require("tslib");
5
10
  const eas_build_job_1 = require("@expo/eas-build-job");
6
11
  const eas_json_1 = require("@expo/eas-json");
@@ -41,7 +46,6 @@ async function ensureVersionSourceIsRemoteAsync(easJsonAccessor, { nonInteractiv
41
46
  await easJsonAccessor.writeAsync();
42
47
  log_1.default.withTick('Updated eas.json');
43
48
  }
44
- exports.ensureVersionSourceIsRemoteAsync = ensureVersionSourceIsRemoteAsync;
45
49
  async function validateBuildProfileVersionSettingsAsync(profileInfo, cliConfig, projectDir, flags) {
46
50
  if (cliConfig?.appVersionSource === undefined &&
47
51
  profileInfo.profile.autoIncrement !== 'version') {
@@ -60,7 +64,6 @@ async function validateBuildProfileVersionSettingsAsync(profileInfo, cliConfig,
60
64
  throw new Error(`${chalk_1.default.bold('{"autoIncrement": "version"}')} is not supported when app version source is set to remote.`);
61
65
  }
62
66
  }
63
- exports.validateBuildProfileVersionSettingsAsync = validateBuildProfileVersionSettingsAsync;
64
67
  function validateAppConfigForRemoteVersionSource(exp, platform) {
65
68
  if (typeof exp.runtimeVersion === 'object' && exp.runtimeVersion?.policy === 'nativeVersion') {
66
69
  throw new Error(`${chalk_1.default.bold('nativeVersion')} policy for ${chalk_1.default.bold('runtimeVersion')} is currently not supported when version source is set to remote. Switch policy e.g. to ${chalk_1.default.bold('appVersion')} or define version explicitly.`);
@@ -72,7 +75,6 @@ function validateAppConfigForRemoteVersionSource(exp, platform) {
72
75
  log_1.default.warn(`${chalk_1.default.bold('android.versionCode')} field in app config is ignored when version source is set to remote, but this value will still be in the manifest available via ${chalk_1.default.bold('expo-constants')}. It's recommended to remove this value from app config.`);
73
76
  }
74
77
  }
75
- exports.validateAppConfigForRemoteVersionSource = validateAppConfigForRemoteVersionSource;
76
78
  function getBuildVersionName(platform) {
77
79
  if (platform === eas_build_job_1.Platform.ANDROID) {
78
80
  return 'versionCode';
@@ -81,7 +83,6 @@ function getBuildVersionName(platform) {
81
83
  return 'buildNumber';
82
84
  }
83
85
  }
84
- exports.getBuildVersionName = getBuildVersionName;
85
86
  async function ensureAppVersionSourceIsSetAsync(easJsonAccessor, easJsonCliConfig, nonInteractive) {
86
87
  let selectOption, updateEasJson;
87
88
  if (nonInteractive) {
@@ -150,4 +151,3 @@ async function ensureAppVersionSourceIsSetAsync(easJsonAccessor, easJsonCliConfi
150
151
  }
151
152
  return easJsonCliConfig;
152
153
  }
153
- exports.ensureAppVersionSourceIsSetAsync = ensureAppVersionSourceIsSetAsync;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveRuntimeVersionAsync = exports.resolveRuntimeVersionUsingCLIAsync = void 0;
3
+ exports.resolveRuntimeVersionUsingCLIAsync = resolveRuntimeVersionUsingCLIAsync;
4
+ exports.resolveRuntimeVersionAsync = resolveRuntimeVersionAsync;
4
5
  const tslib_1 = require("tslib");
5
6
  const config_plugins_1 = require("@expo/config-plugins");
6
7
  const projectUtils_1 = require("./projectUtils");
@@ -27,7 +28,6 @@ async function resolveRuntimeVersionUsingCLIAsync({ platform, workflow, projectD
27
28
  : null,
28
29
  };
29
30
  }
30
- exports.resolveRuntimeVersionUsingCLIAsync = resolveRuntimeVersionUsingCLIAsync;
31
31
  async function resolveRuntimeVersionAsync({ exp, platform, workflow, projectDir, env, cwd, }) {
32
32
  if (!(await (0, projectUtils_1.isModernExpoUpdatesCLIWithRuntimeVersionCommandSupportedAsync)(projectDir))) {
33
33
  // fall back to the previous behavior (using the @expo/config-plugins eas-cli dependency rather
@@ -49,4 +49,3 @@ async function resolveRuntimeVersionAsync({ exp, platform, workflow, projectDir,
49
49
  throw e;
50
50
  }
51
51
  }
52
- exports.resolveRuntimeVersionAsync = resolveRuntimeVersionAsync;