stim 1.23.0 → 1.24.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 (169) hide show
  1. package/README.md +3 -2
  2. package/dist/{acquire-artifact-ybouwJSR.mjs → acquire-artifact-CEs02U2o.mjs} +2 -2
  3. package/dist/{act-DG54PWtJ.mjs → act-Cyvm8xYc.mjs} +40 -25
  4. package/dist/{activity-B5RtpFda.mjs → activity-Dq3ZcdD8.mjs} +6 -6
  5. package/dist/{agent-device-usage-output-UJ5gC80l.mjs → agent-device-usage-output-CccomeE0.mjs} +5 -5
  6. package/dist/{android-C7sVmyI9.mjs → android-882m4hxX.mjs} +140 -46
  7. package/dist/{android-BoUJKbfz.mjs → android-BZppyPe_.mjs} +66 -46
  8. package/dist/{android-DR5lZ2Az.mjs → android-CX5IcRuf.mjs} +13 -3
  9. package/dist/{android-CHH4KLOR.mjs → android-DcztblCT.mjs} +5 -5
  10. package/dist/{android-cas-ngferVq2.mjs → android-cas-BtCOrNqb.mjs} +3 -3
  11. package/dist/android-cas-compiler.mjs +1 -1
  12. package/dist/api.d.mts +22 -4
  13. package/dist/api.mjs +32 -31
  14. package/dist/{artifact-5RteZem7.mjs → artifact-BR5VNArK.mjs} +17 -16
  15. package/dist/{artifact-Dwdo7k1E.mjs → artifact-Bdt_n9Jc.mjs} +17 -16
  16. package/dist/{artifact-platform-CXcmX_j3.mjs → artifact-platform-CMRc0M_r.mjs} +3 -3
  17. package/dist/{browser-web-CeEVlGug.mjs → browser-web-ycg9qWB8.mjs} +16 -17
  18. package/dist/{budget-DnPX3DXj.mjs → budget-dPGuhNai.mjs} +101 -40
  19. package/dist/{build-CqufZFqy.mjs → build-CaF574eS.mjs} +31 -28
  20. package/dist/{build-cache-Dv7RN200.mjs → build-cache-HFUQ9eLz.mjs} +152 -19
  21. package/dist/{build-plan-C8CIvRyi.mjs → build-plan-JsDUq4w1.mjs} +8 -7
  22. package/dist/{cache-manifest-DSeQjt-Q.mjs → cache-manifest-BPXRONJz.mjs} +1 -1
  23. package/dist/cache-manifest.mjs +1 -1
  24. package/dist/{ccache-RcAy92gH.mjs → ccache-CCn1S6qG.mjs} +6 -6
  25. package/dist/{cdp-3fwICjzi.mjs → cdp-BG3FJCCx.mjs} +1 -1
  26. package/dist/{chrome-Bbw689-6.mjs → chrome-BvV8ssI3.mjs} +1 -1
  27. package/dist/{cli-D-J9fWGV.mjs → cli-xqAidP7O.mjs} +20 -20
  28. package/dist/cli.mjs +1 -1
  29. package/dist/{client-yyso1bwi.mjs → client-18-ZowoT.mjs} +254 -28
  30. package/dist/collector-run.mjs +6 -6
  31. package/dist/{command-output-Db8BqzxH.mjs → command-output-DxC0k2rk.mjs} +3 -2
  32. package/dist/{config-DlrsduwG.mjs → config-BZhXY15H.mjs} +3 -3
  33. package/dist/{created-devices-x9rN6bhs.mjs → created-devices-D2Aca-xu.mjs} +6 -2
  34. package/dist/{dependency-state-1I9KZT1Y.mjs → dependency-state-C56ll9hY.mjs} +2 -2
  35. package/dist/{detached-entry-BwNEtIrP.mjs → detached-entry-KmieOKgN.mjs} +1 -1
  36. package/dist/{dev-client-BnYSDiKa.mjs → dev-client-w_fok0Ek.mjs} +3 -3
  37. package/dist/{device-BvzPUBs3.mjs → device-4RUugw5X.mjs} +16 -16
  38. package/dist/{device-CCkWmkAA.mjs → device-BktRGdjS.mjs} +40 -44
  39. package/dist/{device-capacity-CjaSdrhg.mjs → device-capacity-Ic-kdmEV.mjs} +20 -16
  40. package/dist/device-host-worker.mjs +17 -17
  41. package/dist/{device-ios-uOiEETX2.mjs → device-ios-DzpSlZyd.mjs} +23 -24
  42. package/dist/{device-lease-run-BgwPHc6u.mjs → device-lease-run-DUtkbqBQ.mjs} +5 -5
  43. package/dist/{device-pool-C-ptmZTa.mjs → device-pool-CgBHk401.mjs} +3 -3
  44. package/dist/{doctor-pxxvipYC.mjs → doctor-BZ6oxNum.mjs} +1 -1
  45. package/dist/{doctor-8sr2tFOL.mjs → doctor-C33AzVfR.mjs} +28 -28
  46. package/dist/{doctor-D2SN3Ltx.mjs → doctor-DZgpqR6J.mjs} +17 -16
  47. package/dist/{doctor-fingerprint-DZLoYFVb.mjs → doctor-fingerprint-zlujA1Gs.mjs} +1 -1
  48. package/dist/doctor-fingerprint.mjs +1 -1
  49. package/dist/{doctor-watchman-sy_RNhFt.mjs → doctor-watchman-B453A231.mjs} +5 -5
  50. package/dist/{eas-build-CyjU5K7E.mjs → eas-build-CxKUNHsb.mjs} +4 -4
  51. package/dist/{eas-fallback-DV3Wytf1.mjs → eas-fallback-LMxk9Kw0.mjs} +14 -14
  52. package/dist/{eas-session-ledger-BzzsX97d.mjs → eas-session-ledger-Ck6YXPAO.mjs} +12 -8
  53. package/dist/{error-diagnostics-C6sVoeqO.mjs → error-diagnostics-BkKCZq4P.mjs} +17 -42
  54. package/dist/{exec-DEoAhcze.mjs → exec-VFRpu1iA.mjs} +116 -28
  55. package/dist/{gc-DLbzvTP2.mjs → gc-DDWEAj0w.mjs} +2 -2
  56. package/dist/{gc-CDoogxAI.mjs → gc-yVKpAOKM.mjs} +205 -28
  57. package/dist/{guide-BC37GcDG.mjs → guide-Bggftwc5.mjs} +252 -73
  58. package/dist/{hosted-android-CkclQig_.mjs → hosted-android-D4dweBof.mjs} +4 -4
  59. package/dist/{hosted-client-ByuMMO5s.mjs → hosted-client-BBTVe3X6.mjs} +4 -4
  60. package/dist/{hosted-ios-DtYHeuYR.mjs → hosted-ios-Sn0djzg8.mjs} +1 -1
  61. package/dist/{hosted-logs-Br84qWy1.mjs → hosted-logs-CYIZ5ubJ.mjs} +11 -6
  62. package/dist/{hosted-macos-DdtYajZt.mjs → hosted-macos-CXjsUNBR.mjs} +7 -7
  63. package/dist/{hosted-native-UPI9zdZ4.mjs → hosted-native-Doxbfzem.mjs} +58 -11
  64. package/dist/{idle-shutdown-DO7oIRlc.mjs → idle-shutdown-BInjLKqm.mjs} +10 -10
  65. package/dist/{ios-DZZbNYlY.mjs → ios-B1FXRCMX.mjs} +71 -44
  66. package/dist/{ios-vbUOqGXu.mjs → ios-BItP6lkn.mjs} +8 -8
  67. package/dist/{ios-hcBpnEGk.mjs → ios-CVUFFZ6C.mjs} +70 -13
  68. package/dist/{ios-xtlRHaeB.mjs → ios-ENC4sRPA.mjs} +1 -1
  69. package/dist/{ios-device-BXZ0c7Kb.mjs → ios-device-B6HK951C.mjs} +1 -1
  70. package/dist/{ios-device-JC3uWM4K.mjs → ios-device-BI38NFFH.mjs} +3 -3
  71. package/dist/{ios-project-CVyNwjAF.mjs → ios-project-KYqeJURj.mjs} +5 -5
  72. package/dist/{ios-signing-BtAffm0A.mjs → ios-signing-4c_qXvQm.mjs} +2 -2
  73. package/dist/{ios-state-Dtw5K2aI.mjs → ios-state-DlElquYD.mjs} +15 -7
  74. package/dist/{js-swap-C3QxUFJR.mjs → js-swap-BvrQvXHY.mjs} +7 -6
  75. package/dist/{launch-CHY3p-yz.mjs → launch-BVlyQw3T.mjs} +51 -49
  76. package/dist/{launch-Bz7JtaC4.mjs → launch-SfzGH_s9.mjs} +48 -29
  77. package/dist/{logs-mxqsWpJs.mjs → logs-DXE32kyb.mjs} +16 -9
  78. package/dist/{logs-CtNeNDuq.mjs → logs-ovlU7m7N.mjs} +8 -6
  79. package/dist/{macos-inNFbBWc.mjs → macos-B3BveDrU.mjs} +1 -1
  80. package/dist/{macos-u0BoHKnO.mjs → macos-CCfhb-jT.mjs} +49 -42
  81. package/dist/macos-run.mjs +1 -1
  82. package/dist/maintenance-run.mjs +7 -7
  83. package/dist/{metro-DiXtA3Ty.mjs → metro-Bu8LBfzS.mjs} +4 -4
  84. package/dist/{metro-gateway-CKZqKqx7.mjs → metro-gateway-DtsOy-0P.mjs} +3 -4
  85. package/dist/{named-ports-DkEzOfzO.mjs → named-ports-BWDuU5oQ.mjs} +3 -3
  86. package/dist/{native-android-CdCSylTn.mjs → native-android-96BBizbq.mjs} +17 -17
  87. package/dist/{native-gradle-artifact-inputs-DHFnmrVf.mjs → native-gradle-artifact-inputs-BcLYBZil.mjs} +5 -5
  88. package/dist/{native-run-BUTu8T7A.mjs → native-run-BmH7U8pr.mjs} +6 -6
  89. package/dist/{native-runtime-CRSOZxKY.mjs → native-runtime-DgtJkzIa.mjs} +10 -9
  90. package/dist/{native-source-Y0yLhFyQ.mjs → native-source-D-4Dh4JU.mjs} +7 -4
  91. package/dist/{native-xcode-inputs-G6rkkhxu.mjs → native-xcode-inputs-irplbQb0.mjs} +2 -2
  92. package/dist/{native-xcode-ios-_os2PlCD.mjs → native-xcode-ios-BY-6hh6M.mjs} +18 -18
  93. package/dist/offload-worker.d.mts +7 -2
  94. package/dist/offload-worker.mjs +104 -43
  95. package/dist/{operation-exec-BW0em61G.mjs → operation-exec-CUZifp6Z.mjs} +2 -25
  96. package/dist/{ownership-C5fo5Edb.mjs → ownership-DxlZGDcV.mjs} +3 -3
  97. package/dist/{page-DBL2PiUU.mjs → page-CzEA_-5_.mjs} +2 -3
  98. package/dist/phone-reverses-BdsdesVF.mjs +57 -0
  99. package/dist/{placement-log-BnGgJRRZ.mjs → placement-log-DUvqqsB-.mjs} +1 -1
  100. package/dist/{plan-placement-BU42oOyT.mjs → plan-placement-4axc0Hs7.mjs} +3 -3
  101. package/dist/{ports-BSmQKzW7.mjs → ports-D-E_OiAO.mjs} +3 -3
  102. package/dist/{prebuild-BFm63bQ0.mjs → prebuild-DmVCf5xb.mjs} +14 -9
  103. package/dist/{project-CTLNHCfE.mjs → project-Dz-hWkb-.mjs} +21 -17
  104. package/dist/{pull-request-W1IuLXDt.mjs → pull-request-CbNlkFok.mjs} +2 -2
  105. package/dist/pull-requests.mjs +1 -1
  106. package/dist/{react-native-android-CFgUroxW.mjs → react-native-android-DOinxgwB.mjs} +75 -32
  107. package/dist/{react-native-build-CmJkTljQ.mjs → react-native-build-AuCu-aAP.mjs} +22 -19
  108. package/dist/{react-native-doctor-LTF-Xt8l.mjs → react-native-doctor-2ivJUmwZ.mjs} +10 -9
  109. package/dist/{react-native-ios-ChBF1MkB.mjs → react-native-ios-D5zTIuH8.mjs} +38 -22
  110. package/dist/{recordings-CQmfzAh7.mjs → recordings-CdPwYwvs.mjs} +1 -1
  111. package/dist/{registration-BcRgF6Ox.mjs → registration-CN6nlhcD.mjs} +1 -1
  112. package/dist/{reload-DF9hqUUB.mjs → reload-C1TTVesC.mjs} +144 -42
  113. package/dist/{reload-RBi1nj6Z.mjs → reload-Ck9RJeSq.mjs} +1 -1
  114. package/dist/{remote-BmvMCcJw.mjs → remote-DEZ7AOVq.mjs} +7 -7
  115. package/dist/{result-Cx5CRLvS.mjs → result-DqBrb12U.mjs} +40 -17
  116. package/dist/{run-DidHghD1.mjs → run-BIwoU44q.mjs} +2 -2
  117. package/dist/{selection-DSMbWEX2.mjs → selection-BLtvaqxc.mjs} +11 -5
  118. package/dist/{server-bare-CafzuyFB.mjs → server-bare-Z1ToVLPn.mjs} +2 -2
  119. package/dist/{server-command-BTiGPEjS.mjs → server-command-C0pmjNdG.mjs} +6 -6
  120. package/dist/server-expo-CEntXzRw.mjs +2 -0
  121. package/dist/{server-expo-D9lEz4aq.mjs → server-expo-Tt_hLRpy.mjs} +37 -13
  122. package/dist/{settings-C7O8A6ZI.mjs → settings-RKwY33wv.mjs} +114 -19
  123. package/dist/{settings-eKF_vJJs.mjs → settings-kkt0vP4w.mjs} +1 -1
  124. package/dist/{settings-write-79mQRr9C.mjs → settings-write--gj6MACV.mjs} +7 -7
  125. package/dist/settings.schema.json +13 -0
  126. package/dist/{simslim-BNckWpXi.mjs → simslim-CdWKT3vA.mjs} +2 -2
  127. package/dist/{slot-launch-D7M2nE4b.mjs → slot-launch-A1BgotaM.mjs} +6 -6
  128. package/dist/{stage-DKNM4ZPd.mjs → stage-ERTMh88n.mjs} +2 -3
  129. package/dist/{start-bjfiScgz.mjs → start-BKGrEhzG.mjs} +75 -35
  130. package/dist/{start-CRfN1kWV.mjs → start-Bmg_qmHi.mjs} +1 -1
  131. package/dist/{state--smjFSTL.mjs → state-B1ig0Kqy.mjs} +4 -4
  132. package/dist/{state-08I3hw3_.mjs → state-BfAltYJP.mjs} +2 -2
  133. package/dist/{stats-DioA6cBU.mjs → stats-B-ckuiUg.mjs} +5 -5
  134. package/dist/{stats-report-BzaPrRm6.mjs → stats-report-n2U5plhk.mjs} +1 -1
  135. package/dist/{status-kzbeWk4x.mjs → status-DfFp6a76.mjs} +24 -24
  136. package/dist/{status-BRROykC8.mjs → status-Fect2w9R.mjs} +1 -1
  137. package/dist/{status-Eqx_20WC.mjs → status-Pw-807f0.mjs} +1 -1
  138. package/dist/{status-watch-BIqqbJ6q.mjs → status-watch-XC7F-AMf.mjs} +5 -5
  139. package/dist/status-worker.mjs +1 -1
  140. package/dist/stim-clonefile.c +18 -0
  141. package/dist/{stim-desktop-D5OGpYZM.mjs → stim-desktop-DS0mzR8U.mjs} +2 -2
  142. package/dist/{stop-B18d8KDw.mjs → stop-BFu7X_Do.mjs} +2 -2
  143. package/dist/{stop-B2uLQfoM.mjs → stop-CL1kDHds.mjs} +55 -21
  144. package/dist/{stop-DzLJc7Ei.mjs → stop-DhclRwOO.mjs} +5 -5
  145. package/dist/supervisor-run.mjs +16 -16
  146. package/dist/{support-BTpZ6RAJ.mjs → support-B1W-hmC2.mjs} +8 -8
  147. package/dist/{support-DTBV56gy.mjs → support-B3tzVhKn.mjs} +6 -6
  148. package/dist/{swiftpm-artifact-inputs-DFcGsXDP.mjs → swiftpm-artifact-inputs-BWYPj9Sn.mjs} +4 -4
  149. package/dist/{swiftpm-macos-r_WSKlXr.mjs → swiftpm-macos-BVCP5mO4.mjs} +14 -13
  150. package/dist/{toolchain-GVgnf8d1.mjs → toolchain-BjgKdoEf.mjs} +1 -1
  151. package/dist/{toolchain-CWeGJgCc.mjs → toolchain-D3bmRMia.mjs} +57 -36
  152. package/dist/trigger-BLsHgAGR.mjs +2 -0
  153. package/dist/{trigger-Cbyc41d_.mjs → trigger-CBMe2YLH.mjs} +2 -2
  154. package/dist/{warm-progress-CA3TgT3-.mjs → warm-progress-ol0ZypEu.mjs} +6 -6
  155. package/dist/{web-CwREhjD-.mjs → web-BH7peScT.mjs} +12 -10
  156. package/dist/web-BdOFlTJr.mjs +2 -0
  157. package/dist/web-run.mjs +8 -9
  158. package/dist/windows-report.mjs +12 -1
  159. package/dist/windows-report.ps1 +1 -1
  160. package/dist/{workspace-state-U08dEzhG.mjs → workspace-state-CeBpIZgr.mjs} +11 -4
  161. package/dist/{workspaces-BxzYlo3P.mjs → workspaces-CSV2Orf4.mjs} +36 -32
  162. package/dist/{worktree-BxfVxG_b.mjs → worktree-DEDUzO_L.mjs} +1 -1
  163. package/dist/{worktree-8lqn_lBp.mjs → worktree-Dw8kfacb.mjs} +324 -99
  164. package/dist/{xcode-iQnROM5o.mjs → xcode-DHu41qQ4.mjs} +41 -27
  165. package/package.json +7 -7
  166. package/dist/native-gradle-inputs-Dnh84Zbd.mjs +0 -211
  167. package/dist/server-expo-C-Buqvn_.mjs +0 -2
  168. package/dist/trigger-yb_nFzPF.mjs +0 -2
  169. package/dist/web-Cduk0NSE.mjs +0 -2
