stim 1.17.2 → 1.19.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 +50 -1
- package/dist/{activity-IRvJY_ru.mjs → activity-BSw0x84R.mjs} +4 -4
- package/dist/{agent-device-usage-output-BK41vnzN.mjs → agent-device-usage-output-Bjxu_VmX.mjs} +8 -8
- package/dist/{android-B9yaNKwa.mjs → android-BXc6BmEi.mjs} +658 -404
- package/dist/{android-B_YNZy61.mjs → android-BdQC6zs1.mjs} +9 -9
- package/dist/android-BvV1gGdN.mjs +4 -0
- package/dist/{android-DE4v59Mb.mjs → android-DE5g_5gv.mjs} +2 -2
- package/dist/{android-cas-ZFpjJBL_.mjs → android-cas-C87geAg-.mjs} +5 -5
- package/dist/android-cas-compiler.mjs +2 -2
- package/dist/api-DIf_s86s.mjs +150 -0
- package/dist/api-run.d.mts +1 -0
- package/dist/api-run.mjs +145 -0
- package/dist/api.d.mts +218 -0
- package/dist/api.mjs +2 -0
- package/dist/{app-install-VPkI5WEg.mjs → app-install-CFI4ptUL.mjs} +33 -13
- package/dist/{attempt-Bk2ouQVL.mjs → attempt-DW-mQqM7.mjs} +14 -4
- package/dist/{web-Dl0KSRHf.mjs → browser-web-CDhqQxhv.mjs} +138 -176
- package/dist/{budget-DfcgFdQB.mjs → budget-Dz-kyXLv.mjs} +1391 -58
- package/dist/build-facts-B87vo-Im.d.mts +142 -0
- package/dist/{cache-manifest-DnUHBJaU.mjs → cache-manifest-DiwKSyv9.mjs} +3 -3
- package/dist/cache-manifest.mjs +1 -1
- package/dist/{chrome-BrcVWQyD.mjs → chrome-BTUOo8p2.mjs} +1 -1
- package/dist/cli-C9Zvgbdc.mjs +68 -0
- package/dist/cli.mjs +1 -1
- package/dist/{client-SvBdgObD.mjs → client-CuUo8Nvg.mjs} +381 -49
- package/dist/collector-run.d.mts +6 -0
- package/dist/collector-run.mjs +9 -9
- package/dist/{command-output-CDAIFD-8.mjs → command-output-Bt8ygHE7.mjs} +2 -2
- package/dist/{config-D0DbpZtM.mjs → config-DC5jEtd1.mjs} +9 -5
- package/dist/{created-devices-CpvzBL25.mjs → created-devices-D0s26Hx5.mjs} +2 -2
- package/dist/{dependency-state-CLcBHH2M.mjs → dependency-state-DKaS1OM9.mjs} +2 -2
- package/dist/{detached-entry-CiTEgMR1.mjs → detached-entry-pB_IPfV4.mjs} +1 -1
- package/dist/{dev-client-B-XC4uRH.mjs → dev-client-CDY_zAmD.mjs} +2 -2
- package/dist/{device-C8IOoJPv.mjs → device-BHw0WlHl.mjs} +8 -8
- package/dist/{device-capacity-ZC4XSZ4R.mjs → device-capacity-BoN1jQkO.mjs} +25 -14
- package/dist/device-host-worker.mjs +19 -19
- package/dist/{gradle-dJpre3Yn.mjs → device-ios-B2ruohE-.mjs} +661 -107
- package/dist/{device-lease-DpoS36_u.mjs → device-lease-Cu7PtQpZ.mjs} +9 -9
- package/dist/{device-lease-run-B8YltIH_.mjs → device-lease-run-D38SnZtt.mjs} +4 -4
- package/dist/{device-pool-3o7s5lo4.mjs → device-pool-CP4rAsHx.mjs} +3 -3
- package/dist/{device-remote-hFSkpfQu.mjs → device-remote-B5GiUifk.mjs} +15 -16
- package/dist/{doctor-CFv1fCrF.mjs → doctor-PRJH94v6.mjs} +61 -34
- package/dist/doctor-watchman-wZhyTdp4.mjs +259 -0
- package/dist/{error-diagnostics-C-NMnhrk.mjs → error-diagnostics--v5HGOU0.mjs} +11 -11
- package/dist/{exec-CaErVv7t.mjs → exec-i8GDPwq9.mjs} +93 -6
- package/dist/{gc-DEmkg3Xh.mjs → gc-CyHMcKcn.mjs} +25 -471
- package/dist/{guide-CSmhMTf8.mjs → guide-dRaQJJk9.mjs} +681 -507
- package/dist/{hosted-android-E1Heoqnv.mjs → hosted-android-Bs7fytj7.mjs} +3 -3
- package/dist/{hosted-client-Bp4knSwu.mjs → hosted-client-C5G4h_OJ.mjs} +2 -2
- package/dist/{hosted-ios-BnbeYOUD.mjs → hosted-ios-Bik035eL.mjs} +1 -1
- package/dist/{hosted-logs-OcgIBvCT.mjs → hosted-logs-CI9Az9a4.mjs} +9 -9
- package/dist/{hosted-macos-DcxKjtfH.mjs → hosted-macos-DABm3ScO.mjs} +5 -5
- package/dist/{hosted-native-1Ebbig4w.mjs → hosted-native-DbV2aUVw.mjs} +13 -9
- package/dist/{idle-shutdown-IGyNV8Cr.mjs → idle-shutdown-DYiMBn34.mjs} +7 -8
- package/dist/{ios-DSfnPfse.mjs → ios-BWbHFZVz.mjs} +19 -7
- package/dist/{ios-Cr1h5gnO.mjs → ios-DCrkgXEM.mjs} +1 -1
- package/dist/ios-DYUr9LGc.mjs +8 -0
- package/dist/ios-ITYno9rO.mjs +2241 -0
- package/dist/{ios-device-pAN4t54-.mjs → ios-device-CJ_ZOGky.mjs} +3 -3
- package/dist/{ios-device-Ee7sDXfp.mjs → ios-device-CrW8aMb5.mjs} +1 -1
- package/dist/{ios-state-8L3lgum6.mjs → ios-state-By0XuLTQ.mjs} +1 -1
- package/dist/{launch-verify-lTnWZikR.mjs → launch-verify-DCveSE6d.mjs} +5 -5
- package/dist/{logs-BAaS7gS2.mjs → logs-Bao1HOMy.mjs} +13 -13
- package/dist/{macos-BIRQS90f.mjs → macos-ciyBdTY5.mjs} +194 -132
- package/dist/macos-nIOATJmR.mjs +2 -0
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +349 -47
- package/dist/manifest-CX0d1IkZ.mjs +148 -0
- package/dist/{metro-g8NqiJp-.mjs → metro-DI2AjPF_.mjs} +196 -43
- package/dist/{metro-gateway-C-ijGI2F.mjs → metro-gateway-BxpJLIwh.mjs} +4 -4
- package/dist/{metro-store-CDDZHtPl.mjs → metro-store-BAHFcJm6.mjs} +16 -2
- package/dist/{build-plan-BDsSi09V.mjs → miss-reason-CjQCOKqq.mjs} +207 -249
- package/dist/{named-ports-C8m8EQs2.mjs → named-ports-B4iWH4E-.mjs} +70 -8
- package/dist/{native-runtime-BEK171xQ.mjs → native-runtime-BGxsbfny.mjs} +6 -6
- package/dist/{ndjson-PclOIwVY.mjs → ndjson-LGZAMsqa.mjs} +8 -4
- package/dist/offload-worker.d.mts +3 -45
- package/dist/offload-worker.mjs +11 -11
- package/dist/{ownership-DyRQru0q.mjs → ownership-EB0ySdGK.mjs} +3 -3
- package/dist/{page-QF_Ke10s.mjs → page-Bv9s2KwY.mjs} +1 -1
- package/dist/placement-log-Dxe34rJm.mjs +88 -0
- package/dist/plan-placement-BVY59qa8.mjs +290 -0
- package/dist/{ports-4nYqxPWC.mjs → ports-ByPc0_97.mjs} +3 -3
- package/dist/{prebuild-D7RUMkwN.mjs → prebuild-BKJ3wJI1.mjs} +5 -5
- package/dist/preview-BbSottmO.mjs +986 -0
- package/dist/{rolldown-runtime-BsOwBuO_.mjs → process-identity-Biv3arCO.mjs} +11 -1
- package/dist/project-B5eQ1USs.mjs +612 -0
- package/dist/{pull-request-pxnDCQzn.mjs → pull-request-IHNdMnG8.mjs} +1 -1
- package/dist/pull-requests.mjs +1 -1
- package/dist/react-native-ios-BMh2i25I.mjs +2 -0
- package/dist/react-native-ios-CSpIxexZ.mjs +2083 -0
- package/dist/{recordings-BNgsD1Tr.mjs → recordings-Bv8McZN4.mjs} +1 -1
- package/dist/{reload-DcRxj3qG.mjs → reload-rAPdqeRR.mjs} +14 -15
- package/dist/{remote-cache-Ci4DQYYj.mjs → remote-cache-N3hAEaAL.mjs} +5 -5
- package/dist/{run-CkE9y0nc.mjs → run-lAkle1-c.mjs} +5 -5
- package/dist/{server-bare-BkrSxSsZ.mjs → server-bare-CkIjnegq.mjs} +5 -6
- package/dist/server-expo-DGsdUGX2.mjs +2 -0
- package/dist/{server-expo-CHTyXD0G.mjs → server-expo-n3tUi3Em.mjs} +5 -6
- package/dist/{settings-SR9OmW9h.mjs → settings-2am7TSxp.mjs} +5 -5
- package/dist/{settings-Cfd-0r2d.mjs → settings-CxgngUZk.mjs} +116 -103
- package/dist/{settings-BBpMcDbD.mjs → settings-Djl-mpjX.mjs} +1 -1
- package/dist/settings.schema.json +198 -9
- package/dist/{simslim-BWNrc3M3.mjs → simslim-D9LkJxIO.mjs} +7 -7
- package/dist/{slot-launch-DmjBmpQV.mjs → slot-launch-HV_KtPIw.mjs} +6 -6
- package/dist/{spawn-claims-D0XfSe8u.mjs → spawn-claims-Kqiifsk2.mjs} +1 -1
- package/dist/{spawn-entry-jw19m8Nl.mjs → spawn-entry-Dcb7sDUz.mjs} +1 -0
- package/dist/{stage-CzaiwFsI.mjs → stage-BgaZJVZY.mjs} +14 -3
- package/dist/{start-AlfCPRVU.mjs → start-D8NbxNBb.mjs} +1 -1
- package/dist/{start-DUz3mYdb.mjs → start-DtxthMfI.mjs} +34 -27
- package/dist/{state-PeQiJuIu.mjs → state-D2KtnALG.mjs} +4 -4
- package/dist/{state-DyaNTgfR.mjs → state-Tp4uImDS.mjs} +5 -3
- package/dist/{state-B4PQFXMW.d.mts → state-lKh8shBp.d.mts} +2 -3
- package/dist/{stats-Bq4fJOdB.mjs → stats-8EJ5ivFT.mjs} +6 -6
- package/dist/{status-DlKvVJBE.mjs → status-BEeL6IKz.mjs} +6 -4
- package/dist/{status-BA2pehwf.mjs → status-BOyp0CUl.mjs} +31 -34
- package/dist/{stim-desktop-Cnz8CPnl.mjs → stim-desktop-C65jk_q2.mjs} +1 -1
- package/dist/{stim-installations-QMEI32v1.mjs → stim-installations-DbmUjsLv.mjs} +1 -1
- package/dist/stop-D0UIpZuh.mjs +72 -0
- package/dist/{stop-zF1y04f2.mjs → stop-DRipAg-e.mjs} +2 -2
- package/dist/{stop-DQIasgKp.mjs → stop-zDlknFoz.mjs} +79 -33
- package/dist/supervisor-run.d.mts +24 -22
- package/dist/supervisor-run.mjs +21 -22
- package/dist/{support-CsJNVfOc.mjs → support-CNqYkV0y.mjs} +7 -7
- package/dist/{support-WvD__tSV.mjs → support-DsNaFg6D.mjs} +5 -5
- package/dist/swiftpm-macos-aJzPAj1t.mjs +119 -0
- package/dist/{toolchain-DNyR3NPq.mjs → toolchain-C3xSoyUl.mjs} +475 -269
- package/dist/{trigger-Bemu8ytw.mjs → trigger-CAhmG-4s.mjs} +6 -6
- package/dist/trigger-CoalsMTV.mjs +2 -0
- package/dist/{warm-progress-DF4JRvYI.mjs → warm-progress-pFLB2e6P.mjs} +135 -38
- package/dist/{status-CzS4bPO9.mjs → watchman-BL1IdOtq.mjs} +75 -7
- package/dist/web-DFpFeZu5.mjs +2 -0
- package/dist/web-DbbrPUn0.mjs +127 -0
- package/dist/web-run.mjs +10 -10
- package/dist/{workspace-state-DqcCbpE7.mjs → workspace-state-CR9X86xJ.mjs} +3 -3
- package/dist/{ownership-BMLqyBgJ.mjs → workspaces-Djb2gfi9.mjs} +661 -23
- package/dist/{worktree-Be_7NLKy.mjs → worktree-BL4M1rhB.mjs} +252 -50
- package/dist/{worktree-j3IcFAI5.mjs → worktree-DV-A0LNL.mjs} +1 -1
- package/package.json +10 -5
- package/shim/bundle-response.cjs +2 -1
- package/shim/bundle-response.d.cts +1 -1
- package/shim/expo-metro-config.cjs +1 -1
- package/dist/build-progress-D0WkjCPd.mjs +0 -1036
- package/dist/build-slots-41v_d2x9.mjs +0 -142
- package/dist/cli-CYXb29oE.mjs +0 -51
- package/dist/deps-iKw0eD4P.mjs +0 -438
- package/dist/device-ios-C2Um-XUR.mjs +0 -412
- package/dist/errors-B6W7FkxQ.mjs +0 -15
- package/dist/guide-status-Du-ZQ3FD.mjs +0 -125
- package/dist/idle-BXG__1BA.mjs +0 -176
- package/dist/in-use-CvGOUn-x.mjs +0 -130
- package/dist/ios-BJ4XUSe1.mjs +0 -3867
- package/dist/native-run-D1Q56rAD.mjs +0 -158
- package/dist/preview-B-g9d7kV.mjs +0 -318
- package/dist/process-identity-BmRm1qV0.mjs +0 -12
- package/dist/project-D47Rh0ly.mjs +0 -276
- package/dist/server-expo-CeakhI8P.mjs +0 -2
- package/dist/state-BKa8wNN5.mjs +0 -148
- package/dist/stop-BIiM49EY.mjs +0 -48
- package/dist/stop-cause-rhmGfwvt.mjs +0 -97
- package/dist/trigger-CXts6qt1.mjs +0 -2
- package/dist/watchman-APYjXSQa.mjs +0 -48
- package/dist/workspace-process-lock-2mNzOlaB.mjs +0 -58
- package/dist/workspaces-Bcib97-6.mjs +0 -306
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { rt as gitCommonDirOnDisk } from "./settings-CxgngUZk.mjs";
|
|
2
2
|
import { existsSync, rmSync } from "node:fs";
|
|
3
3
|
import { loadConfig, recordingEnabled, workspaceRecordingsDir } from "@stim-cli/core/state";
|
|
4
4
|
//#region src/workspace/recordings.ts
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { o as readWebRecord, r as cdpEndpoint, u as webFacts } from "./state-
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import { n as
|
|
15
|
-
import { n as sendToOwnedPage, t as liveWebRecord } from "./page-QF_Ke10s.mjs";
|
|
1
|
+
import { f as refuseNoProject, l as phaseLine } from "./command-output-Bt8ygHE7.mjs";
|
|
2
|
+
import { B as parseDeviceSlotKey, p as getProject, z as deviceSlotPlatforms } from "./config-DC5jEtd1.mjs";
|
|
3
|
+
import { i as recordWorkspaceUse, r as readWorkspaceState$1 } from "./workspace-state-CR9X86xJ.mjs";
|
|
4
|
+
import { A as readWorkspaceLaunches, n as findCommandWorkspace } from "./project-B5eQ1USs.mjs";
|
|
5
|
+
import { u as resolveProjectMetro } from "./metro-DI2AjPF_.mjs";
|
|
6
|
+
import { o as readWebRecord, r as cdpEndpoint, u as webFacts } from "./state-D2KtnALG.mjs";
|
|
7
|
+
import { J as resolveOwnedAvdSerial } from "./android-BdQC6zs1.mjs";
|
|
8
|
+
import { T as resolveOwnedIosSim } from "./ios-BWbHFZVz.mjs";
|
|
9
|
+
import { l as probeHostedSession } from "./hosted-client-C5G4h_OJ.mjs";
|
|
10
|
+
import { r as readHostedNative } from "./ios-state-By0XuLTQ.mjs";
|
|
11
|
+
import { r as reopenHostedAndroidMetro } from "./hosted-android-Bs7fytj7.mjs";
|
|
12
|
+
import { p as ensureMetroReverse, s as androidAppProcess, v as iosAppProcess } from "./app-install-CFI4ptUL.mjs";
|
|
13
|
+
import { n as nativeRunCommand } from "./slot-launch-HV_KtPIw.mjs";
|
|
14
|
+
import { n as sendToOwnedPage, t as liveWebRecord } from "./page-Bv9s2KwY.mjs";
|
|
16
15
|
import { hostedAndroidDeviceName, hostedNativeRecords } from "@stim-cli/core/state";
|
|
17
16
|
import chalk from "chalk";
|
|
18
17
|
import { WebSocket } from "ws";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { t as getExecutor } from "./exec-
|
|
1
|
+
import { t as getExecutor } from "./exec-i8GDPwq9.mjs";
|
|
2
2
|
import { n as stripAnsi } from "./process-output-Fpl8PYi8.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { r as createNdjsonWriter } from "./ndjson-
|
|
6
|
-
import { n as expoBinFromPackage, r as expoBinPath, s as findBinUpward } from "./server-expo-
|
|
3
|
+
import { x as workspaceLogsDir } from "./workspace-state-CR9X86xJ.mjs";
|
|
4
|
+
import { v as resolvePackageJson } from "./project-B5eQ1USs.mjs";
|
|
5
|
+
import { r as createNdjsonWriter } from "./ndjson-LGZAMsqa.mjs";
|
|
6
|
+
import { n as expoBinFromPackage, r as expoBinPath, s as findBinUpward } from "./server-expo-n3tUi3Em.mjs";
|
|
7
7
|
import { createRequire } from "node:module";
|
|
8
8
|
import { existsSync, readFileSync } from "node:fs";
|
|
9
9
|
import { join } from "node:path";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { r as createNdjsonWriter } from "./ndjson-
|
|
5
|
-
import { LOG_ROTATE_BYTES } from "@stim-cli/core";
|
|
1
|
+
import { n as ownership_claim_exports, t as process_identity_exports } from "./process-identity-Biv3arCO.mjs";
|
|
2
|
+
import { t as getExecutor } from "./exec-i8GDPwq9.mjs";
|
|
3
|
+
import { a as macosRuntimeClaim, i as macosProcess, r as macosLogFile, s as updateMacosRecord } from "./state-Tp4uImDS.mjs";
|
|
4
|
+
import { r as createNdjsonWriter } from "./ndjson-LGZAMsqa.mjs";
|
|
6
5
|
import { readMacosRecord } from "@stim-cli/core/state";
|
|
6
|
+
import { LOG_ROTATE_BYTES } from "@stim-cli/core";
|
|
7
7
|
import { StringDecoder } from "node:string_decoder";
|
|
8
8
|
//#region src/macos/run.ts
|
|
9
9
|
function logLines(stream, write) {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { i as __require,
|
|
2
|
-
import { t as getExecutor } from "./exec-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { a as metroStoreRoot, o as registerMetroStore, t as appendCacheStore } from "./metro-store-CDDZHtPl.mjs";
|
|
1
|
+
import { i as __require, r as __commonJSMin } from "./process-identity-Biv3arCO.mjs";
|
|
2
|
+
import { t as getExecutor } from "./exec-i8GDPwq9.mjs";
|
|
3
|
+
import { O as projectMetroSharedCache } from "./settings-CxgngUZk.mjs";
|
|
4
|
+
import { a as metroStoreRoot, c as supervisorError, o as registerMetroStore, t as appendCacheStore } from "./metro-store-BAHFcJm6.mjs";
|
|
6
5
|
import { createRequire } from "node:module";
|
|
7
6
|
import { isAbsolute, join, relative, sep } from "node:path";
|
|
8
7
|
//#endregion
|
|
@@ -95,7 +94,7 @@ var import_bundle_response = (/* @__PURE__ */ __commonJSMin(((exports, module) =
|
|
|
95
94
|
};
|
|
96
95
|
res.once("finish", () => finish(true));
|
|
97
96
|
res.once("close", () => finish(false));
|
|
98
|
-
return next();
|
|
97
|
+
return clientPid ? clientPid.then(() => next()).catch(next) : next();
|
|
99
98
|
};
|
|
100
99
|
}
|
|
101
100
|
module.exports = { bundleResponseMiddleware };
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { t as getExecutor } from "./exec-
|
|
1
|
+
import { t as getExecutor } from "./exec-i8GDPwq9.mjs";
|
|
2
2
|
import { n as stripAnsi, t as createLineReader } from "./process-output-Fpl8PYi8.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { r as createNdjsonWriter } from "./ndjson-
|
|
7
|
-
import { a as metroStoreRoot, i as metroStoreConfirmedRoot, n as expoMetroConfigPath, o as registerMetroStore, r as expoMetroStoreEnv } from "./metro-store-CDDZHtPl.mjs";
|
|
3
|
+
import { v as resolvePackageJson } from "./project-B5eQ1USs.mjs";
|
|
4
|
+
import { O as projectMetroSharedCache } from "./settings-CxgngUZk.mjs";
|
|
5
|
+
import { a as metroStoreRoot, c as supervisorError, i as metroStoreConfirmedRoot, n as expoMetroConfigPath, o as registerMetroStore, r as expoMetroStoreEnv } from "./metro-store-BAHFcJm6.mjs";
|
|
6
|
+
import { r as createNdjsonWriter } from "./ndjson-LGZAMsqa.mjs";
|
|
8
7
|
import { accessSync, constants, existsSync, readFileSync } from "node:fs";
|
|
9
8
|
import { dirname, join, parse } from "node:path";
|
|
10
9
|
import { LOG_ROTATE_BYTES } from "@stim-cli/core";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { D as withConfigLock$1, O as writeConfigSetting, _ as loadConfig$1, f as getConfigPath$1, h as getRepoSettings, m as getProjectSettings } from "./config-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { n as settingDefault, r as stimDesktopInstalled } from "./stim-desktop-
|
|
5
|
-
import { n as recordingLayers, t as deleteTurnedOffRecordings } from "./recordings-
|
|
1
|
+
import { D as withConfigLock$1, O as writeConfigSetting, _ as loadConfig$1, f as getConfigPath$1, h as getRepoSettings, m as getProjectSettings } from "./config-DC5jEtd1.mjs";
|
|
2
|
+
import { n as findCommandWorkspace, t as NO_PROJECT_REFUSAL } from "./project-B5eQ1USs.mjs";
|
|
3
|
+
import { W as unknownSettingKeys, j as readCommittedSettings, mt as repoRoot, nt as gitCommonDir } from "./settings-CxgngUZk.mjs";
|
|
4
|
+
import { n as settingDefault, r as stimDesktopInstalled } from "./stim-desktop-C65jk_q2.mjs";
|
|
5
|
+
import { n as recordingLayers, t as deleteTurnedOffRecordings } from "./recordings-Bv8McZN4.mjs";
|
|
6
6
|
import { existsSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
|
|
7
7
|
import { join } from "node:path";
|
|
8
8
|
import { SETTINGS, SETTING_SCOPES, coerceSettingText, isJsonObject, isSensitiveReference, settingDefinition, settingValueError } from "@stim-cli/core/state";
|
|
@@ -1,13 +1,110 @@
|
|
|
1
|
-
import { t as getExecutor } from "./exec-
|
|
2
|
-
import { _ as loadConfig$1, d as getConfigDir, f as getConfigPath$1, h as getRepoSettings, m as getProjectSettings } from "./config-
|
|
3
|
-
import { createHash } from "node:crypto";
|
|
1
|
+
import { t as getExecutor } from "./exec-i8GDPwq9.mjs";
|
|
2
|
+
import { _ as loadConfig$1, d as getConfigDir, f as getConfigPath$1, h as getRepoSettings, m as getProjectSettings } from "./config-DC5jEtd1.mjs";
|
|
4
3
|
import { accessSync, chmodSync, constants, lstatSync, mkdirSync, mkdtempSync, readdirSync, realpathSync, rmSync, statSync } from "node:fs";
|
|
5
4
|
import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
6
|
-
import { chmodSync as chmodSync$1, existsSync as existsSync$1, lstatSync as lstatSync$1, mkdirSync as mkdirSync$1, readFileSync as readFileSync$1, readdirSync as readdirSync$1, realpathSync as realpathSync$1, statSync as statSync$1, utimesSync as utimesSync$1 } from "fs";
|
|
7
5
|
import { dirname as dirname$1, isAbsolute as isAbsolute$1, join as join$1, relative as relative$1, resolve as resolve$1, sep as sep$1 } from "path";
|
|
8
|
-
import { buildCacheRoot } from "@stim-cli/core";
|
|
9
6
|
import { ANDROID_COMPILER_CACHE_CHOICES, ANDROID_PCH_CHOICES, REMOTE_DEVICE_BACKENDS, SETTINGS, SETTING_GROUPS, TUNNEL_MODES, WEB_VIEWPORTS, acceptsShape, coerceSettingText, expectedShape, isLayeredSetting, settingDefinition, settingValueError } from "@stim-cli/core/state";
|
|
10
7
|
import { tmpdir } from "node:os";
|
|
8
|
+
import { chmodSync as chmodSync$1, existsSync as existsSync$1, lstatSync as lstatSync$1, mkdirSync as mkdirSync$1, readFileSync as readFileSync$1, readdirSync as readdirSync$1, realpathSync as realpathSync$1, statSync as statSync$1, utimesSync as utimesSync$1 } from "fs";
|
|
9
|
+
import { buildCacheRoot } from "@stim-cli/core";
|
|
10
|
+
import { createHash } from "node:crypto";
|
|
11
|
+
//#region src/optimizations.ts
|
|
12
|
+
function compilerCacheFallbackMessage({ fallback, compilerCache, file = null }) {
|
|
13
|
+
const origin = fallback.fromEnvironment ? "the environment" : file;
|
|
14
|
+
const backend = compilerCache === "none" ? "Android builds use no compiler cache, because optimizations.android.compilerCache is \"none\"." : "Android builds fall back to ccache when it is available.";
|
|
15
|
+
return `${fallback.key}${origin ? ` in ${origin}` : ""} ${fallback.reason}. ${backend}`;
|
|
16
|
+
}
|
|
17
|
+
function optimizationBuildProfile(platform, options) {
|
|
18
|
+
const selected = platform === "ios" ? {
|
|
19
|
+
...options.ios,
|
|
20
|
+
swiftCompilationCache: options.ios.swiftCompilationCache ?? false
|
|
21
|
+
} : { pch: options.android.pch };
|
|
22
|
+
const defaults = platform === "ios" ? {
|
|
23
|
+
compilationCache: true,
|
|
24
|
+
swiftCompilationCache: false,
|
|
25
|
+
prefixMapping: true
|
|
26
|
+
} : { pch: "auto" };
|
|
27
|
+
if (JSON.stringify(selected) === JSON.stringify(defaults)) return void 0;
|
|
28
|
+
return `opt-${createHash("sha256").update(JSON.stringify(selected)).digest("hex").slice(0, 16)}`;
|
|
29
|
+
}
|
|
30
|
+
function resolveOptimizations(settings = {}, env = process.env) {
|
|
31
|
+
function choice(path, choices, fallback) {
|
|
32
|
+
const raw = optimizationValue(settings, path);
|
|
33
|
+
if (raw === void 0) return fallback;
|
|
34
|
+
if (typeof raw !== "string" || !choices.includes(raw)) throw new Error(`Invalid optimizations.${path}. Expected ${choices.join(", ")}.`);
|
|
35
|
+
return raw;
|
|
36
|
+
}
|
|
37
|
+
const compiler = choice("android.compilerCache", ANDROID_COMPILER_CACHE_CHOICES, "auto");
|
|
38
|
+
const fromEnvironment = Boolean(env.STIM_ANDROID_CAS_TOOLCHAIN);
|
|
39
|
+
const manifest = env.STIM_ANDROID_CAS_TOOLCHAIN || optimizationValue(settings, "android.casToolchain");
|
|
40
|
+
let fallback = null;
|
|
41
|
+
let toolchain = null;
|
|
42
|
+
if (manifest !== void 0) {
|
|
43
|
+
if (typeof manifest === "string" && isAbsolute(manifest) && !/[\r\n\0]/.test(manifest)) toolchain = manifest;
|
|
44
|
+
else fallback = {
|
|
45
|
+
key: fromEnvironment ? "STIM_ANDROID_CAS_TOOLCHAIN" : "optimizations.android.casToolchain",
|
|
46
|
+
reason: `is ${JSON.stringify(manifest)}, which is not an absolute path to a toolchain JSON manifest`,
|
|
47
|
+
fromEnvironment,
|
|
48
|
+
manifest: null
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
let compilerCache = compiler === "auto" ? toolchain ? "cas" : "ccache" : compiler;
|
|
52
|
+
if (compilerCache === "cas" && !toolchain) {
|
|
53
|
+
fallback ??= {
|
|
54
|
+
key: "optimizations.android.compilerCache",
|
|
55
|
+
reason: "is \"cas\", but no optimizations.android.casToolchain or STIM_ANDROID_CAS_TOOLCHAIN names the toolchain manifest",
|
|
56
|
+
fromEnvironment: false,
|
|
57
|
+
manifest: null
|
|
58
|
+
};
|
|
59
|
+
compilerCache = "ccache";
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
buildCache: optimizationBoolean(settings, "buildCache"),
|
|
63
|
+
remoteBuildCache: optimizationBoolean(settings, "remoteBuildCache"),
|
|
64
|
+
releaseBundleSwap: optimizationBoolean(settings, "releaseBundleSwap"),
|
|
65
|
+
metroSharedCache: optimizationBoolean(settings, "metroSharedCache"),
|
|
66
|
+
metroWarmup: optimizationBoolean(settings, "metroWarmup"),
|
|
67
|
+
ios: {
|
|
68
|
+
compilationCache: optimizationBoolean(settings, "ios.compilationCache"),
|
|
69
|
+
swiftCompilationCache: optimizationValue(settings, "ios.swiftCompilationCache") === void 0 ? null : optimizationBoolean(settings, "ios.swiftCompilationCache"),
|
|
70
|
+
prefixMapping: optimizationBoolean(settings, "ios.prefixMapping")
|
|
71
|
+
},
|
|
72
|
+
android: {
|
|
73
|
+
compilerCache,
|
|
74
|
+
casToolchain: toolchain,
|
|
75
|
+
compilerCacheFallback: fallback,
|
|
76
|
+
pch: choice("android.pch", ANDROID_PCH_CHOICES, "auto"),
|
|
77
|
+
gradleBuildCache: optimizationBoolean(settings, "android.gradleBuildCache"),
|
|
78
|
+
targetAbiOnly: optimizationBoolean(settings, "android.targetAbiOnly")
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function artifactCachePolicy(options, reuse, release) {
|
|
83
|
+
return {
|
|
84
|
+
read: reuse && options.buildCache && (!release || options.releaseBundleSwap),
|
|
85
|
+
write: options.buildCache,
|
|
86
|
+
remote: options.buildCache && options.remoteBuildCache
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function optimizationValue(settings, path) {
|
|
90
|
+
let node = settings;
|
|
91
|
+
for (const key of ["optimizations", ...path.split(".")]) {
|
|
92
|
+
if (node === void 0) return void 0;
|
|
93
|
+
if (!node || typeof node !== "object" || Array.isArray(node)) throw new Error("Invalid optimizations setting. Expected nested objects.");
|
|
94
|
+
node = node[key];
|
|
95
|
+
}
|
|
96
|
+
return node;
|
|
97
|
+
}
|
|
98
|
+
function optimizationBoolean(settings, path, fallback = true) {
|
|
99
|
+
const raw = optimizationValue(settings, path);
|
|
100
|
+
if (raw === void 0) return fallback;
|
|
101
|
+
if (typeof raw !== "boolean") throw new Error(`Invalid optimizations.${path}. Expected true or false.`);
|
|
102
|
+
return raw;
|
|
103
|
+
}
|
|
104
|
+
function resolveMetroSharedCache(settings) {
|
|
105
|
+
return optimizationBoolean(settings, "metroSharedCache");
|
|
106
|
+
}
|
|
107
|
+
//#endregion
|
|
11
108
|
//#region src/temporary.ts
|
|
12
109
|
function existingPath(path) {
|
|
13
110
|
const missing = [];
|
|
@@ -752,103 +849,6 @@ function resolveSourceCheckout(cwd) {
|
|
|
752
849
|
};
|
|
753
850
|
}
|
|
754
851
|
//#endregion
|
|
755
|
-
//#region src/optimizations.ts
|
|
756
|
-
function compilerCacheFallbackMessage({ fallback, compilerCache, file = null }) {
|
|
757
|
-
const origin = fallback.fromEnvironment ? "the environment" : file;
|
|
758
|
-
const backend = compilerCache === "none" ? "Android builds use no compiler cache, because optimizations.android.compilerCache is \"none\"." : "Android builds fall back to ccache when it is available.";
|
|
759
|
-
return `${fallback.key}${origin ? ` in ${origin}` : ""} ${fallback.reason}. ${backend}`;
|
|
760
|
-
}
|
|
761
|
-
function optimizationBuildProfile(platform, options) {
|
|
762
|
-
const selected = platform === "ios" ? {
|
|
763
|
-
...options.ios,
|
|
764
|
-
swiftCompilationCache: options.ios.swiftCompilationCache ?? false
|
|
765
|
-
} : { pch: options.android.pch };
|
|
766
|
-
const defaults = platform === "ios" ? {
|
|
767
|
-
compilationCache: true,
|
|
768
|
-
swiftCompilationCache: false,
|
|
769
|
-
prefixMapping: true
|
|
770
|
-
} : { pch: "auto" };
|
|
771
|
-
if (JSON.stringify(selected) === JSON.stringify(defaults)) return void 0;
|
|
772
|
-
return `opt-${createHash("sha256").update(JSON.stringify(selected)).digest("hex").slice(0, 16)}`;
|
|
773
|
-
}
|
|
774
|
-
function resolveOptimizations(settings = {}, env = process.env) {
|
|
775
|
-
function choice(path, choices, fallback) {
|
|
776
|
-
const raw = optimizationValue(settings, path);
|
|
777
|
-
if (raw === void 0) return fallback;
|
|
778
|
-
if (typeof raw !== "string" || !choices.includes(raw)) throw new Error(`Invalid optimizations.${path}. Expected ${choices.join(", ")}.`);
|
|
779
|
-
return raw;
|
|
780
|
-
}
|
|
781
|
-
const compiler = choice("android.compilerCache", ANDROID_COMPILER_CACHE_CHOICES, "auto");
|
|
782
|
-
const fromEnvironment = Boolean(env.STIM_ANDROID_CAS_TOOLCHAIN);
|
|
783
|
-
const manifest = env.STIM_ANDROID_CAS_TOOLCHAIN || optimizationValue(settings, "android.casToolchain");
|
|
784
|
-
let fallback = null;
|
|
785
|
-
let toolchain = null;
|
|
786
|
-
if (manifest !== void 0) {
|
|
787
|
-
if (typeof manifest === "string" && isAbsolute(manifest) && !/[\r\n\0]/.test(manifest)) toolchain = manifest;
|
|
788
|
-
else fallback = {
|
|
789
|
-
key: fromEnvironment ? "STIM_ANDROID_CAS_TOOLCHAIN" : "optimizations.android.casToolchain",
|
|
790
|
-
reason: `is ${JSON.stringify(manifest)}, which is not an absolute path to a toolchain JSON manifest`,
|
|
791
|
-
fromEnvironment,
|
|
792
|
-
manifest: null
|
|
793
|
-
};
|
|
794
|
-
}
|
|
795
|
-
let compilerCache = compiler === "auto" ? toolchain ? "cas" : "ccache" : compiler;
|
|
796
|
-
if (compilerCache === "cas" && !toolchain) {
|
|
797
|
-
fallback ??= {
|
|
798
|
-
key: "optimizations.android.compilerCache",
|
|
799
|
-
reason: "is \"cas\", but no optimizations.android.casToolchain or STIM_ANDROID_CAS_TOOLCHAIN names the toolchain manifest",
|
|
800
|
-
fromEnvironment: false,
|
|
801
|
-
manifest: null
|
|
802
|
-
};
|
|
803
|
-
compilerCache = "ccache";
|
|
804
|
-
}
|
|
805
|
-
return {
|
|
806
|
-
buildCache: optimizationBoolean(settings, "buildCache"),
|
|
807
|
-
remoteBuildCache: optimizationBoolean(settings, "remoteBuildCache"),
|
|
808
|
-
releaseBundleSwap: optimizationBoolean(settings, "releaseBundleSwap"),
|
|
809
|
-
metroSharedCache: optimizationBoolean(settings, "metroSharedCache"),
|
|
810
|
-
metroWarmup: optimizationBoolean(settings, "metroWarmup"),
|
|
811
|
-
ios: {
|
|
812
|
-
compilationCache: optimizationBoolean(settings, "ios.compilationCache"),
|
|
813
|
-
swiftCompilationCache: optimizationValue(settings, "ios.swiftCompilationCache") === void 0 ? null : optimizationBoolean(settings, "ios.swiftCompilationCache"),
|
|
814
|
-
prefixMapping: optimizationBoolean(settings, "ios.prefixMapping")
|
|
815
|
-
},
|
|
816
|
-
android: {
|
|
817
|
-
compilerCache,
|
|
818
|
-
casToolchain: toolchain,
|
|
819
|
-
compilerCacheFallback: fallback,
|
|
820
|
-
pch: choice("android.pch", ANDROID_PCH_CHOICES, "auto"),
|
|
821
|
-
gradleBuildCache: optimizationBoolean(settings, "android.gradleBuildCache"),
|
|
822
|
-
targetAbiOnly: optimizationBoolean(settings, "android.targetAbiOnly")
|
|
823
|
-
}
|
|
824
|
-
};
|
|
825
|
-
}
|
|
826
|
-
function artifactCachePolicy(options, reuse, release) {
|
|
827
|
-
return {
|
|
828
|
-
read: reuse && options.buildCache && (!release || options.releaseBundleSwap),
|
|
829
|
-
write: options.buildCache,
|
|
830
|
-
remote: options.buildCache && options.remoteBuildCache
|
|
831
|
-
};
|
|
832
|
-
}
|
|
833
|
-
function optimizationValue(settings, path) {
|
|
834
|
-
let node = settings;
|
|
835
|
-
for (const key of ["optimizations", ...path.split(".")]) {
|
|
836
|
-
if (node === void 0) return void 0;
|
|
837
|
-
if (!node || typeof node !== "object" || Array.isArray(node)) throw new Error("Invalid optimizations setting. Expected nested objects.");
|
|
838
|
-
node = node[key];
|
|
839
|
-
}
|
|
840
|
-
return node;
|
|
841
|
-
}
|
|
842
|
-
function optimizationBoolean(settings, path, fallback = true) {
|
|
843
|
-
const raw = optimizationValue(settings, path);
|
|
844
|
-
if (raw === void 0) return fallback;
|
|
845
|
-
if (typeof raw !== "boolean") throw new Error(`Invalid optimizations.${path}. Expected true or false.`);
|
|
846
|
-
return raw;
|
|
847
|
-
}
|
|
848
|
-
function resolveMetroSharedCache(settings) {
|
|
849
|
-
return optimizationBoolean(settings, "metroSharedCache");
|
|
850
|
-
}
|
|
851
|
-
//#endregion
|
|
852
852
|
//#region src/engine/metro-reach.ts
|
|
853
853
|
const PUBLIC_METRO_ENV = "STIM_METRO_PUBLIC_URL";
|
|
854
854
|
const MANAGED_PROVIDERS = ["ngrok", "cloudflared"];
|
|
@@ -1335,9 +1335,11 @@ function cacheProviderSettingError(settings) {
|
|
|
1335
1335
|
if ("options" in block && !isPlainObject(block.options)) return `Invalid cache.options setting ${JSON.stringify(block.options)}. Expected an object.`;
|
|
1336
1336
|
return null;
|
|
1337
1337
|
}
|
|
1338
|
+
/** The remote target `remote` names, or null for `local`, which runs on this Mac whatever a lower layer sets. */
|
|
1338
1339
|
function parseIosRemote(remote) {
|
|
1339
1340
|
const selected = remote.trim();
|
|
1340
1341
|
const reserved = selected.toLowerCase();
|
|
1342
|
+
if (reserved === "local") return null;
|
|
1341
1343
|
return REMOTE_DEVICE_BACKENDS.includes(reserved) ? {
|
|
1342
1344
|
kind: "backend",
|
|
1343
1345
|
backend: reserved
|
|
@@ -1350,6 +1352,9 @@ function remoteIosSetting(settings) {
|
|
|
1350
1352
|
const ios = settings.ios;
|
|
1351
1353
|
return isPlainObject(ios) && typeof ios.remote === "string" ? parseIosRemote(ios.remote) : null;
|
|
1352
1354
|
}
|
|
1355
|
+
function remoteEasFallbackSetting(settings) {
|
|
1356
|
+
return settingValueAt(settings, "remote.easFallback") === true;
|
|
1357
|
+
}
|
|
1353
1358
|
function remoteAndroidSetting(settings) {
|
|
1354
1359
|
const android = settings.android;
|
|
1355
1360
|
return isPlainObject(android) && typeof android.remote === "string" ? parseIosRemote(android.remote) : null;
|
|
@@ -1369,6 +1374,14 @@ function deviceIdleShutdownMinutesSetting(settings) {
|
|
|
1369
1374
|
function deviceReclaimIdleMinutesSetting(settings) {
|
|
1370
1375
|
return minutesSetting(settings, "devices", "reclaimIdleMinutes");
|
|
1371
1376
|
}
|
|
1377
|
+
function projectMaintenancePinned(root) {
|
|
1378
|
+
try {
|
|
1379
|
+
const value = settingValueAt(settingsForProject(root), "maintenance.keep");
|
|
1380
|
+
return value !== void 0 && value !== false;
|
|
1381
|
+
} catch {
|
|
1382
|
+
return true;
|
|
1383
|
+
}
|
|
1384
|
+
}
|
|
1372
1385
|
function projectDeviceReclaimIdleMinutes(root) {
|
|
1373
1386
|
return deviceReclaimIdleMinutesSetting(settingsForProject(root));
|
|
1374
1387
|
}
|
|
@@ -1437,4 +1450,4 @@ function webSettings(settings) {
|
|
|
1437
1450
|
};
|
|
1438
1451
|
}
|
|
1439
1452
|
//#endregion
|
|
1440
|
-
export {
|
|
1453
|
+
export { depsOutOfSync as $, publicUrlSetting as A, settingShapeErrors as B, metroWarmupUrlSetting as C, removeTemporaryEntry as Ct, projectMaintenancePinned as D, optimizationBuildProfile as Dt, projectDeviceReclaimIdleMinutes as E, compilerCacheFallbackMessage as Et, resolveCacheProviderConfig as F, webSettings as G, settingsLayers as H, resolveSettings as I, planMetroReach as J, PUBLIC_METRO_ENV as K, settingFile as L, remoteAndroidSetting as M, remoteEasFallbackSetting as N, projectMetroSharedCache as O, resolveOptimizations as Ot, remoteIosSetting as P, deleteBranch as Q, settingOrigin as R, metroTunnelSettingError as S, makeTemporaryDirectory as St, parseIosRemote as T, artifactCachePolicy as Tt, tunnelModeSetting as U, settingValueAt as V, unknownSettingKeys as W, branchExists as X, resolveTailscaleBinary as Y, cloneIgnoredEntries as Z, iosSigningIdentitySha1SettingError as _, restoreFile as _t, androidAvdConfigSetting as a, hasRemote as at, metroIdleStopMinutesSetting as b, warmWorktreePaths as bt, androidDataPartitionSizeGbSetting as c, linkedWorktreesOnDisk as ct, deviceIdleShutdownMinutesSetting as d, podsOutOfSync as dt, dirtyFingerprintFiles as et, iosLanHostSetting as f, readWorktreeExclude as ft, iosSigningIdentitySha1Setting as g, resolveSourceCheckout as gt, iosSigningIdentitySettingError as h, resolveFullRef as ht, SETTING_SHAPE_REMEDY as i, hasPopulatedSubmodules as it, readCommittedSettings as j, projectOptimizations as k, androidDataPartitionSizeGbSettingError as l, listWorktrees as lt, iosSigningIdentitySetting as m, repoRoot as mt, PATH_SETTINGS as n, gitCommonDir as nt, androidAvdConfigSettingError as o, hasUncommittedWork as ot, iosLanHostSettingError as p, removeWorktree as pt, detectProviders as q, SETTINGS_WITH_RESOLVE_TIME_FALLBACK as r, gitCommonDirOnDisk as rt, androidDataPartitionSizeBytes as s, isPodInstallChurn as st, ANDROID_AVD_CONFIG_HELP as t, dirtyPaths as tt, cacheProviderSettingError as u, locallyKnownUpstream as ut, iosSimSlimProfileSetting as v, sourceCheckoutOf as vt, ngrokUrlSetting as w, temporaryRoot as wt, metroPortSetting as x, filesystemDevice as xt, mergeSettingsLayers as y, unpushedCommits as yt, settingOriginScope as z };
|
|
@@ -4,7 +4,7 @@ function resolveMaintenanceSettings(config = loadConfig(), env = process.env) {
|
|
|
4
4
|
const result = {};
|
|
5
5
|
const invalid = [];
|
|
6
6
|
let disabled = false;
|
|
7
|
-
for (const setting of SETTINGS.filter((entry) => entry.key.startsWith("maintenance.") || /^caches\..*MaxGb$/.test(entry.key))) {
|
|
7
|
+
for (const setting of SETTINGS.filter((entry) => entry.key.startsWith("maintenance.") && entry.key !== "maintenance.keep" || /^caches\..*MaxGb$/.test(entry.key))) {
|
|
8
8
|
const [group, name] = setting.key.split(".");
|
|
9
9
|
const rawEnv = setting.env ? env[setting.env] : void 0;
|
|
10
10
|
const layer = config?.[group];
|