stim 1.20.2 → 1.22.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.
- package/README.md +141 -8
- package/dist/acquire-artifact-Co2k4f7O.mjs +171 -0
- package/dist/act-DsuqEkiM.mjs +2801 -0
- package/dist/activity-CMLmzp7o.mjs +1397 -0
- package/dist/{agent-device-usage-output-Dzgv6lgR.mjs → agent-device-usage-output-DUFaTMdd.mjs} +23 -67
- package/dist/{android-DCKZrNvV.mjs → android-ByRMUoiJ.mjs} +157 -93
- package/dist/{android-Mz_Inn3w.mjs → android-C7sVmyI9.mjs} +299 -116
- package/dist/{android-Dlzxshgp.mjs → android-DGkNqa_c.mjs} +5 -5
- package/dist/{android-HqP1_vB_.mjs → android-DR5lZ2Az.mjs} +2 -2
- package/dist/android-cas-compiler.mjs +2 -2
- package/dist/{android-cas-Bl-cLJBk.mjs → android-cas-ngferVq2.mjs} +7 -6
- package/dist/android-project-BCAAmMwz.mjs +12 -0
- package/dist/android-project-DVWyCbWU.d.mts +391 -0
- package/dist/api.d.mts +810 -64
- package/dist/api.mjs +782 -1
- package/dist/{artifact-HSwkIWEQ.mjs → artifact-8EY8SAPw.mjs} +240 -213
- package/dist/{artifact-D3czlUvT.mjs → artifact-DJPy518Y.mjs} +203 -164
- package/dist/artifact-platform-CXcmX_j3.mjs +27 -0
- package/dist/{browser-web-CA-F1GQo.mjs → browser-web-Bcv99PBM.mjs} +194 -64
- package/dist/budget-Cvwn54qV.mjs +9285 -0
- package/dist/{build-DYDbfkk5.mjs → build-CabC3G23.mjs} +153 -98
- package/dist/build-cache-Dv7RN200.mjs +602 -0
- package/dist/build-plan-DUC8Ka9y.mjs +248 -0
- package/dist/{cache-manifest-XH-fvDUj.mjs → cache-manifest-DSeQjt-Q.mjs} +2 -2
- package/dist/cache-manifest.mjs +1 -1
- package/dist/{ccache-zdKiYQ3E.mjs → ccache-Btwc36-I.mjs} +10 -9
- package/dist/{cdp-Dq_ypAlJ.mjs → cdp-3fwICjzi.mjs} +18 -5
- package/dist/{chrome-BnzZMqsR.mjs → chrome-Bbw689-6.mjs} +7 -4
- package/dist/{cli-CLP3diBm.mjs → cli-CHZa9Lvk.mjs} +20 -20
- package/dist/cli.mjs +1 -1
- package/dist/client-OyRoEuSr.mjs +1577 -0
- package/dist/collector-run.d.mts +4 -40
- package/dist/collector-run.mjs +9 -8
- package/dist/{command-output-BTy8hZ0F.mjs → command-output-gwpm28fu.mjs} +1 -1
- package/dist/config-DlrsduwG.mjs +955 -0
- package/dist/{created-devices-Dzd5C2LF.mjs → created-devices-x9rN6bhs.mjs} +14 -4
- package/dist/{dependency-state-DG0p31-y.mjs → dependency-state-1I9KZT1Y.mjs} +20 -5
- package/dist/{detached-entry-B9C_zeQC.mjs → detached-entry-BwNEtIrP.mjs} +1 -1
- package/dist/{dev-client-DAWVIGBu.mjs → dev-client-BSDR5h3F.mjs} +2 -2
- package/dist/{device-BECOiufl.mjs → device-B-L3Fbxy.mjs} +91 -34
- package/dist/device-DklWZLqb.mjs +1068 -0
- package/dist/{device-capacity-CBUAcRyQ.mjs → device-capacity-DK5_EwRS.mjs} +42 -13
- package/dist/device-host-worker.mjs +76 -79
- package/dist/{device-ios-COSi6oS1.mjs → device-ios-DoB6KFCO.mjs} +77 -51
- package/dist/{device-lease-run-Cw2M4z51.mjs → device-lease-run-xJPQ_QQG.mjs} +14 -26
- package/dist/{device-pool-Bf-pOhSw.mjs → device-pool-BMkdsefq.mjs} +5 -5
- package/dist/{doctor-kfMBnUw6.mjs → doctor-Bo7BXLux.mjs} +271 -320
- package/dist/{doctor-CB8oZKCk.mjs → doctor-D5_EzwfA.mjs} +186 -91
- package/dist/doctor-fingerprint-DZLoYFVb.mjs +16 -0
- package/dist/doctor-fingerprint.mjs +19 -0
- package/dist/doctor-thjWAV0z.mjs +2 -0
- package/dist/{doctor-watchman-BRyV2adA.mjs → doctor-watchman-N2wDotwQ.mjs} +40 -21
- package/dist/{eas-build-JyfqyHfC.mjs → eas-build-CwknaQYj.mjs} +53 -20
- package/dist/{build-plan-B7SZsc2N.mjs → eas-fallback-CSgAulr5.mjs} +41 -214
- package/dist/{watchman-CPQFZLXY.mjs → eas-session-ledger-DlY_serQ.mjs} +230 -11
- package/dist/{error-diagnostics-BR677IDM.mjs → error-diagnostics-DBWO2rxE.mjs} +172 -82
- package/dist/exec-DEoAhcze.mjs +858 -0
- package/dist/exec-DnYc4HGH.d.mts +78 -0
- package/dist/{gc-qWOMdnER.mjs → gc-CXxN-4SE.mjs} +1091 -1029
- package/dist/gc-DnNDQyaP.mjs +3 -0
- package/dist/{guide-G9cAbVAc.mjs → guide-Br0LEfKy.mjs} +1165 -297
- package/dist/{hosted-android-C3MHGld1.mjs → hosted-android-B-9f-jkd.mjs} +10 -8
- package/dist/{hosted-client-ZEKpS9vw.mjs → hosted-client-DZAPrcro.mjs} +34 -19
- package/dist/{hosted-ios-l-o3iM9J.mjs → hosted-ios-CsCS21hn.mjs} +1 -1
- package/dist/{hosted-logs-EzQM7-3Z.mjs → hosted-logs-FIRx9X2f.mjs} +77 -43
- package/dist/{hosted-macos-BACVAVqE.mjs → hosted-macos-_awYSpfv.mjs} +35 -22
- package/dist/{hosted-native-A4s1QPXe.mjs → hosted-native-BdzE668-.mjs} +49 -27
- package/dist/idle-C4cZ757K.d.mts +24 -0
- package/dist/{idle-shutdown-DtxhPTKe.mjs → idle-shutdown-DDg3SdvY.mjs} +11 -10
- package/dist/ios-CDvlmUs7.d.mts +24 -0
- package/dist/{ios-BwVCF7oA.mjs → ios-Ds1clbIt.mjs} +8 -8
- package/dist/{ios-device-D7pi2Sca.mjs → ios-device--h_-8ENa.mjs} +51 -26
- package/dist/{ios-device-B5veSDDQ.mjs → ios-device-BXZ0c7Kb.mjs} +1 -1
- package/dist/{ios-RkW4pnQf.mjs → ios-hcBpnEGk.mjs} +200 -93
- package/dist/{ios-Ce7bc7br.mjs → ios-pm4nL6By.mjs} +160 -108
- package/dist/{ios-project-K9hY_Jab.mjs → ios-project-CZhKODF3.mjs} +13 -13
- package/dist/ios-signing-BtAffm0A.mjs +489 -0
- package/dist/{ios-state-CBLe1xYw.mjs → ios-state-Dtw5K2aI.mjs} +1 -1
- package/dist/{ios-nOLJGVdy.mjs → ios-xtlRHaeB.mjs} +1 -1
- package/dist/{js-swap-Bb3nsS07.mjs → js-swap-Bwhh4S7V.mjs} +30 -25
- package/dist/{launch-C3qJ6Agb.mjs → launch-BjxemNpK.mjs} +85 -543
- package/dist/{launch-F4sOqAhB.mjs → launch-CCzXlc8r.mjs} +91 -90
- package/dist/logs-BfwwadsZ.mjs +479 -0
- package/dist/logs-jTS_lHSo.mjs +248 -0
- package/dist/{macos-D7uDvO-z.mjs → macos-DVlSSyUg.mjs} +1 -1
- package/dist/macos-NfV2D7dO.mjs +694 -0
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +123 -248
- package/dist/{metro-DnCEjCxs.mjs → metro-DiXtA3Ty.mjs} +107 -30
- package/dist/metro-gateway-CKZqKqx7.mjs +209 -0
- package/dist/{named-ports-4WopRPg-.mjs → named-ports-DkEzOfzO.mjs} +42 -90
- package/dist/native-android-CqgnOgsT.mjs +645 -0
- package/dist/native-gradle-artifact-inputs-DHFnmrVf.mjs +270 -0
- package/dist/native-gradle-inputs-Dnh84Zbd.mjs +211 -0
- package/dist/native-inputs-TRTTTRxt.mjs +91 -0
- package/dist/native-run-NwUuxbkg.mjs +276 -0
- package/dist/{native-runtime-k8dTIrbK.mjs → native-runtime-B7KIafpM.mjs} +11 -9
- package/dist/native-source-Y0yLhFyQ.mjs +133 -0
- package/dist/{native-xcode-inputs-CykopJdM.mjs → native-xcode-inputs-D_VOfFL7.mjs} +26 -18
- package/dist/{native-xcode-ios-Bbf30Gm0.mjs → native-xcode-ios-BYDOHWLN.mjs} +104 -60
- package/dist/{ndjson-GOnbyvso.mjs → ndjson-CgE_o3Dl.mjs} +3 -3
- package/dist/offload-worker.d.mts +59 -41
- package/dist/offload-worker.mjs +478 -115
- package/dist/operation-exec-BW0em61G.mjs +171 -0
- package/dist/{ownership-DCtw_2IA.mjs → ownership-C5fo5Edb.mjs} +3 -3
- package/dist/{page-DRHy329N.mjs → page-DBL2PiUU.mjs} +12 -5
- package/dist/paths-BsJMoPP2.mjs +12 -0
- package/dist/paths-DQtTgsBf.mjs +42 -0
- package/dist/{placement-log-MOfPVgaM.mjs → placement-log-BnGgJRRZ.mjs} +5 -5
- package/dist/{plan-placement-V0TdzYXp.mjs → plan-placement-DIsMtN-d.mjs} +15 -11
- package/dist/{ports-DdSUicVo.mjs → ports-Cy1RkmuQ.mjs} +3 -3
- package/dist/prebuild-D4JoEAEs.mjs +484 -0
- package/dist/{project-_phNIJfs.mjs → project-wM_XFTvE.mjs} +65 -37
- package/dist/{pull-request-CQ8sPbZa.mjs → pull-request-W1IuLXDt.mjs} +102 -20
- package/dist/pull-request-eODyIqZF.d.mts +124 -0
- package/dist/pull-requests.d.mts +2 -120
- package/dist/pull-requests.mjs +2 -2
- package/dist/{react-native-android-CM1XRDwv.mjs → react-native-android-6OZ7MSM7.mjs} +121 -72
- package/dist/{gradle-DSrXb6lG.mjs → react-native-build-Dvd8hC21.mjs} +292 -15
- package/dist/react-native-doctor-DsoSF1Y9.mjs +234 -0
- package/dist/{react-native-ios-Dhq_eiYQ.mjs → react-native-ios-4u1Rn-GR.mjs} +71 -39
- package/dist/{recordings-D0d5aQt0.mjs → recordings-CQmfzAh7.mjs} +12 -9
- package/dist/registration-BcRgF6Ox.mjs +51 -0
- package/dist/{reload-C8JhxjSh.mjs → reload-BzkYabB-.mjs} +94 -47
- package/dist/reload-D7AVlb8N.mjs +2 -0
- package/dist/{remote-BiR6aYjy.mjs → remote-DjGDmlTZ.mjs} +26 -18
- package/dist/result-D2Ykz_iD.mjs +435 -0
- package/dist/{run-BtPgpKks.mjs → run-DidHghD1.mjs} +5 -5
- package/dist/selection-DSMbWEX2.mjs +620 -0
- package/dist/{server-bare-R2m_gsH8.mjs → server-bare-CafzuyFB.mjs} +3 -4
- package/dist/{server-command-CTtCkmcQ.mjs → server-command-C6QjeupS.mjs} +14 -7
- package/dist/{server-expo-DsguMGUF.mjs → server-expo-CrjB29pq.mjs} +54 -11
- package/dist/server-expo-D58c9L0M.mjs +2 -0
- package/dist/{settings-B717odTD.mjs → settings-C7O8A6ZI.mjs} +309 -119
- package/dist/settings-DpR-1Wnn.mjs +114 -0
- package/dist/settings-write-CzD60rOD.mjs +360 -0
- package/dist/settings.schema.json +176 -16
- package/dist/{simslim-CCr3rE-A.mjs → simslim-BNckWpXi.mjs} +14 -12
- package/dist/{slot-launch-DPt0m9Nd.mjs → slot-launch-CbfmNgM6.mjs} +15 -20
- package/dist/{spawn-entry-Dcb7sDUz.mjs → spawn-entry-jw19m8Nl.mjs} +0 -1
- package/dist/stage-Bps5oius.mjs +200 -0
- package/dist/{start-TXeMmmO2.mjs → start-Br-oxqMD.mjs} +1 -1
- package/dist/start-EojN4WFz.mjs +1364 -0
- package/dist/{state-D1Icyjlu.mjs → state--smjFSTL.mjs} +55 -13
- package/dist/{state-CG_OFoaA.mjs → state-08I3hw3_.mjs} +3 -2
- package/dist/{stats-BoY5sEPU.mjs → stats-D3GerlFW.mjs} +7 -13
- package/dist/stats-report-BzaPrRm6.mjs +16 -0
- package/dist/{status-BTA7kKiQ.mjs → status-BRROykC8.mjs} +7 -5
- package/dist/status-EvrK72L2.mjs +2 -0
- package/dist/{status-WgFbkRzj.mjs → status-WBDajew2.mjs} +554 -452
- package/dist/{status-watch-C23ILtf9.mjs → status-watch-Bg_u-pwR.mjs} +222 -25
- package/dist/status-worker.d.mts +1 -0
- package/dist/status-worker.mjs +19 -0
- package/dist/stim-desktop-D5OGpYZM.mjs +112 -0
- package/dist/{stop-DR6VoDIk.mjs → stop-DTZ9uTw3.mjs} +2 -2
- package/dist/{stop-DPEhunlw.mjs → stop-Dky10AEJ.mjs} +33 -23
- package/dist/{stop-BNmBMi1F.mjs → stop-Mv6W9FAk.mjs} +137 -98
- package/dist/supervisor-run.d.mts +8 -17
- package/dist/supervisor-run.mjs +56 -28
- package/dist/{support-CwjbFs9H.mjs → support-CNioewsd.mjs} +14 -14
- package/dist/{support-DMTqj3Hm.mjs → support-yUiOjnVY.mjs} +20 -13
- package/dist/swiftpm-artifact-inputs-DFcGsXDP.mjs +153 -0
- package/dist/swiftpm-macos-BIak-Rxv.mjs +532 -0
- package/dist/toolchain-BY8X8HXx.mjs +2 -0
- package/dist/toolchain-DpJMHq0n.mjs +876 -0
- package/dist/{trigger-CigAYjeL.mjs → trigger-Cbyc41d_.mjs} +21 -6
- package/dist/trigger-yb_nFzPF.mjs +2 -0
- package/dist/{warm-progress-BuY-Fvfn.mjs → warm-progress-CA3TgT3-.mjs} +263 -156
- package/dist/web-CZ07gd77.mjs +2 -0
- package/dist/{web-BDBMxDpx.mjs → web-DKx6yoFA.mjs} +20 -14
- package/dist/web-run.mjs +13 -12
- package/dist/windows-report.d.mts +1 -0
- package/dist/windows-report.mjs +18 -0
- package/dist/windows-report.ps1 +43 -0
- package/dist/{workspace-state-DJt_MMvf.mjs → workspace-state-U08dEzhG.mjs} +62 -58
- package/dist/{workspaces-C36s2jb9.mjs → workspaces-CpANmBlq.mjs} +1723 -1286
- package/dist/{worktree-CgvJYJ-Q.mjs → worktree-CHecZ4Oq.mjs} +1097 -547
- package/dist/worktree-ZqZVjD9K.mjs +2 -0
- package/dist/xcode-BXn9-xYx.mjs +896 -0
- package/package.json +7 -5
- package/shim/android-audio/Main.java +24 -0
- package/shim/android-audio/README.md +17 -0
- package/shim/android-audio.jar +0 -0
- package/shim/android-optimizations.gradle +7 -5
- package/dist/activity-BSV745Kz.mjs +0 -629
- package/dist/api-qvOzWyfO.mjs +0 -154
- package/dist/api-run.mjs +0 -294
- package/dist/app-install-BIKtMfPq.mjs +0 -896
- package/dist/artifact-lifecycle-DzPpBYvK.mjs +0 -30
- package/dist/budget-f7516Zk0.mjs +0 -4106
- package/dist/build-facts-DcLv2HSd.d.mts +0 -111
- package/dist/cancellation-C_22VQTH.mjs +0 -24
- package/dist/client-qQAaXSUs.mjs +0 -1771
- package/dist/config-BYDxlMY3.mjs +0 -562
- package/dist/device-DuiPJQSn.mjs +0 -290
- package/dist/device-lease-BX1sJQ2E.mjs +0 -1224
- package/dist/device-remote-xRT0Vmo9.mjs +0 -1272
- package/dist/eas-session-ledger-Cm0Gwq2F.mjs +0 -207
- package/dist/exec-DqKo9GKJ.mjs +0 -268
- package/dist/git-DDfFzkMm.mjs +0 -45
- package/dist/launch-verify-B6Q8hZP-.mjs +0 -428
- package/dist/logs-BGrEUaEs.mjs +0 -383
- package/dist/macos-Ch5VJmcS.mjs +0 -584
- package/dist/metro-gateway-CX9Xlkq2.mjs +0 -103
- package/dist/miss-reason-mKzZ4VvN.mjs +0 -238
- package/dist/native-android-D5qc3-_v.mjs +0 -226
- package/dist/native-gradle-inputs-BsLRrl7u.mjs +0 -349
- package/dist/ndjson-Du3j0AQ9.d.mts +0 -17
- package/dist/plan-C4TjdPsR.mjs +0 -260
- package/dist/prebuild-DYbucPXy.mjs +0 -212
- package/dist/preview-78a9kR_-.mjs +0 -1011
- package/dist/react-native-build-CtCccJtb.mjs +0 -239
- package/dist/react-native-doctor-CfRnFfjs.mjs +0 -78
- package/dist/remote-cache-OyOyVIS3.mjs +0 -526
- package/dist/result-CaJg5Iat.mjs +0 -186
- package/dist/server-expo-Bigriskl.mjs +0 -2
- package/dist/settings-BORNaaCO.mjs +0 -402
- package/dist/settings-vk3mJGSm.d.mts +0 -13
- package/dist/spawn-claims-DVS5RkMS.mjs +0 -72
- package/dist/stage-KNTQopqv.mjs +0 -157
- package/dist/start-BWqzODpb.mjs +0 -1116
- package/dist/stim-desktop-BzBN2Em2.mjs +0 -63
- package/dist/swiftpm-macos-DRNVJWlb.mjs +0 -119
- package/dist/tailnet-Dh-qiYzG.mjs +0 -265
- package/dist/toolchain-BFkAcstd.mjs +0 -2
- package/dist/toolchain-DxSsNssu.mjs +0 -1657
- package/dist/trigger-9_USgmxz.mjs +0 -2
- package/dist/web-Dq-i3wzJ.mjs +0 -2
- package/dist/worktree-DpLdCHga.mjs +0 -2
- package/dist/{api-run.d.mts → doctor-fingerprint.d.mts} +0 -0
- package/dist/{errors-DzkMYh8Q.mjs → errors-ccaPc4ox.mjs} +2 -2
|
@@ -1,31 +1,32 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { d as
|
|
6
|
-
import { n as
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { t as
|
|
1
|
+
import { _ as reportSignal } from "./exec-DEoAhcze.mjs";
|
|
2
|
+
import { i as formatDuration, l as phaseLine, m as shortHash } from "./command-output-gwpm28fu.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-Cvwn54qV.mjs";
|
|
5
|
+
import { d as runCancellationSignal } from "./native-run-NwUuxbkg.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";
|
|
7
|
+
import { d as optimizationBuildProfile, l as artifactCachePolicy, p as resolveOptimizations } from "./errors-ccaPc4ox.mjs";
|
|
8
|
+
import { b as bundlerPin } from "./xcode-BXn9-xYx.mjs";
|
|
9
|
+
import { a as iosToolchainAsync } from "./toolchain-DpJMHq0n.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-CNioewsd.mjs";
|
|
11
|
+
import { t as readDoctorFingerprint } from "./doctor-fingerprint-DZLoYFVb.mjs";
|
|
12
|
+
import { i as planEasDevelopmentBuild, n as easDeviceBuildRemedy } from "./eas-build-CwknaQYj.mjs";
|
|
13
|
+
import { a as staleNativeDirRefusal, o as explainBuildMiss, r as recordPrebuild, s as fingerprintErrorMissReason } from "./prebuild-D4JoEAEs.mjs";
|
|
14
|
+
import { r as planPayload, t as planCachedBuild } from "./build-plan-DUC8Ka9y.mjs";
|
|
15
|
+
import { t as IosRecipeRefusal } from "./ios-project-CZhKODF3.mjs";
|
|
16
|
+
import { a as hostedIosSelectors } from "./remote-DjGDmlTZ.mjs";
|
|
17
|
+
import { c as copyAppAside, i as DEFAULT_DEPS, n as iosMetroRuntime, r as iosProcessRuntime, u as writeIpTxt } from "./launch-BjxemNpK.mjs";
|
|
18
|
+
import { t as planHostedDevice } from "./plan-placement-DIsMtN-d.mjs";
|
|
16
19
|
import { rmSync } from "node:fs";
|
|
17
20
|
import chalk from "chalk";
|
|
18
21
|
//#region src/integrations/react-native-ios-plan.ts
|
|
19
|
-
function note(line) {
|
|
20
|
-
console.error(line);
|
|
21
|
-
}
|
|
22
22
|
function refuse(refusal, lines = []) {
|
|
23
23
|
return {
|
|
24
24
|
refusal,
|
|
25
25
|
lines
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
|
-
async function planReactNativeIos(root, opts, d, schemeProblem, { context: settingsContext, settings }) {
|
|
28
|
+
async function planReactNativeIos(root, opts, d, schemeProblem, { context: settingsContext, settings }, operation = processContext(root)) {
|
|
29
|
+
const note = (line) => operation.output("stderr", `${line}\n`);
|
|
29
30
|
const iosProject = resolveIosProjectDir(settings, root);
|
|
30
31
|
const [shapeError, ...moreShapeErrors] = settingShapeErrors(settings);
|
|
31
32
|
if (shapeError) return refuse({
|
|
@@ -65,7 +66,7 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
|
|
|
65
66
|
const isExpo = d.detectIsExpo(root);
|
|
66
67
|
const settingsLayersForOrigin = d.settingsLayers(settingsContext);
|
|
67
68
|
const iosRemote = remoteIosSetting(settings);
|
|
68
|
-
const modelRefusal = deviceModelRefusal({
|
|
69
|
+
const modelRefusal = await deviceModelRefusal({
|
|
69
70
|
slot,
|
|
70
71
|
deviceTypeFlag: opts.deviceType,
|
|
71
72
|
runtimeFlag: opts.runtime,
|
|
@@ -76,11 +77,15 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
|
|
|
76
77
|
physical: false,
|
|
77
78
|
remoteBackend: iosRemote?.kind === "backend" ? iosRemote.backend : null,
|
|
78
79
|
hosted: iosRemote?.kind === "machine",
|
|
79
|
-
listRuntimes: d.listIosRuntimes
|
|
80
|
+
listRuntimes: d.listIosRuntimes,
|
|
81
|
+
signal: operation?.signal
|
|
80
82
|
});
|
|
81
83
|
if (modelRefusal) return refuse(modelRefusal);
|
|
82
84
|
if (opts.easProfile !== void 0) {
|
|
83
85
|
const eas = await planEasDevelopmentBuild({
|
|
86
|
+
context: operation,
|
|
87
|
+
env: operation?.env,
|
|
88
|
+
signal: operation?.signal,
|
|
84
89
|
root,
|
|
85
90
|
platform: "ios",
|
|
86
91
|
profile: opts.easProfile,
|
|
@@ -106,7 +111,7 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
|
|
|
106
111
|
remedy: "Run `stim ios` to build for the remote device, or unset ios.remote to plan the owned simulator."
|
|
107
112
|
});
|
|
108
113
|
const scheme = resolveSchemeSelection(opts, settings);
|
|
109
|
-
const refusal = schemeProblem(scheme);
|
|
114
|
+
const refusal = await schemeProblem(scheme);
|
|
110
115
|
if (refusal) return refuse({
|
|
111
116
|
code: refusal.code,
|
|
112
117
|
message: refusal.message ?? "",
|
|
@@ -117,11 +122,16 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
|
|
|
117
122
|
const cachePolicy = artifactCachePolicy(optimizations, opts.buildCache !== false, isReleaseConfiguration(configuration));
|
|
118
123
|
let fingerprint;
|
|
119
124
|
try {
|
|
120
|
-
fingerprint = await
|
|
125
|
+
fingerprint = operation && reportSignal(operation) ? await readDoctorFingerprint(operation, {
|
|
126
|
+
root,
|
|
127
|
+
platform: "ios",
|
|
128
|
+
iosProjectPath: iosProject.relative
|
|
129
|
+
}) : await d.fingerprintProject(root, {
|
|
121
130
|
platform: "ios",
|
|
122
131
|
iosProjectPath: iosProject.relative
|
|
123
132
|
});
|
|
124
133
|
} catch (error) {
|
|
134
|
+
operation?.signal.throwIfAborted();
|
|
125
135
|
note(chalk.dim(`Fingerprinting failed: ${error?.message || error}`));
|
|
126
136
|
}
|
|
127
137
|
if (!fingerprint?.hash) return refuse({
|
|
@@ -139,6 +149,7 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
|
|
|
139
149
|
let placement;
|
|
140
150
|
if (iosRemote?.kind === "machine") {
|
|
141
151
|
const planned = await planHostedDevice({
|
|
152
|
+
operation,
|
|
142
153
|
root,
|
|
143
154
|
slot,
|
|
144
155
|
platform: "ios",
|
|
@@ -146,6 +157,8 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
|
|
|
146
157
|
selectors: hostedIosSelectors(resolveDeviceType(opts.deviceType, settings), resolveRuntime(opts.runtime, settings)),
|
|
147
158
|
sameKey: (choice) => keyArch("runtime" in choice ? choice.architecture : null) === arch,
|
|
148
159
|
...remoteEasFallbackSetting(settings) ? { eas: () => d.checkEasFallback({
|
|
160
|
+
operation,
|
|
161
|
+
env: operation?.env,
|
|
149
162
|
root,
|
|
150
163
|
platform: "ios",
|
|
151
164
|
slot,
|
|
@@ -182,6 +195,7 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
|
|
|
182
195
|
providerConfig: d.resolveCacheProviderConfig(settingsContext),
|
|
183
196
|
expoRemote: cachePolicy.remote && !buildProfile && !scheme ? { runOptions: iosProviderRunOptions(configuration, arch) } : null
|
|
184
197
|
}, {
|
|
198
|
+
operation,
|
|
185
199
|
loadCacheProvider: d.loadCacheProvider,
|
|
186
200
|
loadProjectProvider: d.loadProjectProvider,
|
|
187
201
|
checkEasAuth: d.checkEasAuth,
|
|
@@ -197,7 +211,7 @@ async function planReactNativeIos(root, opts, d, schemeProblem, { context: setti
|
|
|
197
211
|
//#endregion
|
|
198
212
|
//#region src/integrations/react-native-ios.ts
|
|
199
213
|
const PLATFORM = "ios";
|
|
200
|
-
function reactNativeIosSchemeProblem(root, iosDir, scheme, isExpo, d) {
|
|
214
|
+
async function reactNativeIosSchemeProblem(root, iosDir, scheme, isExpo, d) {
|
|
201
215
|
if (scheme === void 0) return null;
|
|
202
216
|
if (!scheme.trim()) return {
|
|
203
217
|
code: "STIM_BAD_ARG",
|
|
@@ -207,7 +221,7 @@ function reactNativeIosSchemeProblem(root, iosDir, scheme, isExpo, d) {
|
|
|
207
221
|
if (isExpo) return null;
|
|
208
222
|
const project = d.discoverXcodeProject(root, iosDir);
|
|
209
223
|
if (project.error) return project.error;
|
|
210
|
-
return d.resolveScheme(project, { scheme }).error ?? null;
|
|
224
|
+
return (await d.resolveScheme(project, { scheme })).error ?? null;
|
|
211
225
|
}
|
|
212
226
|
const runtimeKind = (configuration) => isReleaseConfiguration(configuration) ? "embedded-js" : "metro";
|
|
213
227
|
function reactNativeIosProject(root, settings, dependencies = {}) {
|
|
@@ -218,10 +232,10 @@ function reactNativeIosProject(root, settings, dependencies = {}) {
|
|
|
218
232
|
const isExpo = d.detectIsExpo(root);
|
|
219
233
|
const iosProject = resolveIosProjectDir(settings, root);
|
|
220
234
|
return {
|
|
221
|
-
plan: (options, resolved) => planReactNativeIos(root, options, {
|
|
235
|
+
plan: (options, resolved, operation) => planReactNativeIos(root, options, {
|
|
222
236
|
...DEFAULT_DEPS,
|
|
223
237
|
...dependencies
|
|
224
|
-
}, (scheme) => reactNativeIosSchemeProblem(root, iosProject.dir, scheme, isExpo, d), resolved),
|
|
238
|
+
}, (scheme) => reactNativeIosSchemeProblem(root, iosProject.dir, scheme, isExpo, d), resolved, operation),
|
|
225
239
|
isExpo,
|
|
226
240
|
bundleId: () => d.detectBundleId(root, iosProject.dir),
|
|
227
241
|
schemeProblem: (scheme) => reactNativeIosSchemeProblem(root, iosProject.dir, scheme, isExpo, d),
|
|
@@ -240,7 +254,11 @@ function reactNativeIosProject(root, settings, dependencies = {}) {
|
|
|
240
254
|
function fail(failure) {
|
|
241
255
|
throw new IosRecipeRefusal(failure);
|
|
242
256
|
}
|
|
243
|
-
function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, buildProfile, target, device, easProfile, optimizations, cache: cachePolicy, phase, note, logWriter, estimates, step, setPodsMs }, isExpo, iosProject, d) {
|
|
257
|
+
function reactNativeIosArtifact({ operation, root, logFile, configuration, buildScheme, buildProfile, target, device, easProfile, optimizations, cache: cachePolicy, phase, note, logWriter, estimates, step, setPodsMs }, isExpo, iosProject, d) {
|
|
258
|
+
const signingOptions = {
|
|
259
|
+
env: operation?.env,
|
|
260
|
+
signal: runCancellationSignal(operation) ?? operation?.signal
|
|
261
|
+
};
|
|
244
262
|
const physical = device !== null;
|
|
245
263
|
const { udid } = target;
|
|
246
264
|
const release = isReleaseConfiguration(configuration);
|
|
@@ -275,8 +293,9 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
|
|
|
275
293
|
note(chalk.dim(phaseLine("", remedy)));
|
|
276
294
|
return null;
|
|
277
295
|
};
|
|
278
|
-
const gateProfile = () => {
|
|
279
|
-
const gate = d.gateProfileForDevice({
|
|
296
|
+
const gateProfile = async () => {
|
|
297
|
+
const gate = await d.gateProfileForDevice({
|
|
298
|
+
...signingOptions,
|
|
280
299
|
appPath: path,
|
|
281
300
|
udid: physicalDevice.udid,
|
|
282
301
|
configuration
|
|
@@ -299,7 +318,8 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
|
|
|
299
318
|
}
|
|
300
319
|
ownTemporary(copy.tmpDir);
|
|
301
320
|
writeIpTxt(copy.appPath, lanAddress, metroPort);
|
|
302
|
-
const sealed = d.sealAppForDevice({
|
|
321
|
+
const sealed = await d.sealAppForDevice({
|
|
322
|
+
...signingOptions,
|
|
303
323
|
appPath: copy.appPath,
|
|
304
324
|
udid: physicalDevice.udid,
|
|
305
325
|
configuration,
|
|
@@ -324,6 +344,8 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
|
|
|
324
344
|
if (!release) return cachedPath;
|
|
325
345
|
phase("swap", `regenerating this workspace's JS for the cached ${configuration} app`);
|
|
326
346
|
const swap = await d.swapJsBundle({
|
|
347
|
+
context: operation,
|
|
348
|
+
onHeartbeat: note,
|
|
327
349
|
root,
|
|
328
350
|
iosDir: iosProject.dir,
|
|
329
351
|
isExpo,
|
|
@@ -373,13 +395,15 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
|
|
|
373
395
|
return identity();
|
|
374
396
|
},
|
|
375
397
|
cache: () => filesystemBuildCapability({
|
|
398
|
+
context: operation,
|
|
376
399
|
resolve: d.resolveBuild,
|
|
377
400
|
store: d.storeBuild,
|
|
378
401
|
sources: storeSources
|
|
379
402
|
}),
|
|
380
|
-
validateExternal(path) {
|
|
403
|
+
async validateExternal(path) {
|
|
381
404
|
if (device) {
|
|
382
|
-
const gate = d.gateProfileForDevice({
|
|
405
|
+
const gate = await d.gateProfileForDevice({
|
|
406
|
+
...signingOptions,
|
|
383
407
|
appPath: path,
|
|
384
408
|
udid: device.udid,
|
|
385
409
|
configuration
|
|
@@ -399,7 +423,7 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
|
|
|
399
423
|
materialize,
|
|
400
424
|
async prepare(beforePrepare) {
|
|
401
425
|
mutatingSteps = [];
|
|
402
|
-
const prebuild = d.planPrebuild(root, PLATFORM, {
|
|
426
|
+
const prebuild = await d.planPrebuild(root, PLATFORM, {
|
|
403
427
|
isExpo,
|
|
404
428
|
fingerprint,
|
|
405
429
|
sources: fingerprintSources
|
|
@@ -426,7 +450,7 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
|
|
|
426
450
|
if (isExpo && buildScheme !== void 0) {
|
|
427
451
|
const project = d.discoverXcodeProject(root, iosProject.dir);
|
|
428
452
|
if (project.error) fail({ ...project.error });
|
|
429
|
-
const schemeError = d.resolveScheme(project, { scheme: buildScheme }).error;
|
|
453
|
+
const schemeError = (await d.resolveScheme(project, { scheme: buildScheme })).error;
|
|
430
454
|
if (schemeError) fail({ ...schemeError });
|
|
431
455
|
}
|
|
432
456
|
const podState = d.readPodState(root, iosProject.dir);
|
|
@@ -435,6 +459,7 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
|
|
|
435
459
|
if (action.install) {
|
|
436
460
|
step("pods");
|
|
437
461
|
const result = await d.runPodInstall(root, logWriter(), {
|
|
462
|
+
onHeartbeat: note,
|
|
438
463
|
estimateMs: estimates().podsMs,
|
|
439
464
|
directory: iosProject.dir
|
|
440
465
|
});
|
|
@@ -511,6 +536,7 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
|
|
|
511
536
|
return identity();
|
|
512
537
|
},
|
|
513
538
|
compile: () => d.buildIos({
|
|
539
|
+
context: operation,
|
|
514
540
|
root,
|
|
515
541
|
iosDir: iosProject.dir,
|
|
516
542
|
scheme: buildScheme,
|
|
@@ -521,6 +547,8 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
|
|
|
521
547
|
logWriter: logWriter(),
|
|
522
548
|
...configuration ? { configuration } : {},
|
|
523
549
|
estimateMs: estimates().coldBuildMs,
|
|
550
|
+
onHeartbeat: note,
|
|
551
|
+
onNote: note,
|
|
524
552
|
optimizations
|
|
525
553
|
}),
|
|
526
554
|
explain(rekeyedBy) {
|
|
@@ -548,8 +576,11 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
|
|
|
548
576
|
projectRoot: root,
|
|
549
577
|
iosProjectPath: iosProject.relative
|
|
550
578
|
})),
|
|
551
|
-
|
|
552
|
-
load: () => d.loadProjectProvider(root, {
|
|
579
|
+
expoCache: physical || !cachePolicy.remote || buildProfile || buildScheme ? null : {
|
|
580
|
+
load: () => d.loadProjectProvider(root, {
|
|
581
|
+
context: operation,
|
|
582
|
+
isExpo
|
|
583
|
+
}),
|
|
553
584
|
runOptions: iosProviderRunOptions(configuration, target.keyArch)
|
|
554
585
|
},
|
|
555
586
|
offload: {
|
|
@@ -560,10 +591,10 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
|
|
|
560
591
|
unsupported: target.offloadRefusal ?? (release ? `${configuration} builds build here` : !cachePolicy.write ? "the build cache is off" : !runtime ? udid ? `the runtime of simulator ${udid} is unknown` : "no simulator runtime is available for worker selection" : null)
|
|
561
592
|
};
|
|
562
593
|
},
|
|
563
|
-
target: (runtime) => ({
|
|
594
|
+
target: async (runtime) => ({
|
|
564
595
|
platform: "ios",
|
|
565
596
|
local: {
|
|
566
|
-
...
|
|
597
|
+
...await iosToolchainAsync(root),
|
|
567
598
|
...target.hostedArchitecture ? { arch: target.hostedArchitecture === "x86_64" ? "x64" : "arm64" } : {}
|
|
568
599
|
},
|
|
569
600
|
runtime,
|
|
@@ -571,6 +602,7 @@ function reactNativeIosArtifact({ root, logFile, configuration, buildScheme, bui
|
|
|
571
602
|
}),
|
|
572
603
|
request: (runtime) => ({
|
|
573
604
|
platform: "ios",
|
|
605
|
+
cacheArtifact: cachePolicy.write && cachePolicy.remote,
|
|
574
606
|
runtime,
|
|
575
607
|
configuration,
|
|
576
608
|
scheme: buildScheme ?? null,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { existsSync
|
|
1
|
+
import { yt as gitCommonDirOnDisk } from "./settings-C7O8A6ZI.mjs";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
3
|
import { loadConfig, recordingEnabled, workspaceRecordingsDir } from "@stim-cli/core/state";
|
|
4
|
+
import { rm } from "node:fs/promises";
|
|
4
5
|
//#region src/workspace/recordings.ts
|
|
5
6
|
/** `recording.enabled` for one registered workspace, from `STIM_RECORDING` and its workspace, repo and machine layers. */
|
|
6
7
|
function workspaceRecordingEnabled(path, project, config, env) {
|
|
@@ -21,17 +22,19 @@ function recordingLayers() {
|
|
|
21
22
|
* (`before`, from {@link recordingLayers}) and after it, and returns those workspaces. stim-server stops
|
|
22
23
|
* recording them once `stim status` shows the change.
|
|
23
24
|
*/
|
|
24
|
-
function deleteTurnedOffRecordings(before) {
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
async function deleteTurnedOffRecordings(before) {
|
|
26
|
+
const deleted = [];
|
|
27
|
+
for (const [path, enabled] of recordingLayers()) {
|
|
28
|
+
if (enabled || before.get(path) === false) continue;
|
|
27
29
|
const dir = workspaceRecordingsDir(path);
|
|
28
|
-
if (!existsSync(dir))
|
|
29
|
-
|
|
30
|
+
if (!existsSync(dir)) continue;
|
|
31
|
+
await rm(dir, {
|
|
30
32
|
recursive: true,
|
|
31
33
|
force: true
|
|
32
34
|
});
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
+
deleted.push(path);
|
|
36
|
+
}
|
|
37
|
+
return deleted;
|
|
35
38
|
}
|
|
36
39
|
//#endregion
|
|
37
40
|
export { recordingLayers as n, workspaceRecordingEnabled as r, deleteTurnedOffRecordings as t };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { g as process_identity_exports } from "./exec-DEoAhcze.mjs";
|
|
2
|
+
import { readMacosRecord } from "@stim-cli/core/state";
|
|
3
|
+
//#region src/macos/registration.ts
|
|
4
|
+
function waitForMacosRegistration(root, launchId, child, deadline) {
|
|
5
|
+
return new Promise((resolve, reject) => {
|
|
6
|
+
let settled = false;
|
|
7
|
+
let repairTimer;
|
|
8
|
+
let deadlineTimer;
|
|
9
|
+
const finish = (record, error) => {
|
|
10
|
+
if (settled) return;
|
|
11
|
+
settled = true;
|
|
12
|
+
clearTimeout(repairTimer);
|
|
13
|
+
clearTimeout(deadlineTimer);
|
|
14
|
+
child.removeListener("exit", onExit);
|
|
15
|
+
child.removeListener("error", onError);
|
|
16
|
+
child.removeListener("message", onMessage);
|
|
17
|
+
child.removeListener("disconnect", check);
|
|
18
|
+
if (child.connected) child.disconnect();
|
|
19
|
+
if (error) reject(error);
|
|
20
|
+
else resolve(record);
|
|
21
|
+
};
|
|
22
|
+
const check = () => {
|
|
23
|
+
if (settled) return;
|
|
24
|
+
if (Date.now() >= deadline) return finish(null);
|
|
25
|
+
const current = readMacosRecord(root);
|
|
26
|
+
if (current?.launchId === launchId && current.app && current.supervisor && (0, process_identity_exports.inspectProcessIdentity)(current.app) === "same" && (0, process_identity_exports.inspectProcessIdentity)(current.supervisor) === "same") finish(current);
|
|
27
|
+
else if (child.exitCode !== null || child.signalCode !== null) finish(null);
|
|
28
|
+
};
|
|
29
|
+
const onExit = () => {
|
|
30
|
+
check();
|
|
31
|
+
finish(null);
|
|
32
|
+
};
|
|
33
|
+
const onError = (error) => finish(null, error);
|
|
34
|
+
const onMessage = (message) => {
|
|
35
|
+
if (message === "macos-registered") check();
|
|
36
|
+
};
|
|
37
|
+
const repair = () => {
|
|
38
|
+
check();
|
|
39
|
+
if (!settled) repairTimer = setTimeout(repair, 1e3);
|
|
40
|
+
};
|
|
41
|
+
child.once("exit", onExit);
|
|
42
|
+
child.once("error", onError);
|
|
43
|
+
child.on("message", onMessage);
|
|
44
|
+
child.once("disconnect", check);
|
|
45
|
+
deadlineTimer = setTimeout(() => finish(null), Math.max(0, deadline - Date.now()));
|
|
46
|
+
check();
|
|
47
|
+
if (!settled) repairTimer = setTimeout(repair, 100);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
export { waitForMacosRegistration as t };
|