@expo/build-tools 1.0.272 → 18.0.1

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 (313) hide show
  1. package/LICENSE +21 -100
  2. package/README.md +1 -1
  3. package/dist/android/credentials.js +2 -3
  4. package/dist/android/expoUpdates.js +5 -8
  5. package/dist/android/gradle.js +6 -8
  6. package/dist/android/gradleConfig.js +2 -3
  7. package/dist/buildErrors/buildErrorHandlers.js +4 -3
  8. package/dist/buildErrors/detectError.js +11 -11
  9. package/dist/buildErrors/errors.types.js +0 -1
  10. package/dist/buildErrors/userErrorHandlers.js +2 -3
  11. package/dist/builders/android.js +19 -24
  12. package/dist/builders/common.js +0 -1
  13. package/dist/builders/custom.js +9 -11
  14. package/dist/builders/index.js +0 -1
  15. package/dist/builders/ios.js +24 -29
  16. package/dist/common/eagerBundle.js +3 -4
  17. package/dist/common/easBuildInternal.js +5 -7
  18. package/dist/common/fastlane.js +0 -1
  19. package/dist/common/git.js +0 -1
  20. package/dist/common/installDependencies.d.ts +1 -1
  21. package/dist/common/installDependencies.js +1 -2
  22. package/dist/common/prebuild.js +3 -5
  23. package/dist/common/projectSources.js +12 -16
  24. package/dist/common/setup.js +28 -33
  25. package/dist/context.d.ts +1 -1
  26. package/dist/context.js +33 -25
  27. package/dist/customBuildContext.d.ts +1 -1
  28. package/dist/customBuildContext.js +32 -10
  29. package/dist/gcs/LoggerStream.d.ts +1 -1
  30. package/dist/gcs/LoggerStream.js +22 -14
  31. package/dist/gcs/__unit__/gcs.test.js +5 -8
  32. package/dist/gcs/client.d.ts +1 -1
  33. package/dist/gcs/client.js +28 -19
  34. package/dist/gcs/retry.js +4 -5
  35. package/dist/generic.d.ts +1 -1
  36. package/dist/generic.js +5 -7
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.js +19 -10
  39. package/dist/ios/configure.d.ts +1 -1
  40. package/dist/ios/configure.js +9 -11
  41. package/dist/ios/credentials/distributionCertificate.js +1 -3
  42. package/dist/ios/credentials/keychain.js +9 -8
  43. package/dist/ios/credentials/manager.d.ts +1 -1
  44. package/dist/ios/credentials/manager.js +24 -13
  45. package/dist/ios/credentials/provisioningProfile.js +12 -6
  46. package/dist/ios/expoUpdates.js +7 -11
  47. package/dist/ios/fastfile.d.ts +1 -1
  48. package/dist/ios/fastfile.js +0 -1
  49. package/dist/ios/fastlane.d.ts +1 -1
  50. package/dist/ios/fastlane.js +8 -9
  51. package/dist/ios/gymfile.d.ts +1 -1
  52. package/dist/ios/gymfile.js +1 -2
  53. package/dist/ios/pod.js +1 -2
  54. package/dist/ios/resign.js +3 -5
  55. package/dist/ios/resolve.js +1 -2
  56. package/dist/ios/tvos.js +1 -3
  57. package/dist/ios/xcodeBuildLogs.d.ts +1 -1
  58. package/dist/ios/xcodeBuildLogs.js +5 -7
  59. package/dist/ios/xcodeEnv.js +1 -2
  60. package/dist/ios/xcpretty.js +11 -7
  61. package/dist/steps/easFunctionGroups.js +0 -1
  62. package/dist/steps/easFunctions.js +26 -25
  63. package/dist/steps/functionGroups/build.d.ts +1 -1
  64. package/dist/steps/functionGroups/build.js +24 -26
  65. package/dist/steps/functionGroups/maestroTest.js +7 -9
  66. package/dist/steps/functions/calculateEASUpdateRuntimeVersion.js +6 -9
  67. package/dist/steps/functions/ccacheStats.js +4 -6
  68. package/dist/steps/functions/checkout.js +0 -1
  69. package/dist/steps/functions/configureAndroidVersion.js +3 -5
  70. package/dist/steps/functions/configureEASUpdateIfInstalled.js +4 -6
  71. package/dist/steps/functions/configureIosCredentials.js +3 -4
  72. package/dist/steps/functions/configureIosVersion.js +4 -6
  73. package/dist/steps/functions/createSubmissionEntity.js +2 -4
  74. package/dist/steps/functions/downloadArtifact.d.ts +1 -1
  75. package/dist/steps/functions/downloadArtifact.js +7 -9
  76. package/dist/steps/functions/downloadBuild.d.ts +1 -1
  77. package/dist/steps/functions/downloadBuild.js +10 -12
  78. package/dist/steps/functions/eagerBundle.js +2 -4
  79. package/dist/steps/functions/findAndUploadBuildArtifacts.js +5 -8
  80. package/dist/steps/functions/generateGymfileFromTemplate.js +6 -8
  81. package/dist/steps/functions/getCredentialsForBuildTriggeredByGitHubIntegration.js +0 -1
  82. package/dist/steps/functions/injectAndroidCredentials.js +3 -4
  83. package/dist/steps/functions/installMaestro.js +3 -4
  84. package/dist/steps/functions/installNodeModules.d.ts +1 -1
  85. package/dist/steps/functions/installNodeModules.js +12 -12
  86. package/dist/steps/functions/installPods.js +0 -1
  87. package/dist/steps/functions/internalMaestroTest.js +16 -16
  88. package/dist/steps/functions/prebuild.js +3 -5
  89. package/dist/steps/functions/repack.d.ts +1 -1
  90. package/dist/steps/functions/repack.js +25 -19
  91. package/dist/steps/functions/resolveAppleTeamIdFromCredentials.js +1 -2
  92. package/dist/steps/functions/resolveBuildConfig.js +0 -1
  93. package/dist/steps/functions/restoreBuildCache.d.ts +1 -1
  94. package/dist/steps/functions/restoreBuildCache.js +8 -10
  95. package/dist/steps/functions/restoreCache.d.ts +1 -1
  96. package/dist/steps/functions/restoreCache.js +34 -26
  97. package/dist/steps/functions/runFastlane.js +0 -1
  98. package/dist/steps/functions/runGradle.js +2 -3
  99. package/dist/steps/functions/saveBuildCache.d.ts +1 -1
  100. package/dist/steps/functions/saveBuildCache.js +6 -7
  101. package/dist/steps/functions/saveCache.d.ts +1 -1
  102. package/dist/steps/functions/saveCache.js +26 -18
  103. package/dist/steps/functions/sendSlackMessage.js +1 -3
  104. package/dist/steps/functions/startAndroidEmulator.js +5 -7
  105. package/dist/steps/functions/startCuttlefishDevice.js +32 -10
  106. package/dist/steps/functions/startIosSimulator.js +8 -11
  107. package/dist/steps/functions/uploadArtifact.js +4 -6
  108. package/dist/steps/functions/uploadToAsc.d.ts +2 -0
  109. package/dist/steps/functions/uploadToAsc.js +287 -0
  110. package/dist/steps/functions/useNpmToken.js +3 -4
  111. package/dist/steps/utils/android/expoUpdates.js +3 -5
  112. package/dist/steps/utils/android/gradle.d.ts +1 -1
  113. package/dist/steps/utils/android/gradle.js +6 -7
  114. package/dist/steps/utils/android/gradleConfig.js +4 -5
  115. package/dist/steps/utils/cache.js +0 -1
  116. package/dist/steps/utils/expoUpdates.d.ts +1 -1
  117. package/dist/steps/utils/expoUpdates.js +15 -18
  118. package/dist/steps/utils/ios/AscApiClient.d.ts +250 -0
  119. package/dist/steps/utils/ios/AscApiClient.js +299 -0
  120. package/dist/steps/utils/ios/configure.js +4 -5
  121. package/dist/steps/utils/ios/credentials/credentials.js +0 -1
  122. package/dist/steps/utils/ios/credentials/distributionCertificate.js +1 -3
  123. package/dist/steps/utils/ios/credentials/keychain.js +8 -8
  124. package/dist/steps/utils/ios/credentials/manager.js +24 -13
  125. package/dist/steps/utils/ios/credentials/provisioningProfile.js +11 -6
  126. package/dist/steps/utils/ios/expoUpdates.js +4 -7
  127. package/dist/steps/utils/ios/fastlane.d.ts +1 -1
  128. package/dist/steps/utils/ios/fastlane.js +3 -4
  129. package/dist/steps/utils/ios/resolve.js +1 -2
  130. package/dist/steps/utils/ios/tvos.js +1 -3
  131. package/dist/steps/utils/ios/xcpretty.js +11 -7
  132. package/dist/steps/utils/slackMessageDynamicFields.js +0 -1
  133. package/dist/templates/EasBuildConfigureVersionGradle.js +0 -1
  134. package/dist/templates/EasBuildGradle.js +0 -1
  135. package/dist/templates/EasBuildInjectAndroidCredentialsGradle.js +0 -1
  136. package/dist/templates/FastfileResign.js +0 -1
  137. package/dist/templates/GymfileArchive.js +0 -1
  138. package/dist/templates/GymfileSimulator.js +0 -1
  139. package/dist/templates/npmrc.js +0 -1
  140. package/dist/utils/AndroidEmulatorUtils.js +20 -22
  141. package/dist/utils/IosSimulatorUtils.js +9 -11
  142. package/dist/utils/appConfig.js +1 -2
  143. package/dist/utils/artifacts.d.ts +1 -1
  144. package/dist/utils/artifacts.js +7 -8
  145. package/dist/utils/cacheKey.js +21 -12
  146. package/dist/utils/diffFingerprintsAsync.d.ts +1 -1
  147. package/dist/utils/diffFingerprintsAsync.js +0 -1
  148. package/dist/utils/environmentSecrets.js +3 -4
  149. package/dist/utils/expoFingerprintCli.js +5 -6
  150. package/dist/utils/expoUpdates.d.ts +1 -2
  151. package/dist/utils/expoUpdates.js +19 -33
  152. package/dist/utils/expoUpdatesCli.js +20 -11
  153. package/dist/utils/files.js +23 -15
  154. package/dist/utils/findMaestroPathsFlowsToExecuteAsync.js +27 -21
  155. package/dist/utils/fingerprint.js +0 -1
  156. package/dist/utils/getExpoUpdatesPackageVersionIfInstalledAsync.js +0 -1
  157. package/dist/utils/hooks.js +1 -3
  158. package/dist/utils/isModernExpoUpdatesCLIWithRuntimeVersionCommandSupported.d.ts +1 -0
  159. package/dist/utils/isModernExpoUpdatesCLIWithRuntimeVersionCommandSupported.js +14 -0
  160. package/dist/utils/npmrc.js +2 -3
  161. package/dist/utils/outputs.d.ts +1 -1
  162. package/dist/utils/outputs.js +2 -5
  163. package/dist/utils/packageManager.js +22 -14
  164. package/dist/utils/prepareBuildExecutable.js +1 -2
  165. package/dist/utils/processes.js +2 -3
  166. package/dist/utils/project.js +1 -2
  167. package/dist/utils/promiseRetryWithCondition.js +0 -1
  168. package/dist/utils/resolveRuntimeVersionAsync.d.ts +1 -1
  169. package/dist/utils/resolveRuntimeVersionAsync.js +4 -6
  170. package/dist/utils/retry.js +2 -3
  171. package/dist/utils/retryOnDNSFailure.js +0 -1
  172. package/dist/utils/stepMetrics.d.ts +1 -1
  173. package/dist/utils/stepMetrics.js +0 -1
  174. package/dist/utils/strings.js +1 -3
  175. package/dist/utils/turtleFetch.d.ts +1 -1
  176. package/dist/utils/turtleFetch.js +2 -2
  177. package/package.json +25 -22
  178. package/dist/android/credentials.js.map +0 -1
  179. package/dist/android/expoUpdates.js.map +0 -1
  180. package/dist/android/gradle.js.map +0 -1
  181. package/dist/android/gradleConfig.js.map +0 -1
  182. package/dist/buildErrors/buildErrorHandlers.js.map +0 -1
  183. package/dist/buildErrors/detectError.js.map +0 -1
  184. package/dist/buildErrors/errors.types.js.map +0 -1
  185. package/dist/buildErrors/userErrorHandlers.js.map +0 -1
  186. package/dist/builders/android.js.map +0 -1
  187. package/dist/builders/common.js.map +0 -1
  188. package/dist/builders/custom.js.map +0 -1
  189. package/dist/builders/index.js.map +0 -1
  190. package/dist/builders/ios.js.map +0 -1
  191. package/dist/common/eagerBundle.js.map +0 -1
  192. package/dist/common/easBuildInternal.js.map +0 -1
  193. package/dist/common/fastlane.js.map +0 -1
  194. package/dist/common/git.js.map +0 -1
  195. package/dist/common/installDependencies.js.map +0 -1
  196. package/dist/common/prebuild.js.map +0 -1
  197. package/dist/common/projectSources.js.map +0 -1
  198. package/dist/common/setup.js.map +0 -1
  199. package/dist/context.js.map +0 -1
  200. package/dist/customBuildContext.js.map +0 -1
  201. package/dist/gcs/LoggerStream.js.map +0 -1
  202. package/dist/gcs/__unit__/gcs.test.js.map +0 -1
  203. package/dist/gcs/client.js.map +0 -1
  204. package/dist/gcs/retry.js.map +0 -1
  205. package/dist/generic.js.map +0 -1
  206. package/dist/index.js.map +0 -1
  207. package/dist/ios/configure.js.map +0 -1
  208. package/dist/ios/credentials/distributionCertificate.js.map +0 -1
  209. package/dist/ios/credentials/keychain.js.map +0 -1
  210. package/dist/ios/credentials/manager.js.map +0 -1
  211. package/dist/ios/credentials/provisioningProfile.js.map +0 -1
  212. package/dist/ios/expoUpdates.js.map +0 -1
  213. package/dist/ios/fastfile.js.map +0 -1
  214. package/dist/ios/fastlane.js.map +0 -1
  215. package/dist/ios/gymfile.js.map +0 -1
  216. package/dist/ios/pod.js.map +0 -1
  217. package/dist/ios/resign.js.map +0 -1
  218. package/dist/ios/resolve.js.map +0 -1
  219. package/dist/ios/tvos.js.map +0 -1
  220. package/dist/ios/xcodeBuildLogs.js.map +0 -1
  221. package/dist/ios/xcodeEnv.js.map +0 -1
  222. package/dist/ios/xcpretty.js.map +0 -1
  223. package/dist/steps/easFunctionGroups.js.map +0 -1
  224. package/dist/steps/easFunctions.js.map +0 -1
  225. package/dist/steps/functionGroups/build.js.map +0 -1
  226. package/dist/steps/functionGroups/maestroTest.js.map +0 -1
  227. package/dist/steps/functions/calculateEASUpdateRuntimeVersion.js.map +0 -1
  228. package/dist/steps/functions/ccacheStats.js.map +0 -1
  229. package/dist/steps/functions/checkout.js.map +0 -1
  230. package/dist/steps/functions/configureAndroidVersion.js.map +0 -1
  231. package/dist/steps/functions/configureEASUpdateIfInstalled.js.map +0 -1
  232. package/dist/steps/functions/configureIosCredentials.js.map +0 -1
  233. package/dist/steps/functions/configureIosVersion.js.map +0 -1
  234. package/dist/steps/functions/createSubmissionEntity.js.map +0 -1
  235. package/dist/steps/functions/downloadArtifact.js.map +0 -1
  236. package/dist/steps/functions/downloadBuild.js.map +0 -1
  237. package/dist/steps/functions/eagerBundle.js.map +0 -1
  238. package/dist/steps/functions/findAndUploadBuildArtifacts.js.map +0 -1
  239. package/dist/steps/functions/generateGymfileFromTemplate.js.map +0 -1
  240. package/dist/steps/functions/getCredentialsForBuildTriggeredByGitHubIntegration.js.map +0 -1
  241. package/dist/steps/functions/injectAndroidCredentials.js.map +0 -1
  242. package/dist/steps/functions/installMaestro.js.map +0 -1
  243. package/dist/steps/functions/installNodeModules.js.map +0 -1
  244. package/dist/steps/functions/installPods.js.map +0 -1
  245. package/dist/steps/functions/internalMaestroTest.js.map +0 -1
  246. package/dist/steps/functions/prebuild.js.map +0 -1
  247. package/dist/steps/functions/repack.js.map +0 -1
  248. package/dist/steps/functions/resolveAppleTeamIdFromCredentials.js.map +0 -1
  249. package/dist/steps/functions/resolveBuildConfig.js.map +0 -1
  250. package/dist/steps/functions/restoreBuildCache.js.map +0 -1
  251. package/dist/steps/functions/restoreCache.js.map +0 -1
  252. package/dist/steps/functions/runFastlane.js.map +0 -1
  253. package/dist/steps/functions/runGradle.js.map +0 -1
  254. package/dist/steps/functions/saveBuildCache.js.map +0 -1
  255. package/dist/steps/functions/saveCache.js.map +0 -1
  256. package/dist/steps/functions/sendSlackMessage.js.map +0 -1
  257. package/dist/steps/functions/startAndroidEmulator.js.map +0 -1
  258. package/dist/steps/functions/startCuttlefishDevice.js.map +0 -1
  259. package/dist/steps/functions/startIosSimulator.js.map +0 -1
  260. package/dist/steps/functions/uploadArtifact.js.map +0 -1
  261. package/dist/steps/functions/useNpmToken.js.map +0 -1
  262. package/dist/steps/utils/android/expoUpdates.js.map +0 -1
  263. package/dist/steps/utils/android/gradle.js.map +0 -1
  264. package/dist/steps/utils/android/gradleConfig.js.map +0 -1
  265. package/dist/steps/utils/cache.js.map +0 -1
  266. package/dist/steps/utils/expoUpdates.js.map +0 -1
  267. package/dist/steps/utils/ios/configure.js.map +0 -1
  268. package/dist/steps/utils/ios/credentials/credentials.js.map +0 -1
  269. package/dist/steps/utils/ios/credentials/distributionCertificate.js.map +0 -1
  270. package/dist/steps/utils/ios/credentials/keychain.js.map +0 -1
  271. package/dist/steps/utils/ios/credentials/manager.js.map +0 -1
  272. package/dist/steps/utils/ios/credentials/provisioningProfile.js.map +0 -1
  273. package/dist/steps/utils/ios/expoUpdates.js.map +0 -1
  274. package/dist/steps/utils/ios/fastlane.js.map +0 -1
  275. package/dist/steps/utils/ios/resolve.js.map +0 -1
  276. package/dist/steps/utils/ios/tvos.js.map +0 -1
  277. package/dist/steps/utils/ios/xcpretty.js.map +0 -1
  278. package/dist/steps/utils/slackMessageDynamicFields.js.map +0 -1
  279. package/dist/templates/EasBuildConfigureVersionGradle.js.map +0 -1
  280. package/dist/templates/EasBuildGradle.js.map +0 -1
  281. package/dist/templates/EasBuildInjectAndroidCredentialsGradle.js.map +0 -1
  282. package/dist/templates/FastfileResign.js.map +0 -1
  283. package/dist/templates/GymfileArchive.js.map +0 -1
  284. package/dist/templates/GymfileSimulator.js.map +0 -1
  285. package/dist/templates/npmrc.js.map +0 -1
  286. package/dist/utils/AndroidEmulatorUtils.js.map +0 -1
  287. package/dist/utils/IosSimulatorUtils.js.map +0 -1
  288. package/dist/utils/appConfig.js.map +0 -1
  289. package/dist/utils/artifacts.js.map +0 -1
  290. package/dist/utils/cacheKey.js.map +0 -1
  291. package/dist/utils/diffFingerprintsAsync.js.map +0 -1
  292. package/dist/utils/environmentSecrets.js.map +0 -1
  293. package/dist/utils/expoFingerprintCli.js.map +0 -1
  294. package/dist/utils/expoUpdates.js.map +0 -1
  295. package/dist/utils/expoUpdatesCli.js.map +0 -1
  296. package/dist/utils/files.js.map +0 -1
  297. package/dist/utils/findMaestroPathsFlowsToExecuteAsync.js.map +0 -1
  298. package/dist/utils/fingerprint.js.map +0 -1
  299. package/dist/utils/getExpoUpdatesPackageVersionIfInstalledAsync.js.map +0 -1
  300. package/dist/utils/hooks.js.map +0 -1
  301. package/dist/utils/npmrc.js.map +0 -1
  302. package/dist/utils/outputs.js.map +0 -1
  303. package/dist/utils/packageManager.js.map +0 -1
  304. package/dist/utils/prepareBuildExecutable.js.map +0 -1
  305. package/dist/utils/processes.js.map +0 -1
  306. package/dist/utils/project.js.map +0 -1
  307. package/dist/utils/promiseRetryWithCondition.js.map +0 -1
  308. package/dist/utils/resolveRuntimeVersionAsync.js.map +0 -1
  309. package/dist/utils/retry.js.map +0 -1
  310. package/dist/utils/retryOnDNSFailure.js.map +0 -1
  311. package/dist/utils/stepMetrics.js.map +0 -1
  312. package/dist/utils/strings.js.map +0 -1
  313. package/dist/utils/turtleFetch.js.map +0 -1
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -30,22 +40,22 @@ exports.createRestoreCacheFunction = createRestoreCacheFunction;
30
40
  exports.downloadCacheAsync = downloadCacheAsync;
