stim 1.25.0 → 1.26.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 +1 -1
- package/dist/{acquire-artifact-zA4S7RHE.mjs → acquire-artifact-DVsvSwf7.mjs} +1 -1
- package/dist/{act-BbHS3oV8.mjs → act-C-BqJEpu.mjs} +157 -35
- package/dist/{activity-BpjwrQXU.mjs → activity-Lnb_EoRY.mjs} +4 -5
- package/dist/{agent-device-usage-output-Bnkerfod.mjs → agent-device-usage-output-DbXy5tg8.mjs} +4 -4
- package/dist/{android-saBeB4lr.mjs → android-B5P81yI-.mjs} +1 -1
- package/dist/{android-CNZgRC-4.mjs → android-CSbLRD53.mjs} +5 -5
- package/dist/{android-BGwuK3Mc.mjs → android-CiNQw3kq.mjs} +73 -49
- package/dist/{android-Cjcj8MCw.mjs → android-DTAcRwBC.mjs} +81 -34
- package/dist/{android-cas-BVqh2Zep.mjs → android-cas-BTVhZ0Qs.mjs} +4 -4
- package/dist/{android-project-CTYaETc0.d.mts → android-project-DUGMbq28.d.mts} +55 -1
- package/dist/api.d.mts +8 -5
- package/dist/api.mjs +27 -27
- package/dist/apk-signed-tail-B46U9hXc.mjs +142 -0
- package/dist/{artifact-Co8zixVx.mjs → artifact-BxREhAaV.mjs} +23 -18
- package/dist/{artifact-DN8JNwqS.mjs → artifact-CsAP6AGK.mjs} +35 -20
- package/dist/{attempt-DW-mQqM7.mjs → attempt-ClyJlZPT.mjs} +4 -2
- package/dist/{browser-web-CCgZsHmI.mjs → browser-web-rYPyqhTf.mjs} +11 -12
- package/dist/{budget-HyShrIpL.mjs → budget-k2mZGvvk.mjs} +196 -33
- package/dist/{build-CAiw8Ezm.mjs → build-DPhApsjV.mjs} +26 -23
- package/dist/{build-cache-CKCzxzxA.mjs → build-cache-DrXNCy3T.mjs} +103 -21
- package/dist/{build-plan-zCuHGlA8.mjs → build-plan-DrMMdayj.mjs} +5 -5
- package/dist/{cache-manifest-BPXRONJz.mjs → cache-manifest-BEZ9Bpl1.mjs} +1 -1
- package/dist/cache-manifest.mjs +1 -1
- package/dist/{ccache-h1FKhZeg.mjs → ccache-Bx5TbxwG.mjs} +6 -6
- package/dist/{cli-C4w607Pz.mjs → cli-BBKFGOFl.mjs} +19 -19
- package/dist/cli.mjs +1 -1
- package/dist/{client-BQsmyp_-.mjs → client-D9CaRks-.mjs} +36 -61
- package/dist/collector-run.mjs +4 -4
- package/dist/{command-output-BBvS1H6v.mjs → command-output-BF5AR2dL.mjs} +1 -1
- package/dist/{config-BZhXY15H.mjs → config-BktkY_zC.mjs} +321 -15
- package/dist/{launch-DscF1QfM.mjs → dependencies-Dw6wfQdv.mjs} +258 -255
- package/dist/{dependency-state-BwNCYG5Q.mjs → dependency-state-DFB41vfr.mjs} +1 -1
- package/dist/{dev-client-CHoXXZeg.mjs → dev-client-DXR_tPVY.mjs} +2 -2
- package/dist/{device-B9FqTBYW.mjs → device-BK-zwyd_.mjs} +13 -13
- package/dist/{device-F5-4z9ef.mjs → device-BcYeHSFu.mjs} +14 -14
- package/dist/{device-capacity-ZYaRALv5.mjs → device-capacity-DCSvUF0l.mjs} +10 -17
- package/dist/device-host-worker.mjs +11 -13
- package/dist/{device-ios-DkHBrmvH.mjs → device-ios-BLGfXQeK.mjs} +49 -17
- package/dist/{device-lease-run-ogEeJ62K.mjs → device-lease-run-BmvIl7bI.mjs} +4 -4
- package/dist/{device-pool-BIg8MU8l.mjs → device-pool-Dluix4H3.mjs} +3 -3
- package/dist/{doctor-k3P3PizH.mjs → doctor-Bhg1ii70.mjs} +14 -14
- package/dist/{doctor-A_Nr_fDe.mjs → doctor-Cp-BhzTS.mjs} +1 -1
- package/dist/{doctor-Bm8TVpGn.mjs → doctor-OnwP94ne.mjs} +72 -23
- package/dist/{doctor-fingerprint-zlujA1Gs.mjs → doctor-fingerprint-D3a04Mhu.mjs} +8 -2
- package/dist/doctor-fingerprint.mjs +1 -1
- package/dist/{doctor-watchman-BovI1y3-.mjs → doctor-watchman-BStK05nt.mjs} +4 -4
- package/dist/{eas-build-CyDKNTBP.mjs → eas-build-Dsj93iM9.mjs} +2 -2
- package/dist/{eas-fallback-gaZi-dJL.mjs → eas-fallback-FwkeqqGi.mjs} +10 -10
- package/dist/{eas-session-ledger-BMCA1gdO.mjs → eas-session-ledger-B5vygTiD.mjs} +5 -5
- package/dist/{error-diagnostics-B1Mj_-7h.mjs → error-diagnostics-BOOm9Db7.mjs} +8 -8
- package/dist/{gc-eaz403W6.mjs → gc-C_79zvz4.mjs} +2 -2
- package/dist/{gc-B9jcnmIk.mjs → gc-ldgr-hXU.mjs} +74 -43
- package/dist/{guide-DR0K0xW9.mjs → guide-D7K0X6KG.mjs} +272 -52
- package/dist/{hosted-android-Bvb2-ZxD.mjs → hosted-android-Bk54ej6n.mjs} +3 -3
- package/dist/{hosted-client-rsRqysJc.mjs → hosted-client-fHO8yqzc.mjs} +5 -5
- package/dist/{hosted-ios-RtVcJH3u.mjs → hosted-ios-D55QhYaD.mjs} +1 -1
- package/dist/{hosted-logs-CWKGYWNX.mjs → hosted-logs-BfbmDM4M.mjs} +17 -11
- package/dist/hosted-logs-sync-B0pvmOk-.mjs +195 -0
- package/dist/{hosted-macos-d0pv9Tth.mjs → hosted-macos-CPl0OZ9h.mjs} +5 -5
- package/dist/{hosted-native-BxTizGU2.mjs → hosted-native-CpDB3-PO.mjs} +6 -7
- package/dist/{idle-shutdown-BIyfl0Zj.mjs → idle-shutdown-FfxL1KdG.mjs} +22 -9
- package/dist/{ios-Dvt97HgQ.mjs → ios-B7-lToDu.mjs} +8 -8
- package/dist/{ios-BQzvJlzw.mjs → ios-WxpDJ5T1.mjs} +72 -5
- package/dist/{ios-device-CKSvk0bu.mjs → ios-device-CsyryvpT.mjs} +1 -1
- package/dist/{ios-BRVM8b0P.mjs → ios-ftxdQbJS.mjs} +74 -46
- package/dist/{ios-project-DCUDo06I.mjs → ios-project-Ty5pHl9O.mjs} +6 -6
- package/dist/{ios-state-CT9nV5SP.mjs → ios-state-Cw7-WQf2.mjs} +1 -1
- package/dist/{js-swap-Z9HbC4cj.mjs → js-swap-BMhXYVDS.mjs} +4 -4
- package/dist/{launch-D0lPvFFu.mjs → launch-DOp8RjDz.mjs} +31 -26
- package/dist/{logs-BsIRre8x.mjs → logs-dQDki6Tt.mjs} +9 -173
- package/dist/{logs-Crs9y34Z.mjs → logs-s1dRIG1E.mjs} +85 -36
- package/dist/{macos-CcUlJPMu.mjs → macos-B0VEV3Gf.mjs} +1 -1
- package/dist/{macos-D477nfzH.mjs → macos-DBBPNnIA.mjs} +18 -19
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +28 -11
- package/dist/{metro-1pJgCX4U.mjs → metro-CjC10t6E.mjs} +2 -2
- package/dist/{metro-gateway-Bp9gJQAN.mjs → metro-gateway-B6_PgD0L.mjs} +2 -3
- package/dist/{named-ports-BVbn8SvC.mjs → named-ports-BG0j1X4g.mjs} +2 -2
- package/dist/{native-android-BvMizJn1.mjs → native-android-CL2NGiik.mjs} +17 -17
- package/dist/{native-gradle-artifact-inputs-BJscK4vN.mjs → native-gradle-artifact-inputs-btSUulme.mjs} +3 -3
- package/dist/{native-run-D5OJsGwA.mjs → native-run-BfIDFKLH.mjs} +2 -3
- package/dist/{native-runtime-B9w_Qyz3.mjs → native-runtime-Dq3RBcON.mjs} +6 -7
- package/dist/{native-xcode-inputs-Cv4l-obn.mjs → native-xcode-inputs-BW7H8JGu.mjs} +2 -2
- package/dist/{native-xcode-ios-DGrg90hE.mjs → native-xcode-ios-CBXJAxfC.mjs} +15 -16
- package/dist/offload-worker.d.mts +3 -1
- package/dist/offload-worker.mjs +31 -21
- package/dist/{ownership-jxxz-19m.mjs → ownership-BjYvMNX_.mjs} +2 -2
- package/dist/{phone-reverses-CYb7RRAx.mjs → phone-reverses-lmj6kcPm.mjs} +3 -3
- package/dist/{placement-log-DjOXJRIH.mjs → placement-log-DIFPQAXp.mjs} +1 -1
- package/dist/{plan-placement-BqKgKHCi.mjs → plan-placement-IiiSQhtz.mjs} +3 -3
- package/dist/{ports-DtS1Amb0.mjs → ports-C2_w1Z0Z.mjs} +3 -3
- package/dist/prebuild-gmouvmJZ.mjs +1247 -0
- package/dist/{project-BiC68mIp.mjs → project-BUu6Is4k.mjs} +15 -16
- package/dist/{react-native-android-DRYqoJc4.mjs → react-native-android-Cgg99REN.mjs} +47 -33
- package/dist/{react-native-build-CwZB-agu.mjs → react-native-build-oNwqF5Wb.mjs} +7 -7
- package/dist/{react-native-doctor-BCrytK7h.mjs → react-native-doctor-BhA3KUte.mjs} +49 -8
- package/dist/{react-native-ios-Cr1buNFo.mjs → react-native-ios-B-nf4rjN.mjs} +37 -23
- package/dist/{recordings-BaoQ0t-J.mjs → recordings-BldzVKq0.mjs} +1 -1
- package/dist/{reload-Beftw2X3.mjs → reload-C9OduiNc.mjs} +1 -1
- package/dist/{reload-FbSgMF8x.mjs → reload-CCR7KC_l.mjs} +14 -14
- package/dist/{remote-BuZj6AyU.mjs → remote-C8S7FlPF.mjs} +7 -7
- package/dist/{result-CR2vk2cj.mjs → result-7F5hEwQJ.mjs} +16 -16
- package/dist/{run-BtzE09Dl.mjs → run-BqB0v3pt.mjs} +1 -1
- package/dist/{selection-D5cxEl3t.mjs → selection-BNPBZ6T5.mjs} +155 -42
- package/dist/{server-bare-CH9X0RLn.mjs → server-bare-A75rDIdD.mjs} +1 -1
- package/dist/{server-command-CaBbDNU2.mjs → server-command-CssKFOD7.mjs} +4 -4
- package/dist/{server-expo-Ck8EIidM.mjs → server-expo-eQfOdydb.mjs} +2 -2
- package/dist/server-expo-wvcj5tiZ.mjs +2 -0
- package/dist/{settings-B5tCoq9N.mjs → settings-CosW5X-S.mjs} +1 -1
- package/dist/{settings-DzH9mGQZ.mjs → settings-OaGQF-ri.mjs} +1 -1
- package/dist/{settings-write-n0zwfohx.mjs → settings-write-QjYfSrjF.mjs} +5 -5
- package/dist/settings.schema.json +33 -6
- package/dist/{simslim-BjxszUAb.mjs → simslim-Bax1qcxu.mjs} +3 -2
- package/dist/{slot-launch-QeuJMlnJ.mjs → slot-launch-CYCEhfBY.mjs} +6 -6
- package/dist/{stage-D8xlRU2D.mjs → stage-jKQ7CP_B.mjs} +1 -1
- package/dist/{start-C1JLjkNw.mjs → start-C_wefNKB.mjs} +1 -1
- package/dist/{start-YMpNwLhh.mjs → start-_BdJ32cZ.mjs} +9 -10
- package/dist/{state-DMRNP7-4.mjs → state-C1i2nMOP.mjs} +2 -3
- package/dist/{state-DPaM3u5K.mjs → state-C4OdpOTF.mjs} +1 -2
- package/dist/{stats-CP7STzZw.mjs → stats-tEpEEH-u.mjs} +4 -4
- package/dist/{status-cNw6i0_t.mjs → status-B9M7x4CZ.mjs} +1 -1
- package/dist/{status-Fect2w9R.mjs → status-CRXz-Gtj.mjs} +1 -1
- package/dist/{status-CRLiJ-O_.mjs → status-DQrqodLj.mjs} +22 -23
- package/dist/{status-watch-Bc2J4TZn.mjs → status-watch-B5wDIH_o.mjs} +4 -4
- package/dist/status-worker.mjs +1 -1
- package/dist/{stim-desktop-DS0mzR8U.mjs → stim-desktop-6Dqp-gjX.mjs} +1 -1
- package/dist/{stop-Br7LKxBE.mjs → stop-CmdNhGlC.mjs} +2 -2
- package/dist/{stop-Db9Kh-UA.mjs → stop-DRqQVqDJ.mjs} +21 -19
- package/dist/{stop-COP6PQqw.mjs → stop-ySNQHXMG.mjs} +4 -5
- package/dist/supervisor-run.d.mts +1 -0
- package/dist/supervisor-run.mjs +14 -15
- package/dist/{support-Cxj9CmII.mjs → support-BGSCBoib.mjs} +4 -4
- package/dist/{support-qKcbgmI5.mjs → support-CVOCp0Ft.mjs} +9 -9
- package/dist/{swiftpm-artifact-inputs-iY9fsmOc.mjs → swiftpm-artifact-inputs-CfUzt_0Z.mjs} +1 -1
- package/dist/{swiftpm-macos-Bp_sn9P4.mjs → swiftpm-macos-x6HPpl_2.mjs} +9 -9
- package/dist/toolchain-DoavrvIA.mjs +2 -0
- package/dist/toolchain-J4J8MrAr.mjs +2107 -0
- package/dist/trigger-DzJu208Q.mjs +2 -0
- package/dist/{trigger-CBMe2YLH.mjs → trigger-KVaWWNyn.mjs} +1 -1
- package/dist/{warm-progress-BV3ZPmcY.mjs → warm-progress-DvhTX_eu.mjs} +3 -4
- package/dist/web-BFLueSh-.mjs +2 -0
- package/dist/{web-B4Yjyt1G.mjs → web-Bihbf7-u.mjs} +8 -9
- package/dist/web-run.mjs +4 -4
- package/dist/{workspace-state-CPSp3mav.mjs → workspace-state-pUg3_RRA.mjs} +45 -7
- package/dist/{workspaces-C9w4aeXF.mjs → workspaces-g2lhdBXF.mjs} +17 -17
- package/dist/{worktree-CclFIe1Z.mjs → worktree-BKuklFh_.mjs} +34 -31
- package/dist/{worktree-Ct9Gk3KL.mjs → worktree-Bm4cb-nU.mjs} +1 -1
- package/package.json +8 -8
- package/dist/created-devices-D2Aca-xu.mjs +0 -52
- package/dist/paths-DQtTgsBf.mjs +0 -42
- package/dist/prebuild-JUaqOLpc.mjs +0 -501
- package/dist/server-expo-C16Zf2k7.mjs +0 -2
- package/dist/toolchain-DB1aeqxO.mjs +0 -2
- package/dist/toolchain-VzLJzZ7O.mjs +0 -908
- package/dist/trigger-BLsHgAGR.mjs +0 -2
- package/dist/web-DS4UDWvf.mjs +0 -2
- package/dist/xcode-CiIIDnuD.mjs +0 -910
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { D as ownership_claim_exports, d as workspaceProcessLockError, u as withWorkspaceProcessLock } from "./exec-VFRpu1iA.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { r as createNdjsonWriter } from "./ndjson-CgE_o3Dl.mjs";
|
|
8
|
-
import { J as recordCapacityRefusal, Y as recordCapacityWait } from "./budget-HyShrIpL.mjs";
|
|
2
|
+
import { G as projectDeviceSlots, H as deviceSlotPlatforms, O as withConfigLockAsync$1, _ as loadConfig$1, d as getConfigDir, u as getConcurrencyLimits } from "./config-BktkY_zC.mjs";
|
|
3
|
+
import { a as formatElapsed, l as phaseLine } from "./command-output-BF5AR2dL.mjs";
|
|
4
|
+
import { g as deviceReclaimIdleMinutesSetting } from "./settings-CosW5X-S.mjs";
|
|
5
|
+
import { A as listAdbDevices, j as listAdbDevicesAsync } from "./android-DTAcRwBC.mjs";
|
|
6
|
+
import { $ as recordCapacityWait, Q as recordCapacityRefusal } from "./budget-k2mZGvvk.mjs";
|
|
9
7
|
import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
|
|
10
|
-
import { p as withIdleWorkspace } from "./workspaces-
|
|
11
|
-
import { d as listAllIosSims, f as listAllIosSimsAsync, l as iosRuntimeMatches, y as parseRuntimeVersion } from "./ios-
|
|
12
|
-
import { n as dueIdleDevices, r as shutDownIdleDevices } from "./idle-shutdown-
|
|
8
|
+
import { p as withIdleWorkspace } from "./workspaces-g2lhdBXF.mjs";
|
|
9
|
+
import { d as listAllIosSims, f as listAllIosSimsAsync, l as iosRuntimeMatches, y as parseRuntimeVersion } from "./ios-WxpDJ5T1.mjs";
|
|
10
|
+
import { i as writeIdleShutdownEvent, n as dueIdleDevices, r as shutDownIdleDevices } from "./idle-shutdown-FfxL1KdG.mjs";
|
|
13
11
|
import { realpathSync } from "node:fs";
|
|
14
12
|
import { basename, join } from "node:path";
|
|
15
|
-
import {
|
|
13
|
+
import { workspaceId } from "@stim-cli/core";
|
|
16
14
|
import { DEVICE_RECLAIM_REASON, automaticMachineEnabled } from "@stim-cli/core/state";
|
|
17
15
|
import { setTimeout } from "node:timers/promises";
|
|
18
16
|
//#region src/devices/queue-reclaim.ts
|
|
@@ -30,12 +28,7 @@ async function reclaimIdleDevice(root, idleMs, out, now, skipped) {
|
|
|
30
28
|
const { device, idleForMs } = candidate;
|
|
31
29
|
const label = loadConfig$1()?.projects[device.project]?.label || basename(device.project);
|
|
32
30
|
const log = (event) => {
|
|
33
|
-
|
|
34
|
-
writer.write({
|
|
35
|
-
src: "metro",
|
|
36
|
-
...event
|
|
37
|
-
});
|
|
38
|
-
writer.close();
|
|
31
|
+
writeIdleShutdownEvent(device.project, event);
|
|
39
32
|
if (event.level === "warn") out(`${"device".padEnd(11)} ${event.msg}`);
|
|
40
33
|
};
|
|
41
34
|
skipped.add(`${device.kind}:${device.id}`);
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { O as withConfigLockAsync$1, _ as loadConfig$1, c as ensureConfig } from "./config-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { n as forgetCreatedDeviceAsync } from "./created-devices-D2Aca-xu.mjs";
|
|
8
|
-
import { a as parsePidof, i as parseLogcatLine, t as androidClockOffset } from "./android-saBeB4lr.mjs";
|
|
2
|
+
import { _ as ensureWorkspaceStorage, d as writeWorkspaceState } from "./workspace-state-pUg3_RRA.mjs";
|
|
3
|
+
import { O as withConfigLockAsync$1, _ as loadConfig$1, c as ensureConfig } from "./config-BktkY_zC.mjs";
|
|
4
|
+
import { i as macosProcess, o as requiredMacosRecord } from "./state-C4OdpOTF.mjs";
|
|
5
|
+
import { A as listAdbDevices, Ct as forgetCreatedDeviceAsync, D as getAvdNameForSerial, F as listAvdsAsync, I as listInstalledSystemImages, K as ownedAvdSystemImage, M as listAvdDeviceProfiles, O as getAvdNameForSerialAsync, U as ownedAvdName, X as pickDefaultSystemImage, a as androidDeviceAbi, ct as waitForBoot, d as androidToolPath, f as assertOwnedAvdStopped, g as avdPathExists, k as hostSystemImageArch, nt as resolveOwnedAvdSerialAsync, t as DEFAULT_AVD_DEVICE_PROFILE, tt as resetAdoptedAvd, v as avdStorageRoots, x as createOwnedAvd, y as bootAndroidEmulator } from "./android-DTAcRwBC.mjs";
|
|
6
|
+
import { a as parsePidof, i as parseLogcatLine, t as androidClockOffset } from "./android-B5P81yI-.mjs";
|
|
9
7
|
import { r as createNdjsonWriter } from "./ndjson-CgE_o3Dl.mjs";
|
|
10
|
-
import { An as
|
|
11
|
-
import { A as teardownOwnedIosSim, O as teardownOwnedAvd } from "./workspaces-
|
|
12
|
-
import {
|
|
13
|
-
import { r as stopMacosAppHeld } from "./stop-
|
|
8
|
+
import { An as launchAndroidApp, En as installAndroidApp, Fn as writeDebugHttpHost, Mn as launchIosApp, On as installIosApp, Pn as reverseMetroPorts, jn as launchAndroidReleaseApp, kn as iosAppProcess, vn as androidAppProcess } from "./budget-k2mZGvvk.mjs";
|
|
9
|
+
import { A as teardownOwnedIosSim, O as teardownOwnedAvd } from "./workspaces-g2lhdBXF.mjs";
|
|
10
|
+
import { A as uninstallIosApp, E as resolveIosCreation, L as readHostMemoryPressure, T as resetIosPrivacy, a as createOwnedIosSim, d as listAllIosSims, g as listUserApps, n as bootIosSim, w as resetIosKeychain } from "./ios-WxpDJ5T1.mjs";
|
|
11
|
+
import { r as stopMacosAppHeld } from "./stop-ySNQHXMG.mjs";
|
|
14
12
|
import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
|
|
15
|
-
import { i as countLiveOwnedDevices } from "./device-capacity-
|
|
16
|
-
import { _ as findAapt } from "./support-
|
|
13
|
+
import { i as countLiveOwnedDevices } from "./device-capacity-DCSvUF0l.mjs";
|
|
14
|
+
import { _ as findAapt } from "./support-BGSCBoib.mjs";
|
|
17
15
|
import { t as waitForMacosRegistration } from "./registration-CN6nlhcD.mjs";
|
|
18
16
|
import { n as parseLogStreamLine } from "./ios-ENC4sRPA.mjs";
|
|
19
17
|
import { createHash, randomUUID } from "node:crypto";
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { D as ownership_claim_exports, o as cancellableSleep, t as getExecutor, u as withWorkspaceProcessLock } from "./exec-VFRpu1iA.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { C as saveConfig, G as projectDeviceSlots, H as deviceSlotPlatforms, O as withConfigLockAsync$1, _ as loadConfig$1, a as clearDevice, d as getConfigDir, w as setDevice } from "./config-
|
|
4
|
-
import { l as phaseLine } from "./command-output-
|
|
5
|
-
import { E as iosSimSlimProfileSetting, T as iosSimSlimDefaultSetting } from "./settings-
|
|
6
|
-
import { mt as dropParked, pt as adoptParked, vt as parkedMaxSetting, xt as selectParked, yt as readParked } from "./android-
|
|
7
|
-
import { M as teardownParkedIosSim } from "./workspaces-
|
|
8
|
-
import {
|
|
9
|
-
import { l as runtimeMismatch, m as withDeviceBootAdmission, n as DeviceAdmissionRefusal, o as deviceTypeMismatch } from "./device-capacity-
|
|
2
|
+
import { D as workspaceId$1 } from "./workspace-state-pUg3_RRA.mjs";
|
|
3
|
+
import { C as saveConfig, G as projectDeviceSlots, H as deviceSlotPlatforms, O as withConfigLockAsync$1, _ as loadConfig$1, a as clearDevice, d as getConfigDir, w as setDevice } from "./config-BktkY_zC.mjs";
|
|
4
|
+
import { l as phaseLine } from "./command-output-BF5AR2dL.mjs";
|
|
5
|
+
import { E as iosSimSlimProfileSetting, T as iosSimSlimDefaultSetting } from "./settings-CosW5X-S.mjs";
|
|
6
|
+
import { mt as dropParked, pt as adoptParked, vt as parkedMaxSetting, xt as selectParked, yt as readParked } from "./android-DTAcRwBC.mjs";
|
|
7
|
+
import { M as teardownParkedIosSim } from "./workspaces-g2lhdBXF.mjs";
|
|
8
|
+
import { C as renameIosSim, D as resolveOwnedIosSim, E as resolveIosCreation, L as readHostMemoryPressure, M as configuredIosSimulatorViewer, P as hostMemoryPressureAdvice, S as readSpringBoardPid, T as resetIosPrivacy, _ as ownedSimName, a as createOwnedIosSim, d as listAllIosSims, f as listAllIosSimsAsync, h as listIosRuntimesAsync, j as waitForSpringBoard, n as bootIosSim, p as listIosDeviceTypesAsync, u as iosSimulatorFailureAdvice, w as resetIosKeychain, y as parseRuntimeVersion, z as reportMemoryCulprits } from "./ios-WxpDJ5T1.mjs";
|
|
9
|
+
import { l as runtimeMismatch, m as withDeviceBootAdmission, n as DeviceAdmissionRefusal, o as deviceTypeMismatch } from "./device-capacity-DCSvUF0l.mjs";
|
|
10
|
+
import { createHash } from "node:crypto";
|
|
11
|
+
import { readFileSync } from "node:fs";
|
|
10
12
|
import { ambientContext } from "@stim-cli/core";
|
|
11
13
|
import { isJsonObject } from "@stim-cli/core/state";
|
|
12
14
|
import chalk from "chalk";
|
|
@@ -93,12 +95,13 @@ async function ensureOwnedIosDevice({ record, projectPath, slot, settingsRoot, l
|
|
|
93
95
|
owned: true,
|
|
94
96
|
deviceName: name,
|
|
95
97
|
...record.simslimManaged ? { simslimManaged: true } : {},
|
|
98
|
+
...record.simslimApplied ? { simslimApplied: record.simslimApplied } : {},
|
|
96
99
|
...record.adopted ? { adopted: true } : {},
|
|
97
100
|
...record.adoptionPending ? { adoptionPending: true } : {},
|
|
98
101
|
...record.parkedCacheKey ? { parkedCacheKey: record.parkedCacheKey } : {},
|
|
99
102
|
...record.schemeApprovals ? { schemeApprovals: record.schemeApprovals } : {}
|
|
100
103
|
};
|
|
101
|
-
const configure = async () => {
|
|
104
|
+
const configure = async (freshBoot) => {
|
|
102
105
|
if (record.adoptionPending) await resetAdoptedSim(sim.udid, out);
|
|
103
106
|
return configureOwnedIosSim({
|
|
104
107
|
record: updated,
|
|
@@ -106,6 +109,7 @@ async function ensureOwnedIosDevice({ record, projectPath, slot, settingsRoot, l
|
|
|
106
109
|
slot,
|
|
107
110
|
profile: simslimProfile,
|
|
108
111
|
slimByDefault: simslimDefault,
|
|
112
|
+
freshBoot,
|
|
109
113
|
out,
|
|
110
114
|
reconcileIosSimulator
|
|
111
115
|
});
|
|
@@ -116,11 +120,13 @@ async function ensureOwnedIosDevice({ record, projectPath, slot, settingsRoot, l
|
|
|
116
120
|
};
|
|
117
121
|
if (sim.state !== "Booted") return {
|
|
118
122
|
...updated,
|
|
119
|
-
booting: startIosBoot(sim.udid, configure, name, out, flags.simulatorApp, projectPath, flags.deviceSlotWait),
|
|
123
|
+
booting: startIosBoot(sim.udid, () => configure(true), name, out, flags.simulatorApp, projectPath, flags.deviceSlotWait),
|
|
120
124
|
...facts
|
|
121
125
|
};
|
|
126
|
+
const { record: configured, rebooted } = await configure(false);
|
|
127
|
+
if (rebooted) await muteBootedSimulator(sim.udid, out);
|
|
122
128
|
return {
|
|
123
|
-
...
|
|
129
|
+
...configured,
|
|
124
130
|
...facts,
|
|
125
131
|
booted: sim.udid
|
|
126
132
|
};
|
|
@@ -162,6 +168,7 @@ async function ensureOwnedIosDevice({ record, projectPath, slot, settingsRoot, l
|
|
|
162
168
|
slot,
|
|
163
169
|
profile: simslimProfile,
|
|
164
170
|
slimByDefault: simslimDefault,
|
|
171
|
+
freshBoot: true,
|
|
165
172
|
out,
|
|
166
173
|
reconcileIosSimulator
|
|
167
174
|
});
|
|
@@ -197,6 +204,7 @@ async function ensureOwnedIosDevice({ record, projectPath, slot, settingsRoot, l
|
|
|
197
204
|
slot,
|
|
198
205
|
profile: simslimProfile,
|
|
199
206
|
slimByDefault: simslimDefault,
|
|
207
|
+
freshBoot: true,
|
|
200
208
|
out,
|
|
201
209
|
reconcileIosSimulator
|
|
202
210
|
}), created.name, out, flags.simulatorApp, projectPath, flags.deviceSlotWait);
|
|
@@ -302,16 +310,32 @@ function clearIosAdoptionPending(projectPath, slot = "default") {
|
|
|
302
310
|
saveConfig(cfg);
|
|
303
311
|
});
|
|
304
312
|
}
|
|
305
|
-
|
|
313
|
+
function simslimProfileIdentity(profile, slimByDefault) {
|
|
314
|
+
if (profile) return `profile:${createHash("sha256").update(readFileSync(profile)).digest("hex")}`;
|
|
315
|
+
return slimByDefault ? "default" : null;
|
|
316
|
+
}
|
|
317
|
+
async function configureOwnedIosSim({ record, projectPath, slot, profile, slimByDefault, freshBoot, out, reconcileIosSimulator }) {
|
|
318
|
+
const identity = simslimProfileIdentity(profile, slimByDefault);
|
|
319
|
+
const slimConfigured = identity !== null || Boolean(record.simslimManaged);
|
|
320
|
+
const applied = record.simslimApplied;
|
|
321
|
+
const springBoardBefore = slimConfigured && !freshBoot ? await readSpringBoardPid(record.deviceUdid) : null;
|
|
322
|
+
if (identity !== null && record.simslimManaged && !freshBoot && applied?.profile === identity && springBoardBefore !== null && springBoardBefore === applied.springBoardPid) {
|
|
323
|
+
await withConfigLockAsync$1(() => setDevice(projectPath, "ios", { ...record }, slot));
|
|
324
|
+
return {
|
|
325
|
+
record,
|
|
326
|
+
rebooted: false
|
|
327
|
+
};
|
|
328
|
+
}
|
|
306
329
|
if (profile) out(chalk.dim(phaseLine("device", `applying the SimSlim profile to ${record.deviceUdid}`)));
|
|
307
330
|
else if (slimByDefault) out(chalk.dim(phaseLine("device", `applying SimSlim's default services to ${record.deviceUdid}`)));
|
|
308
331
|
else if (record.simslimManaged) out(chalk.dim(phaseLine("device", `restoring stock simulator services on ${record.deviceUdid}`)));
|
|
309
332
|
const previouslyManaged = Boolean(record.simslimManaged);
|
|
310
|
-
if (
|
|
311
|
-
const
|
|
312
|
-
|
|
333
|
+
if (identity !== null && !record.simslimManaged || applied) {
|
|
334
|
+
const { simslimApplied: _applied, ...rest } = record;
|
|
335
|
+
const pending = identity !== null ? {
|
|
336
|
+
...rest,
|
|
313
337
|
simslimManaged: true
|
|
314
|
-
};
|
|
338
|
+
} : rest;
|
|
315
339
|
await withConfigLockAsync$1(() => setDevice(projectPath, "ios", pending, slot));
|
|
316
340
|
record = pending;
|
|
317
341
|
}
|
|
@@ -326,8 +350,16 @@ async function configureOwnedIosSim({ record, projectPath, slot, profile, slimBy
|
|
|
326
350
|
const updated = { ...record };
|
|
327
351
|
if (result.managed) updated.simslimManaged = true;
|
|
328
352
|
else delete updated.simslimManaged;
|
|
353
|
+
const springBoardAfter = slimConfigured ? await readSpringBoardPid(record.deviceUdid) : null;
|
|
354
|
+
if (result.managed && !result.notInstalled && identity !== null && springBoardAfter !== null) updated.simslimApplied = {
|
|
355
|
+
profile: identity,
|
|
356
|
+
springBoardPid: springBoardAfter
|
|
357
|
+
};
|
|
329
358
|
await withConfigLockAsync$1(() => setDevice(projectPath, "ios", updated, slot));
|
|
330
|
-
return
|
|
359
|
+
return {
|
|
360
|
+
record: updated,
|
|
361
|
+
rebooted: slimConfigured && springBoardAfter !== springBoardBefore
|
|
362
|
+
};
|
|
331
363
|
}
|
|
332
364
|
async function ensureIosBooted({ device, projectPath, deviceSlotWait, simulatorApp, timeoutMs, pollMs, out }) {
|
|
333
365
|
const udid = device?.deviceUdid;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { b as operationState } from "./exec-VFRpu1iA.mjs";
|
|
2
|
-
import { V as deviceSlotKey } from "./config-
|
|
3
|
-
import { a as formatElapsed, r as clockTime } from "./command-output-
|
|
4
|
-
import {
|
|
5
|
-
import { E as releaseRunLease, S as parseLease, T as raiseLease, b as leaseIsExpired, j as takeLease, v as deviceLeasePath, y as fileLeaseIo } from "./activity-
|
|
2
|
+
import { V as deviceSlotKey } from "./config-BktkY_zC.mjs";
|
|
3
|
+
import { a as formatElapsed, r as clockTime } from "./command-output-BF5AR2dL.mjs";
|
|
4
|
+
import { nn as MANIFEST_VERIFY_TIMEOUT_MS, pn as APP_READINESS_TIMEOUT_MS } from "./budget-k2mZGvvk.mjs";
|
|
5
|
+
import { E as releaseRunLease, S as parseLease, T as raiseLease, b as leaseIsExpired, j as takeLease, v as deviceLeasePath, y as fileLeaseIo } from "./activity-Lnb_EoRY.mjs";
|
|
6
6
|
//#region src/engine/device-lease-run.ts
|
|
7
7
|
const LEASE_STEP_FLOOR_MS = 6e4;
|
|
8
8
|
const DEBUG_VERIFY_STEP_MS = MANIFEST_VERIFY_TIMEOUT_MS + APP_READINESS_TIMEOUT_MS;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { V as deviceSlotKey } from "./config-
|
|
2
|
-
import { A as selectPoolDevice, S as parseLease, b as leaseIsExpired, v as deviceLeasePath, y as fileLeaseIo } from "./activity-
|
|
3
|
-
import { i as DEVICE_WAIT_POLL_MS, n as DEVICE_BUSY, o as leaseExpiryText } from "./device-lease-run-
|
|
1
|
+
import { V as deviceSlotKey } from "./config-BktkY_zC.mjs";
|
|
2
|
+
import { A as selectPoolDevice, S as parseLease, b as leaseIsExpired, v as deviceLeasePath, y as fileLeaseIo } from "./activity-Lnb_EoRY.mjs";
|
|
3
|
+
import { i as DEVICE_WAIT_POLL_MS, n as DEVICE_BUSY, o as leaseExpiryText } from "./device-lease-run-BmvIl7bI.mjs";
|
|
4
4
|
//#region src/engine/device-pool.ts
|
|
5
5
|
function heldPoolId(root, platform, now, io = fileLeaseIo, slot = "default") {
|
|
6
6
|
const record = io.readHolder(root)[deviceSlotKey(platform, slot)];
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { f as refuseNoProject, l as phaseLine } from "./command-output-
|
|
3
|
-
import { Nt as repoRoot, R as projectSettingsContextAsync } from "./settings-
|
|
4
|
-
import { f as projectRegistry, t as NO_PROJECT_REFUSAL } from "./project-
|
|
5
|
-
import { c as inspectStimVersions, s as compareStimVersions } from "./eas-session-ledger-
|
|
6
|
-
import { a as inspectBudget,
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { s as offloadCheck } from "./client-
|
|
10
|
-
import {
|
|
11
|
-
import { r as maintenanceStatus, t as maintenanceLine } from "./status-
|
|
12
|
-
import { a as writeIgnoreDirs, c as recordDoctorRun, i as watchedCheckouts, n as inspectNestedWorktrees, r as nestedWorktreeFinding } from "./doctor-watchman-
|
|
13
|
-
import { c as checkWorktreeStorageLayout, l as readMachineSettings, o as runDoctor } from "./doctor-
|
|
14
|
-
import { h as resolveDeviceType, v as resolveRuntime } from "./support-
|
|
1
|
+
import { Z as doctorIo, _ as loadConfig$1, p as getProject } from "./config-BktkY_zC.mjs";
|
|
2
|
+
import { f as refuseNoProject, l as phaseLine } from "./command-output-BF5AR2dL.mjs";
|
|
3
|
+
import { Nt as repoRoot, R as projectSettingsContextAsync } from "./settings-CosW5X-S.mjs";
|
|
4
|
+
import { f as projectRegistry, t as NO_PROJECT_REFUSAL } from "./project-BUu6Is4k.mjs";
|
|
5
|
+
import { c as inspectStimVersions, s as compareStimVersions } from "./eas-session-ledger-B5vygTiD.mjs";
|
|
6
|
+
import { a as inspectBudget, hr as inspectWatchmanMemory, n as budgetLine, yr as memorySweepIsScoped } from "./budget-k2mZGvvk.mjs";
|
|
7
|
+
import { H as readMemoryCulpritsAsync, V as memoryCulpritFindings, f as listAllIosSimsAsync, h as listIosRuntimesAsync, l as iosRuntimeMatches, x as pickDefaultIosCreation } from "./ios-WxpDJ5T1.mjs";
|
|
8
|
+
import { I as detectXcodeMajorAsync } from "./toolchain-J4J8MrAr.mjs";
|
|
9
|
+
import { s as offloadCheck } from "./client-D9CaRks-.mjs";
|
|
10
|
+
import { d as inspectBuildMachines, g as inspectDeviceHostMachines } from "./selection-BNPBZ6T5.mjs";
|
|
11
|
+
import { r as maintenanceStatus, t as maintenanceLine } from "./status-CRXz-Gtj.mjs";
|
|
12
|
+
import { a as writeIgnoreDirs, c as recordDoctorRun, i as watchedCheckouts, n as inspectNestedWorktrees, r as nestedWorktreeFinding } from "./doctor-watchman-BStK05nt.mjs";
|
|
13
|
+
import { c as checkWorktreeStorageLayout, l as readMachineSettings, o as runDoctor } from "./doctor-OnwP94ne.mjs";
|
|
14
|
+
import { h as resolveDeviceType, v as resolveRuntime } from "./support-CVOCp0Ft.mjs";
|
|
15
15
|
import { isJsonObject, maintenanceNdjsonFile, readHostedAppMetadata, readHostedSessions } from "@stim-cli/core/state";
|
|
16
16
|
import { dirname, join, sep } from "path";
|
|
17
17
|
import chalk from "chalk";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as readDoctorReport, i as parseDoctorPlatform, n as doctorCommand, o as shadowedStimFinding, r as doctorSuccessLines, s as toolchainReport, t as applySandboxFix } from "./doctor-
|
|
1
|
+
import { a as readDoctorReport, i as parseDoctorPlatform, n as doctorCommand, o as shadowedStimFinding, r as doctorSuccessLines, s as toolchainReport, t as applySandboxFix } from "./doctor-Bhg1ii70.mjs";
|
|
2
2
|
export { applySandboxFix, doctorCommand as default, doctorSuccessLines, parseDoctorPlatform, readDoctorReport, shadowedStimFinding, toolchainReport };
|
|
@@ -1,29 +1,28 @@
|
|
|
1
1
|
import { C as reportSignal, T as trackReportResource, t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { _ as loadConfig$1,
|
|
4
|
-
import { d as quotedPath, u as plural } from "./command-output-
|
|
2
|
+
import { T as workspaceDerivedData, r as readWorkspaceState$1, y as sharedBuildCache } from "./workspace-state-pUg3_RRA.mjs";
|
|
3
|
+
import { _ as loadConfig$1, it as realIo, s as configCorruptRepair, u as getConcurrencyLimits } from "./config-BktkY_zC.mjs";
|
|
4
|
+
import { d as quotedPath, u as plural } from "./command-output-BF5AR2dL.mjs";
|
|
5
5
|
import { l as gitQuietAsync, o as git } from "./operation-exec-CUZifp6Z.mjs";
|
|
6
|
-
import { r as
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { L as readHostMemoryPressureAsync, N as hostMemoryPressureAdvice } from "./ios-BQzvJlzw.mjs";
|
|
6
|
+
import { $ as settingOrigin, Dt as listWorktreesAsync, E as iosSimSlimProfileSetting, G as resolveAndroidLayout, H as remoteAndroidSetting, Ht as filesystemDevice, Kt as temporaryRoot, L as projectSettingsContext, Lt as resolveSourceCheckoutAsync, Nt as repoRoot, O as mergeSettingsLayers, Pt as repoRootAsync, T as iosSimSlimDefaultSetting, Ut as makeTemporaryDirectory, W as remoteIosSetting, X as resolveSettings, a as SETTING_SHAPE_REMEDY, at as unknownSettingKeys, gt as dirtyFingerprintFiles, i as SETTINGS_WITH_RESOLVE_TIME_FALLBACK, kt as locallyKnownUpstreamAsync, m as defaultAndroidLayout, nt as settingValueAt, ot as webSettings, q as resolveIosProjectDir, r as PATH_SETTINGS, rt as settingsLayers, tt as settingShapeErrors, yt as gitCommonDirAsync } from "./settings-CosW5X-S.mjs";
|
|
7
|
+
import { C as resolvePackageJson, _ as appProjectProblem, b as isPackageResolvable, v as detectIsExpo } from "./project-BUu6Is4k.mjs";
|
|
8
|
+
import { ft as POOL_SETTING_REMEDY, k as hostSystemImageArch, o as androidHome, vt as parkedMaxSetting } from "./android-DTAcRwBC.mjs";
|
|
9
|
+
import { Jt as readInstalledEasCliVersionAsync, Qn as providerFromConfig, Zn as ownerFromConfig, cr as easCliSupport, er as resolveEasCliBin, lr as easCliUpgradeRemedy, qn as checkEasAuth$1, sr as MIN_EAS_CLI_SIMULATOR_VERSION } from "./budget-k2mZGvvk.mjs";
|
|
10
|
+
import { R as listBuildSlots } from "./workspaces-g2lhdBXF.mjs";
|
|
11
|
+
import { N as listBuildLocks } from "./activity-Lnb_EoRY.mjs";
|
|
12
|
+
import { o as diffFingerprintSources, p as fingerprintProject } from "./build-cache-DrXNCy3T.mjs";
|
|
13
|
+
import { P as hostMemoryPressureAdvice, R as readHostMemoryPressureAsync } from "./ios-WxpDJ5T1.mjs";
|
|
15
14
|
import { p as resolveOptimizations, u as compilerCacheFallbackMessage } from "./errors-DHm_U5gv.mjs";
|
|
16
|
-
import { i as projectCmakeLauncher } from "./ccache-
|
|
17
|
-
import {
|
|
18
|
-
import { g as androidPathRoomRemedy, i as ccacheEnabled, l as androidSdkRefusal, m as androidPathRoomMessage, p as androidPathRoom, t as apkOutputsDir } from "./react-native-build-
|
|
19
|
-
import { a as countLiveOwnedDevicesAsync, i as countLiveOwnedDevices } from "./device-capacity-
|
|
20
|
-
import { t as readDoctorFingerprint } from "./doctor-fingerprint-
|
|
15
|
+
import { i as projectCmakeLauncher } from "./ccache-Bx5TbxwG.mjs";
|
|
16
|
+
import { Y as podInstallCommand } from "./toolchain-J4J8MrAr.mjs";
|
|
17
|
+
import { g as androidPathRoomRemedy, i as ccacheEnabled, l as androidSdkRefusal, m as androidPathRoomMessage, p as androidPathRoom, t as apkOutputsDir } from "./react-native-build-oNwqF5Wb.mjs";
|
|
18
|
+
import { a as countLiveOwnedDevicesAsync, i as countLiveOwnedDevices } from "./device-capacity-DCSvUF0l.mjs";
|
|
19
|
+
import { t as readDoctorFingerprint } from "./doctor-fingerprint-D3a04Mhu.mjs";
|
|
21
20
|
import { i as probeSigningIdentities } from "./ios-signing-4c_qXvQm.mjs";
|
|
22
21
|
import { a as findChrome, t as CHROME_INSTALL_REMEDY } from "./chrome-BvV8ssI3.mjs";
|
|
23
|
-
import { i as installedNpmTreeIsValidAsync, n as hasInstalledDependencies, t as dependencyState } from "./dependency-state-
|
|
24
|
-
import { n as simslimIsOnPath } from "./simslim-
|
|
25
|
-
import { t as MIN_EAS_CLI_BUILD_DOWNLOAD_VERSION } from "./eas-build-
|
|
26
|
-
import { r as resolveAndroidCompilerCache, t as readAndroidCasToolchain } from "./android-cas-
|
|
22
|
+
import { i as installedNpmTreeIsValidAsync, n as hasInstalledDependencies, t as dependencyState } from "./dependency-state-DFB41vfr.mjs";
|
|
23
|
+
import { n as simslimIsOnPath } from "./simslim-Bax1qcxu.mjs";
|
|
24
|
+
import { t as MIN_EAS_CLI_BUILD_DOWNLOAD_VERSION } from "./eas-build-Dsj93iM9.mjs";
|
|
25
|
+
import { r as resolveAndroidCompilerCache, t as readAndroidCasToolchain } from "./android-cas-BTVhZ0Qs.mjs";
|
|
27
26
|
import { existsSync, lstatSync, readFileSync, readdirSync, realpathSync, rmSync } from "node:fs";
|
|
28
27
|
import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
29
28
|
import { LAST_BUILD_KEYS, isJsonObject, readBuildHistory, readJsonObject, readStats, settingDefinition } from "@stim-cli/core/state";
|
|
@@ -874,8 +873,9 @@ async function reactNativeDoctorFindings({ root: projectRoot, settings: projectS
|
|
|
874
873
|
readEasCliVersion: () => remoteVersion
|
|
875
874
|
})).filter((remoteFinding) => remoteFinding !== null);
|
|
876
875
|
const easBuildDownloadFinding = await projectEasBuildDownloadFinding(projectRoot, remoteBackends, lookupEasCli, options.operation);
|
|
876
|
+
const appProjectFinding = checkAppProject(projectRoot);
|
|
877
877
|
return [
|
|
878
|
-
|
|
878
|
+
appProjectFinding,
|
|
879
879
|
checkIosHost(platform, host),
|
|
880
880
|
checkXcodeEnvLineEndings(projectRoot, platform, host),
|
|
881
881
|
...checkStorageLayout(projectRoot, {
|
|
@@ -899,7 +899,8 @@ async function reactNativeDoctorFindings({ root: projectRoot, settings: projectS
|
|
|
899
899
|
easFinding,
|
|
900
900
|
easBuildDownloadFinding,
|
|
901
901
|
await readOffloadCandidate(tailnetStatus, now(), host),
|
|
902
|
-
...remoteFindings
|
|
902
|
+
...remoteFindings,
|
|
903
|
+
appProjectFinding ? null : checkReadinessMarkers(projectRoot)
|
|
903
904
|
].filter((value) => Boolean(value));
|
|
904
905
|
}
|
|
905
906
|
function checkAndroidPathRoom(projectRoot, platform, host, hostArch = process.arch) {
|
|
@@ -954,6 +955,54 @@ function checkAppProject(projectRoot) {
|
|
|
954
955
|
if (problem.kind === "not-an-app") result.code = "not-an-app";
|
|
955
956
|
return result;
|
|
956
957
|
}
|
|
958
|
+
const READINESS_MARKER = "[stim:readiness]";
|
|
959
|
+
const READINESS_SCAN_LIMIT = 5e3;
|
|
960
|
+
const READINESS_SKIPPED_DIRS = /* @__PURE__ */ new Set([
|
|
961
|
+
"node_modules",
|
|
962
|
+
"ios",
|
|
963
|
+
"android",
|
|
964
|
+
"macos",
|
|
965
|
+
"windows",
|
|
966
|
+
"Pods",
|
|
967
|
+
"build",
|
|
968
|
+
"dist",
|
|
969
|
+
"web-build",
|
|
970
|
+
"coverage"
|
|
971
|
+
]);
|
|
972
|
+
const JS_SOURCE = /\.[cm]?[jt]sx?$/;
|
|
973
|
+
function hasReadinessMarker(projectRoot) {
|
|
974
|
+
const dirs = [projectRoot];
|
|
975
|
+
let scanned = 0;
|
|
976
|
+
for (let dir = dirs.pop(); dir !== void 0; dir = dirs.pop()) {
|
|
977
|
+
let entries;
|
|
978
|
+
try {
|
|
979
|
+
entries = readdirSync$1(dir, { withFileTypes: true });
|
|
980
|
+
} catch {
|
|
981
|
+
continue;
|
|
982
|
+
}
|
|
983
|
+
for (const entry of entries) {
|
|
984
|
+
if (entry.name.startsWith(".")) continue;
|
|
985
|
+
const path = join$1(dir, entry.name);
|
|
986
|
+
if (entry.isDirectory()) {
|
|
987
|
+
if (!READINESS_SKIPPED_DIRS.has(entry.name)) dirs.push(path);
|
|
988
|
+
continue;
|
|
989
|
+
}
|
|
990
|
+
if (!entry.isFile() || !JS_SOURCE.test(entry.name)) continue;
|
|
991
|
+
if (++scanned > READINESS_SCAN_LIMIT) return null;
|
|
992
|
+
try {
|
|
993
|
+
if (readFileSync$1(path, "utf-8").includes(READINESS_MARKER)) return true;
|
|
994
|
+
} catch {}
|
|
995
|
+
}
|
|
996
|
+
}
|
|
997
|
+
return false;
|
|
998
|
+
}
|
|
999
|
+
function checkReadinessMarkers(projectRoot) {
|
|
1000
|
+
if (hasReadinessMarker(projectRoot) !== false) return null;
|
|
1001
|
+
return {
|
|
1002
|
+
code: "readiness-markers-missing",
|
|
1003
|
+
...finding("note", "The app does not report readiness to Stim", `No \`${READINESS_MARKER}\` marker appears in this app's JavaScript or TypeScript sources outside node_modules. A debug \`stim ios\` or \`stim android\` launch then ends shortly after the app's JavaScript starts running, before the app is usable, and a later startup error shows only in \`stim logs --errors\`.`, "In debug builds, log `[stim:readiness] pending` from the first module the app's entry loads, before the root component, and `[stim:readiness] ready` once the app is usable. `stim guide lifecycle readiness` has the code.")
|
|
1004
|
+
};
|
|
1005
|
+
}
|
|
957
1006
|
function agentDeviceIsOnPath() {
|
|
958
1007
|
try {
|
|
959
1008
|
return Boolean(getExecutor().findExecutable("agent-device"));
|
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
|
+
import { setPriority } from "node:os";
|
|
2
3
|
import { fileURLToPath } from "node:url";
|
|
3
4
|
//#region src/doctor-fingerprint.ts
|
|
4
|
-
async function readDoctorFingerprint(operation, request) {
|
|
5
|
+
async function readDoctorFingerprint(operation, request, { lowPriority = false } = {}) {
|
|
5
6
|
const output = await getExecutor().runFileAsync(process.execPath, [fileURLToPath(new URL("../dist/doctor-fingerprint.mjs", import.meta.url))], {
|
|
6
7
|
cwd: operation.cwd,
|
|
7
8
|
env: Object.fromEntries(Object.entries(operation.env).filter((entry) => entry[1] !== void 0)),
|
|
8
9
|
input: JSON.stringify(request),
|
|
9
10
|
timeoutMs: 6e4,
|
|
10
11
|
killSignal: "SIGKILL",
|
|
11
|
-
signal: operation.signal
|
|
12
|
+
signal: operation.signal,
|
|
13
|
+
...lowPriority ? { onSpawn: (child) => {
|
|
14
|
+
try {
|
|
15
|
+
if (child.pid) setPriority(child.pid, 10);
|
|
16
|
+
} catch {}
|
|
17
|
+
} } : {}
|
|
12
18
|
});
|
|
13
19
|
return JSON.parse(output);
|
|
14
20
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { E as upsertProject, O as withConfigLockAsync$1, d as getConfigDir, p as getProject } from "./config-
|
|
1
|
+
import { E as upsertProject, O as withConfigLockAsync$1, d as getConfigDir, p as getProject } from "./config-BktkY_zC.mjs";
|
|
2
2
|
import { l as gitQuietAsync } from "./operation-exec-CUZifp6Z.mjs";
|
|
3
|
-
import { Dt as listWorktreesAsync, Pt as repoRootAsync } from "./settings-
|
|
4
|
-
import { f as projectRegistry } from "./project-
|
|
5
|
-
import { d as parseWatchRoots, m as runWatchman, s as compareStimVersions } from "./eas-session-ledger-
|
|
3
|
+
import { Dt as listWorktreesAsync, Pt as repoRootAsync } from "./settings-CosW5X-S.mjs";
|
|
4
|
+
import { f as projectRegistry } from "./project-BUu6Is4k.mjs";
|
|
5
|
+
import { d as parseWatchRoots, m as runWatchman, s as compareStimVersions } from "./eas-session-ledger-B5vygTiD.mjs";
|
|
6
6
|
import { mkdirSync, readFileSync, realpathSync, renameSync, rmSync, unlinkSync, writeFileSync } from "node:fs";
|
|
7
7
|
import { dirname, isAbsolute, join, relative, sep } from "node:path";
|
|
8
8
|
import { isJsonObject } from "@stim-cli/core/state";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { D as ownership_claim_exports, c as throwIfCancelled, t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
2
|
import { a as killOnAbort, r as childEnvironment } from "./operation-exec-CUZifp6Z.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { M as acquireBuildLock, P as releaseBuildLock } from "./activity-
|
|
3
|
+
import { cr as easCliSupport, er as resolveEasCliBin, ir as remoteCliInvocation, lr as easCliUpgradeRemedy } from "./budget-k2mZGvvk.mjs";
|
|
4
|
+
import { M as acquireBuildLock, P as releaseBuildLock } from "./activity-Lnb_EoRY.mjs";
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
6
|
import { existsSync, realpathSync, statSync } from "node:fs";
|
|
7
7
|
//#region src/engine/eas-build.ts
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { c as throwIfCancelled, t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
|
-
import { _ as loadConfig$1, p as getProject } from "./config-
|
|
2
|
+
import { _ as loadConfig$1, p as getProject } from "./config-BktkY_zC.mjs";
|
|
3
3
|
import { r as childEnvironment } from "./operation-exec-CUZifp6Z.mjs";
|
|
4
|
-
import { lt as detectProviders, ut as planMetroReach } from "./settings-
|
|
5
|
-
import { M as readMetroTunnel, P as readRemoteSession } from "./project-
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { c as call, l as connectHost, p as requireHostedAppMode } from "./hosted-client-
|
|
10
|
-
import { c as writeHostedNativeAsync, r as readHostedNative } from "./ios-state-
|
|
11
|
-
import { i as prepareHostedNative } from "./hosted-native-
|
|
12
|
-
import { c as peekDeviceSlots } from "./device-capacity-
|
|
4
|
+
import { lt as detectProviders, ut as planMetroReach } from "./settings-CosW5X-S.mjs";
|
|
5
|
+
import { M as readMetroTunnel, P as readRemoteSession } from "./project-BUu6Is4k.mjs";
|
|
6
|
+
import { Jt as readInstalledEasCliVersionAsync, Yn as isEasAuthFailureText, ar as remoteCommand, cr as easCliSupport, er as resolveEasCliBin, or as MIN_EAS_CLI_DEVICE_VERSION, s as peekBudget, sr as MIN_EAS_CLI_SIMULATOR_VERSION } from "./budget-k2mZGvvk.mjs";
|
|
7
|
+
import { R as readHostMemoryPressureAsync } from "./ios-WxpDJ5T1.mjs";
|
|
8
|
+
import { c as resolveBuildMachine, h as hostingMachines, i as namedBuildMachine } from "./selection-BNPBZ6T5.mjs";
|
|
9
|
+
import { c as call, l as connectHost, p as requireHostedAppMode } from "./hosted-client-fHO8yqzc.mjs";
|
|
10
|
+
import { c as writeHostedNativeAsync, r as readHostedNative } from "./ios-state-Cw7-WQf2.mjs";
|
|
11
|
+
import { i as prepareHostedNative } from "./hosted-native-CpDB3-PO.mjs";
|
|
12
|
+
import { c as peekDeviceSlots } from "./device-capacity-DCSvUF0l.mjs";
|
|
13
13
|
import { ambientEnv } from "@stim-cli/core";
|
|
14
14
|
import { automaticMachineEnabled, isJsonObject, machineCapacity, parseHostedChoice, parseHostedNativeOffer } from "@stim-cli/core/state";
|
|
15
15
|
//#region src/device-host/placement.ts
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { C as reportSignal, t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { G as projectDeviceSlots, V as deviceSlotKey } from "./config-
|
|
4
|
-
import { a as formatElapsed, o as formatLongDuration, r as clockTime, u as plural } from "./command-output-
|
|
5
|
-
import { n as isInsideProject } from "./metro-
|
|
6
|
-
import { r as cdpEndpoint } from "./state-
|
|
2
|
+
import { M as withDirLock$1, N as withDirLockAsync$1, w as workspaceAgentDeviceDir } from "./workspace-state-pUg3_RRA.mjs";
|
|
3
|
+
import { G as projectDeviceSlots, V as deviceSlotKey } from "./config-BktkY_zC.mjs";
|
|
4
|
+
import { a as formatElapsed, o as formatLongDuration, r as clockTime, u as plural } from "./command-output-BF5AR2dL.mjs";
|
|
5
|
+
import { n as isInsideProject } from "./metro-CjC10t6E.mjs";
|
|
6
|
+
import { r as cdpEndpoint } from "./state-C1i2nMOP.mjs";
|
|
7
7
|
import { accessSync, constants, existsSync, mkdirSync, realpathSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
8
8
|
import { delimiter, dirname, join, resolve } from "node:path";
|
|
9
9
|
import { workspaceId } from "@stim-cli/core";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { I as readWorkspaceLaunches } from "./project-
|
|
6
|
-
import { o as androidHome, u as androidToolCwd } from "./android-
|
|
7
|
-
import { d as resolveProjectMetro } from "./metro-
|
|
8
|
-
import { i as parseLogcatLine, n as androidLogGroups, r as isAndroidCrashText } from "./android-
|
|
9
|
-
import { S as parseLease, v as deviceLeasePath, y as fileLeaseIo } from "./activity-
|
|
2
|
+
import { r as readWorkspaceState$1 } from "./workspace-state-pUg3_RRA.mjs";
|
|
3
|
+
import { H as deviceSlotPlatforms, V as deviceSlotKey, p as getProject } from "./config-BktkY_zC.mjs";
|
|
4
|
+
import { v as launchErrorPreview } from "./command-output-BF5AR2dL.mjs";
|
|
5
|
+
import { I as readWorkspaceLaunches } from "./project-BUu6Is4k.mjs";
|
|
6
|
+
import { o as androidHome, u as androidToolCwd } from "./android-DTAcRwBC.mjs";
|
|
7
|
+
import { d as resolveProjectMetro } from "./metro-CjC10t6E.mjs";
|
|
8
|
+
import { i as parseLogcatLine, n as androidLogGroups, r as isAndroidCrashText } from "./android-B5P81yI-.mjs";
|
|
9
|
+
import { S as parseLease, v as deviceLeasePath, y as fileLeaseIo } from "./activity-Lnb_EoRY.mjs";
|
|
10
10
|
import { r as deviceConsoleLevel } from "./ios-device-B6HK951C.mjs";
|
|
11
11
|
import { createHash, randomUUID } from "node:crypto";
|
|
12
12
|
import { existsSync, readFileSync, renameSync } from "node:fs";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { At as
|
|
2
|
-
import { a as runGc, i as readGcReport, n as executeGc, o as withGcMaintenanceClaim, r as gcCommand, s as formatGcReport, t as collectGcReport } from "./gc-
|
|
1
|
+
import { At as describeUnverifiableDevices, Dt as deleteParkedSims, Ft as findStaleProjectDevices, Nt as findOrphanedDevices, Pt as findStaleDeviceRecords, kt as describeParkedSims, ut as selectCaches } from "./budget-k2mZGvvk.mjs";
|
|
2
|
+
import { a as runGc, i as readGcReport, n as executeGc, o as withGcMaintenanceClaim, r as gcCommand, s as formatGcReport, t as collectGcReport } from "./gc-ldgr-hXU.mjs";
|
|
3
3
|
export { collectGcReport, gcCommand as default, deleteParkedSims, describeParkedSims, describeUnverifiableDevices, executeGc, findOrphanedDevices, findStaleDeviceRecords, findStaleProjectDevices, formatGcReport, readGcReport, runGc, selectCaches, withGcMaintenanceClaim };
|