@@ -1,31 +1,31 @@
1
- import { _ as reportSignal, d as spawnDeclared, m as operationState, t as getExecutor } from "./exec-DEoAhcze.mjs";
2
- import { H as deviceSlotPlatforms, p as getProject, q as validateDeviceSlot } from "./config-DlrsduwG.mjs";
1
+ import { C as reportSignal, _ as spawnDeclared, b as operationState, c as throwIfCancelled, t as getExecutor } from "./exec-VFRpu1iA.mjs";
2
+ import { H as deviceSlotPlatforms, p as getProject, q as validateDeviceSlot } from "./config-BZhXY15H.mjs";
3
3
  import { r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
4
- import { i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-Db8BqzxH.mjs";
5
- import { a as killOnAbort, f as throwIfCancelled, t as runOperationFile } from "./operation-exec-BW0em61G.mjs";
6
- import { r as readWorkspaceState } from "./workspace-state-U08dEzhG.mjs";
7
- import { $ as settingOriginScope, B as realpathInside, H as remoteEasFallbackSetting, Ht as makeTemporaryDirectory, R as publicUrlSetting, Ut as removeTemporaryEntry, W as resolveAndroidLayout, m as defaultAndroidLayout, nt as settingsLayers, rt as tunnelModeSetting } from "./settings-C7O8A6ZI.mjs";
8
- import { v as detectIsExpo } from "./project-CTLNHCfE.mjs";
9
- import { Bn as checkEasAuth, Fn as processContext, Jn as resolveRemote, Un as loadProjectProvider, Xn as bundleInvocation, Y as statsProjectKey } from "./budget-DnPX3DXj.mjs";
10
- import { C as compareAssetManifests, S as captureAssetManifest, _ as storedAssetManifest, b as untrackedNativeFiles, c as fingerprintDiffRecord, g as storeBuild, h as resolveBuild, i as configInputsChanged, l as fingerprintProject, m as refingerprintAfterMutation, n as buildCacheKey, r as changedDuringBuildLine, s as filesystemBuildCapability, u as inputsChangedDuringBuild, w as readAssetManifest, x as assetDiffReason, y as untrackedMissLine } from "./build-cache-Dv7RN200.mjs";
11
- import { E as findBuildTool, F as listAvdsAsync, I as listInstalledSystemImages, K as ownedAvdSystemImage, V as ownedAvdDirectory, X as pickDefaultSystemImage, k as hostSystemImageArch, l as androidSystemImageAbi, r as androidBuildToolName } from "./android-C7sVmyI9.mjs";
12
- import { t as cleanLine } from "./server-expo-D9lEz4aq.mjs";
13
- import { o as resolveCcache } from "./ccache-RcAy92gH.mjs";
14
- import { _ as tailLines, h as startBuildHeartbeat, r as HEARTBEAT_INTERVAL_MS } from "./xcode-iQnROM5o.mjs";
15
- import { r as androidToolchainAsync, t as androidRequirements } from "./toolchain-CWeGJgCc.mjs";
16
- import { h as detectAppIds, m as detectAndroidPackage } from "./start-bjfiScgz.mjs";
17
- import { c as readProductFlavors, n as buildAndroid, s as productFlavorRefusal } from "./react-native-build-CmJkTljQ.mjs";
18
- import { t as readDoctorFingerprint } from "./doctor-fingerprint-DZLoYFVb.mjs";
19
- import { i as planEasDevelopmentBuild } from "./eas-build-CyjU5K7E.mjs";
20
- import { a as staleNativeDirRefusal, i as runPrebuild, n as planPrebuildAsync, o as explainBuildMiss, r as recordPrebuild, s as fingerprintErrorMissReason, t as planPrebuild } from "./prebuild-BFm63bQ0.mjs";
21
- import { a as PLATFORM, c as androidGradleProject, h as displayPath, i as NO_FINGERPRINT, l as androidJobLayout, o as androidBuildOptions, r as NO_DEVICE } from "./support-DTBV56gy.mjs";
4
+ import { i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-DxC0k2rk.mjs";
5
+ import { a as killOnAbort, t as runOperationFile } from "./operation-exec-CUZifp6Z.mjs";
6
+ import { r as readWorkspaceState } from "./workspace-state-CeBpIZgr.mjs";
7
+ import { $ as settingOriginScope, B as realpathInside, H as remoteEasFallbackSetting, Ht as makeTemporaryDirectory, R as publicUrlSetting, Ut as removeTemporaryEntry, W as resolveAndroidLayout, m as defaultAndroidLayout, nt as settingsLayers, rt as tunnelModeSetting } from "./settings-RKwY33wv.mjs";
8
+ import { v as detectIsExpo } from "./project-Dz-hWkb-.mjs";
9
+ import { E as findBuildTool, F as listAvdsAsync, I as listInstalledSystemImages, K as ownedAvdSystemImage, V as ownedAvdDirectory, X as pickDefaultSystemImage, k as hostSystemImageArch, l as androidSystemImageAbi, r as androidBuildToolName } from "./android-882m4hxX.mjs";
10
+ import { Gn as loadProjectProvider, Hn as checkEasAuth, Ln as processContext, Qn as bundleInvocation, Xn as resolveRemote, Z as statsProjectKey } from "./budget-dPGuhNai.mjs";
11
+ import { D as captureAssetManifest, E as assetDiffReason, O as compareAssetManifests, T as untrackedNativeFiles, a as configInputsChanged, b as storeBuild, d as fingerprintProject, f as gitignoredFingerprintInputs, k as readAssetManifest, l as filesystemBuildCapability, m as inputsChangedDuringBuild, n as buildCacheKey, r as changedDuringBuildLine, u as fingerprintDiffRecord, v as refingerprintAfterMutation, w as untrackedMissLine, x as storedAssetManifest, y as resolveBuild } from "./build-cache-HFUQ9eLz.mjs";
12
+ import { s as expoTelemetryEnv, t as cleanLine } from "./server-expo-Tt_hLRpy.mjs";
13
+ import { o as resolveCcache } from "./ccache-CCn1S6qG.mjs";
14
+ import { _ as tailLines, h as startBuildHeartbeat, r as HEARTBEAT_INTERVAL_MS } from "./xcode-DHu41qQ4.mjs";
15
+ import { r as androidToolchainAsync, t as androidRequirements } from "./toolchain-D3bmRMia.mjs";
16
+ import { h as detectAppIds, m as detectAndroidPackage } from "./start-BKGrEhzG.mjs";
17
+ import { c as readProductFlavors, h as androidPathRoomRefusal, n as buildAndroid, s as productFlavorRefusal } from "./react-native-build-AuCu-aAP.mjs";
18
+ import { t as readDoctorFingerprint } from "./doctor-fingerprint-zlujA1Gs.mjs";
19
+ import { i as planEasDevelopmentBuild } from "./eas-build-CxKUNHsb.mjs";
20
+ import { a as runPrebuild, c as fingerprintErrorMissReason, i as recordPrebuildAsync, n as planPrebuildAsync, o as staleNativeDirRefusal, s as explainBuildMiss, t as planPrebuild } from "./prebuild-DmVCf5xb.mjs";
21
+ import { a as PLATFORM, c as androidGradleProject, h as displayPath, i as NO_FINGERPRINT, l as androidJobLayout, o as androidBuildOptions, r as NO_DEVICE } from "./support-B3tzVhKn.mjs";
22
22
  import { t as AndroidRecipeRefusal } from "./android-project-BCAAmMwz.mjs";
23
- import { c as resolveAndroidRunPlan } from "./result-Cx5CRLvS.mjs";
24
- import { t as checkEasFallback } from "./eas-fallback-DV3Wytf1.mjs";
25
- import { n as androidProcessRuntime, t as androidMetroRuntime } from "./launch-Bz7JtaC4.mjs";
26
- import { n as planFlagRefusal, r as planPayload, t as planCachedBuild } from "./build-plan-C8CIvRyi.mjs";
27
- import { n as detectEntryFile, r as refreshUpdatesManifestFile, t as UPDATES_MANIFEST_NAME } from "./js-swap-C3QxUFJR.mjs";
28
- import { t as planHostedDevice } from "./plan-placement-BU42oOyT.mjs";
23
+ import { u as resolveAndroidRunPlan } from "./result-DqBrb12U.mjs";
24
+ import { t as checkEasFallback } from "./eas-fallback-LMxk9Kw0.mjs";
25
+ import { n as androidProcessRuntime, t as androidMetroRuntime } from "./launch-SfzGH_s9.mjs";
26
+ import { n as planFlagRefusal, r as planPayload, t as planCachedBuild } from "./build-plan-JsDUq4w1.mjs";
27
+ import { n as detectEntryFile, r as refreshUpdatesManifestFile, t as UPDATES_MANIFEST_NAME } from "./js-swap-BvrQvXHY.mjs";
28
+ import { t as planHostedDevice } from "./plan-placement-4axc0Hs7.mjs";
29
29
  import { constants, existsSync, mkdirSync, readFileSync, renameSync } from "node:fs";
30
30
  import { basename, dirname, isAbsolute, join, relative } from "node:path";
31
31
  import chalk from "chalk";
@@ -259,6 +259,7 @@ async function swapApkBundle({ context, root, isExpo, cachedApkPath, keystore, l
259
259
  ],
260
260
  env: {
261
261
  ...context?.env ?? process.env,
262
+ ...expoTelemetryEnv(context?.env ?? process.env),
262
263
  FORCE_COLOR: "0"
263
264
  }
264
265
  }));
@@ -457,9 +458,33 @@ function refuse(refusal, lines = []) {
457
458
  lines
458
459
  };
459
460
  }