31
41
  exports.downloadPublicCacheAsync = downloadPublicCacheAsync;
32
42
  exports.decompressCacheAsync = decompressCacheAsync;
43
+ const results_1 = require("@expo/results");
44
+ const steps_1 = require("@expo/steps");
33
45
  const fs_1 = __importDefault(require("fs"));
46
+ const node_fetch_1 = __importDefault(require("node-fetch"));
47
+ const nullthrows_1 = __importDefault(require("nullthrows"));
34
48
  const os_1 = __importDefault(require("os"));
35
49
  const path_1 = __importDefault(require("path"));
36
50
  const stream_1 = __importDefault(require("stream"));
37
- const util_1 = require("util");
38
51
  const tar = __importStar(require("tar"));
39
- const steps_1 = require("@expo/steps");
52
+ const util_1 = require("util");
40
53
  const zod_1 = __importDefault(require("zod"));
41
- const nullthrows_1 = __importDefault(require("nullthrows"));
42
- const node_fetch_1 = __importDefault(require("node-fetch"));
43
- const results_1 = require("@expo/results");
44
- const retryOnDNSFailure_1 = require("../../utils/retryOnDNSFailure");
45
54
  const artifacts_1 = require("../../utils/artifacts");
46
- const cache_1 = require("../utils/cache");
47
- const turtleFetch_1 = require("../../utils/turtleFetch");
48
55
  const cacheKey_1 = require("../../utils/cacheKey");
