stim 1.37.0 → 1.38.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/dist/{acquire-artifact-zBUbPuDP.mjs → acquire-artifact-QKPDkesw.mjs} +1 -1
- package/dist/{act-BGAFjY8f.mjs → act-Bh3t-NuH.mjs} +23 -29
- package/dist/{activity-CdpXXSq2.mjs → activity-CANftndU.mjs} +3 -3
- package/dist/{agent-device-usage-output-D0582GHy.mjs → agent-device-usage-output-CuROXefb.mjs} +3 -3
- package/dist/{android-CGctfYpv.mjs → android-27_JgJ1T.mjs} +3 -3
- package/dist/{android-CaSsewbu.mjs → android-Biwc4Dck.mjs} +5 -5
- package/dist/{android-BPBARZMR.mjs → android-DGLG_VQ3.mjs} +1 -1
- package/dist/{android-BBwLpxRh.mjs → android-Z6Eev9rL.mjs} +44 -38
- package/dist/{android-cas-p8gna03x.mjs → android-cas-BDAwwL82.mjs} +2 -2
- package/dist/{android-image-DY8KxK2m.mjs → android-image-BcUD6bPi.mjs} +2 -2
- package/dist/api.d.mts +2 -2
- package/dist/api.mjs +25 -25
- package/dist/{apk-signed-tail-BMv-KLcB.mjs → apk-signed-tail-DHMkXs4s.mjs} +2 -2
- package/dist/{artifact-BsimBWxG.mjs → artifact-Dc1GsK7o.mjs} +28 -14
- package/dist/{artifact-BrNZTZtA.mjs → artifact-sGoFVK1q.mjs} +11 -11
- package/dist/{auto-placement-CFKNrWLU.mjs → auto-placement-RNh4kx2T.mjs} +6 -6
- package/dist/{browser-web-YFsgCP_a.mjs → browser-web-7Oj57Roa.mjs} +10 -10
- package/dist/{build-DIhuoozz.mjs → build-DkE5vjp1.mjs} +22 -22
- package/dist/{build-cache-Dt-dhCJF.mjs → build-cache-CJ65Efv7.mjs} +7 -4
- package/dist/{build-plan-CgnLDof9.mjs → build-plan-DWajg5l_.mjs} +7 -6
- package/dist/{cli-BGUrlSH3.mjs → cli-BSlwv9hI.mjs} +18 -18
- package/dist/cli.mjs +1 -1
- package/dist/{client-DU6dnGX1.mjs → client-qwmHFSga.mjs} +12 -8
- package/dist/collector-run.mjs +3 -3
- package/dist/{command-output-ByEmIwur.mjs → command-output-DsjhOzJ3.mjs} +1 -1
- package/dist/{dependencies-BozoTBqa.mjs → dependencies-oku1ZLep.mjs} +76 -41
- package/dist/{dependency-state-BQeC4FVn.mjs → dependency-state-CBhPJAs_.mjs} +1 -1
- package/dist/{dev-client-3SQzMRXZ.mjs → dev-client-DL5UtVdx.mjs} +2 -2
- package/dist/{device-DGMvzoZZ.mjs → device-CxMwX0VO.mjs} +15 -14
- package/dist/{device-android-CBat355q.mjs → device-android-CSlBXuh_.mjs} +7 -7
- package/dist/{device-capacity-DWUOvY13.mjs → device-capacity-D_IlxZRL.mjs} +78 -31
- package/dist/device-host-worker.mjs +24 -12
- package/dist/{device-pool-B8IqZKqm.mjs → device-pool-BEaTdtss.mjs} +2 -2
- package/dist/{device-provision-DWAoSKEw.mjs → device-provision-C9NPdCne.mjs} +8 -8
- package/dist/{device-BIg1iExg.mjs → device-yfuJ-v4s.mjs} +9 -9
- package/dist/{doctor-CxgR5vPi.mjs → doctor-BAA3zN5U.mjs} +1 -1
- package/dist/{doctor-CPzwqcXY.mjs → doctor-BQ1Kl44s.mjs} +13 -19
- package/dist/{doctor-Bknt0121.mjs → doctor-QNzDE4aW.mjs} +18 -18
- package/dist/doctor-fingerprint.mjs +1 -1
- package/dist/{doctor-watchman-CPE4C8KV.mjs → doctor-watchman-B8e3s9ko.mjs} +3 -3
- package/dist/{eas-build-CwOXKJwa.mjs → eas-build-4rg9WpEg.mjs} +2 -2
- package/dist/{eas-fallback-Cnb12a50.mjs → eas-fallback-UGo0SG7T.mjs} +3 -3
- package/dist/{eas-session-ledger-TE1miVz5.mjs → eas-session-ledger-BDpSdFDM.mjs} +4 -4
- package/dist/{error-diagnostics-CXTT3bYC.mjs → error-diagnostics-CW9xl6ot.mjs} +7 -7
- package/dist/{gc-0jdcnDHs.mjs → gc-3DHVCn-k.mjs} +49 -33
- package/dist/{gc-1ZLq1djg.mjs → gc-BQ5dXnC7.mjs} +2 -2
- package/dist/{guide-COxIANZu.mjs → guide-DqJCc4vW.mjs} +138 -43
- package/dist/{hosted-android-D8JbIzgC.mjs → hosted-android-gwLspaz6.mjs} +3 -3
- package/dist/{hosted-client-BLwuXEZS.mjs → hosted-client-B_h_bTlz.mjs} +2 -2
- package/dist/{hosted-logs-BWEQNJx_.mjs → hosted-logs-BpQSRDRU.mjs} +15 -8
- package/dist/{hosted-logs-sync-uWSrH2mf.mjs → hosted-logs-sync-D3L1hDpM.mjs} +5 -5
- package/dist/{hosted-macos-BnCYAv1y.mjs → hosted-macos-GK4O1s7x.mjs} +5 -5
- package/dist/{hosted-native-OBT2sJxn.mjs → hosted-native-B6ur_0OJ.mjs} +7 -7
- package/dist/{ios-Bjz7aPLy.mjs → ios-Bi0bQiZ_.mjs} +8 -8
- package/dist/{ios-BveW7qK1.mjs → ios-DQEzde6f.mjs} +9 -6
- package/dist/{ios-CGyx4PA7.mjs → ios-M7nRVb33.mjs} +94 -32
- package/dist/{ios-device-ByrDWSpC.mjs → ios-device-BLm1BZB4.mjs} +1 -1
- package/dist/{ios-project-XHg87vyQ.mjs → ios-project-Bsm-eqwv.mjs} +6 -6
- package/dist/ios-runtime-DLiKoOkd.mjs +150 -0
- package/dist/{ios-signing-CRYQ1W42.mjs → ios-signing-rWR_Mu5Z.mjs} +1 -1
- package/dist/{ios-state-enWc5P6U.mjs → ios-state-tzD0s7pt.mjs} +1 -1
- package/dist/{js-swap-C6vl3vEd.mjs → js-swap-Cuky0ZAQ.mjs} +5 -5
- package/dist/{launch-f3RnbFW5.mjs → launch-B-pkNlqg.mjs} +17 -17
- package/dist/{lightened-Cdfmo8MO.mjs → lightened-KHWHmzGs.mjs} +4 -4
- package/dist/{logs-x3em2-oI.mjs → logs-B0etn-BD.mjs} +6 -6
- package/dist/{logs-DAjxBF3c.mjs → logs-HomiqPhV.mjs} +4 -4
- package/dist/{macos-ZfpWlzBO.mjs → macos-C5liDnbP.mjs} +1 -1
- package/dist/macos-run.mjs +1 -1
- package/dist/{macos-D_LAseN9.mjs → macos-zMxSibx5.mjs} +18 -19
- package/dist/maintenance-run.mjs +4 -4
- package/dist/{metro-TIQ1Wft-.mjs → metro-Cj6W4qOO.mjs} +1 -1
- package/dist/{metro-request-DcUxyaq8.mjs → metro-request-BWCl3Zco.mjs} +1 -1
- package/dist/{prebuild-BKkj3OyL.mjs → miss-reason-CeHvzeVm.mjs} +10 -270
- package/dist/{named-ports-BfEMi9bK.mjs → named-ports-DZ8DrkH1.mjs} +1 -1
- package/dist/{native-android-COOrNDk2.mjs → native-android-DtWLzg6g.mjs} +15 -15
- package/dist/{native-gradle-artifact-inputs-B4Mwydmf.mjs → native-gradle-artifact-inputs-D4w20_6d.mjs} +3 -3
- package/dist/{native-runtime-UxUBU8up.mjs → native-runtime-BfvvAJLd.mjs} +6 -6
- package/dist/{native-xcode-inputs-DUv7Q3ok.mjs → native-xcode-inputs-BHvnAq4o.mjs} +2 -2
- package/dist/{native-xcode-ios-DXcteLVi.mjs → native-xcode-ios-CYxrg_kK.mjs} +15 -15
- package/dist/offload-worker.mjs +19 -18
- package/dist/{ownership-CQTg6v1d.mjs → ownership-BLgOimfp.mjs} +2 -2
- package/dist/{phone-reverses-CHtco460.mjs → phone-reverses-vRveZKSG.mjs} +3 -3
- package/dist/{placement-log-oQnELAvQ.mjs → placement-log-CM0DSELs.mjs} +1 -1
- package/dist/{plan-placement-45EOlIG1.mjs → plan-placement-CIrvKq8y.mjs} +5 -5
- package/dist/{ports-DKO7EUNt.mjs → ports-CKORWlC0.mjs} +2 -2
- package/dist/{project-BCtQz48d.mjs → project-DIo71tGq.mjs} +14 -14
- package/dist/{react-native-android-MI4ktuhL.mjs → react-native-android-B7VYSlKj.mjs} +36 -27
- package/dist/{react-native-build-dixAL2G8.mjs → react-native-build-CFYTYmG4.mjs} +10 -7
- package/dist/{react-native-doctor-CvkWincj.mjs → react-native-doctor-CnpVfE0k.mjs} +5 -5
- package/dist/{react-native-ios-DF5otoBR.mjs → react-native-ios-ByeXo_NP.mjs} +15 -14
- package/dist/{recorded-build-CGHGCO8m.mjs → recorded-build-B4prJjSD.mjs} +1 -1
- package/dist/{recordings-BcOzqFD1.mjs → recordings-Byu5SzlI.mjs} +1 -1
- package/dist/{reload-DWxmO9dY.mjs → reload-DANrKhQR.mjs} +1 -1
- package/dist/{reload-DGWfNFwQ.mjs → reload-DTd9g1EG.mjs} +13 -13
- package/dist/{remote-DWYGW2f5.mjs → remote-BWuq9qHV.mjs} +3 -3
- package/dist/{remote-CV2jBcLv.mjs → remote-NOM82XE0.mjs} +8 -8
- package/dist/{result-CWyxwPvZ.mjs → result-C-ISEJ5F.mjs} +15 -15
- package/dist/{run-FZtMQgrx.mjs → run-DQwx6djG.mjs} +1 -1
- package/dist/{server-bare-Ksh1NKeI.mjs → server-bare-B_wRfchQ.mjs} +1 -1
- package/dist/{server-command-BO2DIsJV.mjs → server-command-DgXYowQf.mjs} +5 -5
- package/dist/{server-expo-ZS9_WaNG.mjs → server-expo-ByBM8DVv.mjs} +9 -7
- package/dist/server-expo-D7rwjAFp.mjs +2 -0
- package/dist/{settings-TYrzDh8T.mjs → settings-BthPoY3t.mjs} +2 -2
- package/dist/{settings-Ag4pbs0z.mjs → settings-Cz8kQJzr.mjs} +44 -8
- package/dist/{settings-payload-CUM0DYwz.mjs → settings-payload-BOcxsZ6k.mjs} +2 -2
- package/dist/{settings-write-D_9_IEx7.mjs → settings-write-BuMPL1rd.mjs} +3 -3
- package/dist/settings.schema.json +32 -2
- package/dist/{slot-launch-DW_29Bmu.mjs → slot-launch-BIm9w8kH.mjs} +5 -5
- package/dist/{stage-_8k8p7uq.mjs → stage-CX1Byp3n.mjs} +5 -4
- package/dist/{start-CdgtOksb.mjs → start-BZWr85b2.mjs} +1 -1
- package/dist/{start-CzBB5R7N.mjs → start-DI0ofPO-.mjs} +8 -8
- package/dist/{state-DsrFh3yv.mjs → state-45P8Kd6Z.mjs} +1 -1
- package/dist/{state-CfP-ccP8.mjs → state-C2vELPyr.mjs} +2 -2
- package/dist/{stats-BgTyuzib.mjs → stats-BDljWVWU.mjs} +3 -3
- package/dist/{status-C7Zzb-Eh.mjs → status-BG2S-a1d.mjs} +1 -1
- package/dist/{status-Bcdy5eHt.mjs → status-DEZjHP4q.mjs} +27 -29
- package/dist/{status-watch-DY0EZcmg.mjs → status-watch-Cs18eFkQ.mjs} +4 -4
- package/dist/status-worker.mjs +1 -1
- package/dist/{stop-iGkvEvDn.mjs → stop-B2zDplJa.mjs} +2 -2
- package/dist/{stop-CkmBkNyg.mjs → stop-BPrTEOaz.mjs} +14 -14
- package/dist/{stop-CbxsTKyZ.mjs → stop-DrxHVVX9.mjs} +4 -4
- package/dist/supervisor-run.mjs +11 -11
- package/dist/{support-CfYmOdQs.mjs → support-BeVRaMWT.mjs} +9 -9
- package/dist/{support-JZ4KRW0C.mjs → support-DBKG3Yyb.mjs} +5 -5
- package/dist/{swiftpm-artifact-inputs-C1rZDRDs.mjs → swiftpm-artifact-inputs-CfNAb6Vm.mjs} +1 -1
- package/dist/{swiftpm-macos-DRTjC7Ff.mjs → swiftpm-macos-xdHjJHIj.mjs} +7 -7
- package/dist/toolchain-CTsPS5tL.mjs +2 -0
- package/dist/{toolchain-BeD7tbBW.mjs → toolchain-CZvtCZ-m.mjs} +9 -6
- package/dist/{warm-progress-CJQ8tk5O.mjs → warm-progress-D3a0KviW.mjs} +17 -13
- package/dist/{web-BXbmysa1.mjs → web-BvAweypa.mjs} +6 -6
- package/dist/web-DDL3usMb.mjs +2 -0
- package/dist/web-run.mjs +4 -4
- package/dist/{workspace-state-DOPXG2Gp.mjs → workspace-state-CHEN_xzy.mjs} +1 -1
- package/dist/{workspaces-DCzDzydB.mjs → workspaces-BgAYIccE.mjs} +213 -50
- package/dist/{worktree-6ngObKkw.mjs → worktree-C0YZ6mnk.mjs} +1 -1
- package/dist/{worktree-BAC43Kio.mjs → worktree-kGPE9Pcw.mjs} +335 -33
- package/package.json +7 -7
- package/dist/server-expo-9hQwyLze.mjs +0 -2
- package/dist/toolchain-CNlKc9pH.mjs +0 -2
- package/dist/web-BcaySU05.mjs +0 -2
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import { d as throwIfCancelled, u as cancelledError, w as withDrainingCancellation } from "./exec-L37dbiIb.mjs";
|
|
2
|
-
import { E as workspaceDir, a as recordWorkspaceUseAsync, k as workspaceLogsDir } from "./workspace-state-
|
|
3
|
-
import { l as phaseLine } from "./command-output-
|
|
2
|
+
import { E as workspaceDir, a as recordWorkspaceUseAsync, k as workspaceLogsDir } from "./workspace-state-CHEN_xzy.mjs";
|
|
3
|
+
import { l as phaseLine } from "./command-output-DsjhOzJ3.mjs";
|
|
4
4
|
import { A as withConfigLockAsync, O as upsertProject, m as getProject, u as getConcurrencyLimits } from "./config-CNmN-ndb.mjs";
|
|
5
|
-
import { J as resolveCacheProviderConfig, Z as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY } from "./settings-
|
|
6
|
-
import { f as projectRegistry, v as detectIsExpo } from "./project-
|
|
5
|
+
import { J as resolveCacheProviderConfig, Z as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY } from "./settings-Cz8kQJzr.mjs";
|
|
6
|
+
import { f as projectRegistry, v as detectIsExpo } from "./project-DIo71tGq.mjs";
|
|
7
7
|
import { s as workspaceShareURL } from "./stim-desktop-DWGAfaud.mjs";
|
|
8
|
-
import { j as hostSystemImageArch } from "./android-
|
|
8
|
+
import { j as hostSystemImageArch } from "./android-27_JgJ1T.mjs";
|
|
9
9
|
import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
|
|
10
|
-
import {
|
|
11
|
-
import { $ as
|
|
12
|
-
import {
|
|
13
|
-
import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-
|
|
14
|
-
import { C as providerUploadOutcome, D as storedAppId } from "./build-cache-
|
|
15
|
-
import { m as listIosRuntimes } from "./ios-
|
|
10
|
+
import { Zn as checkEasAuth, ar as resolveRemote, or as uploadRemote } from "./device-capacity-D_IlxZRL.mjs";
|
|
11
|
+
import { $ as startBuildProgress, Ct as acquireBuildSlot, Et as releaseBuildSlot, Z as recordFinishedBuild, at as readRunEstimates, et as tapBuildLog, it as createRunRecorder, lt as recordRunStats, ut as statsProjectKey } from "./workspaces-BgAYIccE.mjs";
|
|
12
|
+
import { ht as withNativeBuildRun, mt as runCancellationSignal, z as readBundleId } from "./toolchain-CZvtCZ-m.mjs";
|
|
13
|
+
import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-CANftndU.mjs";
|
|
14
|
+
import { C as providerUploadOutcome, D as storedAppId } from "./build-cache-CJ65Efv7.mjs";
|
|
15
|
+
import { m as listIosRuntimes } from "./ios-DQEzde6f.mjs";
|
|
16
16
|
import { d as optimizationBuildProfile, l as artifactCachePolicy } from "./errors-DHm_U5gv.mjs";
|
|
17
|
-
import { C as setRemoteLogSink } from "./client-
|
|
18
|
-
import { L as resolveBuildPlacement, c as iosProjectPathError, g as resolveIosBuildSetup, m as resolveConfiguration, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-
|
|
19
|
-
import { a as resolveEasDevelopmentBuild, r as isEasBuildFailure } from "./eas-build-
|
|
20
|
-
import {
|
|
21
|
-
import { n as ensureWorkspaceStorageSafely } from "./native-runtime-
|
|
22
|
-
import { i as recordedBuildKey, n as pruneArtifactCopies, r as recordBuild } from "./recorded-build-
|
|
23
|
-
import { E as resolveVariant } from "./support-
|
|
24
|
-
import { t as acquireAndroidArtifact } from "./artifact-
|
|
25
|
-
import { a as persistLastBuild, l as resolveAndroidBuildPlan, n as finishAndroidUpload } from "./result-
|
|
26
|
-
import { o as lastBuildRecord } from "./ios-project-
|
|
27
|
-
import { t as acquireIosArtifact } from "./artifact-
|
|
17
|
+
import { C as setRemoteLogSink } from "./client-qwmHFSga.mjs";
|
|
18
|
+
import { L as resolveBuildPlacement, c as iosProjectPathError, g as resolveIosBuildSetup, m as resolveConfiguration, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-BeVRaMWT.mjs";
|
|
19
|
+
import { a as resolveEasDevelopmentBuild, r as isEasBuildFailure } from "./eas-build-4rg9WpEg.mjs";
|
|
20
|
+
import { o as settleFingerprintCheck } from "./miss-reason-CeHvzeVm.mjs";
|
|
21
|
+
import { n as ensureWorkspaceStorageSafely } from "./native-runtime-BfvvAJLd.mjs";
|
|
22
|
+
import { i as recordedBuildKey, n as pruneArtifactCopies, r as recordBuild } from "./recorded-build-B4prJjSD.mjs";
|
|
23
|
+
import { E as resolveVariant } from "./support-DBKG3Yyb.mjs";
|
|
24
|
+
import { t as acquireAndroidArtifact } from "./artifact-Dc1GsK7o.mjs";
|
|
25
|
+
import { a as persistLastBuild, l as resolveAndroidBuildPlan, n as finishAndroidUpload } from "./result-C-ISEJ5F.mjs";
|
|
26
|
+
import { o as lastBuildRecord } from "./ios-project-Bsm-eqwv.mjs";
|
|
27
|
+
import { t as acquireIosArtifact } from "./artifact-sGoFVK1q.mjs";
|
|
28
28
|
import { constants, promises } from "node:fs";
|
|
29
29
|
import { basename, dirname, join } from "node:path";
|
|
30
30
|
import { hostSimulatorArch } from "@stim-cli/core";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { d as throwIfCancelled, t as getExecutor, w as withDrainingCancellation } from "./exec-L37dbiIb.mjs";
|
|
2
|
-
import { y as sharedBuildCache } from "./workspace-state-
|
|
2
|
+
import { y as sharedBuildCache } from "./workspace-state-CHEN_xzy.mjs";
|
|
3
3
|
import { a as killOnAbort, c as gitQuiet, o as git, r as childEnvironment, s as gitAsync } from "./operation-exec-DNynwpqO.mjs";
|
|
4
|
-
import { m as defaultAndroidLayout } from "./settings-
|
|
4
|
+
import { m as defaultAndroidLayout } from "./settings-Cz8kQJzr.mjs";
|
|
5
5
|
import { r as register } from "./cache-manifest-BO0TIcPV.mjs";
|
|
6
|
-
import { r as writeSignedTail, t as computeSignedTail } from "./apk-signed-tail-
|
|
6
|
+
import { r as writeSignedTail, t as computeSignedTail } from "./apk-signed-tail-DHMkXs4s.mjs";
|
|
7
7
|
import { createHash } from "node:crypto";
|
|
8
8
|
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
|
|
9
9
|
import { join } from "node:path";
|
|
@@ -181,7 +181,10 @@ const FINGERPRINT_PLATFORMS = /* @__PURE__ */ new Set(["ios", "android"]);
|
|
|
181
181
|
const DEFAULT_FINGERPRINT_IGNORES = [
|
|
182
182
|
"**/android/local.properties",
|
|
183
183
|
"**/android/.idea/**",
|
|
184
|
-
"**/*.xcodeproj/xcuserdata/**/*"
|
|
184
|
+
"**/*.xcodeproj/xcuserdata/**/*",
|
|
185
|
+
"**/.git",
|
|
186
|
+
"**/.git/**",
|
|
187
|
+
"**/.expo/**"
|
|
185
188
|
];
|
|
186
189
|
/**
|
|
187
190
|
* `react-native bundle` output, ignored only while an ignore pattern matches it: a committed copy can be a native
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { a as trackReportResource } from "./exec-L37dbiIb.mjs";
|
|
2
|
-
import { i as formatDuration, l as phaseLine, m as shortHash, u as plural } from "./command-output-
|
|
3
|
-
import { an as makeTemporaryDirectory, sn as removeTemporaryEntryAsync } from "./settings-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { c as entryDir, t as artifactIn } from "./build-cache-
|
|
7
|
-
import {
|
|
2
|
+
import { i as formatDuration, l as phaseLine, m as shortHash, u as plural } from "./command-output-DsjhOzJ3.mjs";
|
|
3
|
+
import { an as makeTemporaryDirectory, sn as removeTemporaryEntryAsync } from "./settings-Cz8kQJzr.mjs";
|
|
4
|
+
import { Qn as easAuthNote } from "./device-capacity-D_IlxZRL.mjs";
|
|
5
|
+
import { J as estimateBuild, ot as readStats } from "./workspaces-BgAYIccE.mjs";
|
|
6
|
+
import { c as entryDir, t as artifactIn } from "./build-cache-CJ65Efv7.mjs";
|
|
7
|
+
import { R as staleNativeDirRefusal } from "./worktree-kGPE9Pcw.mjs";
|
|
8
|
+
import { r as predictBuildMiss } from "./miss-reason-CeHvzeVm.mjs";
|
|
8
9
|
import chalk from "chalk";
|
|
9
10
|
import { PROVIDER_LOAD_TIMEOUT_ENV, PROVIDER_LOAD_TIMEOUT_MS, buildResolveTimeoutMs, resolveTieredBuild, timeoutFromEnv } from "@stim-cli/cache";
|
|
10
11
|
//#region src/commands/build-plan.ts
|
|
@@ -5,24 +5,24 @@ import { runId, trace } from "@stim-cli/core/state";
|
|
|
5
5
|
import { Command } from "commander";
|
|
6
6
|
//#region bin/cli.ts
|
|
7
7
|
const commands = /* @__PURE__ */ new Map([
|
|
8
|
-
["doctor", () => import("./doctor-
|
|
9
|
-
["worktree", () => import("./worktree-
|
|
10
|
-
["start", () => import("./start-
|
|
11
|
-
["ports", () => import("./ports-
|
|
12
|
-
["stop", () => import("./stop-
|
|
13
|
-
["ios", () => import("./ios-
|
|
14
|
-
["android", () => import("./android-
|
|
15
|
-
["web", () => import("./web-
|
|
16
|
-
["macos", () => import("./macos-
|
|
17
|
-
["reload", () => import("./reload-
|
|
18
|
-
["device", () => import("./device-
|
|
19
|
-
["logs", () => import("./logs-
|
|
20
|
-
["remote", () => import("./remote-
|
|
21
|
-
["settings", () => import("./settings-
|
|
22
|
-
["status", () => import("./status-
|
|
23
|
-
["stats", () => import("./stats-
|
|
24
|
-
["gc", () => import("./gc-
|
|
25
|
-
["guide", () => import("./guide-
|
|
8
|
+
["doctor", () => import("./doctor-BAA3zN5U.mjs")],
|
|
9
|
+
["worktree", () => import("./worktree-C0YZ6mnk.mjs")],
|
|
10
|
+
["start", () => import("./start-BZWr85b2.mjs")],
|
|
11
|
+
["ports", () => import("./ports-CKORWlC0.mjs")],
|
|
12
|
+
["stop", () => import("./stop-B2zDplJa.mjs")],
|
|
13
|
+
["ios", () => import("./ios-Bi0bQiZ_.mjs")],
|
|
14
|
+
["android", () => import("./android-Biwc4Dck.mjs")],
|
|
15
|
+
["web", () => import("./web-DDL3usMb.mjs")],
|
|
16
|
+
["macos", () => import("./macos-C5liDnbP.mjs")],
|
|
17
|
+
["reload", () => import("./reload-DANrKhQR.mjs")],
|
|
18
|
+
["device", () => import("./device-CxMwX0VO.mjs")],
|
|
19
|
+
["logs", () => import("./logs-B0etn-BD.mjs")],
|
|
20
|
+
["remote", () => import("./remote-BWuq9qHV.mjs")],
|
|
21
|
+
["settings", () => import("./settings-BthPoY3t.mjs")],
|
|
22
|
+
["status", () => import("./status-BG2S-a1d.mjs")],
|
|
23
|
+
["stats", () => import("./stats-BDljWVWU.mjs")],
|
|
24
|
+
["gc", () => import("./gc-BQ5dXnC7.mjs")],
|
|
25
|
+
["guide", () => import("./guide-DqJCc4vW.mjs")]
|
|
26
26
|
]);
|
|
27
27
|
const pkg = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
|
|
28
28
|
const program = new Command();
|
package/dist/cli.mjs
CHANGED
|
@@ -4,6 +4,6 @@ const encode = (version) => version.split(".", 3).reduce((sum, part) => sum * 1e
|
|
|
4
4
|
if (encode(process.versions.node) < encode("22.12.0")) {
|
|
5
5
|
process.stderr.write(`STIM_NODE_UNSUPPORTED: Stim needs Node 22.12.0 or later; this is Node ${process.versions.node} at ${process.execPath}. To run Stim where a project pins an older Node, see https://stim.appandflow.com/docs/requirements#older-node-pins\n`);
|
|
6
6
|
process.exitCode = 1;
|
|
7
|
-
} else import("./cli-
|
|
7
|
+
} else import("./cli-BSlwv9hI.mjs");
|
|
8
8
|
//#endregion
|
|
9
9
|
export {};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { C as operationState, E as debugLog, d as throwIfCancelled, r as reportSignal, t as getExecutor } from "./exec-L37dbiIb.mjs";
|
|
2
2
|
import { H as openAuthenticated, J as sayHello, q as resolveEndpoint, v as loadConfig$1 } from "./config-CNmN-ndb.mjs";
|
|
3
3
|
import { o as git, s as gitAsync } from "./operation-exec-DNynwpqO.mjs";
|
|
4
|
-
import { C as CCACHE_UNAVAILABLE,
|
|
5
|
-
import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
|
|
6
|
-
import { A as COMPILATION_CACHE_NOT_RUN, D as readRubyVersion, S as workerToolchain, _t as runCancellationSignal, a as buildsOnlyOnWorker, b as toolchainNotes, c as iosToolchainAsync, j as COMPILATION_CACHE_UNAVAILABLE, o as cocoapodsDifference, y as toolchainMismatches } from "./toolchain-BeD7tbBW.mjs";
|
|
4
|
+
import { C as CCACHE_UNAVAILABLE, S as CCACHE_NOT_RUN, at as maintenanceLogger, jr as discoverCaches, ot as emptyCaches, pt as planCacheEmptying } from "./device-capacity-D_IlxZRL.mjs";
|
|
7
5
|
import { t as resolveMaintenanceSettings } from "./settings-D9LtQaUw.mjs";
|
|
8
|
-
import {
|
|
6
|
+
import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
|
|
7
|
+
import { D as COMPILATION_CACHE_NOT_RUN, O as COMPILATION_CACHE_UNAVAILABLE, _ as toolchainNotes, a as buildsOnlyOnWorker, c as iosToolchainAsync, g as toolchainMismatches, mt as runCancellationSignal, o as cocoapodsDifference, w as readRubyVersion, y as workerToolchain } from "./toolchain-CZvtCZ-m.mjs";
|
|
8
|
+
import { D as OffloadRefusal, M as namedBuildMachine, R as workerFailureReason, et as pairedMachines, u as isReleaseConfiguration } from "./support-BeVRaMWT.mjs";
|
|
9
9
|
import { n as fingerprintNativeInputs, r as manifestDigest } from "./native-inputs-TRTTTRxt.mjs";
|
|
10
10
|
import { a as sourceManifest, i as nativeTransferManifest, n as gitVisiblePaths, r as nativeFileDigest, t as checkNativeTransferMembership } from "./native-source-D2ZfiQ6U.mjs";
|
|
11
11
|
import { t as BuildArtifactCache } from "./build-artifact-cache-D7B6seMj.mjs";
|
|
@@ -988,7 +988,7 @@ async function probeMachine(credential, identity, { connectMs = CONNECT_TIMEOUT_
|
|
|
988
988
|
...native === "xcode" && identity.artifact && connection.supports("build-artifact-cache") ? { artifact: identity.artifact } : {},
|
|
989
989
|
...identity.swiftpmArtifact && queriesPeerCache(connection, "swiftpm-peer-cache") ? { swiftpmArtifact: identity.swiftpmArtifact } : {},
|
|
990
990
|
...identity.reactNativeArtifact && queriesPeerCache(connection, "react-native-peer-cache") ? { reactNativeArtifact: identity.reactNativeArtifact } : {},
|
|
991
|
-
...native === "gradle" && identity.gradleArtifact && connection.
|
|
991
|
+
...native === "gradle" && identity.gradleArtifact && queriesGradlePeerCache(connection, identity.gradleArtifact) ? { gradleArtifact: identity.gradleArtifact } : {}
|
|
992
992
|
}, offerMs);
|
|
993
993
|
const failure = replyError(reply);
|
|
994
994
|
if (failure || !("result" in reply)) {
|
|
@@ -1009,7 +1009,7 @@ async function probeMachine(credential, identity, { connectMs = CONNECT_TIMEOUT_
|
|
|
1009
1009
|
return {
|
|
1010
1010
|
credential,
|
|
1011
1011
|
connection,
|
|
1012
|
-
offer: identity.swiftpmArtifact && !queriesPeerCache(connection, "swiftpm-peer-cache") || identity.reactNativeArtifact && !queriesPeerCache(connection, "react-native-peer-cache") || native === "gradle" && (!identity.gradleArtifact || !connection.
|
|
1012
|
+
offer: identity.swiftpmArtifact && !queriesPeerCache(connection, "swiftpm-peer-cache") || identity.reactNativeArtifact && !queriesPeerCache(connection, "react-native-peer-cache") || native === "gradle" && (!identity.gradleArtifact || !queriesGradlePeerCache(connection, identity.gradleArtifact)) ? {
|
|
1013
1013
|
...offer,
|
|
1014
1014
|
artifact: null
|
|
1015
1015
|
} : offer
|
|
@@ -1032,7 +1032,8 @@ async function chooseBuildMachine({ projectRoot, target, here, note, machines =
|
|
|
1032
1032
|
const rubyVersion = readRubyVersion(projectRoot) ?? void 0;
|
|
1033
1033
|
const gradleQuery = gradleArtifact ? {
|
|
1034
1034
|
...gradleArtifact,
|
|
1035
|
-
project: identity.project
|
|
1035
|
+
project: identity.project,
|
|
1036
|
+
...target.platform === "android" && target.local.jdk ? { jdk: target.local.jdk } : {}
|
|
1036
1037
|
} : void 0;
|
|
1037
1038
|
const reactNativeQuery = reactNativeArtifact ? reactNativeBuildQuery(reactNativeArtifact.request, reactNativeArtifact.fingerprint, identity.project, target.local) : null;
|
|
1038
1039
|
const swiftpmQuery = swiftpmArtifact?.artifactInputs ? swiftpmArtifactQuery({
|
|
@@ -1129,6 +1130,9 @@ function rebuiltFingerprint(choice, request, fingerprint, expected) {
|
|
|
1129
1130
|
function queriesPeerCache(connection, feature) {
|
|
1130
1131
|
return connection.supports(feature) && connection.supports("build-compat");
|
|
1131
1132
|
}
|
|
1133
|
+
function queriesGradlePeerCache(connection, query) {
|
|
1134
|
+
return connection.supports("native-gradle-peer-cache") && (!query.jdk || connection.supports("native-gradle-peer-jdk"));
|
|
1135
|
+
}
|
|
1132
1136
|
function macosBuildParameters(request, peerCache) {
|
|
1133
1137
|
return {
|
|
1134
1138
|
...request.cacheArtifact === true && peerCache ? { cacheArtifact: true } : {},
|
|
@@ -1175,7 +1179,7 @@ async function peerArtifact(choice, request, fingerprint) {
|
|
|
1175
1179
|
const query = choice.gradleArtifact;
|
|
1176
1180
|
if (query) {
|
|
1177
1181
|
if (request.platform !== "android" || request.native?.provider !== "gradle" || !request.native.cache?.read || !request.native.cache.remote || query.project !== choice.identity.project || query.sourceDigest !== request.native.transfer.digest || !isDeepStrictEqual(query.inputs, request.native.transfer.declaration) || !isDeepStrictEqual(query.android, request.android)) throw new Error("The Gradle artifact query does not match the build request.");
|
|
1178
|
-
return choice.connection
|
|
1182
|
+
return queriesGradlePeerCache(choice.connection, query) ? matchingArtifact(choice.offer, "native-gradle") : null;
|
|
1179
1183
|
}
|
|
1180
1184
|
if (request.platform === "ios" && request.native && typeof fingerprint === "string" && choice.connection.supports("build-artifact-cache")) return matchingArtifact(choice.offer, {
|
|
1181
1185
|
fingerprint,
|
package/dist/collector-run.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { T as process_identity_exports } from "./exec-L37dbiIb.mjs";
|
|
2
|
-
import { k as workspaceLogsDir } from "./workspace-state-
|
|
2
|
+
import { k as workspaceLogsDir } from "./workspace-state-CHEN_xzy.mjs";
|
|
3
3
|
import { t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
|
|
4
4
|
import { ft as deviceSlotKey, vt as validateDeviceSlot } from "./config-CNmN-ndb.mjs";
|
|
5
|
-
import { c as watchAppPid, i as parseLogcatLine, o as startAndroidLogcat, s as waitForAppPid, t as androidClockOffset } from "./android-
|
|
5
|
+
import { c as watchAppPid, i as parseLogcatLine, o as startAndroidLogcat, s as waitForAppPid, t as androidClockOffset } from "./android-DGLG_VQ3.mjs";
|
|
6
6
|
import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
|
|
7
7
|
import { a as startIosDeviceConsole, i as parseDeviceConsoleLine } from "./ios-device-ygijU78G.mjs";
|
|
8
|
-
import { a as unregisterCollector, i as registerCollector, r as readCollectors, t as collectorProcessTitle } from "./ownership-
|
|
8
|
+
import { a as unregisterCollector, i as registerCollector, r as readCollectors, t as collectorProcessTitle } from "./ownership-BLgOimfp.mjs";
|
|
9
9
|
import { n as parseLogStreamLine, r as startIosLogStream, t as appNameFromBundleId } from "./ios-2Qr4_Zu2.mjs";
|
|
10
10
|
import { existsSync } from "node:fs";
|
|
11
11
|
import { isAbsolute, join, resolve } from "node:path";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as stripAnsi } from "./process-output-Fpl8PYi8.mjs";
|
|
2
|
-
import { t as NO_PROJECT_REFUSAL } from "./project-
|
|
2
|
+
import { t as NO_PROJECT_REFUSAL } from "./project-DIo71tGq.mjs";
|
|
3
3
|
import { quotedPath as quotedPath$1 } from "@stim-cli/core";
|
|
4
4
|
import chalk from "chalk";
|
|
5
5
|
//#region src/diagnostics/launch-error-preview.ts
|
|
@@ -1,57 +1,61 @@
|
|
|
1
1
|
import { l as cancellableSleep, t as getExecutor, w as withDrainingCancellation } from "./exec-L37dbiIb.mjs";
|
|
2
|
-
import { f as writeWorkspaceStateAsync, k as workspaceLogsDir, r as readWorkspaceState } from "./workspace-state-
|
|
3
|
-
import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-
|
|
4
|
-
import { A as withConfigLockAsync, O as upsertProject, dt as deviceSlotFileKey, ft as deviceSlotKey, m as getProject, u as getConcurrencyLimits, y as recordIosSchemeApprovals } from "./config-CNmN-ndb.mjs";
|
|
5
|
-
import { J as resolveCacheProviderConfig, Q as resolveSettings, St as gitCommonDirAsync, Vt as repoRootAsync, an as makeTemporaryDirectory, at as settingsLayers, dt as detectProviders, nt as settingOriginScope, on as removeTemporaryEntry } from "./settings-
|
|
6
|
-
import { L as workspaceDevServerMode, f as projectRegistry, i as findProjectRoot, v as detectIsExpo, z as writeWorkspaceLaunchAsync } from "./project-
|
|
2
|
+
import { f as writeWorkspaceStateAsync, k as workspaceLogsDir$1, r as readWorkspaceState$1 } from "./workspace-state-CHEN_xzy.mjs";
|
|
3
|
+
import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-DsjhOzJ3.mjs";
|
|
4
|
+
import { A as withConfigLockAsync$1, O as upsertProject, dt as deviceSlotFileKey, ft as deviceSlotKey, m as getProject, u as getConcurrencyLimits, y as recordIosSchemeApprovals } from "./config-CNmN-ndb.mjs";
|
|
5
|
+
import { J as resolveCacheProviderConfig, Q as resolveSettings, St as gitCommonDirAsync, Vt as repoRootAsync, an as makeTemporaryDirectory, at as settingsLayers, dt as detectProviders, nt as settingOriginScope, on as removeTemporaryEntry } from "./settings-Cz8kQJzr.mjs";
|
|
6
|
+
import { L as workspaceDevServerMode, f as projectRegistry, i as findProjectRoot$1, v as detectIsExpo, z as writeWorkspaceLaunchAsync } from "./project-DIo71tGq.mjs";
|
|
7
7
|
import { o as workspaceLinks } from "./stim-desktop-DWGAfaud.mjs";
|
|
8
|
-
import { c as pidExists, d as resolveProjectMetro, f as signalProcessTree } from "./metro-
|
|
8
|
+
import { c as pidExists, d as resolveProjectMetro, f as signalProcessTree } from "./metro-Cj6W4qOO.mjs";
|
|
9
9
|
import { i as createNdjsonWriter } from "./ndjson-CrjIsGzw.mjs";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-
|
|
14
|
-
import { E as storeBuild, M as untrackedNativeFiles, T as resolveBuild, g as fingerprintProject, l as evictBuild } from "./build-cache-
|
|
15
|
-
import { d as listAllIosSims, h as listIosRuntimesAsync, r as clearIosAppData, w as resetIosKeychain } from "./ios-
|
|
16
|
-
import { C as clearIosAdoptionPending, G as lostLine, J as releaseLeaseOnAbort, K as lostRefusal, U as acquireRunLease, Y as runLease, i as deviceLabel, o as deviceShortName, t as appNameFromPath, z as DEBUG_VERIFY_STEP_MS } from "./support-
|
|
17
|
-
import {
|
|
18
|
-
import { n as
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import { n as
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
10
|
+
import { $t as ensureMetroReachable, Bn as restartedAppNote, Fn as installIosApp, In as iosAppProcess, On as clearOtherUserApps, Un as readRemoteSimulatorArch, Wn as gateMetroOrigin, Zn as checkEasAuth, Zt as bundleEntryPoint, ar as resolveRemote, cn as LAUNCH_UNVERIFIED, en as ensureRemoteBootOwned, er as loadProjectProvider, fn as isBundleProof, gn as unverifiedLaunchLines, hn as unattributedLaunchLines, in as resolveRemoteContext, ir as resolveEasCliBin, k as budgetGate, kn as devClientUrl, mn as readMetroRecords, on as LAUNCH_BUNDLING, or as uploadRemote, pn as readCollectorRecords, r as checkDeviceCapacity, rn as remoteIosDeps, sn as LAUNCH_FATAL, un as RELEASE_VERIFY_WAIT_MS, vn as verifyLaunch, wn as IOS_DEV_MENU_OFF_DEFAULTS_PLIST, yn as verifyReleaseLaunch, zn as launchIosApp } from "./device-capacity-D_IlxZRL.mjs";
|
|
11
|
+
import { Ct as acquireBuildSlot, Et as releaseBuildSlot, at as readRunEstimates, lt as recordRunStats, st as recordCapacityRefusal } from "./workspaces-BgAYIccE.mjs";
|
|
12
|
+
import { B as resolveScheme, C as readPodState, E as runPodInstall, R as readBundleExecutable, S as podsAreStale, c as iosToolchainAsync, z as readBundleId } from "./toolchain-CZvtCZ-m.mjs";
|
|
13
|
+
import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-CANftndU.mjs";
|
|
14
|
+
import { E as storeBuild, M as untrackedNativeFiles, T as resolveBuild, g as fingerprintProject, l as evictBuild } from "./build-cache-CJ65Efv7.mjs";
|
|
15
|
+
import { d as listAllIosSims, h as listIosRuntimesAsync, r as clearIosAppData, w as resetIosKeychain } from "./ios-DQEzde6f.mjs";
|
|
16
|
+
import { C as clearIosAdoptionPending, G as lostLine, J as releaseLeaseOnAbort, K as lostRefusal, U as acquireRunLease, Y as runLease, i as deviceLabel, o as deviceShortName, t as appNameFromPath, z as DEBUG_VERIFY_STEP_MS } from "./support-BeVRaMWT.mjs";
|
|
17
|
+
import { l as call, u as connectHost } from "./hosted-client-B_h_bTlz.mjs";
|
|
18
|
+
import { n as readHostedIos, o as writeHostedIosAsync } from "./ios-state-tzD0s7pt.mjs";
|
|
19
|
+
import { n as hostedMetroPortProbe } from "./hosted-native-B6ur_0OJ.mjs";
|
|
20
|
+
import { i as prepareHostedIos, r as placeHostedIos } from "./phone-reverses-vRveZKSG.mjs";
|
|
21
|
+
import { n as verifyCollectorOwnership } from "./ownership-BLgOimfp.mjs";
|
|
22
|
+
import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-BIm9w8kH.mjs";
|
|
23
|
+
import { L as runPrebuild, P as planPrebuildAsync } from "./worktree-kGPE9Pcw.mjs";
|
|
24
|
+
import { a as discoverXcodeProject, r as buildIos } from "./react-native-build-CFYTYmG4.mjs";
|
|
25
|
+
import { c as startDevServer, g as detectBundleId } from "./start-DI0ofPO-.mjs";
|
|
24
26
|
import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
|
|
25
|
-
import { a as sealAppForDevice, r as gateProfileForDevice } from "./ios-signing-
|
|
26
|
-
import { a as resolveEasDevelopmentBuild } from "./eas-build-
|
|
27
|
-
import { c as isWirelessIosDevice, i as iosDeviceProcess, l as listIosDevices, n as installIosDeviceApp, p as verifyIosDeviceReleaseLaunch, r as iosDeviceBounds, t as awaitIosDeviceLaunch, u as localNetworkPending } from "./ios-device-
|
|
28
|
-
import { a as captureNativeCrashes, c as simulatorConsolePaths, i as bundleBindFailure, n as IOS_CRASH_REPORT_RETRY, s as printNativeCrashReport, t as errorDiagnostics } from "./error-diagnostics-
|
|
29
|
-
import { t as followHostedLaunchLogs } from "./hosted-logs-sync-
|
|
30
|
-
import { a as
|
|
31
|
-
import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely } from "./native-runtime-
|
|
32
|
-
import { n as devClientTakesDevMenuParams, r as hasDevClient, t as devClientScheme } from "./dev-client-
|
|
33
|
-
import { t as automaticDevicePlacement } from "./auto-placement-
|
|
34
|
-
import { t as checkEasFallback } from "./eas-fallback-
|
|
35
|
-
import { i as warmMetro, n as ensureBooted, r as ensureOwnedDevice } from "./device-
|
|
36
|
-
import { t as selectFromPool } from "./device-pool-
|
|
37
|
-
import { s as reportIosResult } from "./ios-project-
|
|
38
|
-
import {
|
|
27
|
+
import { a as sealAppForDevice, r as gateProfileForDevice } from "./ios-signing-rWR_Mu5Z.mjs";
|
|
28
|
+
import { a as resolveEasDevelopmentBuild } from "./eas-build-4rg9WpEg.mjs";
|
|
29
|
+
import { c as isWirelessIosDevice, i as iosDeviceProcess, l as listIosDevices, n as installIosDeviceApp, p as verifyIosDeviceReleaseLaunch, r as iosDeviceBounds, t as awaitIosDeviceLaunch, u as localNetworkPending } from "./ios-device-BLm1BZB4.mjs";
|
|
30
|
+
import { a as captureNativeCrashes, c as simulatorConsolePaths, i as bundleBindFailure, n as IOS_CRASH_REPORT_RETRY, s as printNativeCrashReport, t as errorDiagnostics } from "./error-diagnostics-CW9xl6ot.mjs";
|
|
31
|
+
import { t as followHostedLaunchLogs } from "./hosted-logs-sync-D3L1hDpM.mjs";
|
|
32
|
+
import { a as memoizedFingerprint } from "./miss-reason-CeHvzeVm.mjs";
|
|
33
|
+
import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely } from "./native-runtime-BfvvAJLd.mjs";
|
|
34
|
+
import { n as devClientTakesDevMenuParams, r as hasDevClient, t as devClientScheme } from "./dev-client-DL5UtVdx.mjs";
|
|
35
|
+
import { t as automaticDevicePlacement } from "./auto-placement-RNh4kx2T.mjs";
|
|
36
|
+
import { t as checkEasFallback } from "./eas-fallback-UGo0SG7T.mjs";
|
|
37
|
+
import { i as warmMetro, n as ensureBooted, r as ensureOwnedDevice } from "./device-yfuJ-v4s.mjs";
|
|
38
|
+
import { t as selectFromPool } from "./device-pool-BEaTdtss.mjs";
|
|
39
|
+
import { s as reportIosResult } from "./ios-project-Bsm-eqwv.mjs";
|
|
40
|
+
import { t as ensureIosRuntime } from "./ios-runtime-DLiKoOkd.mjs";
|
|
41
|
+
import { a as swapJsBundle } from "./js-swap-Cuky0ZAQ.mjs";
|
|
39
42
|
import { mkdirSync, openSync, writeFileSync } from "node:fs";
|
|
40
43
|
import { networkInterfaces } from "node:os";
|
|
41
44
|
import { basename, join } from "node:path";
|
|
42
45
|
import { ambientEnv, hostSimulatorArch } from "@stim-cli/core";
|
|
46
|
+
import { DEVICE_HOST_LIMITS } from "@stim-cli/core/state";
|
|
43
47
|
import chalk from "chalk";
|
|
44
48
|
import { loadCacheProvider } from "@stim-cli/cache";
|
|
45
49
|
//#region src/commands/ios/collector.ts
|
|
46
50
|
function collectorLogFile(root, slot) {
|
|
47
|
-
return join(workspaceLogsDir(root), `collector-${deviceSlotFileKey("ios", slot)}.log`);
|
|
51
|
+
return join(workspaceLogsDir$1(root), `collector-${deviceSlotFileKey("ios", slot)}.log`);
|
|
48
52
|
}
|
|
49
53
|
function collectorEntry() {
|
|
50
54
|
return spawnEntry("collector-run");
|
|
51
55
|
}
|
|
52
56
|
const COLLECTOR_EXIT_WAIT_MS = 2e3;
|
|
53
57
|
const COLLECTOR_POLL_MS = 25;
|
|
54
|
-
async function stopPreviousCollector({ root, slot = "default", kill = (pid, signal) => signalProcessTree(pid, signal), alive = pidExists, readState = readWorkspaceState, verify = verifyCollectorOwnership, waitMs = COLLECTOR_EXIT_WAIT_MS, note = (_line) => {} }) {
|
|
58
|
+
async function stopPreviousCollector({ root, slot = "default", kill = (pid, signal) => signalProcessTree(pid, signal), alive = pidExists, readState = readWorkspaceState$1, verify = verifyCollectorOwnership, waitMs = COLLECTOR_EXIT_WAIT_MS, note = (_line) => {} }) {
|
|
55
59
|
const previous = (readState(root)?.collectors)?.[deviceSlotKey("ios", slot)] || null;
|
|
56
60
|
const previousPid = Number(previous?.pid) || null;
|
|
57
61
|
let killed = null;
|
|
@@ -76,7 +80,7 @@ async function stopPreviousCollector({ root, slot = "default", kill = (pid, sign
|
|
|
76
80
|
}
|
|
77
81
|
return { killed };
|
|
78
82
|
}
|
|
79
|
-
async function replaceCollector({ root, slot = "default", udid, bundleId, appName, appExecutable, physical = false, payloadUrl = null, spawn = (cmd, args, opts) => getExecutor().spawn(cmd, args, opts), kill = (pid, signal) => process.kill(pid, signal), alive = pidExists, readState = readWorkspaceState, verify = verifyCollectorOwnership, waitMs = COLLECTOR_EXIT_WAIT_MS, note = (_line) => {} }) {
|
|
83
|
+
async function replaceCollector({ root, slot = "default", udid, bundleId, appName, appExecutable, physical = false, payloadUrl = null, spawn = (cmd, args, opts) => getExecutor().spawn(cmd, args, opts), kill = (pid, signal) => process.kill(pid, signal), alive = pidExists, readState = readWorkspaceState$1, verify = verifyCollectorOwnership, waitMs = COLLECTOR_EXIT_WAIT_MS, note = (_line) => {} }) {
|
|
80
84
|
const { killed } = await stopPreviousCollector({
|
|
81
85
|
root,
|
|
82
86
|
slot,
|
|
@@ -105,7 +109,7 @@ async function replaceCollector({ root, slot = "default", udid, bundleId, appNam
|
|
|
105
109
|
if (payloadUrl) args.push("--payload-url", payloadUrl);
|
|
106
110
|
let stdio = "ignore";
|
|
107
111
|
try {
|
|
108
|
-
mkdirSync(workspaceLogsDir(root), { recursive: true });
|
|
112
|
+
mkdirSync(workspaceLogsDir$1(root), { recursive: true });
|
|
109
113
|
const fd = openSync(collectorLogFile(root, slot), "a");
|
|
110
114
|
stdio = [
|
|
111
115
|
"ignore",
|
|
@@ -939,6 +943,35 @@ async function finishIosRun({ operation, output, projectBundleId, runtime, runti
|
|
|
939
943
|
};
|
|
940
944
|
}
|
|
941
945
|
//#endregion
|
|
946
|
+
//#region src/device-host/ios-runtime.ts
|
|
947
|
+
async function installHostedIosRuntime(machine, runtime, note, signal) {
|
|
948
|
+
const host = await connectHost(machine, void 0, true, signal);
|
|
949
|
+
note(`Installing missing iOS ${runtime.replace(/^iOS /, "")} on ${machine} with Xcode (typically 8-10 GB; shared by its workspaces).`);
|
|
950
|
+
const heartbeat = setInterval(() => note(`Waiting for Xcode runtime installation on ${machine}; downloads can take several minutes.`), 3e4);
|
|
951
|
+
heartbeat.unref();
|
|
952
|
+
const close = () => host.connection.close();
|
|
953
|
+
signal?.addEventListener("abort", close, { once: true });
|
|
954
|
+
try {
|
|
955
|
+
signal?.throwIfAborted();
|
|
956
|
+
const result = await call(host, "device-host.runtime.install", { runtime }, DEVICE_HOST_LIMITS.imageInstallMs + 15e3);
|
|
957
|
+
signal?.throwIfAborted();
|
|
958
|
+
if (result.ok !== true) throw new Error(`${machine} did not confirm runtime installation.`);
|
|
959
|
+
return { ok: true };
|
|
960
|
+
} catch (error) {
|
|
961
|
+
signal?.throwIfAborted();
|
|
962
|
+
return {
|
|
963
|
+
ok: false,
|
|
964
|
+
code: "STIM_HOSTING_REFUSED",
|
|
965
|
+
message: error instanceof Error ? error.message : String(error),
|
|
966
|
+
remedy: `Check Xcode and free disk space on ${machine}; update stim-server there if it does not support runtime installation.`
|
|
967
|
+
};
|
|
968
|
+
} finally {
|
|
969
|
+
clearInterval(heartbeat);
|
|
970
|
+
signal?.removeEventListener("abort", close);
|
|
971
|
+
close();
|
|
972
|
+
}
|
|
973
|
+
}
|
|
974
|
+
//#endregion
|
|
942
975
|
//#region src/engine/ios-lan.ts
|
|
943
976
|
const IP_TXT = "ip.txt";
|
|
944
977
|
function chooseLanAddress({ pinned = null, candidates }) {
|
|
@@ -1053,6 +1086,8 @@ function hostLanCandidates(interfaces = networkInterfaces) {
|
|
|
1053
1086
|
//#endregion
|
|
1054
1087
|
//#region src/commands/ios/dependencies.ts
|
|
1055
1088
|
const DEFAULT_DEPS = {
|
|
1089
|
+
ensureIosRuntime,
|
|
1090
|
+
installHostedIosRuntime,
|
|
1056
1091
|
projectRegistry,
|
|
1057
1092
|
automaticDevicePlacement,
|
|
1058
1093
|
checkEasFallback,
|
|
@@ -1062,7 +1097,7 @@ const DEFAULT_DEPS = {
|
|
|
1062
1097
|
readHostedIos,
|
|
1063
1098
|
writeHostedIos: writeHostedIosAsync,
|
|
1064
1099
|
resolveEasDevelopmentBuild,
|
|
1065
|
-
findProjectRoot,
|
|
1100
|
+
findProjectRoot: findProjectRoot$1,
|
|
1066
1101
|
resolveSettings,
|
|
1067
1102
|
settingsLayers,
|
|
1068
1103
|
settingOriginScope,
|
|
@@ -1074,7 +1109,7 @@ const DEFAULT_DEPS = {
|
|
|
1074
1109
|
hasDevClient,
|
|
1075
1110
|
devClientTakesDevMenuParams,
|
|
1076
1111
|
getProject,
|
|
1077
|
-
upsertProject: (...args) => withConfigLockAsync(() => upsertProject(...args)),
|
|
1112
|
+
upsertProject: (...args) => withConfigLockAsync$1(() => upsertProject(...args)),
|
|
1078
1113
|
recordIosSchemeApprovals,
|
|
1079
1114
|
checkDeviceCapacity,
|
|
1080
1115
|
budgetGate,
|
|
@@ -1092,7 +1127,7 @@ const DEFAULT_DEPS = {
|
|
|
1092
1127
|
resolveProjectMetro,
|
|
1093
1128
|
startDevServer,
|
|
1094
1129
|
warmMetro,
|
|
1095
|
-
readWorkspaceState,
|
|
1130
|
+
readWorkspaceState: readWorkspaceState$1,
|
|
1096
1131
|
pidExists,
|
|
1097
1132
|
getConcurrencyLimits,
|
|
1098
1133
|
fingerprintProject,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-L37dbiIb.mjs";
|
|
2
|
-
import { Bt as repoRoot } from "./settings-
|
|
2
|
+
import { Bt as repoRoot } from "./settings-Cz8kQJzr.mjs";
|
|
3
3
|
import { createHash, randomUUID } from "node:crypto";
|
|
4
4
|
import { existsSync } from "node:fs";
|
|
5
5
|
import { dirname, join, relative } from "node:path";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as resolvePackageJson, b as isPackageResolvable } from "./project-
|
|
2
|
-
import {
|
|
1
|
+
import { C as resolvePackageJson, b as isPackageResolvable } from "./project-DIo71tGq.mjs";
|
|
2
|
+
import { X as readBundleSchemes, Y as pickDevClientScheme } from "./toolchain-CZvtCZ-m.mjs";
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
4
|
import { isJsonObject, readJsonObject } from "@stim-cli/core/state";
|
|
5
5
|
//#region src/commands/dev-client.ts
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-L37dbiIb.mjs";
|
|
2
|
-
import { r as readWorkspaceState$1 } from "./workspace-state-
|
|
3
|
-
import { r as clockTime } from "./command-output-
|
|
2
|
+
import { r as readWorkspaceState$1 } from "./workspace-state-CHEN_xzy.mjs";
|
|
3
|
+
import { r as clockTime } from "./command-output-DsjhOzJ3.mjs";
|
|
4
4
|
import { ft as deviceSlotKey, gt as projectDeviceSlots, ht as parseDeviceSlotOption, m as getProject, pt as deviceSlotPlatforms } from "./config-CNmN-ndb.mjs";
|
|
5
|
-
import { I as readWorkspaceLaunches, P as readRemoteSession, i as findProjectRoot$1, t as NO_PROJECT_REFUSAL } from "./project-
|
|
6
|
-
import { $ as probeEmulatorSerial, A as getAvdNameForSerialAsync, E as emulatorProbeSession, P as listAdbDevicesAsync, Z as physicalDeviceModel, at as resolvePhysicalDevice, c as androidPoolNoCandidatesRefusal, d as androidToolPath, it as resolveOwnedAvdSerialAsync, s as androidPoolCandidates, u as androidToolCwd } from "./android-
|
|
7
|
-
import {
|
|
8
|
-
import { C as parseLeaseDuration, D as releaseWorkspaceLeases, j as takeLease, y as fileLeaseIo } from "./activity-
|
|
9
|
-
import { D as resolveOwnedIosSim, f as listAllIosSimsAsync } from "./ios-
|
|
10
|
-
import { Z as waitForDevice, q as parseDeviceWait } from "./support-
|
|
11
|
-
import { n as runProvision } from "./device-provision-
|
|
12
|
-
import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, l as listIosDevices, o as iosPoolNoCandidatesRefusal } from "./ios-device-
|
|
13
|
-
import { t as selectFromPool } from "./device-pool-
|
|
5
|
+
import { I as readWorkspaceLaunches, P as readRemoteSession, i as findProjectRoot$1, t as NO_PROJECT_REFUSAL } from "./project-DIo71tGq.mjs";
|
|
6
|
+
import { $ as probeEmulatorSerial, A as getAvdNameForSerialAsync, E as emulatorProbeSession, P as listAdbDevicesAsync, Z as physicalDeviceModel, at as resolvePhysicalDevice, c as androidPoolNoCandidatesRefusal, d as androidToolPath, it as resolveOwnedAvdSerialAsync, s as androidPoolCandidates, u as androidToolCwd } from "./android-27_JgJ1T.mjs";
|
|
7
|
+
import { qn as runProcessOperation } from "./device-capacity-D_IlxZRL.mjs";
|
|
8
|
+
import { C as parseLeaseDuration, D as releaseWorkspaceLeases, j as takeLease, y as fileLeaseIo } from "./activity-CANftndU.mjs";
|
|
9
|
+
import { D as resolveOwnedIosSim, f as listAllIosSimsAsync } from "./ios-DQEzde6f.mjs";
|
|
10
|
+
import { Z as waitForDevice, q as parseDeviceWait } from "./support-BeVRaMWT.mjs";
|
|
11
|
+
import { n as runProvision } from "./device-provision-C9NPdCne.mjs";
|
|
12
|
+
import { a as iosPoolCandidates, c as isWirelessIosDevice, f as resolveIosPhysicalDevice, l as listIosDevices, o as iosPoolNoCandidatesRefusal } from "./ios-device-BLm1BZB4.mjs";
|
|
13
|
+
import { t as selectFromPool } from "./device-pool-BEaTdtss.mjs";
|
|
14
14
|
import { hostedNativeRecords } from "@stim-cli/core/state";
|
|
15
15
|
import chalk from "chalk";
|
|
16
16
|
//#region src/commands/device-tools.ts
|
|
@@ -53,6 +53,7 @@ const TARGET = "STIM_DEVICE_TOOL_TARGET";
|
|
|
53
53
|
const UNSUPPORTED = "STIM_DEVICE_TOOL_UNSUPPORTED";
|
|
54
54
|
const FAILED = "STIM_DEVICE_TOOL_FAILED";
|
|
55
55
|
const DEFAULT_DEPS$1 = {
|
|
56
|
+
hostPlatform: process.platform,
|
|
56
57
|
findProjectRoot: findProjectRoot$1,
|
|
57
58
|
getProject,
|
|
58
59
|
hostedSlots: (root, platform) => Object.keys(hostedNativeRecords(readWorkspaceState$1(root), platform)),
|
|
@@ -162,11 +163,12 @@ function describeError(error) {
|
|
|
162
163
|
async function resolveToolTarget(platform, slot, root, d) {
|
|
163
164
|
const slotText = slot === "default" ? "" : ` --slot ${slot}`;
|
|
164
165
|
const runCommand = `stim ${platform}${slotText}`;
|
|
166
|
+
const localRemedy = platform === "ios" && d.hostPlatform !== "darwin" ? "Run device tools on a Mac with a local Stim-owned iOS simulator." : `Run \`${runCommand} --remote local\` to use a local device.`;
|
|
165
167
|
const project = d.getProject(root);
|
|
166
168
|
if (!project) return failure("STIM_NO_PROJECT", `No Stim environment is registered for ${root}.`, "Run `stim start` first.");
|
|
167
|
-
if (d.hostedSlots(root, platform).includes(slot)) return failure(TARGET, `This workspace's ${platform} device${slotText ? ` in slot ${slot}` : ""} is hosted on another Mac, and device tools act only on the workspace's own local simulator or emulator.`,
|
|
169
|
+
if (d.hostedSlots(root, platform).includes(slot)) return failure(TARGET, `This workspace's ${platform} device${slotText ? ` in slot ${slot}` : ""} is hosted on another Mac, and device tools act only on the workspace's own local simulator or emulator.`, localRemedy);
|
|
168
170
|
const remote = d.readRemotePlatform(root);
|
|
169
|
-
if (remote && (remote.platform === null || remote.platform === platform)) return failure(TARGET, `This workspace's remote device is EAS Simulator session ${remote.sessionId}, and device tools act only on the workspace's own local simulator or emulator.`,
|
|
171
|
+
if (remote && (remote.platform === null || remote.platform === platform)) return failure(TARGET, `This workspace's remote device is EAS Simulator session ${remote.sessionId}, and device tools act only on the workspace's own local simulator or emulator.`, localRemedy);
|
|
170
172
|
const records = deviceSlotPlatforms(project, slot);
|
|
171
173
|
const launch = d.readLaunch(root, platform, slot);
|
|
172
174
|
if (platform === "ios") {
|
|
@@ -199,7 +201,6 @@ async function resolveToolTarget(platform, slot, root, d) {
|
|
|
199
201
|
function noOwnedDevice(platform, slot, runCommand) {
|
|
200
202
|
return failure(TARGET, `This workspace has no owned ${platform} ${platform === "ios" ? "simulator" : "emulator"}${slot === "default" ? "" : ` in slot ${slot}`}. Device tools do not act on physical devices or devices Stim does not own.`, `Run \`${runCommand}\` to create and boot one.`);
|
|
201
203
|
}
|
|
202
|
-
/** Reads each permission's grant state out of `dumpsys package <id>`; a permission the dump does not list is omitted. */
|
|
203
204
|
function parsePackagePermissions(dump, names) {
|
|
204
205
|
const states = [];
|
|
205
206
|
for (const name of names) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { D as ownership_claim_exports, t as getExecutor } from "./exec-L37dbiIb.mjs";
|
|
2
|
-
import { l as phaseLine } from "./command-output-
|
|
2
|
+
import { l as phaseLine } from "./command-output-DsjhOzJ3.mjs";
|
|
3
3
|
import { A as withConfigLockAsync, N as acquireAvdClaim, T as setDevice, a as clearDevice, gt as projectDeviceSlots, i as clearAndroidBootPending, k as withConfigLock, pt as deviceSlotPlatforms, t as allConsolePortsAndSerials, v as loadConfig, x as releaseAndroidConsolePort } from "./config-CNmN-ndb.mjs";
|
|
4
|
-
import { l as androidDataPartitionSizeGbSetting, o as androidAvdConfigSetting } from "./settings-
|
|
5
|
-
import { A as getAvdNameForSerialAsync, G as ownedAvdName, H as ownedAvdDeviceProfile, J as ownedAvdSystemImage, P as listAdbDevicesAsync, Q as pickDefaultSystemImage, R as listAvdsAsync, S as createOwnedAvd, V as nextConsolePort, W as ownedAvdMatchesConfiguration, _ as avdPoolConfiguration, b as bootAndroidEmulator, bt as parkedMaxSetting, ht as adoptParked, it as resolveOwnedAvdSerialAsync, n as OWNED_AVD_CONFIG_DEFAULTS, p as assertOwnedAvdStoppedAsync, t as DEFAULT_AVD_DEVICE_PROFILE, ut as waitForBoot, vt as isLegacyDeletionClaim, xt as readParked, z as listInstalledSystemImages } from "./android-
|
|
6
|
-
import { c as pidExists } from "./metro-
|
|
7
|
-
import { _ as withDeviceBootAdmission, n as DeviceAdmissionRefusal, s as countLiveOwnedDevicesFrom } from "./device-capacity-
|
|
8
|
-
import {
|
|
9
|
-
import { B as reportMemoryCulprits, L as memoryCulpritsUnderAsync, R as readHostMemoryPressure, V as memoryCulpritAdvice, f as listAllIosSimsAsync } from "./ios-
|
|
4
|
+
import { l as androidDataPartitionSizeGbSetting, o as androidAvdConfigSetting } from "./settings-Cz8kQJzr.mjs";
|
|
5
|
+
import { A as getAvdNameForSerialAsync, G as ownedAvdName, H as ownedAvdDeviceProfile, J as ownedAvdSystemImage, P as listAdbDevicesAsync, Q as pickDefaultSystemImage, R as listAvdsAsync, S as createOwnedAvd, V as nextConsolePort, W as ownedAvdMatchesConfiguration, _ as avdPoolConfiguration, b as bootAndroidEmulator, bt as parkedMaxSetting, ht as adoptParked, it as resolveOwnedAvdSerialAsync, n as OWNED_AVD_CONFIG_DEFAULTS, p as assertOwnedAvdStoppedAsync, t as DEFAULT_AVD_DEVICE_PROFILE, ut as waitForBoot, vt as isLegacyDeletionClaim, xt as readParked, z as listInstalledSystemImages } from "./android-27_JgJ1T.mjs";
|
|
6
|
+
import { c as pidExists } from "./metro-Cj6W4qOO.mjs";
|
|
7
|
+
import { _ as withDeviceBootAdmission, n as DeviceAdmissionRefusal, s as countLiveOwnedDevicesFrom } from "./device-capacity-D_IlxZRL.mjs";
|
|
8
|
+
import { _t as teardownParkedAvd, mt as teardownOwnedAvd } from "./workspaces-BgAYIccE.mjs";
|
|
9
|
+
import { B as reportMemoryCulprits, L as memoryCulpritsUnderAsync, R as readHostMemoryPressure, V as memoryCulpritAdvice, f as listAllIosSimsAsync } from "./ios-DQEzde6f.mjs";
|
|
10
10
|
import { claimRemoveCommand, clearClaimChild, markClaimChildPending, processGroupAlive, releaseClaim, setClaimChild } from "@stim-cli/core/ownership-claim";
|
|
11
11
|
import { randomUUID } from "node:crypto";
|
|
12
12
|
import { existsSync } from "node:fs";
|