460
- async function emulatorImage(root, slot, requested, deps, signal) {
461
+ function imageReplacement(root, slot, flagImage, deps) {
461
462
  const record = deviceSlotPlatforms(getProject(root), slot)?.android;
462
- if (record?.avdName && !record.setupIncomplete) {
463
+ if (!flagImage || !record?.owned || !record.avdName || record.setupIncomplete || !deps.avdDirectory(record.avdName)) return {
464
+ replaces: false,
465
+ refusal: null
466
+ };
467
+ const current = deps.avdSystemImage(record.avdName);
468
+ if (!current || current === flagImage) return {
469
+ replaces: false,
470
+ refusal: null
471
+ };
472
+ if (record.bootPending) return {
473
+ replaces: true,
474
+ refusal: null
475
+ };
476
+ return {
477
+ replaces: false,
478
+ refusal: {
479
+ code: "STIM_BAD_ARG",
480
+ message: `This project's emulator ${record.avdName} uses system image ${current}, but ${flagImage} was requested. --system-image replaces only an emulator that never finished a boot, and this one has.`,
481
+ remedy: "Run `stim worktree remove` (or `stim gc --delete`) to reap the current emulator, then `stim android` again to create the requested one, or pass `--slot <name>` to create it beside the current one."
482
+ }
483
+ };
484
+ }
485
+ async function emulatorImage(root, slot, requested, replaces, deps, signal) {
486
+ const record = deviceSlotPlatforms(getProject(root), slot)?.android;
487
+ if (record?.avdName && !record.setupIncomplete && !replaces) {
463
488
  if (record.owned && deps.avdDirectory(record.avdName)) return { systemImage: deps.avdSystemImage(record.avdName) };
464
489
  if (!record.owned && await avdListed(record.avdName, deps.listAvds, signal)) return { systemImage: null };
465
490
  }
@@ -572,9 +597,14 @@ async function planReactNativeAndroid(root, opts, runtimeKind, { context: settin
572
597
  message: "The experimental Android compiler CAS keys builds by a toolchain Stim sets up, which --plan does not.",
573
598
  remedy: "Run `stim android` to build with the CAS, or set optimizations.android.compilerCache to ccache."
574
599
  });
600
+ const replacement = target.kind === "emulator" || target.kind === "hosted" ? imageReplacement(root, slot, opts.systemImage?.trim() || void 0, deps) : {
601
+ replaces: false,
602
+ refusal: null
603
+ };
604
+ if (target.kind === "emulator" && replacement.refusal) return refuse(replacement.refusal);
575
605
  const abiKeyed = build.targetAbiOnly && !build.release;
576
606
  let localImageRead;
577
- const localImage = () => localImageRead ??= abiKeyed ? emulatorImage(root, slot, target.systemImage, deps, operation.signal) : Promise.resolve({ systemImage: null });
607
+ const localImage = () => localImageRead ??= abiKeyed ? emulatorImage(root, slot, target.systemImage, replacement.replaces, deps, operation.signal) : Promise.resolve({ systemImage: null });
578
608
  let image;
579
609
  let hostedAbi = null;
580
610
  let placement;
@@ -614,6 +644,7 @@ async function planReactNativeAndroid(root, opts, runtimeKind, { context: settin
614
644
  message: `android.remote is ${target.machine}, and its emulator ABI is unknown here: ${hostedPlan.reason}.`,
615
645
  remedy: "Run `stim android` to build for the remote device, or unset android.remote to plan the owned emulator."
616
646
  });
647
+ if (hostedPlan.kind === "local" && replacement.refusal) return refuse(replacement.refusal);
617
648
  placement = hostedPlan.placement;
618
649
  if (hostedPlan.kind === "hosted" && "architecture" in hostedPlan.choice) hostedAbi = hostedPlan.choice.architecture ?? null;
619
650
  image = hostedPlan.kind === "hosted" ? { systemImage: abiKeyed && "systemImage" in hostedPlan.choice ? hostedPlan.choice.systemImage : null } : await localImage();
@@ -697,6 +728,10 @@ function reactNativeAndroidProject(root, { context, settings }, dependencies = {
697
728
  "hosted",
698
729
  "remote"
699
730
  ],
731
+ preflight: (target) => androidPathRoomRefusal(root, {
732
+ ...target,
733
+ platform: dependencies.platform
734
+ }),
700
735
  eas: true,
701
736
  runtimeKind,
702
737
  runtime: ({ build, prepareMetro, phase }) => runtimeKind(build) === "embedded-js" ? androidProcessRuntime(async () => {
@@ -818,7 +853,7 @@ function reactNativeAndroidArtifact({ operation, root, buildLog, writer, setting
818
853
  if (!prebuildRan) return;
819
854
  beforePrepare();
820
855
  step("prebuild");
821
- recordPrebuild(root, "android", null);
856
+ await recordPrebuildAsync(root, "android", null);
822
857
  const pre = await prebuild(root, "android", writer, { isExpo });
823
858
  if (pre.failed) throw new AndroidRecipeRefusal({
824
859
  code: pre.code,
@@ -843,7 +878,7 @@ function reactNativeAndroidArtifact({ operation, root, buildLog, writer, setting
843
878
  fingerprint
844
879
  });
845
880
  editedConfig = after ? configInputsChanged(initialSources, after.sources, { prebuildRan }) : [];
846
- if (after && !editedConfig.length) recordPrebuild(root, "android", after.hash);
881
+ if (after && !editedConfig.length) await recordPrebuildAsync(root, "android", after.hash);
847
882
  if (after?.moved && !editedConfig.length) {
848
883
  rekeyedBy.push("prebuild");
849
884
  phase("fingerprint", chalk.dim(`${shortHash(hash)} -> ${shortHash(after.hash)} (after prebuild)`));
@@ -930,7 +965,8 @@ function reactNativeAndroidArtifact({ operation, root, buildLog, writer, setting
930
965
  expoCache: target.abi || cas || profile || !buildPlan.cache.remote ? null : {
931
966
  load: () => loadProvider(root, {
932
967
  context: operation,
933
- isExpo
968
+ isExpo,
969
+ sources: initialSources
934
970
  }),
935
971
  runOptions: Object.keys(runOptions).length ? runOptions : null
936
972
  },
@@ -954,6 +990,13 @@ function reactNativeAndroidArtifact({ operation, root, buildLog, writer, setting
954
990
  ...androidJobLayout(layout)
955
991
  }
956
992
  },
993
+ fingerprintInputs: async () => ({
994
+ sources,
995
+ ignored: await gitignoredFingerprintInputs(root, sources, {
996
+ platform: "android",
997
+ androidLayout: layout
998
+ }, { env: operation?.env })
999
+ }),
957
1000
  unchanged: async () => {
958
1001
  const after = await refingerprintAfterMutation({
959
1002
  projectRoot: root,
@@ -1,14 +1,14 @@
1
- import { d as spawnDeclared, t as getExecutor } from "./exec-DEoAhcze.mjs";
1
+ import { _ as spawnDeclared, t as getExecutor } from "./exec-VFRpu1iA.mjs";
2
2
  import { o as sharedCompilationCache } from "./paths-DQtTgsBf.mjs";
3
3
  import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
4
- import { l as phaseLine } from "./command-output-Db8BqzxH.mjs";
5
- import { a as killOnAbort } from "./operation-exec-BW0em61G.mjs";
6
- import { C as resolvePackageJson } from "./project-CTLNHCfE.mjs";
7
- import { r as register } from "./cache-manifest-DSeQjt-Q.mjs";
8
- import { o as androidHome } from "./android-C7sVmyI9.mjs";
4
+ import { l as phaseLine } from "./command-output-DxC0k2rk.mjs";
5
+ import { a as killOnAbort } from "./operation-exec-CUZifp6Z.mjs";
6
+ import { C as resolvePackageJson } from "./project-Dz-hWkb-.mjs";
7
+ import { o as androidHome } from "./android-882m4hxX.mjs";
8
+ import { r as register } from "./cache-manifest-BPXRONJz.mjs";
9
9
  import { p as resolveOptimizations } from "./errors-ccaPc4ox.mjs";
10
- import { a as readCcacheActivity, n as CCACHE_UNAVAILABLE } from "./ccache-RcAy92gH.mjs";
11
- import { a as buildXcode, d as pickXcodeProject, g as swiftPrefixMappingSupported, h as startBuildHeartbeat, i as SWIFT_PREFIX_MAPPING_MIN_SWIFT, l as parseSwiftVersion, r as HEARTBEAT_INTERVAL_MS, s as compilationCacheSettings, u as parseXcodeMajor } from "./xcode-iQnROM5o.mjs";
10
+ import { a as readCcacheActivity, n as CCACHE_UNAVAILABLE } from "./ccache-CCn1S6qG.mjs";
11
+ import { a as buildXcode, d as pickXcodeProject, g as swiftPrefixMappingSupported, h as startBuildHeartbeat, i as SWIFT_PREFIX_MAPPING_MIN_SWIFT, l as parseSwiftVersion, r as HEARTBEAT_INTERVAL_MS, s as compilationCacheSettings, u as parseXcodeMajor } from "./xcode-DHu41qQ4.mjs";
12
12
  import { createHash } from "node:crypto";
13
13
  import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, statSync } from "node:fs";
14
14
  import { dirname, isAbsolute, join, relative, sep } from "node:path";
@@ -68,6 +68,14 @@ function androidPathRoomMessage({ root, abi, target, longest, maxRootLength }) {
68
68
  function androidPathRoomRemedy({ maxRootLength }) {
69
69
  return `Move or clone the project to a real path of at most ${maxRootLength} characters, such as C:\\src\\<name>, and run Stim there. A subst drive does not help: Node and Expo autolinking resolve it back to the long path.`;
70
70
  }
71
+ function androidPathRoomRefusal(root, options) {
72
+ const room = androidPathRoom(root, options);
73
+ return room ? {
74
+ code: "STIM_PATH_TOO_LONG",
75
+ reason: androidPathRoomMessage(room),
76
+ remedy: androidPathRoomRemedy(room)
77
+ } : null;
78
+ }
71
79
  const MAX_MESSAGE_LENGTH = 300;
72
80
  const KOTLIN_URI = /^e:\s+file:\/\/(\/\S+?):(\d+):(\d+)\s+(.*)$/;
73
81
  const KOTLIN_PAREN = /^e:\s+(\S+?):\s*\((\d+),\s*(\d+)\):\s*(.*)$/;
@@ -886,11 +894,6 @@ async function buildAndroid({ root, layout, logWriter, variant = null, abi = nul
886
894
  lastLines: [],
887
895
  durationMs: 0
888
896
  };
889
- const room = androidPathRoom(root, {
890
- abi,
891
- variant,
892
- platform: options.platform ?? process.platform
893
- });
894
897
  return buildGradle({
895
898
  root,
896
899
  logWriter,
@@ -903,11 +906,11 @@ async function buildAndroid({ root, layout, logWriter, variant = null, abi = nul
903
906
  },
904
907
  task: layout.custom ? `${layout.module}:${assembleTaskFor(variant)}` : assembleTaskFor(variant),
905
908
  projectArgs: abi ? [`-PreactNativeArchitectures=${abi}`] : [],
906
- preflightFailure: room ? {
907
- code: "STIM_PATH_TOO_LONG",
908
- reason: androidPathRoomMessage(room),
909
- remedy: androidPathRoomRemedy(room)
910
- } : null
909
+ preflightFailure: androidPathRoomRefusal(root, {
910
+ abi,
911
+ variant,
912
+ platform: options.platform ?? process.platform
913
+ })
911
914
  }, options);
912
915
  }
913
916
  const PREBUILD_REMEDY = "Generate it with `npx expo prebuild -p ios` (stim ios does this automatically for an Expo project with no ios/ directory), or commit the native project.";
@@ -1040,4 +1043,4 @@ async function buildIos(inputs) {
1040
1043
  });
1041
1044
  }
1042
1045
  //#endregion
1043
- export { discoverXcodeProject as a, readProductFlavors as c, buildGradle as d, formatDiagnostic as f, androidPathRoomRemedy as h, ccacheEnabled as i, androidSdkRefusal as l, androidPathRoomMessage as m, buildAndroid as n, gradlewPath as o, androidPathRoom as p, buildIos as r, productFlavorRefusal as s, apkOutputsDir as t, assembleTaskFor as u };
1046
+ export { discoverXcodeProject as a, readProductFlavors as c, buildGradle as d, formatDiagnostic as f, androidPathRoomRemedy as g, androidPathRoomRefusal as h, ccacheEnabled as i, androidSdkRefusal as l, androidPathRoomMessage as m, buildAndroid as n, gradlewPath as o, androidPathRoom as p, buildIos as r, productFlavorRefusal as s, apkOutputsDir as t, assembleTaskFor as u };
@@ -1,10 +1,10 @@
1
- import { t as getExecutor } from "./exec-DEoAhcze.mjs";
2
- import { l as phaseLine } from "./command-output-Db8BqzxH.mjs";
3
- import { K as resolveIosProjectDir, W as resolveAndroidLayout } from "./settings-C7O8A6ZI.mjs";
4
- import { v as detectIsExpo } from "./project-CTLNHCfE.mjs";
5
- import { b as bundlerPin } from "./xcode-iQnROM5o.mjs";
6
- import { a as iosToolchainAsync, n as androidToolchain, r as androidToolchainAsync, t as androidRequirements } from "./toolchain-CWeGJgCc.mjs";
7
- import { a as reactNativeDoctorFindings, i as mainCheckoutProjectRoot, n as detectFingerprintParity, r as detectLinkedLibraryGitMetadata, s as repairCxxLauncherState, t as checkMainCheckout } from "./doctor-8sr2tFOL.mjs";
1
+ import { t as getExecutor } from "./exec-VFRpu1iA.mjs";
2
+ import { l as phaseLine } from "./command-output-DxC0k2rk.mjs";
3
+ import { K as resolveIosProjectDir, W as resolveAndroidLayout } from "./settings-RKwY33wv.mjs";
4
+ import { v as detectIsExpo } from "./project-Dz-hWkb-.mjs";
5
+ import { b as bundlerPin } from "./xcode-DHu41qQ4.mjs";
6
+ import { a as iosToolchainAsync, n as androidToolchain, r as androidToolchainAsync, t as androidRequirements } from "./toolchain-D3bmRMia.mjs";
7
+ import { a as reactNativeDoctorFindings, i as mainCheckoutProjectRoot, n as detectFingerprintParity, r as detectLinkedLibraryGitMetadata, s as repairCxxLauncherState, t as checkMainCheckout } from "./doctor-C33AzVfR.mjs";
8
8
  import { existsSync, readdirSync } from "node:fs";
9
9
  import { join, relative } from "node:path";
10
10
  //#region src/diagnostics/doctor-ios-architectures.ts
@@ -180,12 +180,13 @@ function reactNativeProjectDoctor(root) {
180
180
  return async () => {
181
181
  const targets = [];
182
182
  if (checksIos) {
183
- const [local, runtime] = await Promise.all([iosToolchainAsync(root), iosRuntime()]);
183
+ const iosDir = resolveIosProjectDir(settings, root).dir;
184
+ const [local, runtime] = await Promise.all([iosToolchainAsync(root, iosDir), iosRuntime()]);
184
185
  targets.push({
185
186
  platform: "ios",
186
187
  local,
187
188
  runtime,
188
- cocoapodsPinned: bundlerPin(root) !== null
189
+ cocoapodsPinned: bundlerPin(root, iosDir) !== null
189
190
  });
190
191
  }
191
192
  if (checksAndroid) targets.push({
@@ -1,21 +1,21 @@
1
- import { _ as reportSignal } from "./exec-DEoAhcze.mjs";
2
- import { i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-Db8BqzxH.mjs";
3
- import { H as remoteEasFallbackSetting, K as resolveIosProjectDir, R as publicUrlSetting, U as remoteIosSetting, a as SETTING_SHAPE_REMEDY, et as settingShapeErrors, p as cacheProviderSettingError, rt as tunnelModeSetting } from "./settings-C7O8A6ZI.mjs";
4
- import { Fn as processContext, Y as statsProjectKey } from "./budget-DnPX3DXj.mjs";
5
- import { d as runCancellationSignal } from "./native-run-BUTu8T7A.mjs";
6
- import { c as fingerprintDiffRecord, i as configInputsChanged, m as refingerprintAfterMutation, n as buildCacheKey, r as changedDuringBuildLine, s as filesystemBuildCapability, u as inputsChangedDuringBuild, y as untrackedMissLine } from "./build-cache-Dv7RN200.mjs";
1
+ import { C as reportSignal } from "./exec-VFRpu1iA.mjs";
2
+ import { i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-DxC0k2rk.mjs";
3
+ import { H as remoteEasFallbackSetting, K as resolveIosProjectDir, R as publicUrlSetting, U as remoteIosSetting, a as SETTING_SHAPE_REMEDY, et as settingShapeErrors, p as cacheProviderSettingError, rt as tunnelModeSetting } from "./settings-RKwY33wv.mjs";
4
+ import { Ln as processContext, Z as statsProjectKey } from "./budget-dPGuhNai.mjs";
5
+ import { d as runCancellationSignal } from "./native-run-BmH7U8pr.mjs";
6
+ import { C as trackedFingerprintPaths, a as configInputsChanged, f as gitignoredFingerprintInputs, l as filesystemBuildCapability, m as inputsChangedDuringBuild, n as buildCacheKey, p as ignoredFingerprintPaths, r as changedDuringBuildLine, u as fingerprintDiffRecord, v as refingerprintAfterMutation, w as untrackedMissLine } from "./build-cache-HFUQ9eLz.mjs";
7
7
  import { d as optimizationBuildProfile, l as artifactCachePolicy, p as resolveOptimizations } from "./errors-ccaPc4ox.mjs";
8
- import { b as bundlerPin } from "./xcode-iQnROM5o.mjs";
9
- import { a as iosToolchainAsync } from "./toolchain-CWeGJgCc.mjs";
10
- import { a as deviceModelRefusal, c as iosProjectPathError, f as podAction, h as resolveDeviceType, l as iosProviderRunOptions, m as resolveConfiguration, u as isReleaseConfiguration, v as resolveRuntime, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-BTpZ6RAJ.mjs";
11
- import { t as readDoctorFingerprint } from "./doctor-fingerprint-DZLoYFVb.mjs";
12
- import { i as planEasDevelopmentBuild, n as easDeviceBuildRemedy } from "./eas-build-CyjU5K7E.mjs";
13
- import { a as staleNativeDirRefusal, o as explainBuildMiss, r as recordPrebuild, s as fingerprintErrorMissReason } from "./prebuild-BFm63bQ0.mjs";
14
- import { r as planPayload, t as planCachedBuild } from "./build-plan-C8CIvRyi.mjs";
15
- import { t as IosRecipeRefusal } from "./ios-project-CVyNwjAF.mjs";
16
- import { a as hostedIosSelectors } from "./remote-BmvMCcJw.mjs";
17
- import { c as copyAppAside, i as DEFAULT_DEPS, n as iosMetroRuntime, r as iosProcessRuntime, u as writeIpTxt } from "./launch-CHY3p-yz.mjs";
18
- import { t as planHostedDevice } from "./plan-placement-BU42oOyT.mjs";
8
+ import { b as bundlerPin } from "./xcode-DHu41qQ4.mjs";
9
+ import { a as iosToolchainAsync } from "./toolchain-D3bmRMia.mjs";
10
+ import { a as deviceModelRefusal, c as iosProjectPathError, f as podAction, h as resolveDeviceType, l as iosProviderRunOptions, m as resolveConfiguration, u as isReleaseConfiguration, v as resolveRuntime, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-B1W-hmC2.mjs";
11
+ import { t as readDoctorFingerprint } from "./doctor-fingerprint-zlujA1Gs.mjs";
12
+ import { i as planEasDevelopmentBuild, n as easDeviceBuildRemedy } from "./eas-build-CxKUNHsb.mjs";
13
+ import { c as fingerprintErrorMissReason, i as recordPrebuildAsync, o as staleNativeDirRefusal, s as explainBuildMiss } from "./prebuild-DmVCf5xb.mjs";
14
+ import { r as planPayload, t as planCachedBuild } from "./build-plan-JsDUq4w1.mjs";
15
+ import { t as IosRecipeRefusal } from "./ios-project-KYqeJURj.mjs";
16
+ import { a as hostedIosSelectors } from "./remote-DEZ7AOVq.mjs";
17
+ import { c as copyAppAside, i as DEFAULT_DEPS, n as iosMetroRuntime, r as iosProcessRuntime, u as writeIpTxt } from "./launch-BVlyQw3T.mjs";
18
+ import { t as planHostedDevice } from "./plan-placement-4axc0Hs7.mjs";
19
19
  import { rmSync } from "node:fs";
20
20
  import chalk from "chalk";
21
21
  //#region src/integrations/react-native-ios-plan.ts
@@ -433,7 +433,7 @@ function reactNativeIosArtifact({ operation, root, logFile, configuration, build
433
433
  if ((prebuild === "generate" || prebuild === "regenerate" || podAction(pods, d.podsAreStale(pods.lockText, pods.manifestText, pods.dir)).install) && cachePolicy.read) beforePrepare();
434
434
  if (prebuild === "generate" || prebuild === "regenerate") {
435
435
  step("prebuild");
436
- recordPrebuild(root, PLATFORM, null);
436
+ await recordPrebuildAsync(root, PLATFORM, null);
437
437
  const result = await d.runPrebuild(root, PLATFORM, logWriter());
438
438
  if (result?.failed) {
439
439
  phase("prebuild", "FAILED");
@@ -491,7 +491,7 @@ function reactNativeIosArtifact({ operation, root, logFile, configuration, build
491
491
  });
492
492
  const prebuildRan = mutatingSteps.includes("prebuild");
493
493
  const editedConfig = after ? configInputsChanged(fingerprintSources, after.sources, { prebuildRan }) : [];
494
- if (after && !editedConfig.length && prebuildRan) recordPrebuild(root, PLATFORM, after.hash);
494
+ if (after && !editedConfig.length && prebuildRan) await recordPrebuildAsync(root, PLATFORM, after.hash);
495
495
  if (!after || editedConfig.length) {
496
496
  storeHash = null;
497
497
  note(chalk.yellow(phaseLine("fingerprint", after ? changedDuringBuildLine(editedConfig) : `unavailable after ${mutatingSteps.join(", ")}; the build will be installed but not cached`)));
@@ -579,7 +579,8 @@ function reactNativeIosArtifact({ operation, root, logFile, configuration, build
579
579
  expoCache: physical || !cachePolicy.remote || buildProfile || buildScheme ? null : {
580
580
  load: () => d.loadProjectProvider(root, {
581
581
  context: operation,
582
- isExpo
582
+ isExpo,
583
+ sources: fingerprintSources
583
584
  }),
584
585
  runOptions: iosProviderRunOptions(configuration, target.keyArch)
585
586
  },
@@ -594,11 +595,11 @@ function reactNativeIosArtifact({ operation, root, logFile, configuration, build
594
595
  target: async (runtime) => ({
595
596
  platform: "ios",
596
597
  local: {
597
- ...await iosToolchainAsync(root),
598
+ ...await iosToolchainAsync(root, iosProject.dir),
598
599
  ...target.hostedArchitecture ? { arch: target.hostedArchitecture === "x86_64" ? "x64" : "arm64" } : {}
599
600
  },
600
601
  runtime,
601
- cocoapodsPinned: bundlerPin(root) !== null
602
+ cocoapodsPinned: bundlerPin(root, iosProject.dir) !== null
602
603
  }),
603
604
  request: (runtime) => ({
604
605
  platform: "ios",
@@ -610,6 +611,21 @@ function reactNativeIosArtifact({ operation, root, logFile, configuration, build
610
611
  isExpo,
611
612
  optimizations
612
613
  }),
614
+ fingerprintInputs: async () => ({
615
+ sources: storeSources,
616
+ ignored: await gitignoredFingerprintInputs(root, storeSources, {
617
+ platform: PLATFORM,
618
+ iosProjectPath: iosProject.relative
619
+ }, { env: operation?.env }),
620
+ ignoredPaths: ignoredFingerprintPaths(root, {
621
+ platform: PLATFORM,
622
+ iosProjectPath: iosProject.relative
623
+ }),
624
+ trackedPaths: trackedFingerprintPaths(root, {
625
+ platform: PLATFORM,
626
+ iosProjectPath: iosProject.relative
627
+ })
628
+ }),
613
629
  unchanged: async () => {
614
630
  const after = await refingerprintAfterMutation({
615
631
  projectRoot: root,
@@ -1,4 +1,4 @@
1
- import { yt as gitCommonDirOnDisk } from "./settings-C7O8A6ZI.mjs";
1
+ import { yt as gitCommonDirOnDisk } from "./settings-RKwY33wv.mjs";
2
2
  import { existsSync } from "node:fs";
3
3
  import { loadConfig, recordingEnabled, workspaceRecordingsDir } from "@stim-cli/core/state";
4
4
  import { rm } from "node:fs/promises";
@@ -1,4 +1,4 @@
1
- import { g as process_identity_exports } from "./exec-DEoAhcze.mjs";
1
+ import { S as process_identity_exports } from "./exec-VFRpu1iA.mjs";
2
2
  import { readMacosRecord } from "@stim-cli/core/state";
3
3
  //#region src/macos/registration.ts
4
4
  function waitForMacosRegistration(root, launchId, child, deadline) {