stim 1.24.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-CEs02U2o.mjs → acquire-artifact-DVsvSwf7.mjs} +1 -1
- package/dist/{act-Cyvm8xYc.mjs → act-C-BqJEpu.mjs} +158 -36
- package/dist/{activity-Dq3ZcdD8.mjs → activity-Lnb_EoRY.mjs} +4 -5
- package/dist/{agent-device-usage-output-CccomeE0.mjs → agent-device-usage-output-DbXy5tg8.mjs} +4 -4
- package/dist/{android-CX5IcRuf.mjs → android-B5P81yI-.mjs} +1 -1
- package/dist/{android-DcztblCT.mjs → android-CSbLRD53.mjs} +5 -5
- package/dist/{android-BZppyPe_.mjs → android-CiNQw3kq.mjs} +81 -52
- package/dist/{android-882m4hxX.mjs → android-DTAcRwBC.mjs} +81 -34
- package/dist/{android-cas-BtCOrNqb.mjs → android-cas-BTVhZ0Qs.mjs} +4 -4
- package/dist/{android-project-DVWyCbWU.d.mts → android-project-DUGMbq28.d.mts} +61 -3
- 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-BR5VNArK.mjs → artifact-BxREhAaV.mjs} +25 -19
- package/dist/{artifact-Bdt_n9Jc.mjs → artifact-CsAP6AGK.mjs} +36 -21
- package/dist/{attempt-DW-mQqM7.mjs → attempt-ClyJlZPT.mjs} +4 -2
- package/dist/{browser-web-ycg9qWB8.mjs → browser-web-rYPyqhTf.mjs} +11 -12
- package/dist/{budget-dPGuhNai.mjs → budget-k2mZGvvk.mjs} +242 -38
- package/dist/{build-CaF574eS.mjs → build-DPhApsjV.mjs} +28 -24
- package/dist/{build-cache-HFUQ9eLz.mjs → build-cache-DrXNCy3T.mjs} +123 -23
- package/dist/{build-plan-JsDUq4w1.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-CCn1S6qG.mjs → ccache-Bx5TbxwG.mjs} +6 -6
- package/dist/{cli-xqAidP7O.mjs → cli-BBKFGOFl.mjs} +19 -19
- package/dist/cli.mjs +1 -1
- package/dist/{client-18-ZowoT.mjs → client-D9CaRks-.mjs} +55 -71
- package/dist/collector-run.mjs +4 -4
- package/dist/{command-output-DxC0k2rk.mjs → command-output-BF5AR2dL.mjs} +1 -1
- package/dist/{config-BZhXY15H.mjs → config-BktkY_zC.mjs} +321 -15
- package/dist/{launch-BVlyQw3T.mjs → dependencies-Dw6wfQdv.mjs} +259 -256
- package/dist/{dependency-state-C56ll9hY.mjs → dependency-state-DFB41vfr.mjs} +1 -1
- package/dist/{dev-client-w_fok0Ek.mjs → dev-client-DXR_tPVY.mjs} +2 -2
- package/dist/{device-BktRGdjS.mjs → device-BK-zwyd_.mjs} +64 -33
- package/dist/{device-4RUugw5X.mjs → device-BcYeHSFu.mjs} +14 -14
- package/dist/{device-capacity-Ic-kdmEV.mjs → device-capacity-DCSvUF0l.mjs} +10 -17
- package/dist/device-host-worker.mjs +11 -13
- package/dist/{device-ios-DzpSlZyd.mjs → device-ios-BLGfXQeK.mjs} +68 -25
- package/dist/{device-lease-run-DUtkbqBQ.mjs → device-lease-run-BmvIl7bI.mjs} +5 -5
- package/dist/{device-pool-CgBHk401.mjs → device-pool-Dluix4H3.mjs} +3 -3
- package/dist/{doctor-DZgpqR6J.mjs → doctor-Bhg1ii70.mjs} +14 -14
- package/dist/{doctor-BZ6oxNum.mjs → doctor-Cp-BhzTS.mjs} +1 -1
- package/dist/{doctor-C33AzVfR.mjs → doctor-OnwP94ne.mjs} +81 -26
- package/dist/{doctor-fingerprint-zlujA1Gs.mjs → doctor-fingerprint-D3a04Mhu.mjs} +8 -2
- package/dist/doctor-fingerprint.mjs +1 -1
- package/dist/{doctor-watchman-B453A231.mjs → doctor-watchman-BStK05nt.mjs} +4 -4
- package/dist/{eas-build-CxKUNHsb.mjs → eas-build-Dsj93iM9.mjs} +2 -2
- package/dist/{eas-fallback-LMxk9Kw0.mjs → eas-fallback-FwkeqqGi.mjs} +13 -12
- package/dist/{eas-session-ledger-Ck6YXPAO.mjs → eas-session-ledger-B5vygTiD.mjs} +5 -5
- package/dist/{error-diagnostics-BkKCZq4P.mjs → error-diagnostics-BOOm9Db7.mjs} +8 -8
- package/dist/{errors-ccaPc4ox.mjs → errors-DHm_U5gv.mjs} +2 -1
- package/dist/{gc-DDWEAj0w.mjs → gc-C_79zvz4.mjs} +2 -2
- package/dist/{gc-yVKpAOKM.mjs → gc-ldgr-hXU.mjs} +74 -43
- package/dist/{guide-Bggftwc5.mjs → guide-D7K0X6KG.mjs} +374 -78
- package/dist/{hosted-android-D4dweBof.mjs → hosted-android-Bk54ej6n.mjs} +3 -3
- package/dist/{hosted-client-BBTVe3X6.mjs → hosted-client-fHO8yqzc.mjs} +5 -5
- package/dist/{hosted-ios-Sn0djzg8.mjs → hosted-ios-D55QhYaD.mjs} +1 -1
- package/dist/{hosted-logs-CYIZ5ubJ.mjs → hosted-logs-BfbmDM4M.mjs} +17 -11
- package/dist/hosted-logs-sync-B0pvmOk-.mjs +195 -0
- package/dist/{hosted-macos-CXjsUNBR.mjs → hosted-macos-CPl0OZ9h.mjs} +5 -5
- package/dist/{hosted-native-Doxbfzem.mjs → hosted-native-CpDB3-PO.mjs} +6 -7
- package/dist/{idle-shutdown-BInjLKqm.mjs → idle-shutdown-FfxL1KdG.mjs} +22 -9
- package/dist/{ios-BItP6lkn.mjs → ios-B7-lToDu.mjs} +8 -8
- package/dist/{ios-CVUFFZ6C.mjs → ios-WxpDJ5T1.mjs} +129 -14
- package/dist/{ios-device-BI38NFFH.mjs → ios-device-CsyryvpT.mjs} +1 -1
- package/dist/{ios-B1FXRCMX.mjs → ios-ftxdQbJS.mjs} +84 -51
- package/dist/{ios-project-KYqeJURj.mjs → ios-project-Ty5pHl9O.mjs} +6 -6
- package/dist/{ios-state-DlElquYD.mjs → ios-state-Cw7-WQf2.mjs} +1 -1
- package/dist/{js-swap-BvrQvXHY.mjs → js-swap-BMhXYVDS.mjs} +4 -4
- package/dist/{launch-SfzGH_s9.mjs → launch-DOp8RjDz.mjs} +32 -27
- package/dist/{logs-DXE32kyb.mjs → logs-dQDki6Tt.mjs} +9 -173
- package/dist/{logs-ovlU7m7N.mjs → logs-s1dRIG1E.mjs} +85 -36
- package/dist/{macos-B3BveDrU.mjs → macos-B0VEV3Gf.mjs} +1 -1
- package/dist/{macos-CCfhb-jT.mjs → macos-DBBPNnIA.mjs} +18 -19
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +28 -11
- package/dist/{metro-Bu8LBfzS.mjs → metro-CjC10t6E.mjs} +2 -2
- package/dist/{metro-gateway-DtsOy-0P.mjs → metro-gateway-B6_PgD0L.mjs} +2 -3
- package/dist/{named-ports-BWDuU5oQ.mjs → named-ports-BG0j1X4g.mjs} +2 -2
- package/dist/{native-android-96BBizbq.mjs → native-android-CL2NGiik.mjs} +17 -17
- package/dist/{native-gradle-artifact-inputs-BcLYBZil.mjs → native-gradle-artifact-inputs-btSUulme.mjs} +3 -3
- package/dist/{native-run-BmH7U8pr.mjs → native-run-BfIDFKLH.mjs} +2 -3
- package/dist/{native-runtime-DgtJkzIa.mjs → native-runtime-Dq3RBcON.mjs} +6 -7
- package/dist/{native-xcode-inputs-irplbQb0.mjs → native-xcode-inputs-BW7H8JGu.mjs} +2 -2
- package/dist/{native-xcode-ios-BY-6hh6M.mjs → native-xcode-ios-CBXJAxfC.mjs} +18 -18
- package/dist/offload-worker.d.mts +7 -2
- package/dist/offload-worker.mjs +34 -23
- package/dist/{ownership-DxlZGDcV.mjs → ownership-BjYvMNX_.mjs} +2 -2
- package/dist/{phone-reverses-BdsdesVF.mjs → phone-reverses-lmj6kcPm.mjs} +3 -3
- package/dist/{placement-log-DUvqqsB-.mjs → placement-log-DIFPQAXp.mjs} +1 -1
- package/dist/{plan-placement-4axc0Hs7.mjs → plan-placement-IiiSQhtz.mjs} +3 -3
- package/dist/{ports-D-E_OiAO.mjs → ports-C2_w1Z0Z.mjs} +3 -3
- package/dist/prebuild-gmouvmJZ.mjs +1247 -0
- package/dist/{project-Dz-hWkb-.mjs → project-BUu6Is4k.mjs} +15 -16
- package/dist/{react-native-android-DOinxgwB.mjs → react-native-android-Cgg99REN.mjs} +48 -33
- package/dist/{react-native-build-AuCu-aAP.mjs → react-native-build-oNwqF5Wb.mjs} +8 -8
- package/dist/{react-native-doctor-2ivJUmwZ.mjs → react-native-doctor-BhA3KUte.mjs} +49 -8
- package/dist/{react-native-ios-D5zTIuH8.mjs → react-native-ios-B-nf4rjN.mjs} +40 -25
- package/dist/{recordings-CdPwYwvs.mjs → recordings-BldzVKq0.mjs} +1 -1
- package/dist/{reload-Ck9RJeSq.mjs → reload-C9OduiNc.mjs} +1 -1
- package/dist/{reload-C1TTVesC.mjs → reload-CCR7KC_l.mjs} +14 -14
- package/dist/{remote-DEZ7AOVq.mjs → remote-C8S7FlPF.mjs} +16 -7
- package/dist/{result-DqBrb12U.mjs → result-7F5hEwQJ.mjs} +17 -17
- package/dist/{run-BIwoU44q.mjs → run-BqB0v3pt.mjs} +1 -1
- package/dist/{selection-BLtvaqxc.mjs → selection-BNPBZ6T5.mjs} +157 -44
- package/dist/{server-bare-Z1ToVLPn.mjs → server-bare-A75rDIdD.mjs} +55 -3
- package/dist/{server-command-C0pmjNdG.mjs → server-command-CssKFOD7.mjs} +4 -4
- package/dist/{server-expo-Tt_hLRpy.mjs → server-expo-eQfOdydb.mjs} +8 -6
- package/dist/server-expo-wvcj5tiZ.mjs +2 -0
- package/dist/{settings-RKwY33wv.mjs → settings-CosW5X-S.mjs} +59 -61
- package/dist/{settings-kkt0vP4w.mjs → settings-OaGQF-ri.mjs} +1 -1
- package/dist/{settings-write--gj6MACV.mjs → settings-write-QjYfSrjF.mjs} +5 -5
- package/dist/settings.schema.json +71 -6
- package/dist/{simslim-CdWKT3vA.mjs → simslim-Bax1qcxu.mjs} +22 -6
- package/dist/{slot-launch-A1BgotaM.mjs → slot-launch-CYCEhfBY.mjs} +6 -6
- package/dist/{stage-ERTMh88n.mjs → stage-jKQ7CP_B.mjs} +1 -1
- package/dist/{start-Bmg_qmHi.mjs → start-C_wefNKB.mjs} +1 -1
- package/dist/{start-BKGrEhzG.mjs → start-_BdJ32cZ.mjs} +9 -10
- package/dist/{state-B1ig0Kqy.mjs → state-C1i2nMOP.mjs} +2 -3
- package/dist/{state-BfAltYJP.mjs → state-C4OdpOTF.mjs} +1 -2
- package/dist/{stats-B-ckuiUg.mjs → stats-tEpEEH-u.mjs} +4 -4
- package/dist/{status-Pw-807f0.mjs → status-B9M7x4CZ.mjs} +1 -1
- package/dist/{status-Fect2w9R.mjs → status-CRXz-Gtj.mjs} +1 -1
- package/dist/{status-DfFp6a76.mjs → status-DQrqodLj.mjs} +22 -23
- package/dist/{status-watch-XC7F-AMf.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-BFu7X_Do.mjs → stop-CmdNhGlC.mjs} +2 -2
- package/dist/{stop-CL1kDHds.mjs → stop-DRqQVqDJ.mjs} +74 -53
- package/dist/{stop-DhclRwOO.mjs → stop-ySNQHXMG.mjs} +4 -5
- package/dist/supervisor-run.d.mts +1 -0
- package/dist/supervisor-run.mjs +15 -16
- package/dist/{support-B3tzVhKn.mjs → support-BGSCBoib.mjs} +4 -4
- package/dist/{support-B1W-hmC2.mjs → support-CVOCp0Ft.mjs} +15 -12
- package/dist/{swiftpm-artifact-inputs-BWYPj9Sn.mjs → swiftpm-artifact-inputs-CfUzt_0Z.mjs} +1 -1
- package/dist/{swiftpm-macos-BVCP5mO4.mjs → swiftpm-macos-x6HPpl_2.mjs} +10 -10
- 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-ol0ZypEu.mjs → warm-progress-DvhTX_eu.mjs} +3 -4
- package/dist/web-BFLueSh-.mjs +2 -0
- package/dist/{web-BH7peScT.mjs → web-Bihbf7-u.mjs} +8 -9
- package/dist/web-run.mjs +4 -4
- package/dist/{workspace-state-CeBpIZgr.mjs → workspace-state-pUg3_RRA.mjs} +45 -7
- package/dist/{workspaces-CSV2Orf4.mjs → workspaces-g2lhdBXF.mjs} +17 -17
- package/dist/{worktree-Dw8kfacb.mjs → worktree-BKuklFh_.mjs} +34 -31
- package/dist/{worktree-DEDUzO_L.mjs → worktree-Bm4cb-nU.mjs} +1 -1
- package/package.json +8 -8
- 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/created-devices-D2Aca-xu.mjs +0 -52
- package/dist/paths-DQtTgsBf.mjs +0 -42
- package/dist/prebuild-DmVCf5xb.mjs +0 -501
- package/dist/server-expo-CEntXzRw.mjs +0 -2
- package/dist/toolchain-BjgKdoEf.mjs +0 -2
- package/dist/toolchain-D3bmRMia.mjs +0 -897
- package/dist/trigger-BLsHgAGR.mjs +0 -2
- package/dist/web-BdOFlTJr.mjs +0 -2
- package/dist/xcode-DHu41qQ4.mjs +0 -910
|
@@ -1,162 +1,49 @@
|
|
|
1
1
|
import { o as cancellableSleep, t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { B as deviceSlotFileKey, E as upsertProject, O as withConfigLockAsync, V as deviceSlotKey, p as getProject, u as getConcurrencyLimits, v as recordIosSchemeApprovals } from "./config-
|
|
4
|
-
import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { c as pidExists, d as resolveProjectMetro, f as signalProcessTree } from "./metro-Bu8LBfzS.mjs";
|
|
2
|
+
import { f as writeWorkspaceStateAsync, k as workspaceLogsDir, r as readWorkspaceState } from "./workspace-state-pUg3_RRA.mjs";
|
|
3
|
+
import { B as deviceSlotFileKey, E as upsertProject, O as withConfigLockAsync, V as deviceSlotKey, p as getProject, u as getConcurrencyLimits, v as recordIosSchemeApprovals } from "./config-BktkY_zC.mjs";
|
|
4
|
+
import { _ as stepTimer, c as launchErrorReport, i as formatDuration, l as phaseLine, n as appReadinessMessage, v as launchErrorPreview } from "./command-output-BF5AR2dL.mjs";
|
|
5
|
+
import { K as resolveCacheProviderConfig, Pt as repoRootAsync, Ut as makeTemporaryDirectory, Wt as removeTemporaryEntry, X as resolveSettings, et as settingOriginScope, lt as detectProviders, rt as settingsLayers, yt as gitCommonDirAsync } from "./settings-CosW5X-S.mjs";
|
|
6
|
+
import { L as workspaceDevServerMode, f as projectRegistry, i as findProjectRoot, v as detectIsExpo, z as writeWorkspaceLaunchAsync } from "./project-BUu6Is4k.mjs";
|
|
7
|
+
import { o as workspaceLinks } from "./stim-desktop-6Dqp-gjX.mjs";
|
|
8
|
+
import { c as pidExists, d as resolveProjectMetro, f as signalProcessTree } from "./metro-CjC10t6E.mjs";
|
|
10
9
|
import { r as createNdjsonWriter } from "./ndjson-CgE_o3Dl.mjs";
|
|
11
|
-
import {
|
|
12
|
-
import { L as acquireBuildSlot, z as releaseBuildSlot } from "./workspaces-
|
|
13
|
-
import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-
|
|
14
|
-
import {
|
|
15
|
-
import { d as listAllIosSims, h as listIosRuntimesAsync, r as clearIosAppData } from "./ios-
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import { n as
|
|
19
|
-
import { n as
|
|
20
|
-
import { n as
|
|
21
|
-
import { n as
|
|
22
|
-
import {
|
|
23
|
-
import { c as startDevServer, g as detectBundleId } from "./start-BKGrEhzG.mjs";
|
|
10
|
+
import { $t as LAUNCH_BUNDLING, Bn as gateMetroOrigin, Kt as ensureMetroReachable, Mn as launchIosApp, Nn as restartedAppNote, On as installIosApp, Q as recordCapacityRefusal, Sn as devClientUrl, Wt as bundleEntryPoint, X as readRunEstimates, Xn as loadProjectProvider, Xt as remoteIosDeps, Zt as resolveRemoteContext, _n as IOS_DEV_MENU_OFF_DEFAULTS_PLIST, an as isBundleProof, cn as unattributedLaunchLines, dn as verifyLaunch, en as LAUNCH_FATAL, er as resolveEasCliBin, et as recordRunStats, fn as verifyReleaseLaunch, kn as iosAppProcess, ln as unverifiedLaunchLines, nr as uploadRemote, on as readCollectorRecords, qn as checkEasAuth, qt as ensureRemoteBootOwned, rn as RELEASE_VERIFY_WAIT_MS, sn as readMetroRecords, t as budgetGate, tn as LAUNCH_UNVERIFIED, tr as resolveRemote, xn as clearOtherUserApps, zn as readRemoteSimulatorArch } from "./budget-k2mZGvvk.mjs";
|
|
11
|
+
import { L as acquireBuildSlot, z as releaseBuildSlot } from "./workspaces-g2lhdBXF.mjs";
|
|
12
|
+
import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-Lnb_EoRY.mjs";
|
|
13
|
+
import { C as storeBuild, S as resolveBuild, k as untrackedNativeFiles, p as fingerprintProject } from "./build-cache-DrXNCy3T.mjs";
|
|
14
|
+
import { d as listAllIosSims, h as listIosRuntimesAsync, r as clearIosAppData } from "./ios-WxpDJ5T1.mjs";
|
|
15
|
+
import { B as readBundleExecutable, H as resolveScheme, O as runPodInstall, T as readPodState, V as readBundleId, w as podsAreStale } from "./toolchain-J4J8MrAr.mjs";
|
|
16
|
+
import { n as readHostedIos, o as writeHostedIosAsync } from "./ios-state-Cw7-WQf2.mjs";
|
|
17
|
+
import { n as hostedMetroPortProbe } from "./hosted-native-CpDB3-PO.mjs";
|
|
18
|
+
import { n as prepareHostedIos, t as placeHostedIos } from "./hosted-ios-D55QhYaD.mjs";
|
|
19
|
+
import { n as verifyCollectorOwnership } from "./ownership-BjYvMNX_.mjs";
|
|
20
|
+
import { n as nativeRunCommand, r as siblingPlatformSlots, t as launchSlotScope } from "./slot-launch-CYCEhfBY.mjs";
|
|
21
|
+
import { c as startDevServer, g as detectBundleId } from "./start-_BdJ32cZ.mjs";
|
|
24
22
|
import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
|
|
25
|
-
import { a as discoverXcodeProject, r as buildIos } from "./react-native-build-
|
|
26
|
-
import { a as acquireRunLease, c as lostRefusal, d as runLease, s as lostLine, t as DEBUG_VERIFY_STEP_MS, u as releaseLeaseOnAbort } from "./device-lease-run-
|
|
27
|
-
import { r as checkDeviceCapacity } from "./device-capacity-
|
|
28
|
-
import { n as clearIosAdoptionPending } from "./device-ios-
|
|
29
|
-
import { i as deviceLabel, o as deviceShortName, t as appNameFromPath } from "./support-
|
|
23
|
+
import { a as discoverXcodeProject, r as buildIos } from "./react-native-build-oNwqF5Wb.mjs";
|
|
24
|
+
import { a as acquireRunLease, c as lostRefusal, d as runLease, s as lostLine, t as DEBUG_VERIFY_STEP_MS, u as releaseLeaseOnAbort } from "./device-lease-run-BmvIl7bI.mjs";
|
|
25
|
+
import { r as checkDeviceCapacity } from "./device-capacity-DCSvUF0l.mjs";
|
|
26
|
+
import { n as clearIosAdoptionPending } from "./device-ios-BLGfXQeK.mjs";
|
|
27
|
+
import { i as deviceLabel, o as deviceShortName, t as appNameFromPath } from "./support-CVOCp0Ft.mjs";
|
|
30
28
|
import { a as sealAppForDevice, r as gateProfileForDevice } from "./ios-signing-4c_qXvQm.mjs";
|
|
31
|
-
import { a as resolveEasDevelopmentBuild } from "./eas-build-
|
|
32
|
-
import { a as printNativeCrashReport, n as IOS_CRASH_REPORT_RETRY, o as simulatorConsolePaths, r as captureNativeCrashes, t as errorDiagnostics } from "./error-diagnostics-
|
|
33
|
-
import {
|
|
34
|
-
import { a as runPrebuild, n as planPrebuildAsync } from "./prebuild-
|
|
35
|
-
import {
|
|
36
|
-
import { n as
|
|
37
|
-
import { n as
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import { i as
|
|
29
|
+
import { a as resolveEasDevelopmentBuild } from "./eas-build-Dsj93iM9.mjs";
|
|
30
|
+
import { a as printNativeCrashReport, n as IOS_CRASH_REPORT_RETRY, o as simulatorConsolePaths, r as captureNativeCrashes, t as errorDiagnostics } from "./error-diagnostics-BOOm9Db7.mjs";
|
|
31
|
+
import { t as followHostedLaunchLogs } from "./hosted-logs-sync-B0pvmOk-.mjs";
|
|
32
|
+
import { a as runPrebuild, d as memoizedFingerprint, n as planPrebuildAsync } from "./prebuild-gmouvmJZ.mjs";
|
|
33
|
+
import { i as launchOutcomeRecord, n as ensureWorkspaceStorageSafely } from "./native-runtime-Dq3RBcON.mjs";
|
|
34
|
+
import { n as devClientTakesDevMenuParams, r as hasDevClient, t as devClientScheme } from "./dev-client-DXR_tPVY.mjs";
|
|
35
|
+
import { n as automaticDevicePlacement, t as checkEasFallback } from "./eas-fallback-FwkeqqGi.mjs";
|
|
36
|
+
import { n as ensureBooted, o as warmMetro, r as ensureOwnedDevice } from "./device-BK-zwyd_.mjs";
|
|
37
|
+
import { t as selectFromPool } from "./device-pool-Dluix4H3.mjs";
|
|
38
|
+
import { o as reportIosResult } from "./ios-project-Ty5pHl9O.mjs";
|
|
39
|
+
import { c as isWirelessIosDevice, i as iosDeviceProcess, l as listIosDevices, n as installIosDeviceApp, p as verifyIosDeviceReleaseLaunch, r as iosDeviceBounds, t as awaitIosDeviceLaunch, u as localNetworkPending } from "./ios-device-CsyryvpT.mjs";
|
|
40
|
+
import { i as swapJsBundle } from "./js-swap-BMhXYVDS.mjs";
|
|
42
41
|
import { mkdirSync, openSync, writeFileSync } from "node:fs";
|
|
43
42
|
import { networkInterfaces } from "node:os";
|
|
44
43
|
import { basename, join } from "node:path";
|
|
45
44
|
import { ambientEnv, hostSimulatorArch } from "@stim-cli/core";
|
|
46
45
|
import chalk from "chalk";
|
|
47
46
|
import { loadCacheProvider } from "@stim-cli/cache";
|
|
48
|
-
//#region src/engine/ios-lan.ts
|
|
49
|
-
const IP_TXT = "ip.txt";
|
|
50
|
-
function chooseLanAddress({ pinned = null, candidates }) {
|
|
51
|
-
const list = Array.isArray(candidates) ? candidates : [];
|
|
52
|
-
if (pinned) return {
|
|
53
|
-
address: pinned,
|
|
54
|
-
interfaceName: list.find((candidate) => candidate.address === pinned)?.interfaceName ?? null,
|
|
55
|
-
pinned: true,
|
|
56
|
-
candidates: list.length
|
|
57
|
-
};
|
|
58
|
-
const first = list[0];
|
|
59
|
-
if (!first) return null;
|
|
60
|
-
return {
|
|
61
|
-
address: first.address,
|
|
62
|
-
interfaceName: first.interfaceName,
|
|
63
|
-
pinned: false,
|
|
64
|
-
candidates: list.length
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
function lanOriginUrlFor(address, port) {
|
|
68
|
-
return `http://${address}:${port}`;
|
|
69
|
-
}
|
|
70
|
-
function ipTxtContents(address, port) {
|
|
71
|
-
return `${String(address).trim()}:${String(port).trim()}\n`;
|
|
72
|
-
}
|
|
73
|
-
function writeIpTxt(appPath, address, port, { write = writeFileSync } = {}) {
|
|
74
|
-
const path = join(appPath, IP_TXT);
|
|
75
|
-
write(path, ipTxtContents(address, port), "utf-8");
|
|
76
|
-
return path;
|
|
77
|
-
}
|
|
78
|
-
async function ensureLanReachable({ origin, metroPort, root, isExpo, logsDir, gateOrigin = gateMetroOrigin, readRecords = null }) {
|
|
79
|
-
const result = await gateOrigin({
|
|
80
|
-
origin,
|
|
81
|
-
metroPort,
|
|
82
|
-
platform: "ios",
|
|
83
|
-
entryPoint: bundleEntryPoint(root, isExpo),
|
|
84
|
-
readRecords: readRecords ?? (() => readMetroRecords(logsDir)),
|
|
85
|
-
isProof: isBundleProof
|
|
86
|
-
});
|
|
87
|
-
if (result.failed) return {
|
|
88
|
-
failed: result.reason ?? `${origin} is not this workspace's Metro.`,
|
|
89
|
-
remedy: `The phone reaches Metro at ${origin}, so that address has to serve THIS workspace's dev server. \`stim start\` prints the port it reserved. Set ios.lanHost in .stim.json when this Mac has several network interfaces and the phone shares one that is not the first.`
|
|
90
|
-
};
|
|
91
|
-
return { ok: true };
|
|
92
|
-
}
|
|
93
|
-
function copyAppAside(appPath, { exec = null, mkdtemp = () => makeTemporaryDirectory(appPath, "stim-ios-device-") } = {}) {
|
|
94
|
-
const e = exec || getExecutor();
|
|
95
|
-
const tmpDir = mkdtemp();
|
|
96
|
-
const copy = join(tmpDir, basename(appPath));
|
|
97
|
-
try {
|
|
98
|
-
e.runFile("cp", [
|
|
99
|
-
"-c",
|
|
100
|
-
"-R",
|
|
101
|
-
appPath,
|
|
102
|
-
copy
|
|
103
|
-
], { timeoutMs: "unbounded" });
|
|
104
|
-
} catch {
|
|
105
|
-
try {
|
|
106
|
-
removeTemporaryEntry(copy);
|
|
107
|
-
e.runFile("cp", [
|
|
108
|
-
"-R",
|
|
109
|
-
appPath,
|
|
110
|
-
copy
|
|
111
|
-
], { timeoutMs: "unbounded" });
|
|
112
|
-
} catch (error) {
|
|
113
|
-
removeTemporaryEntry(tmpDir);
|
|
114
|
-
throw error;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return {
|
|
118
|
-
tmpDir,
|
|
119
|
-
appPath: copy
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
//#endregion
|
|
123
|
-
//#region src/engine/lan-address.ts
|
|
124
|
-
const EN_INTERFACE = /^en(\d+)$/;
|
|
125
|
-
const EXCLUDED_INTERFACE = /^(?:utun|bridge|awdl)/;
|
|
126
|
-
const LINK_LOCAL = /^169\.254\./;
|
|
127
|
-
function isIpv4(entry) {
|
|
128
|
-
return entry.family === "IPv4" || entry.family === 4;
|
|
129
|
-
}
|
|
130
|
-
function lanCandidates(interfaces) {
|
|
131
|
-
const ranked = [];
|
|
132
|
-
const seen = /* @__PURE__ */ new Set();
|
|
133
|
-
for (const [interfaceName, entries] of Object.entries(interfaces ?? {})) {
|
|
134
|
-
if (EXCLUDED_INTERFACE.test(interfaceName)) continue;
|
|
135
|
-
const en = EN_INTERFACE.exec(interfaceName);
|
|
136
|
-
for (const entry of entries ?? []) {
|
|
137
|
-
if (!entry || typeof entry !== "object" || !isIpv4(entry) || entry.internal === true) continue;
|
|
138
|
-
const address = typeof entry.address === "string" ? entry.address.trim() : "";
|
|
139
|
-
if (address === "" || LINK_LOCAL.test(address)) continue;
|
|
140
|
-
if (seen.has(address)) continue;
|
|
141
|
-
seen.add(address);
|
|
142
|
-
ranked.push({
|
|
143
|
-
interfaceName,
|
|
144
|
-
address,
|
|
145
|
-
rank: en ? 0 : 1,
|
|
146
|
-
index: en ? Number(en[1]) : 0
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
ranked.sort((a, b) => a.rank - b.rank || a.index - b.index || a.interfaceName.localeCompare(b.interfaceName) || a.address.localeCompare(b.address));
|
|
151
|
-
return ranked.map(({ interfaceName, address }) => ({
|
|
152
|
-
interfaceName,
|
|
153
|
-
address
|
|
154
|
-
}));
|
|
155
|
-
}
|
|
156
|
-
function hostLanCandidates(interfaces = networkInterfaces) {
|
|
157
|
-
return lanCandidates(interfaces());
|
|
158
|
-
}
|
|
159
|
-
//#endregion
|
|
160
47
|
//#region src/commands/ios/collector.ts
|
|
161
48
|
function collectorLogFile(root, slot) {
|
|
162
49
|
return join(workspaceLogsDir(root), `collector-${deviceSlotFileKey("ios", slot)}.log`);
|
|
@@ -250,109 +137,6 @@ async function replaceCollector({ root, slot = "default", udid, bundleId, appNam
|
|
|
250
137
|
};
|
|
251
138
|
}
|
|
252
139
|
//#endregion
|
|
253
|
-
//#region src/commands/ios/dependencies.ts
|
|
254
|
-
const DEFAULT_DEPS = {
|
|
255
|
-
projectRegistry,
|
|
256
|
-
automaticDevicePlacement,
|
|
257
|
-
checkEasFallback,
|
|
258
|
-
prepareHostedIos,
|
|
259
|
-
placeHostedIos,
|
|
260
|
-
hostedMetroPortProbe,
|
|
261
|
-
readHostedIos,
|
|
262
|
-
writeHostedIos: writeHostedIosAsync,
|
|
263
|
-
resolveEasDevelopmentBuild,
|
|
264
|
-
findProjectRoot,
|
|
265
|
-
resolveSettings,
|
|
266
|
-
settingsLayers,
|
|
267
|
-
settingOriginScope,
|
|
268
|
-
gitCommonDir: gitCommonDirAsync,
|
|
269
|
-
repoRoot: repoRootAsync,
|
|
270
|
-
detectBundleId,
|
|
271
|
-
detectIsExpo,
|
|
272
|
-
devClientScheme,
|
|
273
|
-
hasDevClient,
|
|
274
|
-
devClientTakesDevMenuParams,
|
|
275
|
-
getProject,
|
|
276
|
-
upsertProject: (...args) => withConfigLockAsync(() => upsertProject(...args)),
|
|
277
|
-
recordIosSchemeApprovals,
|
|
278
|
-
checkDeviceCapacity,
|
|
279
|
-
budgetGate,
|
|
280
|
-
ensureOwnedDevice,
|
|
281
|
-
listIosRuntimes: listIosRuntimesAsync,
|
|
282
|
-
listAllIosSims,
|
|
283
|
-
ensureBooted,
|
|
284
|
-
resolveRemoteContext,
|
|
285
|
-
remoteIosDeps,
|
|
286
|
-
readRemoteSimulatorArch,
|
|
287
|
-
hostSimulatorArch,
|
|
288
|
-
ensureMetroReachable,
|
|
289
|
-
ensureRemoteBootOwned,
|
|
290
|
-
detectProviders,
|
|
291
|
-
resolveProjectMetro,
|
|
292
|
-
startDevServer,
|
|
293
|
-
warmMetro,
|
|
294
|
-
readWorkspaceState,
|
|
295
|
-
pidExists,
|
|
296
|
-
getConcurrencyLimits,
|
|
297
|
-
fingerprintProject,
|
|
298
|
-
untrackedNativeFiles,
|
|
299
|
-
resolveBuild,
|
|
300
|
-
storeBuild,
|
|
301
|
-
resolveCacheProviderConfig,
|
|
302
|
-
loadCacheProvider,
|
|
303
|
-
acquireBuildLock,
|
|
304
|
-
releaseBuildLock,
|
|
305
|
-
waitForBuild,
|
|
306
|
-
acquireBuildSlot,
|
|
307
|
-
releaseBuildSlot,
|
|
308
|
-
loadProjectProvider,
|
|
309
|
-
checkEasAuth,
|
|
310
|
-
resolveEasCliBin,
|
|
311
|
-
resolveRemote,
|
|
312
|
-
uploadRemote,
|
|
313
|
-
planPrebuild: planPrebuildAsync,
|
|
314
|
-
runPrebuild,
|
|
315
|
-
readPodState,
|
|
316
|
-
podsAreStale,
|
|
317
|
-
runPodInstall,
|
|
318
|
-
buildIos,
|
|
319
|
-
discoverXcodeProject,
|
|
320
|
-
resolveScheme,
|
|
321
|
-
listIosDevices,
|
|
322
|
-
hostLanCandidates,
|
|
323
|
-
ensureLanReachable,
|
|
324
|
-
gateProfileForDevice,
|
|
325
|
-
sealAppForDevice,
|
|
326
|
-
installIosDeviceApp,
|
|
327
|
-
awaitIosDeviceLaunch,
|
|
328
|
-
acquireRunLease,
|
|
329
|
-
runLease,
|
|
330
|
-
selectFromPool,
|
|
331
|
-
releaseLeaseOnAbort,
|
|
332
|
-
iosDeviceProcess,
|
|
333
|
-
verifyIosDeviceReleaseLaunch,
|
|
334
|
-
readBundleId,
|
|
335
|
-
readBundleExecutable,
|
|
336
|
-
swapJsBundle,
|
|
337
|
-
installIosApp,
|
|
338
|
-
clearOtherUserApps,
|
|
339
|
-
clearIosAppData,
|
|
340
|
-
clearIosAdoptionPending,
|
|
341
|
-
launchIosApp,
|
|
342
|
-
verifyLaunch,
|
|
343
|
-
verifyReleaseLaunch,
|
|
344
|
-
ensureWorkspaceStorage: ensureWorkspaceStorageSafely,
|
|
345
|
-
replaceCollector,
|
|
346
|
-
stopPreviousCollector,
|
|
347
|
-
writeWorkspaceLaunch: writeWorkspaceLaunchAsync,
|
|
348
|
-
writeWorkspaceState: writeWorkspaceStateAsync,
|
|
349
|
-
createWriter: createNdjsonWriter,
|
|
350
|
-
recordStats: recordRunStats,
|
|
351
|
-
recordCapacityRefusal,
|
|
352
|
-
readEstimates: readRunEstimates,
|
|
353
|
-
now: () => Date.now()
|
|
354
|
-
};
|
|
355
|
-
//#endregion
|
|
356
140
|
//#region src/commands/ios/launch.ts
|
|
357
141
|
function iosProcessRuntime(prepare, kind = "process") {
|
|
358
142
|
return {
|
|
@@ -424,12 +208,12 @@ async function verifyIosProcessRun({ operation, root, slot, appPath, d, launched
|
|
|
424
208
|
note(chalk.yellow(phaseLine("", `${embeddedJavaScript ? "Release" : "Process"} readiness was not established. Run \`stim logs --errors\` for captured crash reports, or \`stim logs --source device\` for the full device output.`)));
|
|
425
209
|
return { state: crashes.length || processCheck?.reason === "exited" ? LAUNCH_FATAL : LAUNCH_UNVERIFIED };
|
|
426
210
|
}
|
|
427
|
-
async function verifyIosMetroRun({ operation, root, slot, appPath, d, launched, phase, note, metroCheck, logsDir, launchedAt, metroPort, isExpo, bundleId, udid, scheme, physical, appName, lanAddress, lanOrigin, remoteDevice, metroOrigin, enterActivity }) {
|
|
211
|
+
async function verifyIosMetroRun({ operation, root, slot, appPath, d, launched, phase, note, metroCheck, logsDir, launchedAt, metroPort, isExpo, bundleId, udid, scheme, physical, appName, lanAddress, lanOrigin, remoteDevice, metroOrigin, enterActivity, hostedLogs }) {
|
|
428
212
|
const runCommand = nativeRunCommand("ios", slot, {
|
|
429
213
|
physical,
|
|
430
214
|
deviceId: udid
|
|
431
215
|
});
|
|
432
|
-
const readNativeCrashes = () => remoteDevice ? [] : captureNativeCrashes({
|
|
216
|
+
const readNativeCrashes = () => hostedLogs ? hostedLogs.readNativeCrashes() : remoteDevice ? [] : captureNativeCrashes({
|
|
433
217
|
root,
|
|
434
218
|
slot,
|
|
435
219
|
platform: "ios",
|
|
@@ -460,6 +244,8 @@ async function verifyIosMetroRun({ operation, root, slot, appPath, d, launched,
|
|
|
460
244
|
platform: "ios",
|
|
461
245
|
mode: workspaceDevServerMode(root, isExpo),
|
|
462
246
|
readNativeCrashes,
|
|
247
|
+
readDeviceRecords: hostedLogs?.readDeviceRecords,
|
|
248
|
+
deviceLogsThrough: hostedLogs?.deviceLogsThrough,
|
|
463
249
|
processAlive: remoteDevice ? null : physical ? deviceProcess : async () => {
|
|
464
250
|
if (launched?.pid) return d.pidExists(launched.pid);
|
|
465
251
|
const running = await iosAppProcess(udid, bundleId);
|
|
@@ -497,7 +283,7 @@ async function verifyIosMetroRun({ operation, root, slot, appPath, d, launched,
|
|
|
497
283
|
return { state: LAUNCH_FATAL };
|
|
498
284
|
}
|
|
499
285
|
if (verification?.verified) {
|
|
500
|
-
phase("verify", `bundle loaded` + (verification.processAlive === true ? ", process alive" : "") + (verification.readiness ? "" : ", stable for 3s -- the first screen may still be rendering") + ` (${formatDuration(verification.waitedMs ?? 0)} total)`);
|
|
286
|
+
phase("verify", `bundle loaded` + (verification.processAlive === true ? ", process alive" : "") + (verification.readiness ? "" : verification.jsRunning ? ", app JavaScript running -- the first screen may still be rendering" : ", stable for 3s -- the first screen may still be rendering") + ` (${formatDuration(verification.waitedMs ?? 0)} total)`);
|
|
501
287
|
const hasAppErrors = reportLaunchErrors(verification.errors ?? [], note, root);
|
|
502
288
|
if (hasAppErrors && verification.processAlive === true && metroPort !== null) {
|
|
503
289
|
const reloadRemedy = remoteDevice ? `run \`agent-device metro reload --metro-port ${metroPort}\`.` : "run `stim reload ios`.";
|
|
@@ -1072,4 +858,221 @@ async function finishIosRun({ operation, output, projectBundleId, runtime, runti
|
|
|
1072
858
|
};
|
|
1073
859
|
}
|
|
1074
860
|
//#endregion
|
|
1075
|
-
|
|
861
|
+
//#region src/engine/ios-lan.ts
|
|
862
|
+
const IP_TXT = "ip.txt";
|
|
863
|
+
function chooseLanAddress({ pinned = null, candidates }) {
|
|
864
|
+
const list = Array.isArray(candidates) ? candidates : [];
|
|
865
|
+
if (pinned) return {
|
|
866
|
+
address: pinned,
|
|
867
|
+
interfaceName: list.find((candidate) => candidate.address === pinned)?.interfaceName ?? null,
|
|
868
|
+
pinned: true,
|
|
869
|
+
candidates: list.length
|
|
870
|
+
};
|
|
871
|
+
const first = list[0];
|
|
872
|
+
if (!first) return null;
|
|
873
|
+
return {
|
|
874
|
+
address: first.address,
|
|
875
|
+
interfaceName: first.interfaceName,
|
|
876
|
+
pinned: false,
|
|
877
|
+
candidates: list.length
|
|
878
|
+
};
|
|
879
|
+
}
|
|
880
|
+
function lanOriginUrlFor(address, port) {
|
|
881
|
+
return `http://${address}:${port}`;
|
|
882
|
+
}
|
|
883
|
+
function ipTxtContents(address, port) {
|
|
884
|
+
return `${String(address).trim()}:${String(port).trim()}\n`;
|
|
885
|
+
}
|
|
886
|
+
function writeIpTxt(appPath, address, port, { write = writeFileSync } = {}) {
|
|
887
|
+
const path = join(appPath, IP_TXT);
|
|
888
|
+
write(path, ipTxtContents(address, port), "utf-8");
|
|
889
|
+
return path;
|
|
890
|
+
}
|
|
891
|
+
async function ensureLanReachable({ origin, metroPort, root, isExpo, logsDir, gateOrigin = gateMetroOrigin, readRecords = null }) {
|
|
892
|
+
const result = await gateOrigin({
|
|
893
|
+
origin,
|
|
894
|
+
metroPort,
|
|
895
|
+
platform: "ios",
|
|
896
|
+
entryPoint: bundleEntryPoint(root, isExpo),
|
|
897
|
+
readRecords: readRecords ?? (() => readMetroRecords(logsDir)),
|
|
898
|
+
isProof: isBundleProof
|
|
899
|
+
});
|
|
900
|
+
if (result.failed) return {
|
|
901
|
+
failed: result.reason ?? `${origin} is not this workspace's Metro.`,
|
|
902
|
+
remedy: `The phone reaches Metro at ${origin}, so that address has to serve THIS workspace's dev server. \`stim start\` prints the port it reserved. Set ios.lanHost in .stim.json when this Mac has several network interfaces and the phone shares one that is not the first.`
|
|
903
|
+
};
|
|
904
|
+
return { ok: true };
|
|
905
|
+
}
|
|
906
|
+
function copyAppAside(appPath, { exec = null, mkdtemp = () => makeTemporaryDirectory(appPath, "stim-ios-device-") } = {}) {
|
|
907
|
+
const e = exec || getExecutor();
|
|
908
|
+
const tmpDir = mkdtemp();
|
|
909
|
+
const copy = join(tmpDir, basename(appPath));
|
|
910
|
+
try {
|
|
911
|
+
e.runFile("cp", [
|
|
912
|
+
"-c",
|
|
913
|
+
"-R",
|
|
914
|
+
appPath,
|
|
915
|
+
copy
|
|
916
|
+
], { timeoutMs: "unbounded" });
|
|
917
|
+
} catch {
|
|
918
|
+
try {
|
|
919
|
+
removeTemporaryEntry(copy);
|
|
920
|
+
e.runFile("cp", [
|
|
921
|
+
"-R",
|
|
922
|
+
appPath,
|
|
923
|
+
copy
|
|
924
|
+
], { timeoutMs: "unbounded" });
|
|
925
|
+
} catch (error) {
|
|
926
|
+
removeTemporaryEntry(tmpDir);
|
|
927
|
+
throw error;
|
|
928
|
+
}
|
|
929
|
+
}
|
|
930
|
+
return {
|
|
931
|
+
tmpDir,
|
|
932
|
+
appPath: copy
|
|
933
|
+
};
|
|
934
|
+
}
|
|
935
|
+
//#endregion
|
|
936
|
+
//#region src/engine/lan-address.ts
|
|
937
|
+
const EN_INTERFACE = /^en(\d+)$/;
|
|
938
|
+
const EXCLUDED_INTERFACE = /^(?:utun|bridge|awdl)/;
|
|
939
|
+
const LINK_LOCAL = /^169\.254\./;
|
|
940
|
+
function isIpv4(entry) {
|
|
941
|
+
return entry.family === "IPv4" || entry.family === 4;
|
|
942
|
+
}
|
|
943
|
+
function lanCandidates(interfaces) {
|
|
944
|
+
const ranked = [];
|
|
945
|
+
const seen = /* @__PURE__ */ new Set();
|
|
946
|
+
for (const [interfaceName, entries] of Object.entries(interfaces ?? {})) {
|
|
947
|
+
if (EXCLUDED_INTERFACE.test(interfaceName)) continue;
|
|
948
|
+
const en = EN_INTERFACE.exec(interfaceName);
|
|
949
|
+
for (const entry of entries ?? []) {
|
|
950
|
+
if (!entry || typeof entry !== "object" || !isIpv4(entry) || entry.internal === true) continue;
|
|
951
|
+
const address = typeof entry.address === "string" ? entry.address.trim() : "";
|
|
952
|
+
if (address === "" || LINK_LOCAL.test(address)) continue;
|
|
953
|
+
if (seen.has(address)) continue;
|
|
954
|
+
seen.add(address);
|
|
955
|
+
ranked.push({
|
|
956
|
+
interfaceName,
|
|
957
|
+
address,
|
|
958
|
+
rank: en ? 0 : 1,
|
|
959
|
+
index: en ? Number(en[1]) : 0
|
|
960
|
+
});
|
|
961
|
+
}
|
|
962
|
+
}
|
|
963
|
+
ranked.sort((a, b) => a.rank - b.rank || a.index - b.index || a.interfaceName.localeCompare(b.interfaceName) || a.address.localeCompare(b.address));
|
|
964
|
+
return ranked.map(({ interfaceName, address }) => ({
|
|
965
|
+
interfaceName,
|
|
966
|
+
address
|
|
967
|
+
}));
|
|
968
|
+
}
|
|
969
|
+
function hostLanCandidates(interfaces = networkInterfaces) {
|
|
970
|
+
return lanCandidates(interfaces());
|
|
971
|
+
}
|
|
972
|
+
//#endregion
|
|
973
|
+
//#region src/commands/ios/dependencies.ts
|
|
974
|
+
const DEFAULT_DEPS = {
|
|
975
|
+
projectRegistry,
|
|
976
|
+
automaticDevicePlacement,
|
|
977
|
+
checkEasFallback,
|
|
978
|
+
prepareHostedIos,
|
|
979
|
+
placeHostedIos,
|
|
980
|
+
hostedMetroPortProbe,
|
|
981
|
+
readHostedIos,
|
|
982
|
+
writeHostedIos: writeHostedIosAsync,
|
|
983
|
+
resolveEasDevelopmentBuild,
|
|
984
|
+
findProjectRoot,
|
|
985
|
+
resolveSettings,
|
|
986
|
+
settingsLayers,
|
|
987
|
+
settingOriginScope,
|
|
988
|
+
gitCommonDir: gitCommonDirAsync,
|
|
989
|
+
repoRoot: repoRootAsync,
|
|
990
|
+
detectBundleId,
|
|
991
|
+
detectIsExpo,
|
|
992
|
+
devClientScheme,
|
|
993
|
+
hasDevClient,
|
|
994
|
+
devClientTakesDevMenuParams,
|
|
995
|
+
getProject,
|
|
996
|
+
upsertProject: (...args) => withConfigLockAsync(() => upsertProject(...args)),
|
|
997
|
+
recordIosSchemeApprovals,
|
|
998
|
+
checkDeviceCapacity,
|
|
999
|
+
budgetGate,
|
|
1000
|
+
ensureOwnedDevice,
|
|
1001
|
+
listIosRuntimes: listIosRuntimesAsync,
|
|
1002
|
+
listAllIosSims,
|
|
1003
|
+
ensureBooted,
|
|
1004
|
+
resolveRemoteContext,
|
|
1005
|
+
remoteIosDeps,
|
|
1006
|
+
readRemoteSimulatorArch,
|
|
1007
|
+
hostSimulatorArch,
|
|
1008
|
+
ensureMetroReachable,
|
|
1009
|
+
ensureRemoteBootOwned,
|
|
1010
|
+
detectProviders,
|
|
1011
|
+
resolveProjectMetro,
|
|
1012
|
+
startDevServer,
|
|
1013
|
+
warmMetro,
|
|
1014
|
+
readWorkspaceState,
|
|
1015
|
+
pidExists,
|
|
1016
|
+
getConcurrencyLimits,
|
|
1017
|
+
fingerprintProject,
|
|
1018
|
+
memoizedFingerprint,
|
|
1019
|
+
untrackedNativeFiles,
|
|
1020
|
+
resolveBuild,
|
|
1021
|
+
storeBuild,
|
|
1022
|
+
resolveCacheProviderConfig,
|
|
1023
|
+
loadCacheProvider,
|
|
1024
|
+
acquireBuildLock,
|
|
1025
|
+
releaseBuildLock,
|
|
1026
|
+
waitForBuild,
|
|
1027
|
+
acquireBuildSlot,
|
|
1028
|
+
releaseBuildSlot,
|
|
1029
|
+
loadProjectProvider,
|
|
1030
|
+
checkEasAuth,
|
|
1031
|
+
resolveEasCliBin,
|
|
1032
|
+
resolveRemote,
|
|
1033
|
+
uploadRemote,
|
|
1034
|
+
planPrebuild: planPrebuildAsync,
|
|
1035
|
+
runPrebuild,
|
|
1036
|
+
readPodState,
|
|
1037
|
+
podsAreStale,
|
|
1038
|
+
runPodInstall,
|
|
1039
|
+
buildIos,
|
|
1040
|
+
discoverXcodeProject,
|
|
1041
|
+
resolveScheme,
|
|
1042
|
+
listIosDevices,
|
|
1043
|
+
hostLanCandidates,
|
|
1044
|
+
ensureLanReachable,
|
|
1045
|
+
gateProfileForDevice,
|
|
1046
|
+
sealAppForDevice,
|
|
1047
|
+
installIosDeviceApp,
|
|
1048
|
+
awaitIosDeviceLaunch,
|
|
1049
|
+
acquireRunLease,
|
|
1050
|
+
runLease,
|
|
1051
|
+
selectFromPool,
|
|
1052
|
+
releaseLeaseOnAbort,
|
|
1053
|
+
iosDeviceProcess,
|
|
1054
|
+
verifyIosDeviceReleaseLaunch,
|
|
1055
|
+
readBundleId,
|
|
1056
|
+
readBundleExecutable,
|
|
1057
|
+
swapJsBundle,
|
|
1058
|
+
installIosApp,
|
|
1059
|
+
clearOtherUserApps,
|
|
1060
|
+
clearIosAppData,
|
|
1061
|
+
clearIosAdoptionPending,
|
|
1062
|
+
launchIosApp,
|
|
1063
|
+
verifyLaunch,
|
|
1064
|
+
verifyReleaseLaunch,
|
|
1065
|
+
followHostedLaunchLogs,
|
|
1066
|
+
ensureWorkspaceStorage: ensureWorkspaceStorageSafely,
|
|
1067
|
+
replaceCollector,
|
|
1068
|
+
stopPreviousCollector,
|
|
1069
|
+
writeWorkspaceLaunch: writeWorkspaceLaunchAsync,
|
|
1070
|
+
writeWorkspaceState: writeWorkspaceStateAsync,
|
|
1071
|
+
createWriter: createNdjsonWriter,
|
|
1072
|
+
recordStats: recordRunStats,
|
|
1073
|
+
recordCapacityRefusal,
|
|
1074
|
+
readEstimates: readRunEstimates,
|
|
1075
|
+
now: () => Date.now()
|
|
1076
|
+
};
|
|
1077
|
+
//#endregion
|
|
1078
|
+
export { writeIpTxt as a, iosProcessRuntime as c, replaceCollector as d, lanOriginUrlFor as i, verifyIosMetroRun as l, chooseLanAddress as n, finishIosRun as o, copyAppAside as r, iosMetroRuntime as s, DEFAULT_DEPS as t, collectorEntry as u };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
|
-
import {
|
|
2
|
+
import { Nt as repoRoot } from "./settings-CosW5X-S.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 {
|
|
1
|
+
import { C as resolvePackageJson, b as isPackageResolvable } from "./project-BUu6Is4k.mjs";
|
|
2
|
+
import { In as pickDevClientScheme, Ln as readBundleSchemes } from "./budget-k2mZGvvk.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
|