stim 1.34.0 → 1.36.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-B0SWoVNt.mjs → acquire-artifact-DGTHCd0Q.mjs} +19 -3
- package/dist/{act-7f7wIvCQ.mjs → act-CvN9xyV6.mjs} +18 -19
- package/dist/{activity-DkS-Ir6V.mjs → activity-BpdDvA8Q.mjs} +4 -4
- package/dist/{agent-device-usage-output-BVdgKbfz.mjs → agent-device-usage-output-pbhaW7_k.mjs} +4 -4
- package/dist/{android-B2DSKg-A.mjs → android-5wkcMFDG.mjs} +1 -1
- package/dist/{android-BU4uBX8I.mjs → android-B0qTdwnt.mjs} +5 -5
- package/dist/{android-Iq0M2t2d.mjs → android-SJx1V3R3.mjs} +5 -5
- package/dist/{android-cas-Dhcjkys1.mjs → android-cas-BS9_55U5.mjs} +4 -4
- package/dist/{android-D7qjT2fq.mjs → android-e9WP10cE.mjs} +47 -41
- package/dist/{android-image-DFk26aY6.mjs → android-image-BZ57YL6R.mjs} +2 -2
- package/dist/{android-project-DhO6el8N.d.mts → android-project-v_1nej_x.d.mts} +3 -1
- package/dist/api.d.mts +20 -6
- package/dist/api.mjs +31 -26
- package/dist/{apk-signed-tail-CPpA-3vu.mjs → apk-signed-tail-eZyXIrnc.mjs} +2 -2
- package/dist/{artifact-DmRtKFXW.mjs → artifact-C3srrGVU.mjs} +36 -14
- package/dist/{artifact-CNnTZs3R.mjs → artifact-ubNdxo_K.mjs} +52 -19
- package/dist/{auto-placement-DA65VQH7.mjs → auto-placement-CKFpFCuq.mjs} +7 -8
- package/dist/{browser-web-Dn_hgKZC.mjs → browser-web-B63vLrj6.mjs} +11 -11
- package/dist/{build-D7SuVoRX.mjs → build-B_Dx9SKJ.mjs} +72 -25
- package/dist/{build-cache-Cqj4FGnX.mjs → build-cache-BW8T4oD2.mjs} +10 -5
- package/dist/{build-plan-Ct1FiA3E.mjs → build-plan-CeIooJqn.mjs} +6 -6
- package/dist/{cache-manifest-8JX9S1QJ.mjs → cache-manifest-CxWkZmUr.mjs} +1 -1
- package/dist/cache-manifest.mjs +1 -1
- package/dist/{cli-DjdvQG5U.mjs → cli-COdXswmc.mjs} +19 -18
- package/dist/cli.mjs +1 -1
- package/dist/{client-kU37gURU.mjs → client-KSWIeQLA.mjs} +9 -8
- package/dist/collector-run.mjs +4 -4
- package/dist/{command-output-DjExb_tZ.mjs → command-output-T3cDctRE.mjs} +1 -1
- package/dist/{config-BW0fAtoK.mjs → config-BA3TgoIP.mjs} +59 -10
- package/dist/{dependencies-CZ7c8XX_.mjs → dependencies-LH-7k1Vr.mjs} +35 -38
- package/dist/{dependency-state-mL5g4H6K.mjs → dependency-state-Blfp3AkG.mjs} +1 -1
- package/dist/{dev-client-D3wOllNd.mjs → dev-client-MO_DjTZr.mjs} +2 -2
- package/dist/{device-DH5yf6TU.mjs → device-BZWt_aPJ.mjs} +11 -11
- package/dist/{device-CWPFAqs0.mjs → device-DNTWFFB1.mjs} +12 -12
- package/dist/{device-android-ChfF5I9A.mjs → device-android-BB9Lugr8.mjs} +8 -8
- package/dist/{ccache-ChBMXlBq.mjs → device-capacity-CpAVcKgq.mjs} +1006 -23
- package/dist/device-host-worker.mjs +13 -14
- package/dist/{device-pool-EZziQ0uS.mjs → device-pool-BJToGG-q.mjs} +3 -3
- package/dist/{device-provision-CfpEy-Vm.mjs → device-provision-CxQDCtrc.mjs} +9 -9
- package/dist/{doctor-CGBsS_68.mjs → doctor-C-46SkBe.mjs} +1 -1
- package/dist/{doctor-dwRboaXx.mjs → doctor-CYZ45LnX.mjs} +20 -21
- package/dist/{doctor-B5uEZiKp.mjs → doctor-DV639Iw_.mjs} +15 -16
- package/dist/doctor-fingerprint.mjs +1 -1
- package/dist/{doctor-watchman-r7M9UPi0.mjs → doctor-watchman-TZxYt_98.mjs} +4 -4
- package/dist/{eas-build-BpHIt_M3.mjs → eas-build-Xf5Jd6LR.mjs} +2 -2
- package/dist/{eas-fallback-CNPcjq3K.mjs → eas-fallback-DNYPNinw.mjs} +4 -4
- package/dist/{eas-session-ledger-CXwagcQ7.mjs → eas-session-ledger-CXZ4aix0.mjs} +5 -5
- package/dist/{error-diagnostics-Ym2mjmJ0.mjs → error-diagnostics-CvB5bpPU.mjs} +8 -8
- package/dist/{gc-B464w_a5.mjs → gc-8Qm_K1iy.mjs} +2 -2
- package/dist/{gc-C7YxKNci.mjs → gc-DiUhrVFo.mjs} +17 -17
- package/dist/{guide-BFW-cB7R.mjs → guide-CuvHRP53.mjs} +130 -65
- package/dist/{hosted-android-B7yfqXEy.mjs → hosted-android-D__HGVIO.mjs} +3 -3
- package/dist/{hosted-client-CQuzZwAu.mjs → hosted-client-DMOOu8vD.mjs} +6 -6
- package/dist/{hosted-logs-DfYCqrrR.mjs → hosted-logs-CClIktQM.mjs} +6 -6
- package/dist/{hosted-logs-sync-Dlpa2mQF.mjs → hosted-logs-sync-B7XCeqVm.mjs} +5 -5
- package/dist/{hosted-macos-JKefapEm.mjs → hosted-macos-D4sDJIbB.mjs} +5 -5
- package/dist/{hosted-native-B7OFt5gB.mjs → hosted-native-BiiUG_Q6.mjs} +7 -7
- package/dist/{ios-sUPbWqEh.mjs → ios-BZuhvLGr.mjs} +8 -8
- package/dist/{ios-BdZdNsAj.mjs → ios-BhfpRfNf.mjs} +4 -4
- package/dist/{ios-DSBs9c6d.mjs → ios-BhpUWyN7.mjs} +39 -32
- package/dist/{ios-device-Drplrgzo.mjs → ios-device-vhYL1N--.mjs} +1 -1
- package/dist/{ios-project-DoTQYghg.mjs → ios-project-Cz0S1Sz-.mjs} +7 -7
- package/dist/{ios-signing-R34vbrNU.mjs → ios-signing-BcH88ecn.mjs} +1 -1
- package/dist/{ios-state-CWsBysyN.mjs → ios-state-Avwz2cbZ.mjs} +1 -1
- package/dist/{js-swap-DrokhOfo.mjs → js-swap-Desu2iII.mjs} +4 -4
- package/dist/{launch-Cy-MWEZc.mjs → launch-6ckG9UrC.mjs} +19 -19
- package/dist/{lightened-ALwQcQtV.mjs → lightened-B6TnpHMX.mjs} +4 -4
- package/dist/{logs-DuED-01Z.mjs → logs-B-DMy1K0.mjs} +7 -7
- package/dist/{logs-DWT7jGpF.mjs → logs-CO0CJRiC.mjs} +5 -5
- package/dist/{macos-CtBtA_hW.mjs → macos-B1aCXhem.mjs} +19 -19
- package/dist/{macos-kWGcfLzx.mjs → macos-CduEmWAK.mjs} +1 -1
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +5 -5
- package/dist/{metro-B5PVz0Wv.mjs → metro-DM3yJL1M.mjs} +2 -2
- package/dist/{metro-request-2LmFpC1z.mjs → metro-request-O8Q-JvBg.mjs} +1 -1
- package/dist/{named-ports-CA0nB9Yw.mjs → named-ports-BvB_CO9B.mjs} +2 -2
- package/dist/{native-android-tISP2EVp.mjs → native-android-28NOG2-y.mjs} +17 -17
- package/dist/{native-gradle-artifact-inputs-DVoeZkrw.mjs → native-gradle-artifact-inputs-DxVEtS6_.mjs} +3 -3
- package/dist/{native-runtime-CNgxeOCG.mjs → native-runtime-C3_NkUlW.mjs} +6 -6
- package/dist/{native-xcode-inputs-DGzkhpu4.mjs → native-xcode-inputs-BWFTw5cJ.mjs} +2 -2
- package/dist/{native-xcode-ios-B9nsfId2.mjs → native-xcode-ios-B4Qoc7-U.mjs} +16 -16
- package/dist/offload-worker.d.mts +1 -1
- package/dist/offload-worker.mjs +19 -19
- package/dist/{ownership-hC7xvvxF.mjs → ownership-C3y8wLSl.mjs} +2 -2
- package/dist/{phone-reverses-Bo0EzJ-P.mjs → phone-reverses-BhSxbqom.mjs} +4 -4
- package/dist/{placement-log-BsGvKLtU.mjs → placement-log-B8RCSzOm.mjs} +1 -1
- package/dist/{plan-placement-Am0IjuxB.mjs → plan-placement-BI4r55aP.mjs} +6 -6
- package/dist/{ports-CNzg1LYD.mjs → ports-DhOSyWm9.mjs} +3 -3
- package/dist/{prebuild-BfJII57G.mjs → prebuild-Di2IhUue.mjs} +9 -9
- package/dist/{project-DU3jjnBE.mjs → project-Clk1JAWL.mjs} +15 -15
- package/dist/{react-native-android-3dZiJv-4.mjs → react-native-android-bdHBMrnf.mjs} +23 -23
- package/dist/{react-native-build-CuvNPt-q.mjs → react-native-build-CJega_NM.mjs} +7 -7
- package/dist/{react-native-doctor-a35BwMUO.mjs → react-native-doctor-CY7BGITE.mjs} +5 -5
- package/dist/{react-native-ios-CqnReM1t.mjs → react-native-ios-Bo5EDVel.mjs} +25 -20
- package/dist/recorded-build-BuGL_fnm.mjs +58 -0
- package/dist/{recordings-AKZfsW2W.mjs → recordings-6i2-x8LU.mjs} +1 -1
- package/dist/{reload-CC3sNo10.mjs → reload-A_axEbeS.mjs} +14 -14
- package/dist/{reload-YPnvXGlB.mjs → reload-BvDuvygc.mjs} +1 -1
- package/dist/remote-PD6CM0xp.mjs +158 -0
- package/dist/{remote-BfaIHnhM.mjs → remote-WK_swZEw.mjs} +8 -8
- package/dist/{result-H-AxY7Ud.mjs → result-BkDpN5Mz.mjs} +23 -18
- package/dist/{run-N-BbRxnC.mjs → run-CTFi4Nq2.mjs} +1 -1
- package/dist/{server-bare-BTlICuaX.mjs → server-bare-W0aPsRZE.mjs} +1 -1
- package/dist/{server-command-Bn_gOObU.mjs → server-command-S00-ddjK.mjs} +4 -4
- package/dist/server-expo-BWJDa7Qb.mjs +2 -0
- package/dist/{server-expo-CUJ2fuv1.mjs → server-expo-cc-cmfsl.mjs} +2 -2
- package/dist/{settings-B5IBDfTx.mjs → settings-Bap-qjnp.mjs} +1 -1
- package/dist/{settings-DoWHJopy.mjs → settings-C_Xu4RNZ.mjs} +2 -2
- package/dist/{settings-payload-Bxw3hid5.mjs → settings-payload-D5jjhmrw.mjs} +4 -4
- package/dist/{settings-write-C6d7EC54.mjs → settings-write-C5huI-iS.mjs} +5 -5
- package/dist/settings.schema.json +1 -1
- package/dist/{simslim-DKdJx0LL.mjs → simslim-DlBvwgeF.mjs} +1 -1
- package/dist/{slot-launch-kq0-7w9C.mjs → slot-launch-qEQVTth7.mjs} +6 -6
- package/dist/{stage-CBfMTUK3.mjs → stage-CxVI_MlP.mjs} +1 -1
- package/dist/{start-Diu8q6_U.mjs → start-CVzivp35.mjs} +1 -1
- package/dist/{start-WTMumMHi.mjs → start-YpT_JpQQ.mjs} +10 -10
- package/dist/{state-DSOUqO-o.mjs → state-B4B5P4LU.mjs} +1 -1
- package/dist/{state-CtmYTRWm.mjs → state-B9VFI6r0.mjs} +2 -2
- package/dist/{stats-D4cW247z.mjs → stats-COoePEri.mjs} +4 -4
- package/dist/{status-CEwxo-PS.mjs → status-CIg0k7Qb.mjs} +21 -22
- package/dist/{status-B-oeWS0Z.mjs → status-CIvU5-TF.mjs} +1 -1
- package/dist/{status-DTFhDnd1.mjs → status-CQWmNl1f.mjs} +1 -1
- package/dist/{status-watch-D63R5nSI.mjs → status-watch--rfZynD_.mjs} +4 -4
- package/dist/status-worker.mjs +1 -1
- package/dist/{stim-desktop-_WTria-r.mjs → stim-desktop-D0P_bzmd.mjs} +1 -1
- package/dist/{stop-HL2RvhrE.mjs → stop-BEBBruvD.mjs} +4 -4
- package/dist/{stop-Dm9ON6Os.mjs → stop-BiI4_VFG.mjs} +2 -2
- package/dist/{stop-vX4w3_8V.mjs → stop-C3d5qG7C.mjs} +15 -15
- package/dist/supervisor-run.mjs +12 -13
- package/dist/support-BJbXovoO.mjs +2089 -0
- package/dist/{support-BNe1_Hg7.mjs → support-Vckdzrmk.mjs} +5 -5
- package/dist/{swiftpm-artifact-inputs-uq5oV7xR.mjs → swiftpm-artifact-inputs-DbuF-Yrr.mjs} +1 -1
- package/dist/{swiftpm-macos-ClF203_2.mjs → swiftpm-macos-Bu8xeBfM.mjs} +8 -8
- package/dist/{toolchain-CECahBDa.mjs → toolchain-CIRdNl-c.mjs} +1 -1
- package/dist/{toolchain-CYonNjd_.mjs → toolchain-DCnWAxQL.mjs} +71 -7
- package/dist/{warm-progress-q11Vdvhh.mjs → warm-progress-DwsGBpph.mjs} +3 -3
- package/dist/{web-BdaMBr2O.mjs → web-D2En0Wa5.mjs} +8 -8
- package/dist/web-Dpj70t4p.mjs +2 -0
- package/dist/web-run.mjs +4 -4
- package/dist/{workspace-state-BdZ-QgmB.mjs → workspace-state-BhwAJBgA.mjs} +2 -2
- package/dist/{workspaces-B9v5V7Es.mjs → workspaces-Dh5N70qW.mjs} +11 -11
- package/dist/{worktree-C4MBOMz7.mjs → worktree-DLm4s2Ib.mjs} +1 -1
- package/dist/{worktree-C3N86KpI.mjs → worktree-Yw3EW77B.mjs} +24 -24
- package/package.json +7 -7
- package/dist/device-capacity-CHC3dKWg.mjs +0 -867
- package/dist/device-ios-B3-Ah--R.mjs +0 -716
- package/dist/device-lease-run-i3FNX4OE.mjs +0 -282
- package/dist/idle-shutdown-DPD8oV36.mjs +0 -142
- package/dist/selection-CH-MUVGD.mjs +0 -791
- package/dist/server-expo-B59N16uT.mjs +0 -2
- package/dist/support-ivsfDj0v.mjs +0 -287
- package/dist/web-CIpHpGp8.mjs +0 -2
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
import { k as workspaceLogsDir } from "./workspace-state-BdZ-QgmB.mjs";
|
|
2
|
-
import { h as shortUdid, l as phaseLine } from "./command-output-DjExb_tZ.mjs";
|
|
3
|
-
import { _ as inertSettingWarning, a as SETTING_SHAPE_REMEDY, b as iosProjectDirSetting, p as cacheProviderSettingError, rt as settingShapeErrors, st as unknownSettingKeys, x as iosProjectDirSettingError } from "./settings-B5IBDfTx.mjs";
|
|
4
|
-
import { J as describeDiagnostic } from "./toolchain-CYonNjd_.mjs";
|
|
5
|
-
import { P as parseIosSimulatorApp } from "./ios-BdZdNsAj.mjs";
|
|
6
|
-
import { p as resolveOptimizations } from "./errors-DHm_U5gv.mjs";
|
|
7
|
-
import { d as resolveBuildPlacement } from "./selection-CH-MUVGD.mjs";
|
|
8
|
-
import { l as parseDeviceWait } from "./device-lease-run-i3FNX4OE.mjs";
|
|
9
|
-
import { g as unknownIosRuntimeRefusal, h as unknownIosDeviceTypeRefusal, t as DEFAULT_DEVICE_SLOT_WAIT_MS, u as layerNote } from "./device-capacity-CHC3dKWg.mjs";
|
|
10
|
-
import { t as IosDeviceMismatchError } from "./device-ios-B3-Ah--R.mjs";
|
|
11
|
-
import { basename, join } from "node:path";
|
|
12
|
-
import chalk from "chalk";
|
|
13
|
-
function buildLogFile(root) {
|
|
14
|
-
return join(workspaceLogsDir(root), `build-ios.ndjson`);
|
|
15
|
-
}
|
|
16
|
-
function iosProjectPathError(settings, root, isExpo) {
|
|
17
|
-
const error = iosProjectDirSettingError(settings, root);
|
|
18
|
-
if (error || !iosProjectDirSetting(settings, root).custom || !isExpo()) return error;
|
|
19
|
-
return "ios.projectPath applies to bare React Native apps only: expo prebuild generates and builds ios/. Remove it for this Expo app.";
|
|
20
|
-
}
|
|
21
|
-
function resolveIosBuildSetup(remoteBuild, settings, warn, env) {
|
|
22
|
-
const [shapeError, ...lines] = settingShapeErrors(settings);
|
|
23
|
-
if (shapeError) return {
|
|
24
|
-
ok: false,
|
|
25
|
-
failure: {
|
|
26
|
-
code: "STIM_BAD_ARG",
|
|
27
|
-
message: shapeError,
|
|
28
|
-
lines,
|
|
29
|
-
remedy: SETTING_SHAPE_REMEDY
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
const placement = resolveBuildPlacement(remoteBuild);
|
|
33
|
-
if (placement.failure) return {
|
|
34
|
-
ok: false,
|
|
35
|
-
failure: {
|
|
36
|
-
...placement.failure,
|
|
37
|
-
setup: true
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
let optimizations;
|
|
41
|
-
try {
|
|
42
|
-
optimizations = resolveOptimizations(settings, env);
|
|
43
|
-
} catch (error) {
|
|
44
|
-
return {
|
|
45
|
-
ok: false,
|
|
46
|
-
failure: {
|
|
47
|
-
code: "STIM_BAD_ARG",
|
|
48
|
-
message: error.message,
|
|
49
|
-
remedy: SETTING_SHAPE_REMEDY
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
for (const key of unknownSettingKeys(settings)) warn("setting", inertSettingWarning(settings, key));
|
|
54
|
-
const cacheProviderError = cacheProviderSettingError(settings);
|
|
55
|
-
if (cacheProviderError) warn("cache", `${cacheProviderError} Using the local cache.`);
|
|
56
|
-
return {
|
|
57
|
-
ok: true,
|
|
58
|
-
buildMachine: placement.selected,
|
|
59
|
-
optimizations
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
const MAX_PRINTED_DIAGNOSTICS = 6;
|
|
63
|
-
function deviceLabel(device, udid) {
|
|
64
|
-
const name = device?.deviceName || device?.name || null;
|
|
65
|
-
return name ? `${name} (${shortUdid(udid)})` : shortUdid(udid);
|
|
66
|
-
}
|
|
67
|
-
function deviceShortName(device, udid) {
|
|
68
|
-
return device?.deviceName || device?.name || shortUdid(udid);
|
|
69
|
-
}
|
|
70
|
-
function appNameFromPath(appPath) {
|
|
71
|
-
if (typeof appPath !== "string" || appPath.trim() === "") return null;
|
|
72
|
-
const name = basename(appPath).replace(/\.app$/i, "");
|
|
73
|
-
return name === "" ? null : name;
|
|
74
|
-
}
|
|
75
|
-
function iosConfigurationSetting(settings) {
|
|
76
|
-
const ios = settings?.["ios"];
|
|
77
|
-
if (!ios || typeof ios !== "object" || Array.isArray(ios)) return null;
|
|
78
|
-
const raw = ios["configuration"];
|
|
79
|
-
return typeof raw === "string" && raw.trim() !== "" ? raw.trim() : null;
|
|
80
|
-
}
|
|
81
|
-
function resolveConfiguration(flag, settings) {
|
|
82
|
-
return (typeof flag === "string" && flag.trim() !== "" ? flag.trim() : null) || iosConfigurationSetting(settings);
|
|
83
|
-
}
|
|
84
|
-
function resolveSchemeSelection({ scheme, easProfile }, settings) {
|
|
85
|
-
if (typeof scheme === "string" || easProfile !== void 0) return scheme ?? void 0;
|
|
86
|
-
return iosStringSetting(settings, "scheme") ?? void 0;
|
|
87
|
-
}
|
|
88
|
-
function iosStringSetting(settings, key) {
|
|
89
|
-
const ios = settings?.["ios"];
|
|
90
|
-
if (!ios || typeof ios !== "object" || Array.isArray(ios)) return null;
|
|
91
|
-
const raw = ios[key];
|
|
92
|
-
return typeof raw === "string" && raw.trim() !== "" ? raw.trim() : null;
|
|
93
|
-
}
|
|
94
|
-
function resolveDeviceType(flag, settings) {
|
|
95
|
-
return (typeof flag === "string" && flag.trim() !== "" ? flag.trim() : null) || iosStringSetting(settings, "deviceType");
|
|
96
|
-
}
|
|
97
|
-
function resolveRuntime(flag, settings) {
|
|
98
|
-
return (typeof flag === "string" && flag.trim() !== "" ? flag.trim() : null) || iosStringSetting(settings, "runtime");
|
|
99
|
-
}
|
|
100
|
-
function resolveSimulatorAppFlag(flag, physical, remoteBackend, automatic = false) {
|
|
101
|
-
if (flag === void 0) return {};
|
|
102
|
-
let simulatorApp;
|
|
103
|
-
try {
|
|
104
|
-
simulatorApp = parseIosSimulatorApp(flag, "--simulator-app");
|
|
105
|
-
} catch (error) {
|
|
106
|
-
return { refusal: {
|
|
107
|
-
code: "STIM_BAD_ARG",
|
|
108
|
-
message: error.message
|
|
109
|
-
} };
|
|
110
|
-
}
|
|
111
|
-
if (physical || remoteBackend && !automatic) return { refusal: {
|
|
112
|
-
code: "STIM_BAD_ARG",
|
|
113
|
-
message: "--simulator-app only applies to a local owned iOS simulator.",
|
|
114
|
-
remedy: "Drop --simulator-app when using a physical or remote device."
|
|
115
|
-
} };
|
|
116
|
-
return { simulatorApp };
|
|
117
|
-
}
|
|
118
|
-
async function deviceModelRefusal({ slot, deviceTypeFlag, runtimeFlag, deviceType, runtime, deviceTypeOrigin = null, runtimeOrigin = null, physical, remoteBackend, hosted = false, listRuntimes, signal, snapshot }) {
|
|
119
|
-
if (slot && slot !== "default" && remoteBackend) return {
|
|
120
|
-
code: "STIM_BAD_ARG",
|
|
121
|
-
message: "Named slots currently support local simulators and physical devices.",
|
|
122
|
-
remedy: "Use the default slot for a remote session."
|
|
123
|
-
};
|
|
124
|
-
if (typeof deviceTypeFlag === "string" && deviceTypeFlag.trim() === "") return {
|
|
125
|
-
code: "STIM_BAD_ARG",
|
|
126
|
-
message: "--device-type was given an empty name.",
|
|
127
|
-
remedy: "Pass `--device-type <name>` with a model `xcrun simctl list devicetypes` names, e.g. \"iPad Pro 13-inch (M5)\"."
|
|
128
|
-
};
|
|
129
|
-
if (typeof runtimeFlag === "string" && runtimeFlag.trim() === "") return {
|
|
130
|
-
code: "STIM_BAD_ARG",
|
|
131
|
-
message: "--runtime was given an empty version.",
|
|
132
|
-
remedy: "Pass `--runtime <version>` with a runtime `xcrun simctl list runtimes` reports, e.g. \"18.5\"."
|
|
133
|
-
};
|
|
134
|
-
if (remoteBackend) {
|
|
135
|
-
const eas = remoteBackend === "eas";
|
|
136
|
-
const given = [!eas && deviceTypeFlag && "--device-type", runtimeFlag && "--runtime"].filter(Boolean).join(" and ");
|
|
137
|
-
if (given) return {
|
|
138
|
-
code: "STIM_BAD_ARG",
|
|
139
|
-
message: `${given} ${given.includes(" and ") ? "apply" : "applies"} only to a local owned iOS simulator; the ${remoteBackend} remote backend chooses its own ${eas ? "iOS runtime" : "device"}.`,
|
|
140
|
-
remedy: `Drop ${given} for a remote run. For a local owned simulator, drop --remote and unset ios.remote with \`stim settings unset ios.remote --scope <machine|workspace|repo|committed>\`.`
|
|
141
|
-
};
|
|
142
|
-
return null;
|
|
143
|
-
}
|
|
144
|
-
if (physical || hosted) return null;
|
|
145
|
-
if (!deviceType && !runtime) return null;
|
|
146
|
-
let runtimes;
|
|
147
|
-
try {
|
|
148
|
-
runtimes = await listRuntimes({
|
|
149
|
-
signal,
|
|
150
|
-
snapshot
|
|
151
|
-
});
|
|
152
|
-
} catch (error) {
|
|
153
|
-
return {
|
|
154
|
-
code: "STIM_NO_DEVICE",
|
|
155
|
-
message: `Could not read the installed simulator runtimes: ${error?.message || error}`,
|
|
156
|
-
remedy: "Run `stim doctor` to check the simulator toolchain, then try again."
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
const runtimeRefusal = unknownIosRuntimeRefusal(runtime, runtimes);
|
|
160
|
-
if (runtimeRefusal) {
|
|
161
|
-
const { message, remedy } = layerNote(runtimeRefusal, "ios.runtime", runtimeFlag, runtimeOrigin);
|
|
162
|
-
return {
|
|
163
|
-
code: "STIM_BAD_ARG",
|
|
164
|
-
message,
|
|
165
|
-
remedy
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
const deviceTypeRefusal = unknownIosDeviceTypeRefusal(deviceType, runtimes, runtime);
|
|
169
|
-
if (deviceTypeRefusal) {
|
|
170
|
-
const { message, remedy } = layerNote(deviceTypeRefusal, "ios.deviceType", deviceTypeFlag, deviceTypeOrigin);
|
|
171
|
-
return {
|
|
172
|
-
code: "STIM_BAD_ARG",
|
|
173
|
-
message,
|
|
174
|
-
remedy
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
return null;
|
|
178
|
-
}
|
|
179
|
-
function ownedSimFailure(error) {
|
|
180
|
-
return {
|
|
181
|
-
code: "STIM_NO_DEVICE",
|
|
182
|
-
message: `Could not ensure an owned iOS simulator: ${error?.message || error}`,
|
|
183
|
-
remedy: error instanceof IosDeviceMismatchError ? error.remedy : "Run `stim doctor` to check the simulator toolchain, then try again."
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
function isReleaseConfiguration(configuration) {
|
|
187
|
-
return typeof configuration === "string" && configuration.trim() !== "" && configuration.trim().toLowerCase() !== "debug";
|
|
188
|
-
}
|
|
189
|
-
function simulatorBuildArch({ physical, remoteArch, hostArch, configuration }) {
|
|
190
|
-
if (physical) return null;
|
|
191
|
-
if (remoteArch) return remoteArch;
|
|
192
|
-
return isReleaseConfiguration(configuration) ? null : hostArch;
|
|
193
|
-
}
|
|
194
|
-
function iosProviderRunOptions(configuration, arch) {
|
|
195
|
-
if (arch) return {
|
|
196
|
-
configuration: configuration || "Debug",
|
|
197
|
-
arch
|
|
198
|
-
};
|
|
199
|
-
return configuration ? { configuration } : null;
|
|
200
|
-
}
|
|
201
|
-
function podAction(podState, verdict, { prebuildRan = false } = {}) {
|
|
202
|
-
if (verdict?.stale) return {
|
|
203
|
-
install: true,
|
|
204
|
-
reason: verdict.reason
|
|
205
|
-
};
|
|
206
|
-
if (verdict?.noPods && podState?.hasPodfile) return {
|
|
207
|
-
install: true,
|
|
208
|
-
reason: "ios/Podfile exists but no pods are installed"
|
|
209
|
-
};
|
|
210
|
-
if (prebuildRan && podState?.hasPodfile) return {
|
|
211
|
-
install: true,
|
|
212
|
-
reason: "prebuild updated ios/ in place"
|
|
213
|
-
};
|
|
214
|
-
return { install: false };
|
|
215
|
-
}
|
|
216
|
-
function xcodeFailureReport(result, logPath) {
|
|
217
|
-
const diagnostics = result.diagnostics;
|
|
218
|
-
const code = result.exitCode;
|
|
219
|
-
const how = code === null ? "" : ` (exit code ${code})`;
|
|
220
|
-
return {
|
|
221
|
-
message: diagnostics.length ? `\`xcodebuild\` failed${how} with ${diagnostics.length} diagnostic${diagnostics.length === 1 ? "" : "s"}.` : `\`xcodebuild\` failed${how} with no recognizable diagnostic.`,
|
|
222
|
-
remedy: diagnostics.find((d) => d?.remedy)?.remedy || `See ${logPath} for the transcript.`
|
|
223
|
-
};
|
|
224
|
-
}
|
|
225
|
-
function printDiagnostics(note, result) {
|
|
226
|
-
const diagnostics = result.diagnostics;
|
|
227
|
-
const shown = diagnostics.slice(0, MAX_PRINTED_DIAGNOSTICS);
|
|
228
|
-
for (const diagnostic of shown) note(chalk.red(phaseLine("error", describeDiagnostic(diagnostic))));
|
|
229
|
-
const hidden = diagnostics.length - shown.length + result.truncated;
|
|
230
|
-
if (hidden > 0) note(chalk.dim(phaseLine("error", `... and ${hidden} more diagnostic${hidden === 1 ? "" : "s"} in the log`)));
|
|
231
|
-
if (diagnostics.length === 0) {
|
|
232
|
-
note(chalk.red(phaseLine("error", "xcodebuild failed with no recognizable diagnostic; last lines:")));
|
|
233
|
-
for (const line of result.tail.slice(-5)) note(chalk.dim(phaseLine("", line)));
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
function resolveIosWait(opts, physical) {
|
|
237
|
-
const noWait = opts.wait === false;
|
|
238
|
-
if (opts.waitConflict) return { failure: {
|
|
239
|
-
code: "STIM_BAD_ARG",
|
|
240
|
-
message: "--wait and --no-wait ask for opposite things.",
|
|
241
|
-
remedy: "Pass only one of `--wait <seconds>` and `--no-wait`."
|
|
242
|
-
} };
|
|
243
|
-
const waitParsed = parseDeviceWait(noWait ? void 0 : opts.wait);
|
|
244
|
-
if ("error" in waitParsed) return { failure: {
|
|
245
|
-
code: "STIM_BAD_ARG",
|
|
246
|
-
message: waitParsed.error,
|
|
247
|
-
remedy: "Pass a whole number of seconds, e.g. --wait 90. `--wait 0` refuses a busy lease or device slot at once."
|
|
248
|
-
} };
|
|
249
|
-
return {
|
|
250
|
-
waitSeconds: waitParsed.seconds,
|
|
251
|
-
noWait,
|
|
252
|
-
checkCapacity: !physical && (noWait || waitParsed.seconds === 0),
|
|
253
|
-
deviceSlotWaitMs: noWait ? 0 : opts.wait === void 0 && !physical ? DEFAULT_DEVICE_SLOT_WAIT_MS : waitParsed.seconds * 1e3
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
|
-
function createIosDeviceWaitRun(stats, progress, signal) {
|
|
257
|
-
const controller = new AbortController();
|
|
258
|
-
let waiting = false;
|
|
259
|
-
let boot;
|
|
260
|
-
let outcome;
|
|
261
|
-
return {
|
|
262
|
-
policy: {
|
|
263
|
-
signal: signal ? AbortSignal.any([controller.signal, signal]) : controller.signal,
|
|
264
|
-
waitingFor(info) {
|
|
265
|
-
waiting = info !== null;
|
|
266
|
-
progress.waitingFor(info, "device-slot");
|
|
267
|
-
},
|
|
268
|
-
onWait: stats.addDeviceSlotWaitMs,
|
|
269
|
-
onBootStart: () => progress.bootStarted()
|
|
270
|
-
},
|
|
271
|
-
record(next) {
|
|
272
|
-
if (waiting) outcome = next;
|
|
273
|
-
else stats.record(next);
|
|
274
|
-
},
|
|
275
|
-
booting(pending) {
|
|
276
|
-
boot ??= pending?.done;
|
|
277
|
-
},
|
|
278
|
-
async finish() {
|
|
279
|
-
const queued = waiting;
|
|
280
|
-
controller.abort();
|
|
281
|
-
if (queued) await boot?.catch(() => {});
|
|
282
|
-
if (outcome) stats.record(outcome);
|
|
283
|
-
}
|
|
284
|
-
};
|
|
285
|
-
}
|
|
286
|
-
//#endregion
|
|
287
|
-
export { xcodeFailureReport as S, resolveIosWait as _, deviceModelRefusal as a, resolveSimulatorAppFlag as b, iosProjectPathError as c, ownedSimFailure as d, podAction as f, resolveIosBuildSetup as g, resolveDeviceType as h, deviceLabel as i, iosProviderRunOptions as l, resolveConfiguration as m, buildLogFile as n, deviceShortName as o, printDiagnostics as p, createIosDeviceWaitRun as r, iosConfigurationSetting as s, appNameFromPath as t, isReleaseConfiguration as u, resolveRuntime as v, simulatorBuildArch as x, resolveSchemeSelection as y };
|
package/dist/web-CIpHpGp8.mjs
DELETED