stim 1.23.1 → 1.24.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 +3 -2
- package/dist/{acquire-artifact-BzYRDgaP.mjs → acquire-artifact-CEs02U2o.mjs} +2 -2
- package/dist/{act-vxiMwdf5.mjs → act-Cyvm8xYc.mjs} +40 -25
- package/dist/{activity-BpWUPgUm.mjs → activity-Dq3ZcdD8.mjs} +6 -6
- package/dist/{agent-device-usage-output-CUlLsbRt.mjs → agent-device-usage-output-CccomeE0.mjs} +5 -5
- package/dist/{android-C7sVmyI9.mjs → android-882m4hxX.mjs} +140 -46
- package/dist/{android-DtfRGLcc.mjs → android-BZppyPe_.mjs} +66 -46
- package/dist/{android-DR5lZ2Az.mjs → android-CX5IcRuf.mjs} +13 -3
- package/dist/{android-CLi6DSiS.mjs → android-DcztblCT.mjs} +5 -5
- package/dist/{android-cas-ngferVq2.mjs → android-cas-BtCOrNqb.mjs} +3 -3
- package/dist/android-cas-compiler.mjs +1 -1
- package/dist/api.d.mts +21 -4
- package/dist/api.mjs +32 -31
- package/dist/{artifact-Xvgibgzq.mjs → artifact-BR5VNArK.mjs} +17 -16
- package/dist/{artifact-DBI3DALs.mjs → artifact-Bdt_n9Jc.mjs} +17 -16
- package/dist/{artifact-platform-CXcmX_j3.mjs → artifact-platform-CMRc0M_r.mjs} +3 -3
- package/dist/{browser-web-BJN9ZHxB.mjs → browser-web-ycg9qWB8.mjs} +16 -17
- package/dist/{budget-3ivAK99e.mjs → budget-dPGuhNai.mjs} +101 -40
- package/dist/{build-Dv9s8Fz-.mjs → build-CaF574eS.mjs} +31 -28
- package/dist/{build-cache-Dv7RN200.mjs → build-cache-HFUQ9eLz.mjs} +152 -19
- package/dist/{build-plan-BmbdHQbr.mjs → build-plan-JsDUq4w1.mjs} +8 -7
- package/dist/{cache-manifest-DSeQjt-Q.mjs → cache-manifest-BPXRONJz.mjs} +1 -1
- package/dist/cache-manifest.mjs +1 -1
- package/dist/{ccache-CH2EWGPB.mjs → ccache-CCn1S6qG.mjs} +6 -6
- package/dist/{cdp-3fwICjzi.mjs → cdp-BG3FJCCx.mjs} +1 -1
- package/dist/{chrome-Bbw689-6.mjs → chrome-BvV8ssI3.mjs} +1 -1
- package/dist/{cli-BkK6Wr5i.mjs → cli-xqAidP7O.mjs} +20 -20
- package/dist/cli.mjs +1 -1
- package/dist/{client-B4MMzfo_.mjs → client-18-ZowoT.mjs} +254 -28
- package/dist/collector-run.mjs +6 -6
- package/dist/{command-output-YKGWivpG.mjs → command-output-DxC0k2rk.mjs} +3 -2
- package/dist/{config-DlrsduwG.mjs → config-BZhXY15H.mjs} +3 -3
- package/dist/{created-devices-x9rN6bhs.mjs → created-devices-D2Aca-xu.mjs} +6 -2
- package/dist/{dependency-state-1I9KZT1Y.mjs → dependency-state-C56ll9hY.mjs} +2 -2
- package/dist/{detached-entry-BwNEtIrP.mjs → detached-entry-KmieOKgN.mjs} +1 -1
- package/dist/{dev-client-BFxiDpkf.mjs → dev-client-w_fok0Ek.mjs} +3 -3
- package/dist/{device-B7ljwccX.mjs → device-4RUugw5X.mjs} +16 -16
- package/dist/{device-CiNYxqp6.mjs → device-BktRGdjS.mjs} +40 -44
- package/dist/{device-capacity-DH0QsZYZ.mjs → device-capacity-Ic-kdmEV.mjs} +20 -16
- package/dist/device-host-worker.mjs +17 -17
- package/dist/{device-ios-CbVDtDIy.mjs → device-ios-DzpSlZyd.mjs} +23 -52
- package/dist/{device-lease-run-DXPSwdbb.mjs → device-lease-run-DUtkbqBQ.mjs} +5 -5
- package/dist/{device-pool-B4iOXIrD.mjs → device-pool-CgBHk401.mjs} +3 -3
- package/dist/{doctor-DRu-8ld6.mjs → doctor-BZ6oxNum.mjs} +1 -1
- package/dist/{doctor-HUC1igzw.mjs → doctor-C33AzVfR.mjs} +28 -28
- package/dist/{doctor-C6t4Maue.mjs → doctor-DZgpqR6J.mjs} +14 -14
- package/dist/{doctor-fingerprint-DZLoYFVb.mjs → doctor-fingerprint-zlujA1Gs.mjs} +1 -1
- package/dist/doctor-fingerprint.mjs +1 -1
- package/dist/{doctor-watchman-iGBpC6KM.mjs → doctor-watchman-B453A231.mjs} +5 -5
- package/dist/{eas-build-DMWSSvxq.mjs → eas-build-CxKUNHsb.mjs} +4 -4
- package/dist/{eas-fallback-vKlrqxgE.mjs → eas-fallback-LMxk9Kw0.mjs} +14 -14
- package/dist/{eas-session-ledger-BQF9Yyy9.mjs → eas-session-ledger-Ck6YXPAO.mjs} +12 -8
- package/dist/{error-diagnostics-DYsjJIHz.mjs → error-diagnostics-BkKCZq4P.mjs} +17 -42
- package/dist/{exec-DEoAhcze.mjs → exec-VFRpu1iA.mjs} +116 -28
- package/dist/{gc-dDE4QPVu.mjs → gc-DDWEAj0w.mjs} +2 -2
- package/dist/{gc-BW8E1uSC.mjs → gc-yVKpAOKM.mjs} +205 -28
- package/dist/{guide-DYYEO3Wz.mjs → guide-Bggftwc5.mjs} +222 -59
- package/dist/{hosted-android-xcfgCgSF.mjs → hosted-android-D4dweBof.mjs} +4 -4
- package/dist/{hosted-client-Bt-tndxV.mjs → hosted-client-BBTVe3X6.mjs} +4 -4
- package/dist/{hosted-ios-y19jCYFF.mjs → hosted-ios-Sn0djzg8.mjs} +1 -1
- package/dist/{hosted-logs-DzJKzKlj.mjs → hosted-logs-CYIZ5ubJ.mjs} +11 -6
- package/dist/{hosted-macos-BJusKvqL.mjs → hosted-macos-CXjsUNBR.mjs} +7 -7
- package/dist/{hosted-native-BmQC6U_x.mjs → hosted-native-Doxbfzem.mjs} +58 -11
- package/dist/{idle-shutdown-CJmUOV5x.mjs → idle-shutdown-BInjLKqm.mjs} +10 -10
- package/dist/{ios-CWjqfSm_.mjs → ios-B1FXRCMX.mjs} +71 -44
- package/dist/{ios-DTOYZGMJ.mjs → ios-BItP6lkn.mjs} +8 -8
- package/dist/{ios-hcBpnEGk.mjs → ios-CVUFFZ6C.mjs} +70 -13
- package/dist/{ios-xtlRHaeB.mjs → ios-ENC4sRPA.mjs} +1 -1
- package/dist/{ios-device-BXZ0c7Kb.mjs → ios-device-B6HK951C.mjs} +1 -1
- package/dist/{ios-device-DFGuwF4U.mjs → ios-device-BI38NFFH.mjs} +3 -3
- package/dist/{ios-project-CSZYI1iu.mjs → ios-project-KYqeJURj.mjs} +5 -5
- package/dist/{ios-signing-BtAffm0A.mjs → ios-signing-4c_qXvQm.mjs} +2 -2
- package/dist/{ios-state-Dtw5K2aI.mjs → ios-state-DlElquYD.mjs} +15 -7
- package/dist/{js-swap-BSBHldmm.mjs → js-swap-BvrQvXHY.mjs} +7 -6
- package/dist/{launch-CP2wDCVd.mjs → launch-BVlyQw3T.mjs} +51 -49
- package/dist/{launch-D-zq8SHG.mjs → launch-SfzGH_s9.mjs} +48 -29
- package/dist/{logs-pNvA2hHK.mjs → logs-DXE32kyb.mjs} +16 -9
- package/dist/{logs-By5aw3g9.mjs → logs-ovlU7m7N.mjs} +8 -6
- package/dist/{macos-CPMahOC2.mjs → macos-B3BveDrU.mjs} +1 -1
- package/dist/{macos-C67FZ2ft.mjs → macos-CCfhb-jT.mjs} +49 -42
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +7 -7
- package/dist/{metro-DiXtA3Ty.mjs → metro-Bu8LBfzS.mjs} +4 -4
- package/dist/{metro-gateway-CKZqKqx7.mjs → metro-gateway-DtsOy-0P.mjs} +3 -4
- package/dist/{named-ports-DkEzOfzO.mjs → named-ports-BWDuU5oQ.mjs} +3 -3
- package/dist/{native-android-_MWSs3PP.mjs → native-android-96BBizbq.mjs} +17 -17
- package/dist/{native-gradle-artifact-inputs-DHFnmrVf.mjs → native-gradle-artifact-inputs-BcLYBZil.mjs} +5 -5
- package/dist/{native-run-Dv88i0aU.mjs → native-run-BmH7U8pr.mjs} +6 -6
- package/dist/{native-runtime-DBRfY_PN.mjs → native-runtime-DgtJkzIa.mjs} +10 -9
- package/dist/{native-source-Y0yLhFyQ.mjs → native-source-D-4Dh4JU.mjs} +7 -4
- package/dist/{native-xcode-inputs-CqViUh3r.mjs → native-xcode-inputs-irplbQb0.mjs} +2 -2
- package/dist/{native-xcode-ios-vFgqL_yS.mjs → native-xcode-ios-BY-6hh6M.mjs} +18 -18
- package/dist/offload-worker.d.mts +7 -2
- package/dist/offload-worker.mjs +75 -41
- package/dist/{operation-exec-BW0em61G.mjs → operation-exec-CUZifp6Z.mjs} +2 -25
- package/dist/{ownership-C5fo5Edb.mjs → ownership-DxlZGDcV.mjs} +3 -3
- package/dist/{page-DBL2PiUU.mjs → page-CzEA_-5_.mjs} +2 -3
- package/dist/phone-reverses-BdsdesVF.mjs +57 -0
- package/dist/{placement-log-BnGgJRRZ.mjs → placement-log-DUvqqsB-.mjs} +1 -1
- package/dist/{plan-placement-cr0fEU7b.mjs → plan-placement-4axc0Hs7.mjs} +3 -3
- package/dist/{ports-DpXjKkSV.mjs → ports-D-E_OiAO.mjs} +3 -3
- package/dist/{prebuild-BligW0QS.mjs → prebuild-DmVCf5xb.mjs} +14 -9
- package/dist/{project-DhCtQWWU.mjs → project-Dz-hWkb-.mjs} +21 -17
- package/dist/{pull-request-W1IuLXDt.mjs → pull-request-CbNlkFok.mjs} +2 -2
- package/dist/pull-requests.mjs +1 -1
- package/dist/{react-native-android-ZlhQfhvq.mjs → react-native-android-DOinxgwB.mjs} +75 -32
- package/dist/{react-native-build-CelbTO_y.mjs → react-native-build-AuCu-aAP.mjs} +22 -19
- package/dist/{react-native-doctor-LTIaP7lv.mjs → react-native-doctor-2ivJUmwZ.mjs} +10 -9
- package/dist/{react-native-ios-C5W0SA6f.mjs → react-native-ios-D5zTIuH8.mjs} +38 -22
- package/dist/{recordings-CQmfzAh7.mjs → recordings-CdPwYwvs.mjs} +1 -1
- package/dist/{registration-BcRgF6Ox.mjs → registration-CN6nlhcD.mjs} +1 -1
- package/dist/{reload-COJWTbae.mjs → reload-C1TTVesC.mjs} +144 -42
- package/dist/{reload-QcwnYLYV.mjs → reload-Ck9RJeSq.mjs} +1 -1
- package/dist/{remote-DR8qUERM.mjs → remote-DEZ7AOVq.mjs} +7 -7
- package/dist/{result-utnBea7x.mjs → result-DqBrb12U.mjs} +40 -17
- package/dist/{run-DidHghD1.mjs → run-BIwoU44q.mjs} +2 -2
- package/dist/{selection-DSMbWEX2.mjs → selection-BLtvaqxc.mjs} +11 -5
- package/dist/{server-bare-CafzuyFB.mjs → server-bare-Z1ToVLPn.mjs} +2 -2
- package/dist/{server-command-B9o92sLM.mjs → server-command-C0pmjNdG.mjs} +5 -5
- package/dist/server-expo-CEntXzRw.mjs +2 -0
- package/dist/{server-expo-BXrWxNYh.mjs → server-expo-Tt_hLRpy.mjs} +8 -5
- package/dist/{settings-C7O8A6ZI.mjs → settings-RKwY33wv.mjs} +114 -19
- package/dist/{settings-PfJx8uK1.mjs → settings-kkt0vP4w.mjs} +1 -1
- package/dist/{settings-write-Chuy7Cte.mjs → settings-write--gj6MACV.mjs} +7 -7
- package/dist/settings.schema.json +13 -0
- package/dist/{simslim-BNckWpXi.mjs → simslim-CdWKT3vA.mjs} +2 -2
- package/dist/{slot-launch-B7AuoWJv.mjs → slot-launch-A1BgotaM.mjs} +6 -6
- package/dist/{stage-C4u17aES.mjs → stage-ERTMh88n.mjs} +2 -3
- package/dist/{start-CU8mCPC7.mjs → start-BKGrEhzG.mjs} +75 -35
- package/dist/{start-BL_BsiWt.mjs → start-Bmg_qmHi.mjs} +1 -1
- package/dist/{state--smjFSTL.mjs → state-B1ig0Kqy.mjs} +4 -4
- package/dist/{state-08I3hw3_.mjs → state-BfAltYJP.mjs} +2 -2
- package/dist/{stats-CO6sK0Nh.mjs → stats-B-ckuiUg.mjs} +5 -5
- package/dist/{stats-report-BzaPrRm6.mjs → stats-report-n2U5plhk.mjs} +1 -1
- package/dist/{status-_WPHzVft.mjs → status-DfFp6a76.mjs} +24 -24
- package/dist/{status-BRROykC8.mjs → status-Fect2w9R.mjs} +1 -1
- package/dist/{status-CrJutl6-.mjs → status-Pw-807f0.mjs} +1 -1
- package/dist/{status-watch-BHFasOZN.mjs → status-watch-XC7F-AMf.mjs} +5 -5
- package/dist/status-worker.mjs +1 -1
- package/dist/stim-clonefile.c +18 -0
- package/dist/{stim-desktop-D5OGpYZM.mjs → stim-desktop-DS0mzR8U.mjs} +2 -2
- package/dist/{stop-iuFHjUST.mjs → stop-BFu7X_Do.mjs} +2 -2
- package/dist/{stop-BJ06ipTZ.mjs → stop-CL1kDHds.mjs} +55 -21
- package/dist/{stop-CR5689oB.mjs → stop-DhclRwOO.mjs} +5 -5
- package/dist/supervisor-run.mjs +16 -16
- package/dist/{support-TWuQlHQo.mjs → support-B1W-hmC2.mjs} +8 -8
- package/dist/{support-CbXPbUMJ.mjs → support-B3tzVhKn.mjs} +6 -6
- package/dist/{swiftpm-artifact-inputs-DFcGsXDP.mjs → swiftpm-artifact-inputs-BWYPj9Sn.mjs} +4 -4
- package/dist/{swiftpm-macos-DbwGCpZg.mjs → swiftpm-macos-BVCP5mO4.mjs} +14 -13
- package/dist/{toolchain-XkA2PfJZ.mjs → toolchain-BjgKdoEf.mjs} +1 -1
- package/dist/{toolchain-B9hCFCQw.mjs → toolchain-D3bmRMia.mjs} +57 -36
- package/dist/trigger-BLsHgAGR.mjs +2 -0
- package/dist/{trigger-Cbyc41d_.mjs → trigger-CBMe2YLH.mjs} +2 -2
- package/dist/{warm-progress-CA3TgT3-.mjs → warm-progress-ol0ZypEu.mjs} +6 -6
- package/dist/{web-DRF_oFXk.mjs → web-BH7peScT.mjs} +12 -10
- package/dist/web-BdOFlTJr.mjs +2 -0
- package/dist/web-run.mjs +8 -9
- package/dist/windows-report.mjs +12 -1
- package/dist/windows-report.ps1 +1 -1
- package/dist/{workspace-state-U08dEzhG.mjs → workspace-state-CeBpIZgr.mjs} +11 -4
- package/dist/{workspaces-e41xsjKr.mjs → workspaces-CSV2Orf4.mjs} +36 -32
- package/dist/{worktree-BEwxVwKF.mjs → worktree-DEDUzO_L.mjs} +1 -1
- package/dist/{worktree-B4Nj3EGS.mjs → worktree-Dw8kfacb.mjs} +324 -99
- package/dist/{xcode-Rq744mBF.mjs → xcode-DHu41qQ4.mjs} +41 -27
- package/package.json +7 -7
- package/dist/native-gradle-inputs-Dnh84Zbd.mjs +0 -211
- package/dist/server-expo-Ddr8cG_c.mjs +0 -2
- package/dist/trigger-yb_nFzPF.mjs +0 -2
- package/dist/web-kDE9Myoy.mjs +0 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _ as spawnDeclared, t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
2
|
import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
|
|
3
|
-
import { a as killOnAbort } from "./operation-exec-
|
|
4
|
-
import { o as androidHome } from "./android-
|
|
5
|
-
import { b as bundlerPin, h as startBuildHeartbeat, r as HEARTBEAT_INTERVAL_MS } from "./xcode-
|
|
3
|
+
import { a as killOnAbort } from "./operation-exec-CUZifp6Z.mjs";
|
|
4
|
+
import { o as androidHome } from "./android-882m4hxX.mjs";
|
|
5
|
+
import { b as bundlerPin, h as startBuildHeartbeat, r as HEARTBEAT_INTERVAL_MS } from "./xcode-DHu41qQ4.mjs";
|
|
6
6
|
import { createRequire } from "node:module";
|
|
7
7
|
import { existsSync, mkdtempSync, readFileSync, readdirSync, realpathSync, rmSync } from "node:fs";
|
|
8
8
|
import { homedir, tmpdir } from "node:os";
|
|
@@ -211,18 +211,23 @@ function podEnvForRuby(version, { env = ambientEnv(), home = (process.platform =
|
|
|
211
211
|
{ bin: join(home, ".rbenv", "versions", version, "bin") },
|
|
212
212
|
{
|
|
213
213
|
bin: join(home, ".rvm", "rubies", `ruby-${version}`, "bin"),
|
|
214
|
-
|
|
214
|
+
rvm: `ruby-${version}`
|
|
215
215
|
},
|
|
216
216
|
{ bin: join(home, ".asdf", "installs", "ruby", version, "bin") },
|
|
217
217
|
{ bin: join(home, ".local", "share", "mise", "installs", "ruby", version, "bin") }
|
|
218
218
|
] : [];
|
|
219
219
|
for (const c of candidates) {
|
|
220
220
|
if (!exists(c.bin)) continue;
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
out.
|
|
224
|
-
|
|
221
|
+
if (c.rvm) {
|
|
222
|
+
const rvm = rvmRuby(join(home, ".rvm"), c.rvm, exists);
|
|
223
|
+
out.PATH = prependPath(rvm.bins, out.PATH);
|
|
224
|
+
if (exists(rvm.gems.home)) {
|
|
225
|
+
out.GEM_HOME = rvm.gems.home;
|
|
226
|
+
out.GEM_PATH = rvm.gems.path;
|
|
227
|
+
}
|
|
228
|
+
return out;
|
|
225
229
|
}
|
|
230
|
+
out.PATH = `${c.bin}${delimiter}${out.PATH ?? ""}`;
|
|
226
231
|
return out;
|
|
227
232
|
}
|
|
228
233
|
if (env.GEM_HOME) return out;
|
|
@@ -243,6 +248,22 @@ function podEnvForRuby(version, { env = ambientEnv(), home = (process.platform =
|
|
|
243
248
|
if (login.GEM_PATH) out.GEM_PATH = login.GEM_PATH;
|
|
244
249
|
return out;
|
|
245
250
|
}
|
|
251
|
+
/** What `rvm use <name>` sets: the gemset and its `@global` gemset on `GEM_PATH` and their `bin` directories on `PATH`. */
|
|
252
|
+
function rvmRuby(rvm, name, exists) {
|
|
253
|
+
const gems = join(rvm, "gems", name);
|
|
254
|
+
const global = `${gems}@global`;
|
|
255
|
+
return {
|
|
256
|
+
bins: [
|
|
257
|
+
join(gems, "bin"),
|
|
258
|
+
join(global, "bin"),
|
|
259
|
+
join(rvm, "rubies", name, "bin")
|
|
260
|
+
].filter(exists),
|
|
261
|
+
gems: {
|
|
262
|
+
home: gems,
|
|
263
|
+
path: [gems, global].join(delimiter)
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
}
|
|
246
267
|
/**
|
|
247
268
|
* The Ruby a new login shell makes the default, read from the version manager's files: rvm's `default` alias in
|
|
248
269
|
* `~/.rvm/config/alias`, or rbenv's global `~/.rbenv/version`.
|
|
@@ -250,21 +271,7 @@ function podEnvForRuby(version, { env = ambientEnv(), home = (process.platform =
|
|
|
250
271
|
function defaultRuby(home, exists, read) {
|
|
251
272
|
const rvm = join(home, ".rvm");
|
|
252
273
|
const alias = /^default=(\S+)$/m.exec(read(join(rvm, "config", "alias")) ?? "")?.[1];
|
|
253
|
-
if (alias && exists(join(rvm, "rubies", alias, "bin")))
|
|
254
|
-
const gems = join(rvm, "gems", alias);
|
|
255
|
-
const global = `${gems}@global`;
|
|
256
|
-
return {
|
|
257
|
-
bins: [
|
|
258
|
-
join(gems, "bin"),
|
|
259
|
-
join(global, "bin"),
|
|
260
|
-
join(rvm, "rubies", alias, "bin")
|
|
261
|
-
].filter(exists),
|
|
262
|
-
gems: {
|
|
263
|
-
home: gems,
|
|
264
|
-
path: [gems, global].join(delimiter)
|
|
265
|
-
}
|
|
266
|
-
};
|
|
267
|
-
}
|
|
274
|
+
if (alias && exists(join(rvm, "rubies", alias, "bin"))) return rvmRuby(rvm, alias, exists);
|
|
268
275
|
const rbenv = read(join(home, ".rbenv", "version"))?.trim();
|
|
269
276
|
if (rbenv && exists(join(home, ".rbenv", "versions", rbenv, "bin"))) return { bins: [join(home, ".rbenv", "versions", rbenv, "bin")] };
|
|
270
277
|
return null;
|
|
@@ -413,7 +420,7 @@ async function ensureBundledGems(root, pin, ctx) {
|
|
|
413
420
|
failed: true,
|
|
414
421
|
code: DEPS_ERROR,
|
|
415
422
|
reason: `\`bundle install\` failed (${how}).`,
|
|
416
|
-
remedy: frozenRemedy(
|
|
423
|
+
remedy: frozenRemedy(pin, transcript) || gemInstallRemedy(root, pin),
|
|
417
424
|
diagnosticSource: extracted ? extracted.source : "tail",
|
|
418
425
|
diagnosticLines: extracted ? extracted.lines : [],
|
|
419
426
|
lastLines: install.transcript.slice(-20),
|
|
@@ -441,13 +448,13 @@ function bundlerSpawnFailure(command, run, pin) {
|
|
|
441
448
|
function missingBundlerNote(pin) {
|
|
442
449
|
return `${pin.lockfile} pins this project's CocoaPods, but \`bundle\` is not on PATH, so pods run as plain \`pod install\` with whatever CocoaPods PATH resolves to (\`gem install bundler\` to use the pin).`;
|
|
443
450
|
}
|
|
444
|
-
function frozenRemedy(
|
|
451
|
+
function frozenRemedy(pin, transcript) {
|
|
445
452
|
if (!BUNDLER_FROZEN.test(transcript)) return void 0;
|
|
446
|
-
return `Stim runs bundler with BUNDLE_FROZEN so it can never write into your checkout, and ${pin.gemfile} no longer matches ${pin.lockfile}. Run \`cd ${
|
|
453
|
+
return `Stim runs bundler with BUNDLE_FROZEN so it can never write into your checkout, and ${pin.gemfile} no longer matches ${pin.lockfile}. Run \`cd ${dirname(pin.gemfile)} && bundle install\` yourself, keep the updated Gemfile.lock, then run again.`;
|
|
447
454
|
}
|
|
448
455
|
function gemInstallRemedy(root, pin) {
|
|
449
456
|
const version = readRubyVersion(root);
|
|
450
|
-
return `${version ? `This repo pins ruby ${version} (.ruby-version), so put that ruby on PATH (rbenv/rvm/asdf/mise) first. ` : ""}Bundler could not install the gems ${pin.lockfile} pins, so \`bundle exec pod install\` cannot run. Run \`cd ${
|
|
457
|
+
return `${version ? `This repo pins ruby ${version} (.ruby-version), so put that ruby on PATH (rbenv/rvm/asdf/mise) first. ` : ""}Bundler could not install the gems ${pin.lockfile} pins, so \`bundle exec pod install\` cannot run. Run \`cd ${dirname(pin.gemfile)} && bundle install\` and fix what it reports, then run again.`;
|
|
451
458
|
}
|
|
452
459
|
async function runPodInstall(root, logWriter, { spawnFn = null, now = Date.now, heartbeatMs = HEARTBEAT_INTERVAL_MS, estimateMs = null, onHeartbeat = (line) => console.error(line), directory = join(root, "ios") } = {}) {
|
|
453
460
|
const iosDir = directory;
|
|
@@ -466,7 +473,7 @@ async function runPodInstall(root, logWriter, { spawnFn = null, now = Date.now,
|
|
|
466
473
|
onHeartbeat
|
|
467
474
|
};
|
|
468
475
|
const notes = [];
|
|
469
|
-
const pin = bundlerPin(root);
|
|
476
|
+
const pin = bundlerPin(root, iosDir);
|
|
470
477
|
let bundler = false;
|
|
471
478
|
if (pin) {
|
|
472
479
|
const gems = await ensureBundledGems(root, pin, ctx);
|
|
@@ -531,9 +538,9 @@ async function runPodInstall(root, logWriter, { spawnFn = null, now = Date.now,
|
|
|
531
538
|
}
|
|
532
539
|
function podFailureRemedy(root, pin, transcript) {
|
|
533
540
|
if (pin) {
|
|
534
|
-
const frozen = frozenRemedy(
|
|
541
|
+
const frozen = frozenRemedy(pin, transcript);
|
|
535
542
|
if (frozen) return frozen;
|
|
536
|
-
if (BUNDLER_NO_COCOAPODS.test(transcript)) return `${pin.lockfile} resolves cocoapods, but bundler found no \`pod\` executable in the bundle it loaded: the installed gems belong to a different Gemfile than ${pin.gemfile}, or that Gemfile's bundle was never installed. Run \`cd ${
|
|
543
|
+
if (BUNDLER_NO_COCOAPODS.test(transcript)) return `${pin.lockfile} resolves cocoapods, but bundler found no \`pod\` executable in the bundle it loaded: the installed gems belong to a different Gemfile than ${pin.gemfile}, or that Gemfile's bundle was never installed. Run \`cd ${dirname(pin.gemfile)} && bundle install && bundle exec pod --version\` and make that work, then run again.`;
|
|
537
544
|
}
|
|
538
545
|
const pinned = /Could not find proper version of cocoapods/.test(transcript) ? readRubyVersion(root) : null;
|
|
539
546
|
if (!pinned) return void 0;
|
|
@@ -577,8 +584,8 @@ async function quietAsync(file, args) {
|
|
|
577
584
|
return null;
|
|
578
585
|
}
|
|
579
586
|
}
|
|
580
|
-
|
|
581
|
-
|
|
587
|
+
/** This Mac's iOS toolchain, with the CocoaPods that `pod install` in `podDirectory` runs; null skips CocoaPods. */
|
|
588
|
+
async function iosToolchainAsync(root, podDirectory) {
|
|
582
589
|
const [xcode, simulatorSdk, cocoapods] = await Promise.all([
|
|
583
590
|
quietAsync("xcodebuild", ["-version"]),
|
|
584
591
|
quietAsync("xcrun", [
|
|
@@ -586,7 +593,7 @@ async function iosToolchainAsync(root, native) {
|
|
|
586
593
|
"iphonesimulator",
|
|
587
594
|
"--show-sdk-version"
|
|
588
595
|
]),
|
|
589
|
-
|
|
596
|
+
podDirectory === null ? null : projectCocoapodsVersion(root, podDirectory)
|
|
590
597
|
]);
|
|
591
598
|
return assembleIosToolchain(xcode, simulatorSdk, cocoapods);
|
|
592
599
|
}
|
|
@@ -618,11 +625,14 @@ function cocoapodsVersion(rubyVersion) {
|
|
|
618
625
|
env: podProbeEnv(podEnvForRuby(rubyVersion))
|
|
619
626
|
}));
|
|
620
627
|
}
|
|
621
|
-
async function
|
|
628
|
+
async function projectCocoapodsVersion(root, podDirectory) {
|
|
629
|
+
const pin = bundlerPin(root, podDirectory);
|
|
630
|
+
if (pin) return pin.cocoapods;
|
|
622
631
|
try {
|
|
623
632
|
return podVersionLine(await getExecutor().runFileAsync("pod", ["--version"], {
|
|
624
633
|
timeoutMs: 2e4,
|
|
625
|
-
|
|
634
|
+
cwd: podDirectory,
|
|
635
|
+
env: podProbeEnv(await podEnvForRubyAsync(readRubyVersion(root)))
|
|
626
636
|
}));
|
|
627
637
|
} catch {
|
|
628
638
|
return null;
|
|
@@ -832,6 +842,17 @@ function toolchainMismatches(target, worker) {
|
|
|
832
842
|
reason: `${worker.os} there, and ${name} builds need a Mac`
|
|
833
843
|
}];
|
|
834
844
|
}
|
|
845
|
+
if (target.platform === "macos" && target.runsOnWorker) {
|
|
846
|
+
if (!worker.xcode) out.push({
|
|
847
|
+
code: "xcode",
|
|
848
|
+
reason: "no Xcode there"
|
|
849
|
+
});
|
|
850
|
+
if (!worker.macosSdk) out.push({
|
|
851
|
+
code: "macos-sdk",
|
|
852
|
+
reason: "no macOS SDK there"
|
|
853
|
+
});
|
|
854
|
+
return out;
|
|
855
|
+
}
|
|
835
856
|
if (worker.arch !== local.arch) out.push({
|
|
836
857
|
code: "arch",
|
|
837
858
|
reason: `CPU ${worker.arch} there, ${local.arch} here`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as getExecutor } from "./exec-
|
|
1
|
+
import { t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
2
|
import { t as resolveMaintenanceSettings } from "./settings-Djl-mpjX.mjs";
|
|
3
3
|
import { t as spawnEntry } from "./spawn-entry-jw19m8Nl.mjs";
|
|
4
|
-
import { n as windowsLauncherArgs } from "./detached-entry-
|
|
4
|
+
import { n as windowsLauncherArgs } from "./detached-entry-KmieOKgN.mjs";
|
|
5
5
|
import { n as stampAttempt, r as due, t as capChildLog } from "./attempt-DW-mQqM7.mjs";
|
|
6
6
|
import { readClaimSet } from "@stim-cli/core/ownership-claim";
|
|
7
7
|
import { closeSync, openSync } from "node:fs";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { D as ownership_claim_exports, E as debugLog, l as WorkspaceProcessCleanupError, n as isTimeoutError, t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
2
|
import { d as workspaceDir, n as ensureWorkspaceStorage, v as withDirLock } from "./paths-DQtTgsBf.mjs";
|
|
3
|
-
import { l as gitQuietAsync, o as git$1, s as gitAsync } from "./operation-exec-
|
|
4
|
-
import {
|
|
5
|
-
import { wt as linkedWorktreesOnDisk, yt as gitCommonDirOnDisk } from "./settings-
|
|
6
|
-
import { V as ownedAvdDirectory } from "./android-
|
|
7
|
-
import { s as pullRequestLookups } from "./pull-request-
|
|
3
|
+
import { l as gitQuietAsync, o as git$1, s as gitAsync } from "./operation-exec-CUZifp6Z.mjs";
|
|
4
|
+
import { h as discoverAgentSessions, m as attributeAgentSessions, o as updateWorkspaceState, p as agentKey } from "./workspace-state-CeBpIZgr.mjs";
|
|
5
|
+
import { wt as linkedWorktreesOnDisk, yt as gitCommonDirOnDisk } from "./settings-RKwY33wv.mjs";
|
|
6
|
+
import { V as ownedAvdDirectory } from "./android-882m4hxX.mjs";
|
|
7
|
+
import { s as pullRequestLookups } from "./pull-request-CbNlkFok.mjs";
|
|
8
8
|
import { clearClaimChild, markClaimChildPending, releaseClaim, setClaimChild, tryAcquireClaim } from "@stim-cli/core/ownership-claim";
|
|
9
9
|
import { randomUUID } from "node:crypto";
|
|
10
10
|
import { existsSync, mkdirSync, readdirSync, realpathSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import { m as workspaceLogsDir } from "./paths-DQtTgsBf.mjs";
|
|
2
|
-
import { E as upsertProject, p as getProject } from "./config-
|
|
3
|
-
import { f as refuseNoProject, l as phaseLine } from "./command-output-
|
|
4
|
-
import { i as recordWorkspaceUse } from "./workspace-state-
|
|
5
|
-
import { J as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY, et as settingShapeErrors } from "./settings-
|
|
6
|
-
import { f as projectRegistry, n as findCommandWorkspace } from "./project-
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { t as liveWebRecord } from "./page-
|
|
10
|
-
import { n as ensureWorkspaceStorageSafely } from "./native-runtime-
|
|
2
|
+
import { E as upsertProject, O as withConfigLockAsync, p as getProject } from "./config-BZhXY15H.mjs";
|
|
3
|
+
import { f as refuseNoProject, l as phaseLine } from "./command-output-DxC0k2rk.mjs";
|
|
4
|
+
import { i as recordWorkspaceUse } from "./workspace-state-CeBpIZgr.mjs";
|
|
5
|
+
import { J as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY, et as settingShapeErrors } from "./settings-RKwY33wv.mjs";
|
|
6
|
+
import { f as projectRegistry, n as findCommandWorkspace } from "./project-Dz-hWkb-.mjs";
|
|
7
|
+
import { a as workspaceLinkLine, o as workspaceLinks } from "./stim-desktop-DS0mzR8U.mjs";
|
|
8
|
+
import { o as readWebRecord, r as cdpEndpoint } from "./state-B1ig0Kqy.mjs";
|
|
9
|
+
import { t as liveWebRecord } from "./page-CzEA_-5_.mjs";
|
|
10
|
+
import { n as ensureWorkspaceStorageSafely } from "./native-runtime-DgtJkzIa.mjs";
|
|
11
11
|
import chalk from "chalk";
|
|
12
12
|
//#region src/commands/web.ts
|
|
13
13
|
const printNote = (line) => console.error(line);
|
|
14
14
|
async function runWeb({ root, headed, note, context }) {
|
|
15
15
|
const startedAt = Date.now();
|
|
16
16
|
await ensureWorkspaceStorageSafely(root, { note });
|
|
17
|
-
|
|
17
|
+
await withConfigLockAsync(() => {
|
|
18
|
+
if (!getProject(root)) upsertProject(root, {});
|
|
19
|
+
});
|
|
18
20
|
const { settings } = await resolveProjectSettingsAsync(root, context ? {
|
|
19
21
|
env: context.env,
|
|
20
22
|
signal: context.signal
|
package/dist/web-run.mjs
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { D as ownership_claim_exports, S as process_identity_exports, o as cancellableSleep, t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
|
+
import { i as recordCreatedDevice } from "./created-devices-D2Aca-xu.mjs";
|
|
3
|
+
import { f as signalProcessTree } from "./metro-Bu8LBfzS.mjs";
|
|
3
4
|
import { r as createNdjsonWriter } from "./ndjson-CgE_o3Dl.mjs";
|
|
4
|
-
import { f as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { t as relaunchWithLogFile } from "./detached-entry-BwNEtIrP.mjs";
|
|
10
|
-
import { i as chromeArgs, n as DESKTOP_PAGE, r as PHONE_SCREEN } from "./chrome-Bbw689-6.mjs";
|
|
5
|
+
import { c as webClaimRoot, f as webLogFile, g as chromeProcessState, h as writeWebRecord, i as clearWebRecord, l as webDir, n as browserLogFile, p as webProfileDir, s as updateWebRecord, v as liveProfileHolder, y as removeSingletonFiles } from "./state-B1ig0Kqy.mjs";
|
|
6
|
+
import { l as probeWebDrivers } from "./activity-Dq3ZcdD8.mjs";
|
|
7
|
+
import { t as connectOwnedBrowser } from "./cdp-BG3FJCCx.mjs";
|
|
8
|
+
import { t as relaunchWithLogFile } from "./detached-entry-KmieOKgN.mjs";
|
|
9
|
+
import { i as chromeArgs, n as DESKTOP_PAGE, r as PHONE_SCREEN } from "./chrome-BvV8ssI3.mjs";
|
|
11
10
|
import { existsSync, mkdirSync, openSync, realpathSync } from "node:fs";
|
|
12
11
|
import { isAbsolute, resolve } from "node:path";
|
|
13
12
|
import { LOG_ROTATE_BYTES } from "@stim-cli/core";
|
package/dist/windows-report.mjs
CHANGED
|
@@ -1,17 +1,28 @@
|
|
|
1
|
-
import { t as getExecutor } from "./exec-
|
|
1
|
+
import { t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
|
+
import { writeFileSync } from "node:fs";
|
|
2
3
|
//#region bin/windows-report.ts
|
|
3
4
|
const request = JSON.parse(process.env.STIM_REPORT_CHILD ?? "");
|
|
4
5
|
const env = { ...process.env };
|
|
5
6
|
delete env.STIM_REPORT_CHILD;
|
|
7
|
+
const mark = (path) => {
|
|
8
|
+
if (!path) return;
|
|
9
|
+
try {
|
|
10
|
+
writeFileSync(path, "");
|
|
11
|
+
} catch {}
|
|
12
|
+
};
|
|
6
13
|
const child = getExecutor().spawn(request.file, request.args, {
|
|
7
14
|
stdio: "inherit",
|
|
8
15
|
env
|
|
9
16
|
});
|
|
17
|
+
child.once("spawn", () => {
|
|
18
|
+
mark(request.started);
|
|
19
|
+
});
|
|
10
20
|
child.once("error", (error) => {
|
|
11
21
|
console.error(error.message);
|
|
12
22
|
process.exitCode = 1;
|
|
13
23
|
});
|
|
14
24
|
child.once("close", (status) => {
|
|
25
|
+
mark(request.closed);
|
|
15
26
|
process.exitCode = status ?? 1;
|
|
16
27
|
});
|
|
17
28
|
//#endregion
|
package/dist/windows-report.ps1
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { S as process_identity_exports, t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
2
|
import { _ as workspaceStateLock, g as workspaceStateFile$1, n as ensureWorkspaceStorage, r as ensureWorkspaceStorageAsync, v as withDirLock, y as withDirLockAsync } from "./paths-DQtTgsBf.mjs";
|
|
3
|
-
import { A as writeConfigSettingAsync, k as writeConfigSetting, m as getProjectSettings } from "./config-
|
|
4
|
-
import { ot as workspaceHiddenSetting } from "./settings-
|
|
3
|
+
import { A as writeConfigSettingAsync, k as writeConfigSetting, m as getProjectSettings } from "./config-BZhXY15H.mjs";
|
|
4
|
+
import { ot as workspaceHiddenSetting } from "./settings-RKwY33wv.mjs";
|
|
5
5
|
import { existsSync, mkdirSync, readFileSync, realpathSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
6
6
|
import { homedir } from "node:os";
|
|
7
7
|
import { dirname, isAbsolute, join, relative } from "node:path";
|
|
@@ -275,6 +275,13 @@ function writeWorkspaceState(root, patch) {
|
|
|
275
275
|
...patch
|
|
276
276
|
}));
|
|
277
277
|
}
|
|
278
|
+
/** Merges a patch into workspace state after asynchronously acquiring its lock. */
|
|
279
|
+
function writeWorkspaceStateAsync(root, patch, signal) {
|
|
280
|
+
return updateWorkspaceStateAsync(root, (state) => ({
|
|
281
|
+
...state,
|
|
282
|
+
...patch
|
|
283
|
+
}), signal);
|
|
284
|
+
}
|
|
278
285
|
function updateWorkspaceState(root, update) {
|
|
279
286
|
return withWorkspaceStateLock(root, () => replaceWorkspaceState(root, update(readWorkspaceState(root) ?? {})));
|
|
280
287
|
}
|
|
@@ -382,4 +389,4 @@ function workspaceUsePatch(now, env, commandCwd) {
|
|
|
382
389
|
};
|
|
383
390
|
}
|
|
384
391
|
//#endregion
|
|
385
|
-
export { recordWorkspaceUseAsync as a, withWorkspaceStateLock as c, writeWorkspaceState as d,
|
|
392
|
+
export { recordWorkspaceUseAsync as a, withWorkspaceStateLock as c, writeWorkspaceState as d, writeWorkspaceStateAsync as f, discoverAgentSessions as h, recordWorkspaceUse as i, withWorkspaceStateLockAsync as l, attributeAgentSessions as m, clearWorkspaceStateKeys as n, updateWorkspaceState as o, agentKey as p, readWorkspaceState$1 as r, updateWorkspaceStateAsync as s, clearWorkspaceStateKey as t, workspaceLastUsed as u };
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { D as ownership_claim_exports, S as process_identity_exports, c as throwIfCancelled, d as workspaceProcessLockError, f as workspaceProcessLockPath, l as WorkspaceProcessCleanupError, m as declareSpawnsOn, o as cancellableSleep, t as getExecutor, u as withWorkspaceProcessLock, v as stopDeclaringSpawnsOn } from "./exec-VFRpu1iA.mjs";
|
|
2
2
|
import { d as workspaceDir, h as workspaceName$1, l as workspaceAgentDeviceDir } from "./paths-DQtTgsBf.mjs";
|
|
3
|
-
import { F as isOnMountedVolume, G as projectDeviceSlots, H as deviceSlotPlatforms, I as listMountedVolumes, L as measuredDirectorySizeAsync, O as withConfigLockAsync$1, P as formatBytes, _ as loadConfig$1, d as getConfigDir, g as isPathPrefix, j as acquireAvdClaim, p as getProject } from "./config-
|
|
3
|
+
import { F as isOnMountedVolume, G as projectDeviceSlots, H as deviceSlotPlatforms, I as listMountedVolumes, L as measuredDirectorySizeAsync, O as withConfigLockAsync$1, P as formatBytes, _ as loadConfig$1, d as getConfigDir, g as isPathPrefix, j as acquireAvdClaim, p as getProject } from "./config-BZhXY15H.mjs";
|
|
4
4
|
import { t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
|
|
5
|
-
import { a as formatElapsed, l as phaseLine } from "./command-output-
|
|
6
|
-
import {
|
|
7
|
-
import { l as withWorkspaceStateLockAsync, r as readWorkspaceState$1, u as workspaceLastUsed } from "./workspace-state-
|
|
8
|
-
import { Nt as repoRootAsync, ut as resolveTailscaleBinary } from "./settings-
|
|
9
|
-
import { a as macosRuntimeClaim, n as macosDir } from "./state-
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
5
|
+
import { a as formatElapsed, l as phaseLine } from "./command-output-DxC0k2rk.mjs";
|
|
6
|
+
import { t as runOperationFile } from "./operation-exec-CUZifp6Z.mjs";
|
|
7
|
+
import { l as withWorkspaceStateLockAsync, r as readWorkspaceState$1, u as workspaceLastUsed } from "./workspace-state-CeBpIZgr.mjs";
|
|
8
|
+
import { Nt as repoRootAsync, ut as resolveTailscaleBinary } from "./settings-RKwY33wv.mjs";
|
|
9
|
+
import { a as macosRuntimeClaim, n as macosDir } from "./state-BfAltYJP.mjs";
|
|
10
|
+
import { H as ownedAvdMatchesConfiguration, K as ownedAvdSystemImage, L as listOrphanedAvdDirectories, S as deleteAvd, V as ownedAvdDirectory, _t as parkSim, bt as removeParkedAfter, g as avdPathExists, ht as eraseParkedAfter, it as shutdownAndroidEmulator, j as listAdbDevicesAsync, lt as wipeAvdUserData, nt as resolveOwnedAvdSerialAsync, p as assertOwnedAvdStoppedAsync, st as waitForAndroidEmulatorShutdown, ut as isStimOwnedAvd, v as avdStorageRoots, yt as readParked } from "./android-882m4hxX.mjs";
|
|
11
|
+
import { i as recordCreatedDevice, n as forgetCreatedDeviceAsync, r as readCreatedDevices$1, t as forgetCreatedDevice } from "./created-devices-D2Aca-xu.mjs";
|
|
12
|
+
import { c as pidExists, f as signalProcessTree, p as signalProcessTreeAsync } from "./metro-Bu8LBfzS.mjs";
|
|
13
|
+
import { _ as chromeProcessStateAsync, c as webClaimRoot, i as clearWebRecord, o as readWebRecord, p as webProfileDir, t as CDP_PORT_LABEL, u as webFacts, v as liveProfileHolder, y as removeSingletonFiles } from "./state-B1ig0Kqy.mjs";
|
|
12
14
|
import { t as canonicalPath } from "./paths-BsJMoPP2.mjs";
|
|
13
|
-
import { N as listBuildLocks, d as readAgentDeviceRecords, t as agentDeviceDaemon } from "./activity-
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { E as resolveOwnedIosSim, O as shutdownIosSim, S as renameIosSim, c as eraseIosSim, f as listAllIosSimsAsync, o as deleteIosSim, p as listIosDeviceTypesAsync, s as deleteParkedIosSim, v as parkedSimName, y as parseRuntimeVersion } from "./ios-hcBpnEGk.mjs";
|
|
17
|
-
import { r as releaseBrowserPort } from "./named-ports-DkEzOfzO.mjs";
|
|
15
|
+
import { N as listBuildLocks, d as readAgentDeviceRecords, t as agentDeviceDaemon } from "./activity-Dq3ZcdD8.mjs";
|
|
16
|
+
import { E as resolveOwnedIosSim, O as shutdownIosSim, S as renameIosSim, c as eraseIosSim, f as listAllIosSimsAsync, o as deleteIosSim, p as listIosDeviceTypesAsync, s as deleteParkedIosSim, v as parkedSimName, y as parseRuntimeVersion } from "./ios-CVUFFZ6C.mjs";
|
|
17
|
+
import { r as releaseBrowserPort } from "./named-ports-BWDuU5oQ.mjs";
|
|
18
18
|
import { createHash, randomUUID } from "node:crypto";
|
|
19
19
|
import { closeSync, existsSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, rmdirSync, statSync, unlinkSync, watch, writeFileSync } from "node:fs";
|
|
20
20
|
import { isDeepStrictEqual } from "node:util";
|
|
@@ -22,7 +22,7 @@ import { homedir } from "node:os";
|
|
|
22
22
|
import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
23
23
|
import { ambientContext, ambientEnv, ambientWrite } from "@stim-cli/core";
|
|
24
24
|
import { buildSlotsDir, hostedNativeRecords, isJsonObject, macosAppState, parseHostedNativePlacement, readJsonFile, readMacosRecord, requireAutomaticMachine, tryAcquireBuildSlotClaim, unreadableHostedNative } from "@stim-cli/core/state";
|
|
25
|
-
import { basename as basename$1, isAbsolute as isAbsolute$1, join as join$1, relative as relative$1 } from "path";
|
|
25
|
+
import { basename as basename$1, dirname as dirname$1, isAbsolute as isAbsolute$1, join as join$1, relative as relative$1 } from "path";
|
|
26
26
|
import chalk from "chalk";
|
|
27
27
|
import { existsSync as existsSync$1, lstatSync as lstatSync$1, readdirSync as readdirSync$1, statSync as statSync$1 } from "fs";
|
|
28
28
|
import { lstat, readFile, readdir, rm, stat, unlink } from "node:fs/promises";
|
|
@@ -641,13 +641,13 @@ async function parkOwnedIosSim(settled, udid, park, operation) {
|
|
|
641
641
|
};
|
|
642
642
|
return {
|
|
643
643
|
record,
|
|
644
|
-
evicted: parkSim({
|
|
644
|
+
evicted: await withConfigLockAsync$1(() => parkSim({
|
|
645
645
|
platform: "ios",
|
|
646
646
|
projectPath: park.projectPath,
|
|
647
647
|
slot: park.slot,
|
|
648
648
|
record,
|
|
649
649
|
max: park.max
|
|
650
|
-
})
|
|
650
|
+
}))
|
|
651
651
|
};
|
|
652
652
|
}
|
|
653
653
|
async function teardownOwnedIosSim(udid, { del = false, label, park, workspace, shutdownClock = {}, operation } = {}) {
|
|
@@ -775,7 +775,7 @@ async function removeOrphanedAvdDirectory(candidate, owner, operation) {
|
|
|
775
775
|
} catch (error) {
|
|
776
776
|
throw new Error(`Could not remove AVD data at ${detached}; retry gc --delete: ${error.message}`, { cause: error });
|
|
777
777
|
}
|
|
778
|
-
|
|
778
|
+
await forgetCreatedDeviceAsync("android", basename(detached, ".avd"));
|
|
779
779
|
}
|
|
780
780
|
async function teardownUnregisteredAvd(avdName, del, owner, surveyed, operation) {
|
|
781
781
|
operation?.signal.throwIfAborted();
|
|
@@ -812,7 +812,7 @@ async function teardownOwnedAvd(avdName, options = {}) {
|
|
|
812
812
|
if (operation) declareSpawnsOn(operation, claim);
|
|
813
813
|
const result = await teardownClaimedAvd(avdName, claim, options);
|
|
814
814
|
operation?.signal.throwIfAborted();
|
|
815
|
-
if (result.status === "torn-down" || result.status === "missing") options.onRemoved?.();
|
|
815
|
+
if (result.status === "torn-down" || result.status === "missing") await options.onRemoved?.();
|
|
816
816
|
return result;
|
|
817
817
|
} catch (error) {
|
|
818
818
|
if (claim && (error instanceof WorkspaceProcessCleanupError || error instanceof Error && "reportCleanup" in error)) {
|
|
@@ -948,21 +948,22 @@ async function teardownClaimedAvd(avdName, claim, { operation, del = false, wipe
|
|
|
948
948
|
if (park && park.max > 0) try {
|
|
949
949
|
const systemImage = ownedAvdSystemImage(avdName);
|
|
950
950
|
if (!systemImage || !park.configuration || !ownedAvdMatchesConfiguration(avdName, park.configuration)) throw new Error("the AVD has no verified creation configuration");
|
|
951
|
-
const
|
|
951
|
+
const record = {
|
|
952
|
+
udid: avdName,
|
|
953
|
+
name: avdName,
|
|
954
|
+
systemImage,
|
|
955
|
+
configuration: park.configuration,
|
|
956
|
+
parkedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
957
|
+
...park.appId ? { packageName: park.appId } : {},
|
|
958
|
+
...park.cacheKey ? { cacheKey: park.cacheKey } : {}
|
|
959
|
+
};
|
|
960
|
+
const evicted = await withConfigLockAsync$1(() => parkSim({
|
|
952
961
|
platform: "android",
|
|
953
962
|
projectPath: park.projectPath,
|
|
954
963
|
slot: park.slot,
|
|
955
964
|
max: park.max,
|
|
956
|
-
record
|
|
957
|
-
|
|
958
|
-
name: avdName,
|
|
959
|
-
systemImage,
|
|
960
|
-
configuration: park.configuration,
|
|
961
|
-
parkedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
962
|
-
...park.appId ? { packageName: park.appId } : {},
|
|
963
|
-
...park.cacheKey ? { cacheKey: park.cacheKey } : {}
|
|
964
|
-
}
|
|
965
|
-
});
|
|
965
|
+
record
|
|
966
|
+
}));
|
|
966
967
|
const removed = [];
|
|
967
968
|
const failures = [];
|
|
968
969
|
for (const entry of evicted) {
|
|
@@ -1132,7 +1133,7 @@ async function teardownBrowserHeld(root, { deleteProfile = false, operation } =
|
|
|
1132
1133
|
force: true
|
|
1133
1134
|
});
|
|
1134
1135
|
signal?.throwIfAborted();
|
|
1135
|
-
|
|
1136
|
+
await forgetCreatedDeviceAsync("web", profile);
|
|
1136
1137
|
}
|
|
1137
1138
|
return record ? {
|
|
1138
1139
|
status: "torn-down",
|
|
@@ -2125,6 +2126,9 @@ function rootPresence(path) {
|
|
|
2125
2126
|
return code === "ENOENT" || code === "ENOTDIR" ? false : null;
|
|
2126
2127
|
}
|
|
2127
2128
|
}
|
|
2129
|
+
function workspaceDirRemoved(dir) {
|
|
2130
|
+
return existsSync$1(workspacesRoot()) && canonicalPath(dirname$1(dir)) === canonicalPath(workspacesRoot()) && rootPresence(dir) === false;
|
|
2131
|
+
}
|
|
2128
2132
|
async function collectOrphanedWorkspaces(registryKeys, mountedVolumes, { measure = true, operation } = {}) {
|
|
2129
2133
|
const classified = {
|
|
2130
2134
|
orphaned: [],
|
|
@@ -2377,4 +2381,4 @@ function sizeText(bytes) {
|
|
|
2377
2381
|
return bytes === null ? "size unknown" : formatBytes(bytes);
|
|
2378
2382
|
}
|
|
2379
2383
|
//#endregion
|
|
2380
|
-
export {
|
|
2384
|
+
export { teardownOwnedIosSim as A, GC_OUTPUT as B, withManagedTunnelRemovalLock as C, teardownBrowserHeld as D, eraseParkedIosSim as E, measureDu as F, takeGcResults as H, writeUsageCache as I, acquireBuildSlot as L, teardownParkedIosSim as M, probePublicHttp as N, teardownOwnedAvd as O, canonical$1 as P, listBuildSlots as R, withManagedTunnelLock as S, eraseParkedAvd as T, createGcResults as V, startTunnelSequence as _, collectWorkspaceOutputs as a, withManagedRemoteWorktreeLock as b, listWorkspaceDirs as c, workspaceDirRemoved as d, emptyWorkspaceDir as f, resolveSupervisorTarget as g, workspaceInUseAsync as h, collectOrphanedWorkspaces as i, teardownParkedAvd as j, teardownOwnedBrowser as k, rootPresence as l, workspaceInUse as m, WORKSPACE_OUTPUT_DIRS as n, deleteOrphanedWorkspaces as o, withIdleWorkspace as p, clearWorkspaceOutputs as r, isInsideWorkspaces as s, REBUILD_COST as t, sizeText as u, stopTunnel as v, runningBundleInstancesAsync as w, withManagedRemoteWorktreeRemovalLock as x, terminateChild as y, releaseBuildSlot as z };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { _ as worktreeCommand, a as matchWorktreeEntry, c as reclaimKeys, d as removalBlockers, f as removalPath, g as warmedWorkspace, h as warmWorktreeTarget, i as excludeWatchmanCookies, l as registerRemove, m as removeWorktreeTarget, n as dependencyInstallCommand, o as nestedWorktrees, p as removalRemedy, r as excludePodChurn, s as porcelainPath, t as customIosDirs, u as registerWarm } from "./worktree-
|
|
1
|
+
import { _ as worktreeCommand, a as matchWorktreeEntry, c as reclaimKeys, d as removalBlockers, f as removalPath, g as warmedWorkspace, h as warmWorktreeTarget, i as excludeWatchmanCookies, l as registerRemove, m as removeWorktreeTarget, n as dependencyInstallCommand, o as nestedWorktrees, p as removalRemedy, r as excludePodChurn, s as porcelainPath, t as customIosDirs, u as registerWarm } from "./worktree-Dw8kfacb.mjs";
|
|
2
2
|
export { customIosDirs, worktreeCommand as default, dependencyInstallCommand, excludePodChurn, excludeWatchmanCookies, matchWorktreeEntry, nestedWorktrees, porcelainPath, reclaimKeys, registerRemove, registerWarm, removalBlockers, removalPath, removalRemedy, removeWorktreeTarget, warmWorktreeTarget, warmedWorkspace };
|