56
+ const retryOnDNSFailure_1 = require("../../utils/retryOnDNSFailure");
57
+ const turtleFetch_1 = require("../../utils/turtleFetch");
58
+ const cache_1 = require("../utils/cache");
49
59
  const streamPipeline = (0, util_1.promisify)(stream_1.default.pipeline);
50
60
  function createRestoreCacheFunction() {
51
61
  return new steps_1.BuildFunction({
@@ -77,7 +87,6 @@ function createRestoreCacheFunction() {
77
87
  }),
78
88
  ],
79
89
  fn: async (stepsCtx, { env, inputs, outputs }) => {
80
- var _a, _b, _c;
81
90
  const { logger } = stepsCtx;
82
91
  try {
83
92
  if (stepsCtx.global.staticContext.job.platform) {
@@ -86,15 +95,15 @@ function createRestoreCacheFunction() {
86
95
  }
87
96
  const paths = zod_1.default
88
97
  .array(zod_1.default.string())
89
- .parse(((_a = inputs.path.value) !== null && _a !== void 0 ? _a : '').split(/[\r\n]+/))
90
- .filter((path) => path.length > 0);
98
+ .parse((inputs.path.value ?? '').split(/[\r\n]+/))
99
+ .filter(path => path.length > 0);
91
100
  const key = zod_1.default.string().parse(inputs.key.value);
92
101
  const restoreKeys = zod_1.default
93
102
  .array(zod_1.default.string())
94
- .parse(((_b = inputs.restore_keys.value) !== null && _b !== void 0 ? _b : '').split(/[\r\n]+/))
95
- .filter((key) => key !== '');
103
+ .parse((inputs.restore_keys.value ?? '').split(/[\r\n]+/))
104
+ .filter(key => key !== '');
96
105
  const jobId = (0, nullthrows_1.default)(env.EAS_BUILD_ID, 'EAS_BUILD_ID is not set');
97
- const robotAccessToken = (0, nullthrows_1.default)((_c = stepsCtx.global.staticContext.job.secrets) === null || _c === void 0 ? void 0 : _c.robotAccessToken, 'robotAccessToken is not set');
106
+ const robotAccessToken = (0, nullthrows_1.default)(stepsCtx.global.staticContext.job.secrets?.robotAccessToken, 'robotAccessToken is not set');
98
107
  const { archivePath, matchedKey } = await downloadCacheAsync({
99
108
  logger,
100
109
  jobId,
@@ -222,21 +231,21 @@ async function decompressCacheAsync({ archivePath, workingDirectory, verbose, lo
222
231
  logger.info(`Extracting cache to ${workingDirectory}:`);
223
232
  }
224
233
  // First, extract everything to the working directory
225
- const fileHandle = await fs_1.default.promises.open(archivePath, 'r');
226
234
  const extractedFiles = [];
227
- await streamPipeline(fileHandle.createReadStream(), tar.extract({
235
+ await tar.extract({
236
+ file: archivePath,
228
237
  cwd: workingDirectory,
229
238
  onwarn: (code, message, data) => {
230
239
  logger.warn({ code, data }, message);
231
240
  },
232
241
  preservePaths: true,
233
- onReadEntry: (entry) => {
242
+ onReadEntry: entry => {
234
243
  extractedFiles.push(entry.path);
235
244
  if (verbose) {
236
245
  logger.info(`- ${entry.path}`);
237
246
  }
238
247
  },
239
- }));
248
+ });
240
249
  // Handle absolute paths that were prefixed with __absolute__
241
250
  for (const extractedPath of extractedFiles) {
242
251
  if (extractedPath.startsWith('__absolute__/')) {
@@ -265,4 +274,3 @@ async function decompressCacheAsync({ archivePath, workingDirectory, verbose, lo
265
274
  await fs_1.default.promises.rm(absoluteDir, { recursive: true, force: true });
266
275
  }
267
276
  }
268
- //# sourceMappingURL=restoreCache.js.map
@@ -50,4 +50,3 @@ function runFastlaneFunction() {
50
50
  },
51
51
  });
52
52
  }
53
- //# sourceMappingURL=runFastlane.js.map
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.runGradleFunction = runGradleFunction;
7
- const path_1 = __importDefault(require("path"));
8
- const assert_1 = __importDefault(require("assert"));
9
7
  const eas_build_job_1 = require("@expo/eas-build-job");
10
8
  const steps_1 = require("@expo/steps");
9
+ const assert_1 = __importDefault(require("assert"));
10
+ const path_1 = __importDefault(require("path"));
11
11
  const gradle_1 = require("../utils/android/gradle");
12
12
  const slackMessageDynamicFields_1 = require("../utils/slackMessageDynamicFields");
13
13
  function runGradleFunction() {
@@ -64,4 +64,3 @@ function runGradleFunction() {
64
64
  },
65
65
  });
66
66
  }
67
- //# sourceMappingURL=runGradle.js.map
@@ -1,6 +1,6 @@
1
- import { BuildFunction } from '@expo/steps';
2
1
  import { Platform } from '@expo/eas-build-job';
3
2
  import { bunyan } from '@expo/logger';
3
+ import { BuildFunction } from '@expo/steps';
4
4
  export declare function createSaveBuildCacheFunction(evictUsedBefore: Date): BuildFunction;
5
5
  export declare function saveCcacheAsync({ logger, workingDirectory, platform, evictUsedBefore, env, secrets, }: {
6
6
  logger: bunyan;
@@ -5,13 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createSaveBuildCacheFunction = createSaveBuildCacheFunction;
7
7
  exports.saveCcacheAsync = saveCcacheAsync;
8
- const fs_1 = __importDefault(require("fs"));
9
- const steps_1 = require("@expo/steps");
10
8
  const eas_build_job_1 = require("@expo/eas-build-job");
11
9
  const results_1 = require("@expo/results");
10
+ const steps_1 = require("@expo/steps");
11
+ const fs_1 = __importDefault(require("fs"));
12
12
  const nullthrows_1 = __importDefault(require("nullthrows"));
13
- const cacheKey_1 = require("../../utils/cacheKey");
14
13
  const saveCache_1 = require("./saveCache");
14
+ const cacheKey_1 = require("../../utils/cacheKey");
15
15
  function createSaveBuildCacheFunction(evictUsedBefore) {
16
16
  return new steps_1.BuildFunction({
17
17
  namespace: 'eas',
@@ -26,10 +26,10 @@ function createSaveBuildCacheFunction(evictUsedBefore) {
26
26
  }),
27
27
  ],
28
28
  fn: async (stepCtx, { env, inputs }) => {
29
- var _a;
30
29
  const { logger } = stepCtx;
31
30
  const workingDirectory = stepCtx.workingDirectory;
32
- const platform = (_a = inputs.platform.value) !== null && _a !== void 0 ? _a : stepCtx.global.staticContext.job.platform;
31
+ const platform = inputs.platform.value ??
32
+ stepCtx.global.staticContext.job.platform;
33
33
  if (!platform || ![eas_build_job_1.Platform.ANDROID, eas_build_job_1.Platform.IOS].includes(platform)) {
34
34
  throw new Error(`Unsupported platform: ${platform}. Platform must be "${eas_build_job_1.Platform.ANDROID}" or "${eas_build_job_1.Platform.IOS}"`);
35
35
  }
@@ -62,7 +62,7 @@ async function saveCcacheAsync({ logger, workingDirectory, platform, evictUsedBe
62
62
  const cacheKey = await (0, cacheKey_1.generateDefaultBuildCacheKeyAsync)(workingDirectory, platform);
63
63
  logger.info(`Saving cache key: ${cacheKey}`);
64
64
  const jobId = (0, nullthrows_1.default)(env.EAS_BUILD_ID, 'EAS_BUILD_ID is not set');
65
- const robotAccessToken = (0, nullthrows_1.default)(secrets === null || secrets === void 0 ? void 0 : secrets.robotAccessToken, 'Robot access token is required for cache operations');
65
+ const robotAccessToken = (0, nullthrows_1.default)(secrets?.robotAccessToken, 'Robot access token is required for cache operations');
66
66
  const expoApiServerURL = (0, nullthrows_1.default)(env.__API_SERVER_URL, '__API_SERVER_URL is not set');
67
67
  const cachePath = (0, cacheKey_1.getCcachePath)(env);
68
68
  // Cache size can blow up over time over many builds, so evict stale files
@@ -98,4 +98,3 @@ async function saveCcacheAsync({ logger, workingDirectory, platform, evictUsedBe
98
98
  logger.error({ err }, 'Failed to save cache');
99
99
  }
100
100
  }
101
- //# sourceMappingURL=saveBuildCache.js.map
@@ -1,6 +1,6 @@
1
+ import { Platform } from '@expo/eas-build-job';
1
2
  import { bunyan } from '@expo/logger';
2
3
  import { BuildFunction } from '@expo/steps';
3
- import { Platform } from '@expo/eas-build-job';
4
4
  export declare function createSaveCacheFunction(): BuildFunction;
5
5
  export declare function uploadCacheAsync({ logger, jobId, expoApiServerURL, robotAccessToken, paths, key, archivePath, size, platform, }: {
6
6
  logger: bunyan;
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -30,18 +40,18 @@ exports.createSaveCacheFunction = createSaveCacheFunction;
30
40
  exports.uploadCacheAsync = uploadCacheAsync;
31
41
  exports.uploadPublicCacheAsync = uploadPublicCacheAsync;
32
42
  exports.compressCacheAsync = compressCacheAsync;
43
+ const results_1 = require("@expo/results");
44
+ const steps_1 = require("@expo/steps");
45
+ const fast_glob_1 = __importDefault(require("fast-glob"));
33
46
  const fs_1 = __importDefault(require("fs"));
47
+ const node_fetch_1 = __importDefault(require("node-fetch"));
48
+ const nullthrows_1 = __importDefault(require("nullthrows"));
34
49
  const os_1 = __importDefault(require("os"));
35
50
  const path_1 = __importDefault(require("path"));
36
51
  const tar = __importStar(require("tar"));
37
- const fast_glob_1 = __importDefault(require("fast-glob"));
38
- const steps_1 = require("@expo/steps");
39
52
  const zod_1 = __importDefault(require("zod"));
40
- const nullthrows_1 = __importDefault(require("nullthrows"));
41
- const node_fetch_1 = __importDefault(require("node-fetch"));
42
- const results_1 = require("@expo/results");
43
- const retryOnDNSFailure_1 = require("../../utils/retryOnDNSFailure");
44
53
  const artifacts_1 = require("../../utils/artifacts");
54
+ const retryOnDNSFailure_1 = require("../../utils/retryOnDNSFailure");
45
55
  const cache_1 = require("../utils/cache");
46
56
  function createSaveCacheFunction() {
47
57
  return new steps_1.BuildFunction({
@@ -62,16 +72,15 @@ function createSaveCacheFunction() {
62
72
  }),
63
73
  ],
64
74
  fn: async (stepsCtx, { env, inputs }) => {
65
- var _a, _b;
66
75
  const { logger } = stepsCtx;
67
76
  try {
68
77
  const paths = zod_1.default
69
78
  .array(zod_1.default.string())
70
- .parse(((_a = inputs.path.value) !== null && _a !== void 0 ? _a : '').split(/[\r\n]+/))
71
- .filter((path) => path.length > 0);
79
+ .parse((inputs.path.value ?? '').split(/[\r\n]+/))
80
+ .filter(path => path.length > 0);
72
81
  const key = zod_1.default.string().parse(inputs.key.value);
73
82
  const jobId = (0, nullthrows_1.default)(env.EAS_BUILD_ID, 'EAS_BUILD_ID is not set');
74
- const robotAccessToken = (0, nullthrows_1.default)((_b = stepsCtx.global.staticContext.job.secrets) === null || _b === void 0 ? void 0 : _b.robotAccessToken, 'robotAccessToken is not set');
83
+ const robotAccessToken = (0, nullthrows_1.default)(stepsCtx.global.staticContext.job.secrets?.robotAccessToken, 'robotAccessToken is not set');
75
84
  const { archivePath } = await compressCacheAsync({
76
85
  paths,
77
86
  workingDirectory: stepsCtx.workingDirectory,
@@ -310,4 +319,3 @@ async function compressCacheAsync({ paths, workingDirectory, verbose, logger, })
310
319
  }
311
320
  return { archivePath };
312
321
  }
313
- //# sourceMappingURL=saveCache.js.map
@@ -30,7 +30,6 @@ function createSendSlackMessageFunction() {
30
30
  }),
31
31
  ],
32
32
  fn: async (stepCtx, { inputs, env }) => {
33
- var _a;
34
33
  const { logger } = stepCtx;
35
34
  const slackMessage = inputs.message.value;
36
35
  const slackPayload = inputs.payload.value;
@@ -40,7 +39,7 @@ function createSendSlackMessageFunction() {
40
39
  if (slackMessage && slackPayload) {
41
40
  throw new Error('You cannot specify both "message" input and "payload" input - choose one for the Slack message contents');
42
41
  }
43
- const slackHookUrl = (_a = inputs.slack_hook_url.value) !== null && _a !== void 0 ? _a : env.SLACK_HOOK_URL;
42
+ const slackHookUrl = inputs.slack_hook_url.value ?? env.SLACK_HOOK_URL;
44
43
  if (!slackHookUrl) {
45
44
  logger.warn('Slack webhook URL not provided - provide input "slack_hook_url" or set "SLACK_HOOK_URL" secret');
46
45
  throw new Error('Sending Slack message failed - provide input "slack_hook_url" or set "SLACK_HOOK_URL" secret');
@@ -70,4 +69,3 @@ async function sendSlackMessageAsync({ logger, slackHookUrl, slackMessage, slack
70
69
  }
71
70
  logger.info('Slack message sent successfully');
72
71
  }
73
- //# sourceMappingURL=sendSlackMessage.js.map
@@ -4,11 +4,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createStartAndroidEmulatorBuildFunction = createStartAndroidEmulatorBuildFunction;
7
+ const results_1 = require("@expo/results");
7
8
  const steps_1 = require("@expo/steps");
8
9
  const turtle_spawn_1 = __importDefault(require("@expo/turtle-spawn"));
9
- const results_1 = require("@expo/results");
10
- const retry_1 = require("../../utils/retry");
11
10
  const AndroidEmulatorUtils_1 = require("../../utils/AndroidEmulatorUtils");
11
+ const retry_1 = require("../../utils/retry");
12
12
  function createStartAndroidEmulatorBuildFunction() {
13
13
  return new steps_1.BuildFunction({
14
14
  namespace: 'eas',
@@ -41,7 +41,6 @@ function createStartAndroidEmulatorBuildFunction() {
41
41
  }),
42
42
  ],
43
43
  fn: async ({ logger }, { inputs, env }) => {
44
- var _a;
45
44
  try {
46
45
  const availableDevices = await AndroidEmulatorUtils_1.AndroidEmulatorUtils.getAvailableDevicesAsync({ env });
47
46
  logger.info(`Available Android devices:\n- ${availableDevices.join(`\n- `)}`);
@@ -66,14 +65,14 @@ function createStartAndroidEmulatorBuildFunction() {
66
65
  logger,
67
66
  retryOptions: {
68
67
  retries: 3, // Retry 3 times
69
- retryIntervalMs: 1000,
68
+ retryIntervalMs: 1_000,
70
69
  },
71
70
  });
72
71
  logger.info('Creating emulator device');
73
72
  await AndroidEmulatorUtils_1.AndroidEmulatorUtils.createAsync({
74
73
  deviceName,
75
74
  systemImagePackage,
76
- deviceIdentifier: deviceIdentifier !== null && deviceIdentifier !== void 0 ? deviceIdentifier : null,
75
+ deviceIdentifier: deviceIdentifier ?? null,
77
76
  env,
78
77
  logger,
79
78
  });
@@ -87,7 +86,7 @@ function createStartAndroidEmulatorBuildFunction() {
87
86
  serialId,
88
87
  });
89
88
  logger.info(`${deviceName} is ready.`);
90
- const count = Number((_a = inputs.count.value) !== null && _a !== void 0 ? _a : 1);
89
+ const count = Number(inputs.count.value ?? 1);
91
90
  if (count > 1) {
92
91
  logger.info(`Requested ${count} emulators, shutting down ${deviceName} for cloning.`);
93
92
  await (0, turtle_spawn_1.default)('adb', ['-s', serialId, 'shell', 'reboot', '-p'], {
@@ -122,4 +121,3 @@ function createStartAndroidEmulatorBuildFunction() {
122
121
  },
123
122
  });
124
123
  }
125
- //# sourceMappingURL=startAndroidEmulator.js.map
@@ -4,12 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createStartCuttlefishDeviceBuildFunction = createStartCuttlefishDeviceBuildFunction;
7
+ const results_1 = require("@expo/results");
8
+ const steps_1 = require("@expo/steps");
9
+ const turtle_spawn_1 = __importDefault(require("@expo/turtle-spawn"));
7
10
  const node_fs_1 = __importDefault(require("node:fs"));
8
11
  const node_os_1 = __importDefault(require("node:os"));
9
12
  const node_path_1 = __importDefault(require("node:path"));
10
- const steps_1 = require("@expo/steps");
11
- const turtle_spawn_1 = __importDefault(require("@expo/turtle-spawn"));
12
- const results_1 = require("@expo/results");
13
13
  const retry_1 = require("../../utils/retry");
14
14
  // Needs to conform to https://github.com/google/android-cuttlefish/blob/928026d2833b3e326d9d3b4a9a477e522b37b825/base/cvd/cuttlefish/host/commands/cvd/cli/parser/load_config.proto#L29-L36.
15
15
  // See example: https://github.com/google/android-cuttlefish/blob/928026d2833b3e326d9d3b4a9a477e522b37b825/base/cvd/cuttlefish/host/cvd_test_configs/main_phone.json
@@ -54,8 +54,7 @@ function createStartCuttlefishDeviceBuildFunction() {
54
54
  }),
55
55
  ],
56
56
  fn: async ({ logger }, { env, inputs }) => {
57
- var _a, _b;
58
- const count = Number((_a = inputs.count) !== null && _a !== void 0 ? _a : 1);
57
+ const count = Number(inputs.count ?? 1);
59
58
  const dependencyCheck = await (0, results_1.asyncResult)(Promise.all([(0, turtle_spawn_1.default)('docker', ['--version'], { env }), (0, turtle_spawn_1.default)('cvdr', ['--help'], { env })]));
60
59
  if (!dependencyCheck.ok) {
61
60
  logger.error(dependencyCheck.reason, 'Cuttlefish requires Docker and cvdr, which are only available on the latest Android worker image. Add `image: latest` to your job configuration to use the latest image.');
@@ -81,7 +80,7 @@ function createStartCuttlefishDeviceBuildFunction() {
81
80
  'us-docker.pkg.dev/android-cuttlefish-artifacts/cuttlefish-orchestration/cuttlefish-cloud-orchestrator:unstable',
82
81
  ], { env, logger });
83
82
  // Wait a minute tops for cvdr to be ready
84
- const readyDeadline = Date.now() + 60000;
83
+ const readyDeadline = Date.now() + 60_000;
85
84
  let cvdrReady = false;
86
85
  while (Date.now() < readyDeadline) {
87
86
  const result = await (0, results_1.asyncResult)((0, turtle_spawn_1.default)('cvdr', ['list'], { env }));
@@ -91,14 +90,14 @@ function createStartCuttlefishDeviceBuildFunction() {
91
90
  break;
92
91
  }
93
92
  // Chekc every second
94
- await (0, retry_1.sleepAsync)(1000);
93
+ await (0, retry_1.sleepAsync)(1_000);
95
94
  }
96
95
  if (!cvdrReady) {
97
96
  throw new Error('Timed out waiting for Cuttlefish Orchestrator to be ready.');
98
97
  }
99
98
  logger.info('Creating CVD');
100
99
  const args = [];
101
- const cvdConfigJson = (_b = env.CVD_CONFIG_JSON) !== null && _b !== void 0 ? _b : JSON.stringify(CVD_CONFIG_JSON);
100
+ const cvdConfigJson = env.CVD_CONFIG_JSON ?? JSON.stringify(CVD_CONFIG_JSON);
102
101
  if (cvdConfigJson) {
103
102
  const configJsonDirectory = await node_fs_1.default.promises.mkdtemp(node_path_1.default.join(node_os_1.default.tmpdir(), 'start_cuttlefish-'));
104
103
  const configJsonPath = node_path_1.default.join(configJsonDirectory, 'config.json');
@@ -111,8 +110,31 @@ function createStartCuttlefishDeviceBuildFunction() {
111
110
  await (0, turtle_spawn_1.default)('cvdr', ['create', ...args], { env, logger });
112
111
  logger.info('Listing adb devices...');
113
112
  await (0, turtle_spawn_1.default)('adb', ['devices'], { env, logger });
114
- await (0, turtle_spawn_1.default)('adb', ['shell', 'input', 'keyevent', '82'], { env, logger });
113
+ logger.info('Unlocking device...');
114
+ const unlockDeadline = Date.now() + 10_000;
115
+ let isUnlocked = false;
116
+ while (Date.now() < unlockDeadline) {
117
+ const dumpsysResult = await (0, results_1.asyncResult)((0, turtle_spawn_1.default)('adb', ['shell', 'dumpsys', 'window'], { env }));
118
+ if (dumpsysResult.ok) {
119
+ const match = dumpsysResult.value.stdout.match(/mDreamingLockscreen=(true|false)/);
120
+ if (match?.[1] === 'false') {
121
+ isUnlocked = true;
122
+ break;
123
+ }
124
+ }
125
+ else {
126
+ logger.warn(dumpsysResult.reason, 'Failed to query device lock state.');
127
+ }
128
+ await (0, turtle_spawn_1.default)('adb', ['shell', 'input', 'keyevent', '82'], { env, logger });
129
+ await (0, retry_1.sleepAsync)(1_000);
130
+ }
131
+ if (isUnlocked) {
132
+ logger.info('Device unlocked, returning to home screen');
133
+ await (0, turtle_spawn_1.default)('adb', ['shell', 'input', 'keyevent', '3'], { env, logger });
134
+ }
135
+ else {
136
+ logger.warn('Timed out waiting for the device to unlock.');
137
+ }
115
138
  },
116
139
  });
117
140
  }
118
- //# sourceMappingURL=startCuttlefishDevice.js.map
@@ -28,14 +28,13 @@ function createStartIosSimulatorBuildFunction() {
28
28
  }),
29
29
  ],
30
30
  fn: async ({ logger }, { inputs, env }) => {
31
- var _a, _b, _c;
32
31
  try {
33
32
  const availableDevices = await IosSimulatorUtils_1.IosSimulatorUtils.getAvailableDevicesAsync({
34
33
  env,
35
34
  filter: 'available',
36
35
  });
37
36
  logger.info(`Available Simulator devices:\n- ${availableDevices
38
- .map((device) => device.displayName)
37
+ .map(device => device.displayName)
39
38
  .join(`\n- `)}`);
40
39
  }
41
40
  catch (error) {
@@ -44,8 +43,8 @@ function createStartIosSimulatorBuildFunction() {
44
43
  finally {
45
44
  logger.info('');
46
45
  }
47
- const deviceIdentifierInput = (_a = inputs.device_identifier.value) === null || _a === void 0 ? void 0 : _a.toString();
48
- const originalDeviceIdentifier = deviceIdentifierInput !== null && deviceIdentifierInput !== void 0 ? deviceIdentifierInput : (await findMostGenericIphoneUuidAsync({ env }));
46
+ const deviceIdentifierInput = inputs.device_identifier.value?.toString();
47
+ const originalDeviceIdentifier = deviceIdentifierInput ?? (await findMostGenericIphoneUuidAsync({ env }));
49
48
  if (!originalDeviceIdentifier) {
50
49
  throw new Error('Could not find an iPhone among available simulator devices.');
51
50
  }
@@ -56,9 +55,9 @@ function createStartIosSimulatorBuildFunction() {
56
55
  await IosSimulatorUtils_1.IosSimulatorUtils.waitForReadyAsync({ udid, env });
57
56
  logger.info('');
58
57
  const device = await IosSimulatorUtils_1.IosSimulatorUtils.getDeviceAsync({ udid, env });
59
- const formattedDevice = (_b = device === null || device === void 0 ? void 0 : device.displayName) !== null && _b !== void 0 ? _b : originalDeviceIdentifier;
58
+ const formattedDevice = device?.displayName ?? originalDeviceIdentifier;
60
59
  logger.info(`${formattedDevice} is ready.`);
61
- const count = Number((_c = inputs.count.value) !== null && _c !== void 0 ? _c : 1);
60
+ const count = Number(inputs.count.value ?? 1);
62
61
  if (count > 1) {
63
62
  logger.info(`Requested ${count} Simulators, shutting down ${formattedDevice} for cloning.`);
64
63
  await (0, turtle_spawn_1.default)('xcrun', ['simctl', 'shutdown', originalDeviceIdentifier], {
@@ -89,14 +88,12 @@ function createStartIosSimulatorBuildFunction() {
89
88
  });
90
89
  }
91
90
  async function findMostGenericIphoneUuidAsync({ env, }) {
92
- var _a;
93
91
  const availableSimulatorDevices = await IosSimulatorUtils_1.IosSimulatorUtils.getAvailableDevicesAsync({
94
92
  env,
95
93
  filter: 'available',
96
94
  });
97
- const availableIphones = availableSimulatorDevices.filter((device) => device.name.startsWith('iPhone'));
95
+ const availableIphones = availableSimulatorDevices.filter(device => device.name.startsWith('iPhone'));
98
96
  // It's funny, but it works.
99
- const iphoneWithShortestName = (0, lodash_1.minBy)(availableIphones, (device) => device.name.length);
100
- return (_a = iphoneWithShortestName === null || iphoneWithShortestName === void 0 ? void 0 : iphoneWithShortestName.udid) !== null && _a !== void 0 ? _a : null;
97
+ const iphoneWithShortestName = (0, lodash_1.minBy)(availableIphones, device => device.name.length);
98
+ return iphoneWithShortestName?.udid ?? null;
101
99
  }
102
- //# sourceMappingURL=startIosSimulator.js.map
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createUploadArtifactBuildFunction = createUploadArtifactBuildFunction;
7
- const assert_1 = __importDefault(require("assert"));
8
7
  const eas_build_job_1 = require("@expo/eas-build-job");
9
8
  const steps_1 = require("@expo/steps");
9
+ const assert_1 = __importDefault(require("assert"));
10
10
  const artifacts_1 = require("../../utils/artifacts");
11
11
  const artifactTypeInputToManagedArtifactType = {
12
12
  'application-archive': eas_build_job_1.ManagedArtifactType.APPLICATION_ARCHIVE,
@@ -70,14 +70,13 @@ function createUploadArtifactBuildFunction(ctx) {
70
70
  }),
71
71
  ],
72
72
  fn: async ({ logger, global }, { inputs, outputs }) => {
73
- var _a;
74
73
  (0, assert_1.default)(inputs.path.value, 'Path input cannot be empty.');
75
74
  const artifactSearchPaths = inputs.path.value
76
75
  .toString()
77
76
  .split('\n')
78
77
  // It's easy to get an empty line with YAML
79
- .filter((entry) => entry);
80
- const artifactsSearchResults = await Promise.allSettled(artifactSearchPaths.map((patternOrPath) => (0, artifacts_1.findArtifacts)({
78
+ .filter(entry => entry);
79
+ const artifactsSearchResults = await Promise.allSettled(artifactSearchPaths.map(patternOrPath => (0, artifacts_1.findArtifacts)({
81
80
  rootDir: global.projectTargetDirectory,
82
81
  patternOrPath,
83
82
  // We're logging the error ourselves.
@@ -97,7 +96,7 @@ function createUploadArtifactBuildFunction(ctx) {
97
96
  const artifact = {
98
97
  type: parseArtifactTypeInput({
99
98
  platform: ctx.job.platform,
100
- inputValue: `${(_a = inputs.type.value) !== null && _a !== void 0 ? _a : ''}`,
99
+ inputValue: `${inputs.type.value ?? ''}`,
101
100
  }),
102
101
  paths: artifactPaths,
103
102
  name: (inputs.name.value || inputs.key.value),
@@ -144,4 +143,3 @@ function parseArtifactTypeInput({ inputValue, platform, }) {
144
143
  }
145
144
  return inputValue;
146
145
  }
147
- //# sourceMappingURL=uploadArtifact.js.map
@@ -0,0 +1,2 @@
1
+ import { BuildFunction } from '@expo/steps';
2
+ export declare function createUploadToAscBuildFunction(): BuildFunction;