stim 1.24.0 → 1.25.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-CEs02U2o.mjs → acquire-artifact-zA4S7RHE.mjs} +1 -1
- package/dist/{act-Cyvm8xYc.mjs → act-BbHS3oV8.mjs} +12 -12
- package/dist/{activity-Dq3ZcdD8.mjs → activity-BpjwrQXU.mjs} +3 -3
- package/dist/{agent-device-usage-output-CccomeE0.mjs → agent-device-usage-output-Bnkerfod.mjs} +3 -3
- package/dist/{android-BZppyPe_.mjs → android-BGwuK3Mc.mjs} +41 -36
- package/dist/{android-DcztblCT.mjs → android-CNZgRC-4.mjs} +5 -5
- package/dist/{android-882m4hxX.mjs → android-Cjcj8MCw.mjs} +2 -2
- package/dist/{android-cas-BtCOrNqb.mjs → android-cas-BVqh2Zep.mjs} +1 -1
- package/dist/{android-project-DVWyCbWU.d.mts → android-project-CTYaETc0.d.mts} +6 -2
- package/dist/{android-CX5IcRuf.mjs → android-saBeB4lr.mjs} +1 -1
- package/dist/api.d.mts +1 -1
- package/dist/api.mjs +22 -22
- package/dist/{artifact-BR5VNArK.mjs → artifact-Co8zixVx.mjs} +14 -13
- package/dist/{artifact-Bdt_n9Jc.mjs → artifact-DN8JNwqS.mjs} +13 -13
- package/dist/{browser-web-ycg9qWB8.mjs → browser-web-CCgZsHmI.mjs} +10 -10
- package/dist/{budget-dPGuhNai.mjs → budget-HyShrIpL.mjs} +62 -21
- package/dist/{build-CaF574eS.mjs → build-CAiw8Ezm.mjs} +22 -21
- package/dist/{build-cache-HFUQ9eLz.mjs → build-cache-CKCzxzxA.mjs} +22 -4
- package/dist/{build-plan-JsDUq4w1.mjs → build-plan-zCuHGlA8.mjs} +5 -5
- package/dist/{ccache-CCn1S6qG.mjs → ccache-h1FKhZeg.mjs} +3 -3
- package/dist/{cli-xqAidP7O.mjs → cli-C4w607Pz.mjs} +17 -17
- package/dist/cli.mjs +1 -1
- package/dist/{client-18-ZowoT.mjs → client-BQsmyp_-.mjs} +26 -17
- package/dist/collector-run.mjs +2 -2
- package/dist/{command-output-DxC0k2rk.mjs → command-output-BBvS1H6v.mjs} +1 -1
- package/dist/{dependency-state-C56ll9hY.mjs → dependency-state-BwNCYG5Q.mjs} +1 -1
- package/dist/{dev-client-w_fok0Ek.mjs → dev-client-CHoXXZeg.mjs} +2 -2
- package/dist/{device-BktRGdjS.mjs → device-B9FqTBYW.mjs} +64 -33
- package/dist/{device-4RUugw5X.mjs → device-F5-4z9ef.mjs} +13 -13
- package/dist/{device-capacity-Ic-kdmEV.mjs → device-capacity-ZYaRALv5.mjs} +7 -7
- package/dist/device-host-worker.mjs +10 -10
- package/dist/{device-ios-DzpSlZyd.mjs → device-ios-DkHBrmvH.mjs} +27 -16
- package/dist/{device-lease-run-DUtkbqBQ.mjs → device-lease-run-ogEeJ62K.mjs} +4 -4
- package/dist/{device-pool-CgBHk401.mjs → device-pool-BIg8MU8l.mjs} +2 -2
- package/dist/{doctor-BZ6oxNum.mjs → doctor-A_Nr_fDe.mjs} +1 -1
- package/dist/{doctor-C33AzVfR.mjs → doctor-Bm8TVpGn.mjs} +27 -21
- package/dist/doctor-fingerprint.mjs +1 -1
- package/dist/{doctor-DZgpqR6J.mjs → doctor-k3P3PizH.mjs} +12 -12
- package/dist/{doctor-watchman-B453A231.mjs → doctor-watchman-BovI1y3-.mjs} +3 -3
- package/dist/{eas-build-CxKUNHsb.mjs → eas-build-CyDKNTBP.mjs} +2 -2
- package/dist/{eas-fallback-LMxk9Kw0.mjs → eas-fallback-gaZi-dJL.mjs} +12 -11
- package/dist/{eas-session-ledger-Ck6YXPAO.mjs → eas-session-ledger-BMCA1gdO.mjs} +3 -3
- package/dist/{error-diagnostics-BkKCZq4P.mjs → error-diagnostics-B1Mj_-7h.mjs} +7 -7
- package/dist/{errors-ccaPc4ox.mjs → errors-DHm_U5gv.mjs} +2 -1
- package/dist/{gc-yVKpAOKM.mjs → gc-B9jcnmIk.mjs} +15 -15
- package/dist/{gc-DDWEAj0w.mjs → gc-eaz403W6.mjs} +2 -2
- package/dist/{guide-Bggftwc5.mjs → guide-DR0K0xW9.mjs} +113 -37
- package/dist/{hosted-android-D4dweBof.mjs → hosted-android-Bvb2-ZxD.mjs} +3 -3
- package/dist/{hosted-client-BBTVe3X6.mjs → hosted-client-rsRqysJc.mjs} +2 -2
- package/dist/{hosted-ios-Sn0djzg8.mjs → hosted-ios-RtVcJH3u.mjs} +1 -1
- package/dist/{hosted-logs-CYIZ5ubJ.mjs → hosted-logs-CWKGYWNX.mjs} +4 -4
- package/dist/{hosted-macos-CXjsUNBR.mjs → hosted-macos-d0pv9Tth.mjs} +5 -5
- package/dist/{hosted-native-Doxbfzem.mjs → hosted-native-BxTizGU2.mjs} +6 -6
- package/dist/{idle-shutdown-BInjLKqm.mjs → idle-shutdown-BIyfl0Zj.mjs} +6 -6
- package/dist/{ios-CVUFFZ6C.mjs → ios-BQzvJlzw.mjs} +59 -11
- package/dist/{ios-B1FXRCMX.mjs → ios-BRVM8b0P.mjs} +37 -32
- package/dist/{ios-BItP6lkn.mjs → ios-Dvt97HgQ.mjs} +8 -8
- package/dist/{ios-device-BI38NFFH.mjs → ios-device-CKSvk0bu.mjs} +1 -1
- package/dist/{ios-project-KYqeJURj.mjs → ios-project-DCUDo06I.mjs} +4 -4
- package/dist/{ios-state-DlElquYD.mjs → ios-state-CT9nV5SP.mjs} +1 -1
- package/dist/{js-swap-BvrQvXHY.mjs → js-swap-Z9HbC4cj.mjs} +4 -4
- package/dist/{launch-SfzGH_s9.mjs → launch-D0lPvFFu.mjs} +16 -16
- package/dist/{launch-BVlyQw3T.mjs → launch-DscF1QfM.mjs} +35 -35
- package/dist/{logs-DXE32kyb.mjs → logs-BsIRre8x.mjs} +7 -7
- package/dist/{logs-ovlU7m7N.mjs → logs-Crs9y34Z.mjs} +5 -5
- package/dist/{macos-B3BveDrU.mjs → macos-CcUlJPMu.mjs} +1 -1
- package/dist/{macos-CCfhb-jT.mjs → macos-D477nfzH.mjs} +17 -17
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +5 -5
- package/dist/{metro-Bu8LBfzS.mjs → metro-1pJgCX4U.mjs} +1 -1
- package/dist/{metro-gateway-DtsOy-0P.mjs → metro-gateway-Bp9gJQAN.mjs} +1 -1
- package/dist/{named-ports-BWDuU5oQ.mjs → named-ports-BVbn8SvC.mjs} +1 -1
- package/dist/{native-android-96BBizbq.mjs → native-android-BvMizJn1.mjs} +14 -14
- package/dist/{native-gradle-artifact-inputs-BcLYBZil.mjs → native-gradle-artifact-inputs-BJscK4vN.mjs} +3 -3
- package/dist/{native-run-BmH7U8pr.mjs → native-run-D5OJsGwA.mjs} +2 -2
- package/dist/{native-runtime-DgtJkzIa.mjs → native-runtime-B9w_Qyz3.mjs} +6 -6
- package/dist/{native-xcode-inputs-irplbQb0.mjs → native-xcode-inputs-Cv4l-obn.mjs} +1 -1
- package/dist/{native-xcode-ios-BY-6hh6M.mjs → native-xcode-ios-DGrg90hE.mjs} +17 -16
- package/dist/offload-worker.d.mts +5 -2
- package/dist/offload-worker.mjs +21 -20
- package/dist/{ownership-DxlZGDcV.mjs → ownership-jxxz-19m.mjs} +2 -2
- package/dist/{phone-reverses-BdsdesVF.mjs → phone-reverses-CYb7RRAx.mjs} +2 -2
- package/dist/{placement-log-DUvqqsB-.mjs → placement-log-DjOXJRIH.mjs} +1 -1
- package/dist/{plan-placement-4axc0Hs7.mjs → plan-placement-BqKgKHCi.mjs} +3 -3
- package/dist/{ports-D-E_OiAO.mjs → ports-DtS1Amb0.mjs} +2 -2
- package/dist/{prebuild-DmVCf5xb.mjs → prebuild-JUaqOLpc.mjs} +6 -6
- package/dist/{project-Dz-hWkb-.mjs → project-BiC68mIp.mjs} +14 -14
- package/dist/{react-native-android-DOinxgwB.mjs → react-native-android-DRYqoJc4.mjs} +23 -22
- package/dist/{react-native-build-AuCu-aAP.mjs → react-native-build-CwZB-agu.mjs} +6 -6
- package/dist/{react-native-doctor-2ivJUmwZ.mjs → react-native-doctor-BCrytK7h.mjs} +6 -6
- package/dist/{react-native-ios-D5zTIuH8.mjs → react-native-ios-Cr1buNFo.mjs} +18 -17
- package/dist/{recordings-CdPwYwvs.mjs → recordings-BaoQ0t-J.mjs} +1 -1
- package/dist/{reload-Ck9RJeSq.mjs → reload-Beftw2X3.mjs} +1 -1
- package/dist/{reload-C1TTVesC.mjs → reload-FbSgMF8x.mjs} +13 -13
- package/dist/{remote-DEZ7AOVq.mjs → remote-BuZj6AyU.mjs} +15 -6
- package/dist/{result-DqBrb12U.mjs → result-CR2vk2cj.mjs} +14 -14
- package/dist/{run-BIwoU44q.mjs → run-BtzE09Dl.mjs} +1 -1
- package/dist/{selection-BLtvaqxc.mjs → selection-D5cxEl3t.mjs} +2 -2
- package/dist/{server-bare-Z1ToVLPn.mjs → server-bare-CH9X0RLn.mjs} +55 -3
- package/dist/{server-command-C0pmjNdG.mjs → server-command-CaBbDNU2.mjs} +4 -4
- package/dist/server-expo-C16Zf2k7.mjs +2 -0
- package/dist/{server-expo-Tt_hLRpy.mjs → server-expo-Ck8EIidM.mjs} +8 -6
- package/dist/{settings-RKwY33wv.mjs → settings-B5tCoq9N.mjs} +58 -60
- package/dist/{settings-kkt0vP4w.mjs → settings-DzH9mGQZ.mjs} +1 -1
- package/dist/{settings-write--gj6MACV.mjs → settings-write-n0zwfohx.mjs} +3 -3
- package/dist/settings.schema.json +38 -0
- package/dist/{simslim-CdWKT3vA.mjs → simslim-BjxszUAb.mjs} +20 -5
- package/dist/{slot-launch-A1BgotaM.mjs → slot-launch-QeuJMlnJ.mjs} +5 -5
- package/dist/{stage-ERTMh88n.mjs → stage-D8xlRU2D.mjs} +1 -1
- package/dist/{start-Bmg_qmHi.mjs → start-C1JLjkNw.mjs} +1 -1
- package/dist/{start-BKGrEhzG.mjs → start-YMpNwLhh.mjs} +7 -7
- package/dist/{state-B1ig0Kqy.mjs → state-DMRNP7-4.mjs} +2 -2
- package/dist/{state-BfAltYJP.mjs → state-DPaM3u5K.mjs} +1 -1
- package/dist/{stats-B-ckuiUg.mjs → stats-CP7STzZw.mjs} +3 -3
- package/dist/{status-DfFp6a76.mjs → status-CRLiJ-O_.mjs} +19 -19
- package/dist/{status-Pw-807f0.mjs → status-cNw6i0_t.mjs} +1 -1
- package/dist/{status-watch-XC7F-AMf.mjs → status-watch-Bc2J4TZn.mjs} +4 -4
- package/dist/status-worker.mjs +1 -1
- package/dist/{stop-BFu7X_Do.mjs → stop-Br7LKxBE.mjs} +2 -2
- package/dist/{stop-DhclRwOO.mjs → stop-COP6PQqw.mjs} +4 -4
- package/dist/{stop-CL1kDHds.mjs → stop-Db9Kh-UA.mjs} +69 -50
- package/dist/supervisor-run.mjs +13 -13
- package/dist/{support-B3tzVhKn.mjs → support-Cxj9CmII.mjs} +4 -4
- package/dist/{support-B1W-hmC2.mjs → support-qKcbgmI5.mjs} +14 -11
- package/dist/{swiftpm-artifact-inputs-BWYPj9Sn.mjs → swiftpm-artifact-inputs-iY9fsmOc.mjs} +1 -1
- package/dist/{swiftpm-macos-BVCP5mO4.mjs → swiftpm-macos-Bp_sn9P4.mjs} +8 -8
- package/dist/{toolchain-BjgKdoEf.mjs → toolchain-DB1aeqxO.mjs} +1 -1
- package/dist/{toolchain-D3bmRMia.mjs → toolchain-VzLJzZ7O.mjs} +14 -3
- package/dist/{warm-progress-ol0ZypEu.mjs → warm-progress-BV3ZPmcY.mjs} +3 -3
- package/dist/{web-BH7peScT.mjs → web-B4Yjyt1G.mjs} +6 -6
- package/dist/web-DS4UDWvf.mjs +2 -0
- package/dist/web-run.mjs +3 -3
- package/dist/{workspace-state-CeBpIZgr.mjs → workspace-state-CPSp3mav.mjs} +1 -1
- package/dist/{workspaces-CSV2Orf4.mjs → workspaces-C9w4aeXF.mjs} +10 -10
- package/dist/{worktree-Dw8kfacb.mjs → worktree-CclFIe1Z.mjs} +25 -25
- package/dist/{worktree-DEDUzO_L.mjs → worktree-Ct9Gk3KL.mjs} +1 -1
- package/dist/{xcode-DHu41qQ4.mjs → xcode-CiIIDnuD.mjs} +4 -4
- package/package.json +7 -7
- package/shim/bundle-response.cjs +53 -1
- package/shim/bundle-response.d.cts +1 -1
- package/shim/expo-metro-config.cjs +23 -1
- package/dist/server-expo-CEntXzRw.mjs +0 -2
- package/dist/web-BdOFlTJr.mjs +0 -2
|
@@ -2,24 +2,24 @@ import { D as ownership_claim_exports, E as debugLog, S as process_identity_expo
|
|
|
2
2
|
import { d as workspaceDir, f as workspaceId$1, g as workspaceStateFile$1, i as sharedBuildCache, m as workspaceLogsDir$1 } from "./paths-DQtTgsBf.mjs";
|
|
3
3
|
import { D as withConfigLock$1, F as isOnMountedVolume, G as projectDeviceSlots, H as deviceSlotPlatforms, L as measuredDirectorySizeAsync, M as directorySize, N as directorySizeAsync, O as withConfigLockAsync$1, P as formatBytes, R as volumeRootFor, _ as loadConfig$1, a as clearDevice, d as getConfigDir, o as clearSupervisor, p as getProject } from "./config-BZhXY15H.mjs";
|
|
4
4
|
import { n as stripAnsi } from "./process-output-Fpl8PYi8.mjs";
|
|
5
|
-
import { a as formatElapsed, l as phaseLine, o as formatLongDuration, s as isAppLaunchError, u as plural } from "./command-output-
|
|
5
|
+
import { a as formatElapsed, l as phaseLine, o as formatLongDuration, s as isAppLaunchError, u as plural } from "./command-output-BBvS1H6v.mjs";
|
|
6
6
|
import { a as killOnAbort, n as runOperationFileQuiet, r as childEnvironment, t as runOperationFile } from "./operation-exec-CUZifp6Z.mjs";
|
|
7
|
-
import { d as writeWorkspaceState, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-
|
|
8
|
-
import {
|
|
9
|
-
import { C as resolvePackageJson, M as readMetroTunnel, N as readPidFile, P as readRemoteSession, i as findProjectRoot$1, j as clearWorkspaceSupervisor, k as clearRemoteSession, s as ownedDeviceLabel, v as detectIsExpo } from "./project-
|
|
10
|
-
import { F as listAvdsAsync, G as ownedAvdSerialResolverAsync, I as listInstalledSystemImages, J as parseAvdSystemImage, V as ownedAvdDirectory, W as ownedAvdSerialResolver, d as androidToolPath, dt as isStimOwnedSim, m as avdIniPaths, mt as dropParked, o as androidHome, q as parseAvdDeviceProfile, ut as isStimOwnedAvd, v as avdStorageRoots, yt as readParked } from "./android-
|
|
11
|
-
import { a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, h as isMetroRunning, r as killMetroTreeAsync, u as processCwds } from "./metro-
|
|
7
|
+
import { d as writeWorkspaceState, l as withWorkspaceStateLockAsync, o as updateWorkspaceState, r as readWorkspaceState$1, t as clearWorkspaceStateKey } from "./workspace-state-CPSp3mav.mjs";
|
|
8
|
+
import { Y as resolveProjectSettingsAsync, d as androidLayoutSetting, ut as planMetroReach } from "./settings-B5tCoq9N.mjs";
|
|
9
|
+
import { C as resolvePackageJson, M as readMetroTunnel, N as readPidFile, P as readRemoteSession, i as findProjectRoot$1, j as clearWorkspaceSupervisor, k as clearRemoteSession, s as ownedDeviceLabel, v as detectIsExpo } from "./project-BiC68mIp.mjs";
|
|
10
|
+
import { F as listAvdsAsync, G as ownedAvdSerialResolverAsync, I as listInstalledSystemImages, J as parseAvdSystemImage, V as ownedAvdDirectory, W as ownedAvdSerialResolver, d as androidToolPath, dt as isStimOwnedSim, m as avdIniPaths, mt as dropParked, o as androidHome, q as parseAvdDeviceProfile, ut as isStimOwnedAvd, v as avdStorageRoots, yt as readParked } from "./android-Cjcj8MCw.mjs";
|
|
11
|
+
import { a as listeningPidsAsync, c as pidExists, d as resolveProjectMetro, h as isMetroRunning, r as killMetroTreeAsync, u as processCwds } from "./metro-1pJgCX4U.mjs";
|
|
12
12
|
import { r as createNdjsonWriter, s as readNdjsonGenerations$1 } from "./ndjson-CgE_o3Dl.mjs";
|
|
13
|
-
import { C as environmentState, a as removeEasSessionClaim, d as parseWatchRoots, f as parseWatchmanClients, i as recordEasSessionClaim, l as parseSubscriberNames, n as easMachineStateRoot$1, o as removeEasSessionClaimAsync, p as parseWatchmanPid, r as readEasSessionLedger$1, s as compareStimVersions, t as assertEasMachineRootWritable, u as parseTriggerCount, w as formatSpace, y as capacity } from "./eas-session-ledger-
|
|
13
|
+
import { C as environmentState, a as removeEasSessionClaim, d as parseWatchRoots, f as parseWatchmanClients, i as recordEasSessionClaim, l as parseSubscriberNames, n as easMachineStateRoot$1, o as removeEasSessionClaimAsync, p as parseWatchmanPid, r as readEasSessionLedger$1, s as compareStimVersions, t as assertEasMachineRootWritable, u as parseTriggerCount, w as formatSpace, y as capacity } from "./eas-session-ledger-BMCA1gdO.mjs";
|
|
14
14
|
import { i as registeredCaches } from "./cache-manifest-BPXRONJz.mjs";
|
|
15
15
|
import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
|
|
16
|
-
import { c as nativeRunWaitNotice, d as runCancellationSignal, m as claimForEmptying } from "./native-run-
|
|
17
|
-
import { A as teardownOwnedIosSim, B as GC_OUTPUT, E as eraseParkedIosSim, F as measureDu, I as writeUsageCache, M as teardownParkedIosSim, N as probePublicHttp, O as teardownOwnedAvd, P as canonical, R as listBuildSlots, T as eraseParkedAvd, a as collectWorkspaceOutputs, g as resolveSupervisorTarget, j as teardownParkedAvd, p as withIdleWorkspace, r as clearWorkspaceOutputs } from "./workspaces-
|
|
18
|
-
import { N as listBuildLocks, b as leaseIsExpired, g as workspaceActivity, i as createActivityReaderAsync, o as envDir, p as readHostProcessTableAsync, r as createActivityReader, s as idleForMs, x as listLeaseFiles } from "./activity-
|
|
19
|
-
import { c as expoConfigContents } from "./build-cache-
|
|
20
|
-
import { D as sanitizeDeviceLabel, H as
|
|
21
|
-
import { n as supervisorError } from "./errors-
|
|
22
|
-
import { c as findBinUpward, n as expoBinFromPackage, r as expoBinPath, s as expoTelemetryEnv } from "./server-expo-
|
|
16
|
+
import { c as nativeRunWaitNotice, d as runCancellationSignal, m as claimForEmptying } from "./native-run-D5OJsGwA.mjs";
|
|
17
|
+
import { A as teardownOwnedIosSim, B as GC_OUTPUT, E as eraseParkedIosSim, F as measureDu, I as writeUsageCache, M as teardownParkedIosSim, N as probePublicHttp, O as teardownOwnedAvd, P as canonical, R as listBuildSlots, T as eraseParkedAvd, a as collectWorkspaceOutputs, g as resolveSupervisorTarget, j as teardownParkedAvd, p as withIdleWorkspace, r as clearWorkspaceOutputs } from "./workspaces-C9w4aeXF.mjs";
|
|
18
|
+
import { N as listBuildLocks, b as leaseIsExpired, g as workspaceActivity, i as createActivityReaderAsync, o as envDir, p as readHostProcessTableAsync, r as createActivityReader, s as idleForMs, x as listLeaseFiles } from "./activity-BpjwrQXU.mjs";
|
|
19
|
+
import { c as expoConfigContents } from "./build-cache-CKCzxzxA.mjs";
|
|
20
|
+
import { D as sanitizeDeviceLabel, H as deviceHoldsApk, U as deviceHoldsBundle, b as parseSimctlList, f as listAllIosSimsAsync, g as listUserApps, k as uninstallIosApp, p as listIosDeviceTypesAsync, u as iosSimulatorFailureAdvice, y as parseRuntimeVersion } from "./ios-BQzvJlzw.mjs";
|
|
21
|
+
import { n as supervisorError } from "./errors-DHm_U5gv.mjs";
|
|
22
|
+
import { c as findBinUpward, n as expoBinFromPackage, r as expoBinPath, s as expoTelemetryEnv } from "./server-expo-Ck8EIidM.mjs";
|
|
23
23
|
import { t as DEV_MENU_LAUNCH_ARGS } from "./ios-device-B6HK951C.mjs";
|
|
24
24
|
import { createRequire } from "node:module";
|
|
25
25
|
import { randomUUID } from "node:crypto";
|
|
@@ -2985,16 +2985,18 @@ async function launchIosApp({ udid, bundleId, metroPort, devClientScheme = null,
|
|
|
2985
2985
|
const e = exec || getExecutor();
|
|
2986
2986
|
const running = await iosAppProcess(udid, bundleId, { exec: e });
|
|
2987
2987
|
const stateUnknown = running.state === "unknown";
|
|
2988
|
+
const launchRestarts = metroPort === null || !devClientScheme || Boolean(consolePaths);
|
|
2988
2989
|
const launchArgs = [
|
|
2989
2990
|
"simctl",
|
|
2990
2991
|
"launch",
|
|
2991
2992
|
...consolePaths ? [`--stdout=${consolePaths.stdout}`, `--stderr=${consolePaths.stderr}`] : [],
|
|
2992
|
-
...stateUnknown ? ["--terminate-running-process"] : [],
|
|
2993
|
+
...stateUnknown || running.state === "running" && launchRestarts ? ["--terminate-running-process"] : [],
|
|
2993
2994
|
udid,
|
|
2994
2995
|
bundleId
|
|
2995
2996
|
];
|
|
2996
2997
|
const restart = {};
|
|
2997
|
-
if (running.state === "running")
|
|
2998
|
+
if (running.state === "running" && launchRestarts) restart.restartedPid = running.pid;
|
|
2999
|
+
else if (running.state === "running") {
|
|
2998
3000
|
try {
|
|
2999
3001
|
await e.runFileAsync("xcrun", [
|
|
3000
3002
|
"simctl",
|
|
@@ -3677,7 +3679,10 @@ const LAUNCH_UNVERIFIED = "unverified";
|
|
|
3677
3679
|
const LAUNCH_BUNDLING = "bundling";
|
|
3678
3680
|
const LAUNCH_FATAL = "fatal";
|
|
3679
3681
|
const VERIFY_TIMEOUT_MS = 2e4;
|
|
3682
|
+
const MANIFEST_GRACE_MS = 15e3;
|
|
3683
|
+
const MANIFEST_VERIFY_TIMEOUT_MS = 6e4;
|
|
3680
3684
|
const STABILITY_WINDOW_MS = 3e3;
|
|
3685
|
+
const JS_RUNNING_SETTLE_MS = 500;
|
|
3681
3686
|
const VERIFY_POLL_MS = 500;
|
|
3682
3687
|
const BUNDLE_EVENTS = /* @__PURE__ */ new Set([
|
|
3683
3688
|
"bundle_build_started",
|
|
@@ -3714,6 +3719,21 @@ function isBundleRequestProof(record, since = 0, port = null, platform = null) {
|
|
|
3714
3719
|
if (!new RegExp(`:${digits}\\b`).test(rec.msg)) return false;
|
|
3715
3720
|
return BUNDLE_URL_PATH.test(rec.msg);
|
|
3716
3721
|
}
|
|
3722
|
+
const JS_RUNNING = /^Running "[^"]*"/;
|
|
3723
|
+
function isJsRunning(record, platform) {
|
|
3724
|
+
return record.src === "device" && record.platform === platform && (record.level === "info" || record.level === "debug") && typeof record.msg === "string" && JS_RUNNING.test(record.msg);
|
|
3725
|
+
}
|
|
3726
|
+
function jsRunningSince(signals, since, runtimeWaiting, platform) {
|
|
3727
|
+
if (since === null || runtimeWaiting) return null;
|
|
3728
|
+
const running = signals.find((record) => Number(record.ts) >= since && isJsRunning(record, platform));
|
|
3729
|
+
return running ? Number(running.ts) : null;
|
|
3730
|
+
}
|
|
3731
|
+
function settledWindowEnd(stabilityDeadline, jsRunningAt) {
|
|
3732
|
+
return stabilityDeadline !== null && jsRunningAt !== null ? Math.min(stabilityDeadline, jsRunningAt + JS_RUNNING_SETTLE_MS) : stabilityDeadline;
|
|
3733
|
+
}
|
|
3734
|
+
function jsRunningFields(jsRunningAt) {
|
|
3735
|
+
return jsRunningAt === null ? {} : { jsRunning: true };
|
|
3736
|
+
}
|
|
3717
3737
|
function expoBundleLine(msg) {
|
|
3718
3738
|
return /\bBundl(?:ing|ed)\b/.test(msg);
|
|
3719
3739
|
}
|
|
@@ -3729,6 +3749,19 @@ async function nativeLaunchFailure({ readCrashes, since, platform, processAlive,
|
|
|
3729
3749
|
waitedMs
|
|
3730
3750
|
} : null;
|
|
3731
3751
|
}
|
|
3752
|
+
function manifestDeadline(records, { startedAt, timeoutMs }) {
|
|
3753
|
+
const base = startedAt + timeoutMs;
|
|
3754
|
+
const open = /* @__PURE__ */ new Set();
|
|
3755
|
+
let servedAt = null;
|
|
3756
|
+
for (const record of records.toSorted((a, b) => Number(a.ts) - Number(b.ts))) if (record.event === "manifest_request_started") open.add(record.requestId);
|
|
3757
|
+
else {
|
|
3758
|
+
open.delete(record.requestId);
|
|
3759
|
+
if (record.event === "manifest_request_finished") servedAt = Number(record.ts);
|
|
3760
|
+
}
|
|
3761
|
+
const cap = startedAt + Math.max(timeoutMs, MANIFEST_VERIFY_TIMEOUT_MS);
|
|
3762
|
+
if (open.size > 0) return cap;
|
|
3763
|
+
return servedAt === null ? base : Math.min(cap, Math.max(base, servedAt + MANIFEST_GRACE_MS));
|
|
3764
|
+
}
|
|
3732
3765
|
async function verifyLaunch({ slot, appPid, platformShared, logsDir, since, metroPort = null, platform = null, mode = null, requireBundleResponse, timeoutMs = VERIFY_TIMEOUT_MS, stabilityMs = STABILITY_WINDOW_MS, pollMs = VERIFY_POLL_MS, readRecords = null, readDeviceRecords = null, readClientRecords = null, readNativeCrashes = null, processAlive = null, onReadinessPending = null, onActivity, now = Date.now, sleep = (ms) => new Promise((r) => setTimeout(r, ms)) } = {}) {
|
|
3733
3766
|
const delivered = (record) => deliveryOwner(record, {
|
|
3734
3767
|
slot,
|
|
@@ -3739,7 +3772,8 @@ async function verifyLaunch({ slot, appPid, platformShared, logsDir, since, metr
|
|
|
3739
3772
|
const readDevice = readDeviceRecords || (() => readNdjson(logsDir, "device.ndjson"));
|
|
3740
3773
|
const readClient = readClientRecords || (() => readNdjson(logsDir, "client.ndjson"));
|
|
3741
3774
|
const startedAt = now();
|
|
3742
|
-
const
|
|
3775
|
+
const baseTimeoutMs = Math.max(0, timeoutMs);
|
|
3776
|
+
let bundleDeadline = startedAt + baseTimeoutMs;
|
|
3743
3777
|
let proof = null;
|
|
3744
3778
|
let activity = null;
|
|
3745
3779
|
let stabilityDeadline = null;
|
|
@@ -3760,6 +3794,10 @@ async function verifyLaunch({ slot, appPid, platformShared, logsDir, since, metr
|
|
|
3760
3794
|
const bundleRecords = metroRecords.filter((record) => (!requireBundleResponse || String(record.event).startsWith("bundle_response_")) && delivered(record));
|
|
3761
3795
|
const deviceRecords = readDevice().filter((record) => after(record, since) && (slot === void 0 || (record.slot ?? "default") === slot));
|
|
3762
3796
|
const clientRecords = readClient().filter((record) => after(record, since) && !platformShared);
|
|
3797
|
+
bundleDeadline = manifestDeadline(metroRecords.filter((record) => String(record.event).startsWith("manifest_request_") && (!platform || record.platform === platform)), {
|
|
3798
|
+
startedAt,
|
|
3799
|
+
timeoutMs: baseTimeoutMs
|
|
3800
|
+
});
|
|
3763
3801
|
if (now() >= nextCrashCheck) {
|
|
3764
3802
|
nextCrashCheck = now() + 2e3;
|
|
3765
3803
|
const crash = await nativeLaunchFailure({
|
|
@@ -3801,6 +3839,8 @@ async function verifyLaunch({ slot, appPid, platformShared, logsDir, since, metr
|
|
|
3801
3839
|
const runtimeWaiting = runtimeLoadingAt !== null && runtimeStartedAt === null;
|
|
3802
3840
|
const completedAt = proof ? Math.max(Number(proof.ts), runtimeStartedAt ?? 0) : null;
|
|
3803
3841
|
if (completedAt !== null) stabilityDeadline = completedAt + Math.max(0, stabilityMs);
|
|
3842
|
+
const jsRunningAt = jsRunningSince(signals, completedAt, runtimeWaiting, platform);
|
|
3843
|
+
const windowEnd = settledWindowEnd(stabilityDeadline, jsRunningAt);
|
|
3804
3844
|
const readinessDeadline = completedAt !== null ? completedAt + APP_READINESS_TIMEOUT_MS : bundleDeadline;
|
|
3805
3845
|
if (pendingAt === null) {
|
|
3806
3846
|
const pending = signals.find((record) => appReadinessSignal(record, platform) === "pending" && (runtimeWaiting || stabilityDeadline === null || Number(record.ts) <= stabilityDeadline));
|
|
@@ -3827,7 +3867,7 @@ async function verifyLaunch({ slot, appPid, platformShared, logsDir, since, metr
|
|
|
3827
3867
|
...pendingAt !== null ? { readiness: "error" } : {}
|
|
3828
3868
|
};
|
|
3829
3869
|
}
|
|
3830
|
-
if (proof &&
|
|
3870
|
+
if (proof && windowEnd !== null && (pendingAt !== null || now() >= windowEnd)) {
|
|
3831
3871
|
const errorSince = pendingAt === null ? Number(proof.ts ?? since ?? 0) : Number(since ?? 0);
|
|
3832
3872
|
const errors = [
|
|
3833
3873
|
...metroRecords.filter((record) => after(record, errorSince) && recordCouldBelongToPlatform(record, platform)),
|
|
@@ -3855,7 +3895,8 @@ async function verifyLaunch({ slot, appPid, platformShared, logsDir, since, metr
|
|
|
3855
3895
|
processAlive: alive,
|
|
3856
3896
|
mode,
|
|
3857
3897
|
waitedMs,
|
|
3858
|
-
...pendingAt !== null ? { readiness: appErrors ? "error" : ready ? "ready" : "timed-out" } : {}
|
|
3898
|
+
...pendingAt !== null ? { readiness: appErrors ? "error" : ready ? "ready" : "timed-out" } : {},
|
|
3899
|
+
...jsRunningFields(jsRunningAt)
|
|
3859
3900
|
};
|
|
3860
3901
|
}
|
|
3861
3902
|
if ((!proof || runtimeWaiting) && now() >= bundleDeadline) return await bundleTimeoutOutcome({
|
|
@@ -3871,7 +3912,7 @@ async function verifyLaunch({ slot, appPid, platformShared, logsDir, since, metr
|
|
|
3871
3912
|
mode,
|
|
3872
3913
|
waitedMs: now() - startedAt
|
|
3873
3914
|
});
|
|
3874
|
-
await sleep(Math.min(pollMs, Math.max(0, (runtimeWaiting ? bundleDeadline : proof && pendingAt !== null ? readinessDeadline :
|
|
3915
|
+
await sleep(Math.min(pollMs, Math.max(0, (runtimeWaiting ? bundleDeadline : proof && pendingAt !== null ? readinessDeadline : windowEnd ?? bundleDeadline) - now())));
|
|
3875
3916
|
}
|
|
3876
3917
|
}
|
|
3877
3918
|
function launchActivity(pendingAt, proof, bundling) {
|
|
@@ -9343,4 +9384,4 @@ function budgetLine(report) {
|
|
|
9343
9384
|
return `${report.volumes.length ? `${report.volumes.map((v) => `${v.freeGb} GB free on ${v.volume}`).join(", ")} (reclaims below ${Math.max(budget.minFreeDiskGb, budget.hardFloorDiskGb)} GB, ${budget.hardFloorDiskGb ? `refuses below ${budget.hardFloorDiskGb} GB` : "never refuses"})` : "disk budget off"}; ${report.memory ? `roughly ${report.memory.committedGb} GB of a ${budget.maxCommittedMemoryGb} GB memory budget committed` : "memory budget off"}`;
|
|
9344
9385
|
}
|
|
9345
9386
|
//#endregion
|
|
9346
|
-
export { includesArchives as $,
|
|
9387
|
+
export { includesArchives as $, bundleInvocation as $n, RELEASE_VERIFY_WAIT_MS as $t, workspaceBuildInProgress as A, reverseMetroPorts as An, findStaleDeviceRecords as At, recordFinishedBuild as B, RESOLVE_TIMEOUT_MS as Bn, bundleEntryPoint as Bt, collectIdleDevices as C, installConflictKind as Cn, discoverCaches as Cr, deleteParkedSims as Ct, idleDeviceLines as D, launchAndroidReleaseApp as Dn, deviceSweepIsScoped as Dt, collectOwnedDeviceActivityAsync as E, launchAndroidApp as En, describeUnverifiableDevices as Et, buildStatusLine as F, readRemoteSimulatorArch as Fn, deleteEasSessions as Ft, createRunRecorder as G, isEasAuthFailureText as Gn, remoteAndroidDeps as Gt, startBuildProgress as H, cacheLevel as Hn, ensureMetroReachable as Ht, bundlingActivity as I, gateMetroOrigin as In, describeError as It, recordCapacityRefusal as J, providerFromConfig as Jn, withEasProjectLock as Jt, readRunEstimates as K, loadProjectProvider as Kn, remoteIosDeps as Kt, estimateBuild as L, exitAfterFlush as Ln, withRemoteSessionGcLocks as Lt, NO_BUILD_PROGRESS as M, pickDevClientScheme as Mn, unverifiedDeviceCommand as Mt, activeBuildState as N, readBundleSchemes as Nn, withAndroidAvdSizes as Nt, parseIdleDuration as O, launchIosApp as On, eraseParkedDevices as Ot, buildReport as P, schemesFromInfoPlist as Pn, collectEasSessionSweep as Pt, emptyCaches as Q, uploadRemote as Qn, MANIFEST_VERIFY_TIMEOUT_MS as Qt, parseActiveBuild as R, processContext as Rn, REMOTE_SESSION_ERROR as Rt, withdrawDevServerStopRequest as S, installAndroidApp as Sn, readFootprints as Sr, deleteParkedAvds as St, collectOwnedDeviceActivity as T, iosAppProcess as Tn, sizeCaches as Tr, describeParkedSims as Tt, tapBuildLog as U, checkEasAuth as Un, ensureRemoteBootOwned as Ut, runFailureRecord as V, UPLOAD_TIMEOUT_MS as Vn, endRecordedSession as Vt, thrownRunFailureRecord as W, easAuthNote as Wn, readInstalledEasCliVersionAsync as Wt, recordRunStats as X, resolveEasCliBin as Xn, LAUNCH_FATAL as Xt, recordCapacityWait as Y, readProjectConfig as Yn, LAUNCH_BUNDLING as Yt, statsProjectKey$1 as Z, resolveRemote as Zn, LAUNCH_UNVERIFIED as Zt, devServerStopRecord as _, clearOtherUserApps as _n, reclaimMemory as _r, collectInventory as _t, inspectBudget as a, unverifiedLaunchLines as an, easCliUpgradeRemedy as ar, previewScopedEmptying as at, requestDevServerStop as b, ensureMetroReverse as bn, phase as br, collectParkedAvds as bt, readVolumeSpace as c, verifyReleaseLaunch as cn, GRADLE_DAEMONS_KIND as cr, trimCaches as ct, trimmableCaches as d, DEFAULT_METRO_PORT as dn, inspectWatchmanMemory as dr, deleteGradleVersions as dt, VERIFY_TIMEOUT_MS as en, remoteCliInvocation as er, includesParkedDevices as et, stopOwnedMetro as f, INSTALL_ERROR as fn, memoryCacheKind as fr, gradleVersionLines as ft, devServerStopLevel as g, appProcessFromPid as gn, memoryWorkPending as gr, getMachineCacheReport as gt, describeMetroLastStop as h, androidDevClientUrl as hn, memorySweepIsScoped as hr, waitForGradleExit as ht, enforceBudget as i, unattributedLaunchLines as in, easCliSupport as ir, planCacheEmptying as it, ACTIVE_BUILD_KEY as j, writeDebugHttpHost as jn, findStaleProjectDevices as jt, shutDownIdleDevices as k, restartedAppNote as kn, findOrphanedDevices as kt, readVolumeSpaceAsync as l, APP_READINESS_TIMEOUT_MS as ln, WATCHMAN_KIND as lr, collectGradleVersions as lt, describeDevServerStop as m, androidAppProcess as mn, memoryScope as mr, includesGradleVersions as mt, budgetLine as n, readCollectorRecords as nn, MIN_EAS_CLI_DEVICE_VERSION as nr, includesWorkspaceOutputs as nt, machineNumber as o, verifyAndroidReleaseLaunch as on, ownedSessionName as or, selectCaches as ot, stopOwnedMetroForReset as p, IOS_DEV_MENU_OFF_DEFAULTS_PLIST as pn, memoryLines as pr, gradleVersionsPending as pt, readStats$1 as q, ownerFromConfig as qn, resolveRemoteContext as qt, cacheLabel as r, readMetroRecords as rn, MIN_EAS_CLI_SIMULATOR_VERSION as rr, isWorkspacesScope as rt, peekBudget as s, verifyLaunch as sn, parseArchiveSelector as sr, selectsBeyondCaches as st, budgetGate as t, isBundleProof as tn, remoteCommand as tr, includesRecordings as tt, resolveBudget as u, ADB_INSTALL_TIMEOUT_MS as un, collectMemoryReport as ur, deleteGradleVersion as ut, logVanishedSupervisor as v, devClientUrl as vn, scopedMemoryReport as vr, DEVICE_LIST_TIMEOUT_MS$1 as vt, collectIdleDevicesAsync as w, installIosApp as wn, pruneCache as wr, deleteProjectDevices as wt, vanishedSupervisorMessage as x, hasMetroReverse as xn, attributeMachineUsage as xr, collectParkedSims as xt, metroLastStop as y, deviceShellArg as yn, stopIdleGradleDaemons as yr, collectDeviceLeases as yt, recordBuildPhase as z, runProcessOperation as zn, binOnPath as zt };
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import { c as throwIfCancelled, s as cancelledError, x as withDrainingCancellation } from "./exec-VFRpu1iA.mjs";
|
|
2
2
|
import { d as workspaceDir, m as workspaceLogsDir } from "./paths-DQtTgsBf.mjs";
|
|
3
3
|
import { E as upsertProject, O as withConfigLockAsync, p as getProject, u as getConcurrencyLimits } from "./config-BZhXY15H.mjs";
|
|
4
|
-
import { l as phaseLine } from "./command-output-
|
|
5
|
-
import { a as recordWorkspaceUseAsync } from "./workspace-state-
|
|
6
|
-
import {
|
|
7
|
-
import { f as projectRegistry, v as detectIsExpo } from "./project-
|
|
4
|
+
import { l as phaseLine } from "./command-output-BBvS1H6v.mjs";
|
|
5
|
+
import { a as recordWorkspaceUseAsync } from "./workspace-state-CPSp3mav.mjs";
|
|
6
|
+
import { K as resolveCacheProviderConfig, Y as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY } from "./settings-B5tCoq9N.mjs";
|
|
7
|
+
import { f as projectRegistry, v as detectIsExpo } from "./project-BiC68mIp.mjs";
|
|
8
8
|
import { s as workspaceShareURL } from "./stim-desktop-DS0mzR8U.mjs";
|
|
9
|
-
import { k as hostSystemImageArch } from "./android-
|
|
9
|
+
import { k as hostSystemImageArch } from "./android-Cjcj8MCw.mjs";
|
|
10
10
|
import { r as createNdjsonWriter } from "./ndjson-CgE_o3Dl.mjs";
|
|
11
|
-
import { B as recordFinishedBuild, G as createRunRecorder, H as startBuildProgress,
|
|
12
|
-
import { d as runCancellationSignal, f as withNativeBuildRun } from "./native-run-
|
|
13
|
-
import { L as acquireBuildSlot, z as releaseBuildSlot } from "./workspaces-
|
|
14
|
-
import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-
|
|
15
|
-
import { _ as providerUploadOutcome } from "./build-cache-
|
|
16
|
-
import { m as listIosRuntimes } from "./ios-
|
|
17
|
-
import { d as optimizationBuildProfile, l as artifactCachePolicy } from "./errors-
|
|
18
|
-
import { p as readBundleId } from "./xcode-
|
|
19
|
-
import { S as setRemoteLogSink } from "./client-
|
|
20
|
-
import { c as resolveBuildPlacement } from "./selection-
|
|
21
|
-
import { c as iosProjectPathError, g as resolveIosBuildSetup, m as resolveConfiguration, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-
|
|
22
|
-
import { n as ensureWorkspaceStorageSafely } from "./native-runtime-
|
|
23
|
-
import { t as acquireAndroidArtifact } from "./artifact-
|
|
24
|
-
import { a as persistLastBuild, l as resolveAndroidBuildPlan, n as finishAndroidUpload } from "./result-
|
|
25
|
-
import { a as lastBuildRecord } from "./ios-project-
|
|
26
|
-
import { t as acquireIosArtifact } from "./artifact-
|
|
11
|
+
import { B as recordFinishedBuild, G as createRunRecorder, H as startBuildProgress, K as readRunEstimates, Qn as uploadRemote, U as tapBuildLog, Un as checkEasAuth, X as recordRunStats, Z as statsProjectKey, Zn as resolveRemote } from "./budget-HyShrIpL.mjs";
|
|
12
|
+
import { d as runCancellationSignal, f as withNativeBuildRun } from "./native-run-D5OJsGwA.mjs";
|
|
13
|
+
import { L as acquireBuildSlot, z as releaseBuildSlot } from "./workspaces-C9w4aeXF.mjs";
|
|
14
|
+
import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-BpjwrQXU.mjs";
|
|
15
|
+
import { _ as providerUploadOutcome, x as storedAppId } from "./build-cache-CKCzxzxA.mjs";
|
|
16
|
+
import { m as listIosRuntimes } from "./ios-BQzvJlzw.mjs";
|
|
17
|
+
import { d as optimizationBuildProfile, l as artifactCachePolicy } from "./errors-DHm_U5gv.mjs";
|
|
18
|
+
import { p as readBundleId } from "./xcode-CiIIDnuD.mjs";
|
|
19
|
+
import { S as setRemoteLogSink } from "./client-BQsmyp_-.mjs";
|
|
20
|
+
import { c as resolveBuildPlacement } from "./selection-D5cxEl3t.mjs";
|
|
21
|
+
import { c as iosProjectPathError, g as resolveIosBuildSetup, m as resolveConfiguration, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-qKcbgmI5.mjs";
|
|
22
|
+
import { n as ensureWorkspaceStorageSafely } from "./native-runtime-B9w_Qyz3.mjs";
|
|
23
|
+
import { t as acquireAndroidArtifact } from "./artifact-Co8zixVx.mjs";
|
|
24
|
+
import { a as persistLastBuild, l as resolveAndroidBuildPlan, n as finishAndroidUpload } from "./result-CR2vk2cj.mjs";
|
|
25
|
+
import { a as lastBuildRecord } from "./ios-project-DCUDo06I.mjs";
|
|
26
|
+
import { t as acquireIosArtifact } from "./artifact-DN8JNwqS.mjs";
|
|
27
27
|
import { constants, promises } from "node:fs";
|
|
28
28
|
import { basename, join } from "node:path";
|
|
29
29
|
import { hostSimulatorArch } from "@stim-cli/core";
|
|
@@ -182,6 +182,7 @@ async function buildAndroidOperation(context, root, options, { artifactScope, ca
|
|
|
182
182
|
resolveRemoteBuild: resolveRemote,
|
|
183
183
|
uploadRemoteBuild: uploadRemote,
|
|
184
184
|
loadCacheProviderModule: loadCacheProvider,
|
|
185
|
+
storedAppId,
|
|
185
186
|
acquireSlot: acquireBuildSlot,
|
|
186
187
|
releaseSlot: releaseBuildSlot,
|
|
187
188
|
now: Date.now
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { c as throwIfCancelled, t as getExecutor, x as withDrainingCancellation } from "./exec-VFRpu1iA.mjs";
|
|
2
2
|
import { i as sharedBuildCache } from "./paths-DQtTgsBf.mjs";
|
|
3
3
|
import { a as killOnAbort, c as gitQuiet, o as git, r as childEnvironment, s as gitAsync } from "./operation-exec-CUZifp6Z.mjs";
|
|
4
|
-
import { m as defaultAndroidLayout } from "./settings-
|
|
4
|
+
import { m as defaultAndroidLayout } from "./settings-B5tCoq9N.mjs";
|
|
5
5
|
import { r as register } from "./cache-manifest-BPXRONJz.mjs";
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
7
7
|
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
|
|
@@ -463,6 +463,12 @@ async function storeBuild(platform, key, buildPath, rootOrOptions = {}) {
|
|
|
463
463
|
if (options.assetManifest) try {
|
|
464
464
|
await writeFile(join$1(staging, ASSET_MANIFEST_FILE), JSON.stringify(options.assetManifest));
|
|
465
465
|
} catch {}
|
|
466
|
+
if (options.readAppId) try {
|
|
467
|
+
const appId = await options.readAppId(buildPath);
|
|
468
|
+
if (appId) await writeFile(join$1(staging, APP_ID_FILE), JSON.stringify({ appId }));
|
|
469
|
+
} catch {
|
|
470
|
+
throwIfCancelled(signal, "build cache copy");
|
|
471
|
+
}
|
|
466
472
|
}
|
|
467
473
|
}));
|
|
468
474
|
} catch (error) {
|
|
@@ -496,12 +502,13 @@ function prepareProviderDownloadDir(dir, registeredBy) {
|
|
|
496
502
|
});
|
|
497
503
|
} catch {}
|
|
498
504
|
}
|
|
499
|
-
function filesystemBuildCapability({ root, context, sources, assetManifest, resolve = resolveBuild, store = storeBuild } = {}) {
|
|
505
|
+
function filesystemBuildCapability({ root, context, sources, assetManifest, readAppId, resolve = resolveBuild, store = storeBuild } = {}) {
|
|
500
506
|
const stored = {
|
|
501
507
|
...context === void 0 ? {} : { context },
|
|
502
508
|
...root === void 0 ? {} : { root },
|
|
503
509
|
...sources === void 0 ? {} : { sources },
|
|
504
|
-
...assetManifest === void 0 ? {} : { assetManifest }
|
|
510
|
+
...assetManifest === void 0 ? {} : { assetManifest },
|
|
511
|
+
...readAppId === void 0 ? {} : { readAppId }
|
|
505
512
|
};
|
|
506
513
|
return {
|
|
507
514
|
resolve: ({ platform, key }) => root === void 0 ? resolve(platform, key) : resolve(platform, key, root),
|
|
@@ -529,6 +536,7 @@ function providerUploadOutcome(result, name, env) {
|
|
|
529
536
|
};
|
|
530
537
|
}
|
|
531
538
|
const SOURCES_FILE = "fingerprint-sources.json";
|
|
539
|
+
const APP_ID_FILE = "app-id.json";
|
|
532
540
|
function withoutContents(source) {
|
|
533
541
|
return source.type === "contents" ? {
|
|
534
542
|
...source,
|
|
@@ -543,6 +551,16 @@ function storedSources(platform, key, root = sharedBuildCache()) {
|
|
|
543
551
|
return null;
|
|
544
552
|
}
|
|
545
553
|
}
|
|
554
|
+
/** The bundle id or Android package read from the entry's artifact when it was stored, or null for older entries. */
|
|
555
|
+
function storedAppId(platform, key, root = sharedBuildCache()) {
|
|
556
|
+
try {
|
|
557
|
+
const parsed = JSON.parse(readFileSync$1(join$1(entryDir(platform, key, root), APP_ID_FILE), "utf-8"));
|
|
558
|
+
if (parsed && typeof parsed === "object" && "appId" in parsed && typeof parsed.appId === "string" && parsed.appId) return parsed.appId;
|
|
559
|
+
return null;
|
|
560
|
+
} catch {
|
|
561
|
+
return null;
|
|
562
|
+
}
|
|
563
|
+
}
|
|
546
564
|
function storedAssetManifest(platform, key, root = sharedBuildCache()) {
|
|
547
565
|
try {
|
|
548
566
|
return parseAssetManifest(readFileSync$1(join$1(entryDir(platform, key, root), ASSET_MANIFEST_FILE), "utf-8"));
|
|
@@ -732,4 +750,4 @@ function fingerprintDiffRecord({ changed, previousHash, hash }) {
|
|
|
732
750
|
};
|
|
733
751
|
}
|
|
734
752
|
//#endregion
|
|
735
|
-
export {
|
|
753
|
+
export { readAssetManifest as A, storedSources as C, assetDiffReason as D, untrackedNativeFiles as E, captureAssetManifest as O, storedAssetManifest as S, untrackedMissLine as T, providerUploadOutcome as _, configInputsChanged as a, storeBuild as b, expoConfigContents as c, fingerprintProject as d, gitignoredFingerprintInputs as f, providerDownloadPath as g, prepareProviderDownloadDir as h, compareSourceLists as i, compareAssetManifests as k, filesystemBuildCapability as l, inputsChangedDuringBuild as m, buildCacheKey as n, diffFingerprintSources as o, ignoredFingerprintPaths as p, changedDuringBuildLine as r, entryDir as s, artifactIn as t, fingerprintDiffRecord as u, refingerprintAfterMutation as v, trackedFingerprintPaths as w, storedAppId as x, resolveBuild as y };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { T as trackReportResource } from "./exec-VFRpu1iA.mjs";
|
|
2
|
-
import { i as formatDuration, l as phaseLine, m as shortHash, u as plural } from "./command-output-
|
|
3
|
-
import {
|
|
4
|
-
import { L as estimateBuild,
|
|
5
|
-
import { s as entryDir, t as artifactIn } from "./build-cache-
|
|
6
|
-
import { l as predictBuildMiss, o as staleNativeDirRefusal } from "./prebuild-
|
|
2
|
+
import { i as formatDuration, l as phaseLine, m as shortHash, u as plural } from "./command-output-BBvS1H6v.mjs";
|
|
3
|
+
import { Gt as removeTemporaryEntryAsync, Ut as makeTemporaryDirectory } from "./settings-B5tCoq9N.mjs";
|
|
4
|
+
import { L as estimateBuild, Wn as easAuthNote, q as readStats } from "./budget-HyShrIpL.mjs";
|
|
5
|
+
import { s as entryDir, t as artifactIn } from "./build-cache-CKCzxzxA.mjs";
|
|
6
|
+
import { l as predictBuildMiss, o as staleNativeDirRefusal } from "./prebuild-JUaqOLpc.mjs";
|
|
7
7
|
import chalk from "chalk";
|
|
8
8
|
import { PROVIDER_LOAD_TIMEOUT_ENV, PROVIDER_LOAD_TIMEOUT_MS, buildResolveTimeoutMs, resolveTieredBuild, timeoutFromEnv } from "@stim-cli/cache";
|
|
9
9
|
//#region src/commands/build-plan.ts
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
2
|
import { a as sharedCcache, m as workspaceLogsDir } from "./paths-DQtTgsBf.mjs";
|
|
3
3
|
import { _ as loadConfig } from "./config-BZhXY15H.mjs";
|
|
4
|
-
import { l as phaseLine } from "./command-output-
|
|
5
|
-
import { m as defaultAndroidLayout } from "./settings-
|
|
4
|
+
import { l as phaseLine } from "./command-output-BBvS1H6v.mjs";
|
|
5
|
+
import { m as defaultAndroidLayout } from "./settings-B5tCoq9N.mjs";
|
|
6
6
|
import { r as register } from "./cache-manifest-BPXRONJz.mjs";
|
|
7
|
-
import { o as machineNumber } from "./budget-
|
|
7
|
+
import { o as machineNumber } from "./budget-HyShrIpL.mjs";
|
|
8
8
|
import { readFileSync, realpathSync } from "node:fs";
|
|
9
9
|
import { isAbsolute, join, relative } from "node:path";
|
|
10
10
|
import chalk from "chalk";
|
|
@@ -5,23 +5,23 @@ import { runId } 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
|
-
["settings", () => import("./settings-
|
|
21
|
-
["status", () => import("./status-
|
|
22
|
-
["stats", () => import("./stats-
|
|
23
|
-
["gc", () => import("./gc-
|
|
24
|
-
["guide", () => import("./guide-
|
|
8
|
+
["doctor", () => import("./doctor-A_Nr_fDe.mjs")],
|
|
9
|
+
["worktree", () => import("./worktree-Ct9Gk3KL.mjs")],
|
|
10
|
+
["start", () => import("./start-C1JLjkNw.mjs")],
|
|
11
|
+
["ports", () => import("./ports-DtS1Amb0.mjs")],
|
|
12
|
+
["stop", () => import("./stop-Br7LKxBE.mjs")],
|
|
13
|
+
["ios", () => import("./ios-Dvt97HgQ.mjs")],
|
|
14
|
+
["android", () => import("./android-CNZgRC-4.mjs")],
|
|
15
|
+
["web", () => import("./web-DS4UDWvf.mjs")],
|
|
16
|
+
["macos", () => import("./macos-CcUlJPMu.mjs")],
|
|
17
|
+
["reload", () => import("./reload-Beftw2X3.mjs")],
|
|
18
|
+
["device", () => import("./device-F5-4z9ef.mjs")],
|
|
19
|
+
["logs", () => import("./logs-Crs9y34Z.mjs")],
|
|
20
|
+
["settings", () => import("./settings-DzH9mGQZ.mjs")],
|
|
21
|
+
["status", () => import("./status-cNw6i0_t.mjs")],
|
|
22
|
+
["stats", () => import("./stats-CP7STzZw.mjs")],
|
|
23
|
+
["gc", () => import("./gc-eaz403W6.mjs")],
|
|
24
|
+
["guide", () => import("./guide-DR0K0xW9.mjs")]
|
|
25
25
|
]);
|
|
26
26
|
const pkg = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
|
|
27
27
|
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-C4w607Pz.mjs");
|
|
8
8
|
//#endregion
|
|
9
9
|
export {};
|
|
@@ -2,14 +2,14 @@ import { C as reportSignal, E as debugLog, b as operationState, c as throwIfCanc
|
|
|
2
2
|
import { Q as openAuthenticated, _ as loadConfig$1, it as sayHello, rt as resolveEndpoint } from "./config-BZhXY15H.mjs";
|
|
3
3
|
import { o as git, s as gitAsync } from "./operation-exec-CUZifp6Z.mjs";
|
|
4
4
|
import { r as createNdjsonWriter } from "./ndjson-CgE_o3Dl.mjs";
|
|
5
|
-
import {
|
|
5
|
+
import { Cr as discoverCaches, Q as emptyCaches, it as planCacheEmptying } from "./budget-HyShrIpL.mjs";
|
|
6
6
|
import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
|
|
7
|
-
import { d as runCancellationSignal } from "./native-run-
|
|
8
|
-
import { n as CCACHE_UNAVAILABLE, t as CCACHE_NOT_RUN } from "./ccache-
|
|
9
|
-
import { n as COMPILATION_CACHE_UNAVAILABLE, t as COMPILATION_CACHE_NOT_RUN } from "./xcode-
|
|
7
|
+
import { d as runCancellationSignal } from "./native-run-D5OJsGwA.mjs";
|
|
8
|
+
import { n as CCACHE_UNAVAILABLE, t as CCACHE_NOT_RUN } from "./ccache-h1FKhZeg.mjs";
|
|
9
|
+
import { n as COMPILATION_CACHE_UNAVAILABLE, t as COMPILATION_CACHE_NOT_RUN } from "./xcode-CiIIDnuD.mjs";
|
|
10
10
|
import { t as resolveMaintenanceSettings } from "./settings-Djl-mpjX.mjs";
|
|
11
|
-
import { a as iosToolchainAsync, d as toolchainMismatches, f as workerToolchain, g as readRubyVersion } from "./toolchain-
|
|
12
|
-
import { i as namedBuildMachine, t as OffloadRefusal, u as pairedMachines } from "./selection-
|
|
11
|
+
import { a as iosToolchainAsync, d as toolchainMismatches, f as workerToolchain, g as readRubyVersion } from "./toolchain-VzLJzZ7O.mjs";
|
|
12
|
+
import { i as namedBuildMachine, t as OffloadRefusal, u as pairedMachines } from "./selection-D5cxEl3t.mjs";
|
|
13
13
|
import { n as fingerprintNativeInputs, r as manifestDigest } from "./native-inputs-TRTTTRxt.mjs";
|
|
14
14
|
import { a as sourceManifest, i as nativeTransferManifest, n as gitVisiblePaths, r as nativeFileDigest, t as checkNativeTransferMembership } from "./native-source-D-4Dh4JU.mjs";
|
|
15
15
|
import { createHash, webcrypto } from "node:crypto";
|
|
@@ -387,9 +387,10 @@ async function reactNativeArtifactToolchain(platform, root, iosDirectory) {
|
|
|
387
387
|
os: process.platform
|
|
388
388
|
} : null;
|
|
389
389
|
}
|
|
390
|
-
const { stimBuild, os, arch, jdk, androidSdk } = workerToolchain(null, "gradle");
|
|
391
|
-
return stimBuild && jdk && androidSdk ? {
|
|
390
|
+
const { stimBuild, compat, os, arch, jdk, androidSdk } = workerToolchain(null, "gradle");
|
|
391
|
+
return stimBuild && compat !== void 0 && jdk && androidSdk ? {
|
|
392
392
|
stimBuild,
|
|
393
|
+
compat,
|
|
393
394
|
os,
|
|
394
395
|
arch,
|
|
395
396
|
jdk,
|
|
@@ -970,8 +971,8 @@ async function probeMachine(credential, identity, { connectMs = CONNECT_TIMEOUT_
|
|
|
970
971
|
...identity.dependencies && connection.supports("build-dependency-cache") ? { dependencies: identity.dependencies } : {},
|
|
971
972
|
...native ? { native } : identity.rubyVersion ? { rubyVersion: identity.rubyVersion } : {},
|
|
972
973
|
...native === "xcode" && identity.artifact && connection.supports("build-artifact-cache") ? { artifact: identity.artifact } : {},
|
|
973
|
-
...identity.swiftpmArtifact && connection
|
|
974
|
-
...identity.reactNativeArtifact && connection
|
|
974
|
+
...identity.swiftpmArtifact && queriesPeerCache(connection, "swiftpm-peer-cache") ? { swiftpmArtifact: identity.swiftpmArtifact } : {},
|
|
975
|
+
...identity.reactNativeArtifact && queriesPeerCache(connection, "react-native-peer-cache") ? { reactNativeArtifact: identity.reactNativeArtifact } : {},
|
|
975
976
|
...native === "gradle" && identity.gradleArtifact && connection.supports("native-gradle-peer-cache") ? { gradleArtifact: identity.gradleArtifact } : {}
|
|
976
977
|
}, offerMs);
|
|
977
978
|
const failure = replyError(reply);
|
|
@@ -993,7 +994,7 @@ async function probeMachine(credential, identity, { connectMs = CONNECT_TIMEOUT_
|
|
|
993
994
|
return {
|
|
994
995
|
credential,
|
|
995
996
|
connection,
|
|
996
|
-
offer: identity.swiftpmArtifact && !connection
|
|
997
|
+
offer: identity.swiftpmArtifact && !queriesPeerCache(connection, "swiftpm-peer-cache") || identity.reactNativeArtifact && !queriesPeerCache(connection, "react-native-peer-cache") || native === "gradle" && (!identity.gradleArtifact || !connection.supports("native-gradle-peer-cache")) ? {
|
|
997
998
|
...offer,
|
|
998
999
|
artifact: null
|
|
999
1000
|
} : offer
|
|
@@ -1022,7 +1023,7 @@ async function chooseBuildMachine({ projectRoot, target, mode, here, note, machi
|
|
|
1022
1023
|
const swiftpmQuery = swiftpmArtifact?.artifactInputs ? swiftpmArtifactQuery({
|
|
1023
1024
|
project: identity.project,
|
|
1024
1025
|
sourceDigest: manifestDigest(await sourceManifest(identity.repoRoot, true, runCancellationSignal(ambientContext()) ?? ambientContext()?.signal)),
|
|
1025
|
-
|
|
1026
|
+
compat: target.local.compat,
|
|
1026
1027
|
inputs: swiftpmArtifact.artifactInputs,
|
|
1027
1028
|
build: {
|
|
1028
1029
|
product: swiftpmArtifact.product,
|
|
@@ -1085,6 +1086,13 @@ async function chooseBuildMachine({ projectRoot, target, mode, here, note, machi
|
|
|
1085
1086
|
...swiftpmQuery ? { swiftpmArtifact: swiftpmQuery } : {}
|
|
1086
1087
|
};
|
|
1087
1088
|
}
|
|
1089
|
+
function startCompat(choice) {
|
|
1090
|
+
return choice.connection.supports("build-compat") ? { compat: choice.target.local.compat } : {};
|
|
1091
|
+
}
|
|
1092
|
+
/** Peer artifact queries carry `compat`, which a stim-server without `build-compat` refuses. */
|
|
1093
|
+
function queriesPeerCache(connection, feature) {
|
|
1094
|
+
return connection.supports(feature) && connection.supports("build-compat");
|
|
1095
|
+
}
|
|
1088
1096
|
function macosBuildParameters(request, peerCache) {
|
|
1089
1097
|
return {
|
|
1090
1098
|
...request.cacheArtifact === true && peerCache ? { cacheArtifact: true } : {},
|
|
@@ -1120,13 +1128,13 @@ async function peerArtifact(choice, request, fingerprint) {
|
|
|
1120
1128
|
assetCatalog: request.assetCatalog ?? null
|
|
1121
1129
|
}
|
|
1122
1130
|
}))) throw new Error("The SwiftPM artifact query does not match the build request.");
|
|
1123
|
-
if (!choice.connection
|
|
1131
|
+
if (!queriesPeerCache(choice.connection, "swiftpm-peer-cache") || manifestDigest(await sourceManifest(choice.identity.repoRoot, true, runCancellationSignal(ambientContext()) ?? ambientContext()?.signal)) !== swiftpm.sourceDigest) return null;
|
|
1124
1132
|
return matchingArtifact(choice.offer, "swiftpm");
|
|
1125
1133
|
}
|
|
1126
1134
|
const reactNative = choice.reactNativeArtifact;
|
|
1127
1135
|
if (reactNative) {
|
|
1128
1136
|
if (typeof fingerprint !== "string" || !isDeepStrictEqual(reactNative, reactNativeBuildQuery(request, fingerprint, choice.identity.project, choice.target.local))) throw new Error("The React Native artifact query does not match the build request.");
|
|
1129
|
-
return choice.connection
|
|
1137
|
+
return queriesPeerCache(choice.connection, "react-native-peer-cache") ? matchingArtifact(choice.offer, `react-native-${reactNative.platform}`) : null;
|
|
1130
1138
|
}
|
|
1131
1139
|
const query = choice.gradleArtifact;
|
|
1132
1140
|
if (query) {
|
|
@@ -1550,18 +1558,19 @@ async function offloadBuild(input) {
|
|
|
1550
1558
|
...choice.connection.supports("native-gradle-artifact-cache") ? { cache: native.cache } : {}
|
|
1551
1559
|
}
|
|
1552
1560
|
} } : {},
|
|
1553
|
-
...request.platform === "macos" ? macosBuildParameters(request, choice.connection
|
|
1561
|
+
...request.platform === "macos" ? macosBuildParameters(request, queriesPeerCache(choice.connection, "swiftpm-peer-cache")) : {
|
|
1554
1562
|
configuration: request.platform === "ios" ? request.configuration : null,
|
|
1555
1563
|
scheme: request.platform === "ios" ? request.scheme : null,
|
|
1556
1564
|
iosProjectPath: request.platform === "ios" ? request.iosProjectPath ?? null : null,
|
|
1557
1565
|
runtime: request.platform === "ios" ? request.runtime : null,
|
|
1558
1566
|
packageName: packageName(join(identity.repoRoot, identity.project)),
|
|
1559
1567
|
isExpo: request.isExpo,
|
|
1560
|
-
...!native && request.cacheArtifact === true && choice.connection
|
|
1568
|
+
...!native && request.cacheArtifact === true && queriesPeerCache(choice.connection, "react-native-peer-cache") ? { cacheArtifact: true } : {},
|
|
1561
1569
|
optimizations: request.platform === "ios" && isJsonObject(request.optimizations) ? request.optimizations : null,
|
|
1562
1570
|
...request.platform === "android" ? { android: request.android } : {}
|
|
1563
1571
|
},
|
|
1564
|
-
stimBuild: choice.target.local.stimBuild
|
|
1572
|
+
stimBuild: choice.target.local.stimBuild,
|
|
1573
|
+
...startCompat(choice)
|
|
1565
1574
|
});
|
|
1566
1575
|
checkCancelled();
|
|
1567
1576
|
if ("result" in reply) {
|
package/dist/collector-run.mjs
CHANGED
|
@@ -2,10 +2,10 @@ import { S as process_identity_exports } from "./exec-VFRpu1iA.mjs";
|
|
|
2
2
|
import { m as workspaceLogsDir } from "./paths-DQtTgsBf.mjs";
|
|
3
3
|
import { V as deviceSlotKey, q as validateDeviceSlot } from "./config-BZhXY15H.mjs";
|
|
4
4
|
import { t as createLineReader } from "./process-output-Fpl8PYi8.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-saBeB4lr.mjs";
|
|
6
6
|
import { r as createNdjsonWriter } from "./ndjson-CgE_o3Dl.mjs";
|
|
7
7
|
import { a as startIosDeviceConsole, i as parseDeviceConsoleLine } from "./ios-device-B6HK951C.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-jxxz-19m.mjs";
|
|
9
9
|
import { n as parseLogStreamLine, r as startIosLogStream, t as appNameFromBundleId } from "./ios-ENC4sRPA.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-BiC68mIp.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,5 +1,5 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { Nt as repoRoot } from "./settings-B5tCoq9N.mjs";
|
|
3
3
|
import { existsSync } from "node:fs";
|
|
4
4
|
import { dirname, join, relative } from "node:path";
|
|
5
5
|
//#region src/dependency-state.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as resolvePackageJson, b as isPackageResolvable } from "./project-
|
|
2
|
-
import { Mn as
|
|
1
|
+
import { C as resolvePackageJson, b as isPackageResolvable } from "./project-BiC68mIp.mjs";
|
|
2
|
+
import { Mn as pickDevClientScheme, Nn as readBundleSchemes } from "./budget-HyShrIpL.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
|