stim 1.3.0 → 1.3.1
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 +4 -3
- package/dist/{android-CqcW1hrP.mjs → android-CT-PkXUh.mjs} +22 -19
- package/dist/{android-cas-BR5YJBYv.mjs → android-cas-DXorPCi_.mjs} +2 -2
- package/dist/{android-BqVIJoG7.mjs → android-hMj83VpN.mjs} +12 -6
- package/dist/{build-slots-C3-R4XQr.mjs → build-slots-C4AouyNz.mjs} +1 -1
- package/dist/cli.mjs +12 -12
- package/dist/{deps-Spz8ozgo.mjs → deps-0Yt0Inly.mjs} +1 -1
- package/dist/{dev-client-BjisHDB5.mjs → dev-client-VfSZNLT4.mjs} +4 -4
- package/dist/{device-BkiW-gkk.mjs → device-Bbv45Z9Z.mjs} +3 -3
- package/dist/{device-lease-BJYybF-2.mjs → device-lease-CJwK7OZr.mjs} +1 -1
- package/dist/{device-pool-CPbLGfrB.mjs → device-pool-CcBNTvM7.mjs} +1 -1
- package/dist/{device-remote-AkYCKS8U.mjs → device-remote-DAA0Zm6Z.mjs} +1 -1
- package/dist/{doctor-Bmv86UUW.mjs → doctor-B4EITgQB.mjs} +5 -5
- package/dist/{doctor-fAMXC4vl.mjs → doctor-BueDfLYG.mjs} +2 -2
- package/dist/{error-diagnostics-DHC31rXA.mjs → error-diagnostics-DwhNBFDU.mjs} +3 -3
- package/dist/{gc-GGu-8ULN.mjs → gc-BRu62v4o.mjs} +7 -7
- package/dist/{guide-92CPA21s.mjs → guide-D95E0u3i.mjs} +111 -61
- package/dist/{ios-BSXFeO5H.mjs → ios-DAju3TVy.mjs} +12 -12
- package/dist/{logs-DPNF4C9s.mjs → logs-CAdwW6c2.mjs} +29 -4
- package/dist/{logs-query-R-Cqc6Qv.mjs → logs-query-Cdp5aaCH.mjs} +1 -1
- package/dist/{ownership-BpCKiRlQ.mjs → ownership-DXcol4oU.mjs} +1 -1
- package/dist/{ownership-claim-Bf2CAfw3.mjs → ownership-claim-BtPtJVmq.mjs} +35 -21
- package/dist/{reclaim-iW9Cad7k.mjs → reclaim-CUmwucWG.mjs} +4 -4
- package/dist/{reload-DazHDSFA.mjs → reload-CWpXoOgN.mjs} +2 -2
- package/dist/{slot-launch-cci0xvmC.mjs → slot-launch-CZklomj6.mjs} +1 -1
- package/dist/{start-mObjQH2W.mjs → start-B5G4NjiA.mjs} +3 -3
- package/dist/{status-BxQNqu9t.mjs → status-CI9clRSb.mjs} +6 -6
- package/dist/{stop-CrHGcjrV.mjs → stop-CQhffpmX.mjs} +2 -2
- package/dist/{stop-DimGXEKY.mjs → stop-CjlgDk0a.mjs} +5 -5
- package/dist/{teardown-ClFp1Aax.mjs → teardown--gESs9ck.mjs} +103 -4
- package/dist/{workspace-process-lock-3NcQnZ0X.mjs → workspace-process-lock-IBj1Towr.mjs} +1 -1
- package/dist/{worktree-DxTgN1CJ.mjs → worktree-DtQGO9-s.mjs} +116 -106
- package/dist/{xcode-D7sAp-Zy.mjs → xcode-xnxyvJkD.mjs} +81 -44
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -44,8 +44,9 @@ stim stop
|
|
|
44
44
|
|
|
45
45
|
For `stim logs --errors`, a clean check requires exit code 0 and no matching
|
|
46
46
|
errors in the captured logs. Exit code 0 alone means the query succeeded, even
|
|
47
|
-
when it prints errors
|
|
48
|
-
|
|
47
|
+
when it prints errors. A workspace that has never produced a log timeline
|
|
48
|
+
refuses with `STIM_NO_PROJECT`; in a monorepo, the error names the nearest
|
|
49
|
+
registered descendant app with logs when one exists.
|
|
49
50
|
|
|
50
51
|
Use `stim start --reset-cache` to recover from stale Metro transforms or file-map
|
|
51
52
|
state. It restarts only this app's verified owned Metro, keeping its port and
|
|
@@ -128,7 +129,7 @@ eligible `.env` and local configuration files. Existing entries are preserved;
|
|
|
128
129
|
existing ignored directories such as `node_modules` are skipped whole.
|
|
129
130
|
|
|
130
131
|
`stim worktree warm --refresh` brings the source checkout up to date first: it
|
|
131
|
-
fetches, fast-forwards whatever branch is checked out there, and installs what
|
|
132
|
+
checks the upstream, fetches changes when needed, fast-forwards whatever branch is checked out there, and installs what
|
|
132
133
|
the new commits moved before copying. It refuses a source checkout it cannot
|
|
133
134
|
move (uncommitted tracked changes, a rebase or merge in progress, a detached
|
|
134
135
|
HEAD, a diverged branch) and never switches branches. One lock per repository
|
|
@@ -8,23 +8,23 @@ import { r as waitForChild, t as createLineReader } from "./process-output-C7IlI
|
|
|
8
8
|
import { i as resolveProjectMetro, r as pidExists } from "./metro-CORqXyTL.mjs";
|
|
9
9
|
import { n as verifyCollectorOwnership, r as readCollectors } from "./ownership-8O073GIC.mjs";
|
|
10
10
|
import { _ as launchErrorPreview, c as launchErrorReport, g as stepTimer, h as stepClock, i as formatDuration, l as phaseLine, n as appReadinessMessage, p as shortHash } from "./command-output-8wHMEde0.mjs";
|
|
11
|
-
import { r as claimFailure } from "./ownership-claim-
|
|
12
|
-
import { $ as providerDownloadPath, C as memoizeEmulatorProbe, G as buildCacheKey, J as filesystemBuildCapability, K as describeFingerprintMiss, L as waitForBoot, M as resetAdoptedAvd, N as resolveOwnedAvdSerial, P as resolvePhysicalDevice, Q as prepareProviderDownloadDir, R as WAIT_CEILING_MS, U as takeoverLine, V as releaseBuildLock, W as waitForBuild, X as fingerprintDiffSuffix, Y as fingerprintDiffRecord, Z as fingerprintProject, _ as findBuildTool, a as androidSystemImageAbi, at as untrackedMissLine, ct as captureAssetManifest, et as providerUploadOutcome, g as extractEmulatorFailure, h as emulatorFailureRemedy, i as androidPoolNoCandidatesRefusal, it as storedAssetManifest, j as probeEmulatorSerial, k as physicalDeviceModel, lt as compareAssetManifests, m as emulatorDiskSpaceRemedy, n as androidHome, nt as resolveBuild, ot as untrackedNativeFiles, r as androidPoolCandidates, rt as storeBuild, st as assetDiffReason, t as androidDeviceAbi, tt as refingerprintAfterMutation, ut as readAssetManifest, x as listInstalledSystemImages, y as listAdbDevices, z as acquireBuildLock } from "./android-
|
|
11
|
+
import { r as claimFailure } from "./ownership-claim-BtPtJVmq.mjs";
|
|
12
|
+
import { $ as providerDownloadPath, C as memoizeEmulatorProbe, G as buildCacheKey, J as filesystemBuildCapability, K as describeFingerprintMiss, L as waitForBoot, M as resetAdoptedAvd, N as resolveOwnedAvdSerial, P as resolvePhysicalDevice, Q as prepareProviderDownloadDir, R as WAIT_CEILING_MS, U as takeoverLine, V as releaseBuildLock, W as waitForBuild, X as fingerprintDiffSuffix, Y as fingerprintDiffRecord, Z as fingerprintProject, _ as findBuildTool, a as androidSystemImageAbi, at as untrackedMissLine, ct as captureAssetManifest, et as providerUploadOutcome, g as extractEmulatorFailure, h as emulatorFailureRemedy, i as androidPoolNoCandidatesRefusal, it as storedAssetManifest, j as probeEmulatorSerial, k as physicalDeviceModel, lt as compareAssetManifests, m as emulatorDiskSpaceRemedy, n as androidHome, nt as resolveBuild, ot as untrackedNativeFiles, r as androidPoolCandidates, rt as storeBuild, st as assetDiffReason, t as androidDeviceAbi, tt as refingerprintAfterMutation, ut as readAssetManifest, x as listInstalledSystemImages, y as listAdbDevices, z as acquireBuildLock } from "./android-hMj83VpN.mjs";
|
|
13
13
|
import { A as resolveSettings, B as artifactCachePolicy, D as remoteDeviceSettingError, E as remoteAndroidSetting, F as tunnelModeSetting, H as optimizationBuildProfile, I as unknownSettingKeys, N as settingShapeErrors, R as detectProviders, T as publicUrlSetting, U as resolveOptimizations, V as compilerCacheFallbackMessage, a as SETTING_SHAPE_REMEDY, d as cacheProviderSettingError, j as settingFile, k as resolveCacheProviderConfig, r as REMOTE_DEVICE_BACKENDS, s as androidAvdConfigSettingError, u as androidDataPartitionSizeGbSettingError, x as metroWarmupUrlSetting } from "./settings-DEJf6_kJ.mjs";
|
|
14
14
|
import { t as cleanLine } from "./server-expo-DizT4OMk.mjs";
|
|
15
|
-
import { C as uploadRemote, S as resolveRemote, _ as isEasAuthFailureText, c as parkedMaxSetting, d as RESOLVE_TIMEOUT_MS, f as UPLOAD_TIMEOUT_MS, g as exitAfterFlush, h as easAuthNote, m as checkEasAuth, p as cacheLevel, v as loadProjectProvider, x as resolveEasCliBin } from "./teardown
|
|
16
|
-
import { c as ensureWorkspaceStorageSafely, d as launchOutcomeRecord, f as noMetroMessage, g as warmMetro, i as detectEntryFile, m as resolveMetroWithRetry, n as pickDevClientScheme, o as needsPrebuild, p as noMetroRemedy, s as runPrebuild, t as devClientScheme, u as isPhysicalDeviceRequest, v as isEasBuildFailure, y as resolveEasDevelopmentBuild } from "./dev-client-
|
|
17
|
-
import { t as withWorkspaceProcessLock } from "./workspace-process-lock-
|
|
15
|
+
import { C as uploadRemote, S as resolveRemote, _ as isEasAuthFailureText, c as parkedMaxSetting, d as RESOLVE_TIMEOUT_MS, f as UPLOAD_TIMEOUT_MS, g as exitAfterFlush, h as easAuthNote, m as checkEasAuth, p as cacheLevel, v as loadProjectProvider, x as resolveEasCliBin } from "./teardown--gESs9ck.mjs";
|
|
16
|
+
import { c as ensureWorkspaceStorageSafely, d as launchOutcomeRecord, f as noMetroMessage, g as warmMetro, i as detectEntryFile, m as resolveMetroWithRetry, n as pickDevClientScheme, o as needsPrebuild, p as noMetroRemedy, s as runPrebuild, t as devClientScheme, u as isPhysicalDeviceRequest, v as isEasBuildFailure, y as resolveEasDevelopmentBuild } from "./dev-client-VfSZNLT4.mjs";
|
|
17
|
+
import { t as withWorkspaceProcessLock } from "./workspace-process-lock-IBj1Towr.mjs";
|
|
18
18
|
import { D as verifyAndroidReleaseLaunch, E as unverifiedLaunchLines, O as verifyLaunch, S as launchAndroidReleaseApp, _ as installConflictKind, c as RELEASE_VERIFY_WAIT_MS, d as androidDevClientUrl, g as installAndroidApp, h as deviceShellArg, i as LAUNCH_BUNDLING, l as VERIFY_TIMEOUT_MS, n as DEFAULT_METRO_PORT, o as LAUNCH_FATAL, s as LAUNCH_UNVERIFIED, t as ADB_INSTALL_TIMEOUT_MS, u as androidAppProcess, x as launchAndroidApp } from "./app-install-DIp9riNx.mjs";
|
|
19
|
-
import { a as lostLine, c as releaseLeaseOnSignal, i as leaseExpiryText, l as runLease, n as DEBUG_VERIFY_STEP_MS, o as lostRefusal, r as acquireRunLease, s as parseDeviceWait, t as selectFromPool, u as waitFlagConflict } from "./device-pool-
|
|
20
|
-
import { r as releaseBuildSlot, t as acquireBuildSlot } from "./build-slots-
|
|
19
|
+
import { a as lostLine, c as releaseLeaseOnSignal, i as leaseExpiryText, l as runLease, n as DEBUG_VERIFY_STEP_MS, o as lostRefusal, r as acquireRunLease, s as parseDeviceWait, t as selectFromPool, u as waitFlagConflict } from "./device-pool-CcBNTvM7.mjs";
|
|
20
|
+
import { r as releaseBuildSlot, t as acquireBuildSlot } from "./build-slots-C4AouyNz.mjs";
|
|
21
21
|
import { a as statsProjectKey, i as recordRunStats, n as readRunEstimates, t as createRunRecorder } from "./stats-BR-kwj0B.mjs";
|
|
22
|
-
import {
|
|
23
|
-
import { a as ensureMetroReachable, b as ownedSessionName, l as resolveRemoteContext, n as binOnPath, o as ensureRemoteBootOwned, s as remoteAndroidDeps } from "./device-remote-
|
|
24
|
-
import { a as buildAndroid, c as CCACHE_NOT_RUN, f as resolveCcache, l as CCACHE_UNAVAILABLE, n as resolveAndroidCas, o as productFlavorRefusal, p as formatDiagnostic, r as resolveAndroidCompilerCache, s as readProductFlavors, u as ccacheActivityLine } from "./android-cas-
|
|
25
|
-
import { n as nativeRunCommand, t as launchSlotScope } from "./slot-launch-
|
|
22
|
+
import { S as ensureOwnedDevice, _ as AvdBootError, f as startBuildHeartbeat, p as tailLines, r as HEARTBEAT_INTERVAL_MS, v as AvdRecoveryError, w as unknownAndroidSystemImageRefusal, x as ensureBooted, y as checkDeviceCapacity } from "./xcode-xnxyvJkD.mjs";
|
|
23
|
+
import { a as ensureMetroReachable, b as ownedSessionName, l as resolveRemoteContext, n as binOnPath, o as ensureRemoteBootOwned, s as remoteAndroidDeps } from "./device-remote-DAA0Zm6Z.mjs";
|
|
24
|
+
import { a as buildAndroid, c as CCACHE_NOT_RUN, f as resolveCcache, l as CCACHE_UNAVAILABLE, n as resolveAndroidCas, o as productFlavorRefusal, p as formatDiagnostic, r as resolveAndroidCompilerCache, s as readProductFlavors, u as ccacheActivityLine } from "./android-cas-DXorPCi_.mjs";
|
|
25
|
+
import { n as nativeRunCommand, t as launchSlotScope } from "./slot-launch-CZklomj6.mjs";
|
|
26
26
|
import { t as spawnEntry } from "./spawn-entry-nCE6m770.mjs";
|
|
27
|
-
import { a as printNativeCrashReport, r as captureNativeCrashes, t as errorDiagnostics } from "./error-diagnostics-
|
|
27
|
+
import { a as printNativeCrashReport, r as captureNativeCrashes, t as errorDiagnostics } from "./error-diagnostics-DwhNBFDU.mjs";
|
|
28
28
|
import { existsSync, mkdirSync, openSync, readFileSync, readdirSync, rmSync } from "node:fs";
|
|
29
29
|
import { InvalidArgumentError } from "commander";
|
|
30
30
|
import { basename, dirname, join, relative } from "node:path";
|
|
@@ -1012,12 +1012,7 @@ async function finishAndroidRun({ lease, releaseLease, root, slot, json, metroCh
|
|
|
1012
1012
|
deviceId: booted.serial
|
|
1013
1013
|
});
|
|
1014
1014
|
if (booted.failed) {
|
|
1015
|
-
const diag =
|
|
1016
|
-
reason: booted.reason ?? "The emulator did not boot.",
|
|
1017
|
-
logFile: emuLog,
|
|
1018
|
-
remedy: `Run \`stim status\` to see what Stim thinks it owns; re-running \`${runCommand}\` creates a fresh owned AVD.`,
|
|
1019
|
-
localEmulator: !physical
|
|
1020
|
-
});
|
|
1015
|
+
const diag = diagnoseBootFailure(booted, emuLog, runCommand, physical);
|
|
1021
1016
|
return fail(NO_DEVICE, diag.message, diag.remedy, {
|
|
1022
1017
|
lines: diag.lines,
|
|
1023
1018
|
logPath: diag.logPath ? displayPath(root, diag.logPath) : null
|
|
@@ -1275,6 +1270,14 @@ async function finishAndroidRun({ lease, releaseLease, root, slot, json, metroCh
|
|
|
1275
1270
|
facts
|
|
1276
1271
|
};
|
|
1277
1272
|
}
|
|
1273
|
+
function diagnoseBootFailure(booted, logFile, runCommand, physical) {
|
|
1274
|
+
return noDeviceDiagnostic({
|
|
1275
|
+
reason: booted.reason ?? "The emulator did not boot.",
|
|
1276
|
+
logFile,
|
|
1277
|
+
remedy: booted.remedy ?? `Run \`stim status\` to see what Stim thinks it owns; re-running \`${runCommand}\` creates a fresh owned AVD.`,
|
|
1278
|
+
localEmulator: !physical
|
|
1279
|
+
});
|
|
1280
|
+
}
|
|
1278
1281
|
//#endregion
|
|
1279
1282
|
//#region src/commands/android.ts
|
|
1280
1283
|
const FALLBACK_LINES = 5;
|
|
@@ -1796,7 +1799,7 @@ async function runAndroid(options = {}) {
|
|
|
1796
1799
|
reason: `Could not ensure an owned Android emulator: ${err?.message || err}`,
|
|
1797
1800
|
logFile: emuLog,
|
|
1798
1801
|
localEmulator: !(err instanceof AvdRecoveryError),
|
|
1799
|
-
remedy: err instanceof
|
|
1802
|
+
remedy: err instanceof AvdBootError ? err.remedy : "Check that JAVA_HOME and ANDROID_HOME are set correctly, and that an arm64 system image is installed (`sdkmanager \"system-images;android-36;google_apis;arm64-v8a\"`)."
|
|
1800
1803
|
});
|
|
1801
1804
|
return fail(NO_DEVICE, diag.message, diag.remedy, {
|
|
1802
1805
|
lines: diag.lines,
|
|
@@ -4,8 +4,8 @@ import { r as register } from "./cache-manifest-CXR-Y8pH.mjs";
|
|
|
4
4
|
import { D as workspaceLogsDir, x as sharedCcache, y as ensureWorkspaceStorage } from "./state-B3XA2wp2.mjs";
|
|
5
5
|
import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-C7IlIzd7.mjs";
|
|
6
6
|
import { l as phaseLine } from "./command-output-8wHMEde0.mjs";
|
|
7
|
-
import { n as androidHome } from "./android-
|
|
8
|
-
import { f as startBuildHeartbeat, r as HEARTBEAT_INTERVAL_MS } from "./xcode-
|
|
7
|
+
import { n as androidHome } from "./android-hMj83VpN.mjs";
|
|
8
|
+
import { f as startBuildHeartbeat, r as HEARTBEAT_INTERVAL_MS } from "./xcode-xnxyvJkD.mjs";
|
|
9
9
|
import { accessSync, constants, existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, statSync, symlinkSync, writeFileSync } from "node:fs";
|
|
10
10
|
import { createHash, randomUUID } from "node:crypto";
|
|
11
11
|
import { dirname, isAbsolute, join, relative } from "node:path";
|
|
@@ -4,7 +4,7 @@ import { r as register } from "./cache-manifest-CXR-Y8pH.mjs";
|
|
|
4
4
|
import { b as sharedBuildCache } from "./state-B3XA2wp2.mjs";
|
|
5
5
|
import { r as pidExists } from "./metro-CORqXyTL.mjs";
|
|
6
6
|
import { a as formatElapsed } from "./command-output-8wHMEde0.mjs";
|
|
7
|
-
import { d as
|
|
7
|
+
import { d as releaseClaim, i as claimRemoveCommand, m as tryAcquireClaim, t as ClaimRefusedError, u as readClaimSet } from "./ownership-claim-BtPtJVmq.mjs";
|
|
8
8
|
import { c as androidDataPartitionSizeBytes } from "./settings-DEJf6_kJ.mjs";
|
|
9
9
|
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
|
|
10
10
|
import { createHash } from "node:crypto";
|
|
@@ -1275,15 +1275,21 @@ async function waitForBoot(serial, timeoutMs = 6e4, { aborted = () => false, pol
|
|
|
1275
1275
|
}
|
|
1276
1276
|
await new Promise((r) => setTimeout(r, commandTimeoutMs === void 0 ? pollMs : Math.min(pollMs, Math.max(0, timeoutMs - (Date.now() - start)))));
|
|
1277
1277
|
}
|
|
1278
|
-
const
|
|
1278
|
+
const diagnosticDeadline = Date.now() + Math.min(commandTimeoutMs ?? 5e3, 5e3);
|
|
1279
|
+
const diagnosticQuery = (args) => {
|
|
1280
|
+
const remaining = diagnosticDeadline - Date.now();
|
|
1281
|
+
if (remaining <= 0) return "";
|
|
1282
|
+
const value = exec.runQuiet(`${androidTool("adb")} ${args}`, { timeoutMs: remaining });
|
|
1283
|
+
return typeof value === "string" ? value.trim() : "";
|
|
1284
|
+
};
|
|
1279
1285
|
return {
|
|
1280
1286
|
ok: false,
|
|
1281
1287
|
...exited ? { exited: true } : {},
|
|
1282
1288
|
diagnostic: {
|
|
1283
|
-
devices:
|
|
1284
|
-
sysBoot:
|
|
1285
|
-
devBoot:
|
|
1286
|
-
bootAnim:
|
|
1289
|
+
devices: diagnosticQuery("devices"),
|
|
1290
|
+
sysBoot: diagnosticQuery(`-s ${serial} shell getprop sys.boot_completed`),
|
|
1291
|
+
devBoot: diagnosticQuery(`-s ${serial} shell getprop dev.bootcomplete`),
|
|
1292
|
+
bootAnim: diagnosticQuery(`-s ${serial} shell getprop init.svc.bootanim`)
|
|
1287
1293
|
}
|
|
1288
1294
|
};
|
|
1289
1295
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { u as getConfigDir } from "./config-CcefMY2Q.mjs";
|
|
2
2
|
import { a as formatElapsed } from "./command-output-8wHMEde0.mjs";
|
|
3
|
-
import { d as
|
|
3
|
+
import { d as releaseClaim, m as tryAcquireClaim, s as isClaimRefusal, u as readClaimSet } from "./ownership-claim-BtPtJVmq.mjs";
|
|
4
4
|
import { readdirSync, statSync } from "node:fs";
|
|
5
5
|
import { join } from "node:path";
|
|
6
6
|
//#region src/engine/build-slots.ts
|
package/dist/cli.mjs
CHANGED
|
@@ -3,19 +3,19 @@ import { readFileSync } from "node:fs";
|
|
|
3
3
|
import { Command } from "commander";
|
|
4
4
|
//#region bin/cli.ts
|
|
5
5
|
const commands = /* @__PURE__ */ new Map([
|
|
6
|
-
["doctor", () => import("./doctor-
|
|
7
|
-
["worktree", () => import("./worktree-
|
|
8
|
-
["start", () => import("./start-
|
|
9
|
-
["stop", () => import("./stop-
|
|
10
|
-
["ios", () => import("./ios-
|
|
11
|
-
["android", () => import("./android-
|
|
12
|
-
["reload", () => import("./reload-
|
|
13
|
-
["device", () => import("./device-
|
|
14
|
-
["logs", () => import("./logs-
|
|
15
|
-
["status", () => import("./status-
|
|
6
|
+
["doctor", () => import("./doctor-BueDfLYG.mjs")],
|
|
7
|
+
["worktree", () => import("./worktree-DtQGO9-s.mjs")],
|
|
8
|
+
["start", () => import("./start-B5G4NjiA.mjs")],
|
|
9
|
+
["stop", () => import("./stop-CQhffpmX.mjs")],
|
|
10
|
+
["ios", () => import("./ios-DAju3TVy.mjs")],
|
|
11
|
+
["android", () => import("./android-CT-PkXUh.mjs")],
|
|
12
|
+
["reload", () => import("./reload-CWpXoOgN.mjs")],
|
|
13
|
+
["device", () => import("./device-Bbv45Z9Z.mjs")],
|
|
14
|
+
["logs", () => import("./logs-CAdwW6c2.mjs")],
|
|
15
|
+
["status", () => import("./status-CI9clRSb.mjs")],
|
|
16
16
|
["stats", () => import("./stats-CaaQr4yN.mjs")],
|
|
17
|
-
["gc", () => import("./gc-
|
|
18
|
-
["guide", () => import("./guide-
|
|
17
|
+
["gc", () => import("./gc-BRu62v4o.mjs")],
|
|
18
|
+
["guide", () => import("./guide-D95E0u3i.mjs")]
|
|
19
19
|
]);
|
|
20
20
|
const pkg = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
|
|
21
21
|
const program = new Command();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as getExecutor } from "./exec-CyylIdq9.mjs";
|
|
2
2
|
import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-C7IlIzd7.mjs";
|
|
3
|
-
import { f as startBuildHeartbeat, h as bundlerPin, r as HEARTBEAT_INTERVAL_MS } from "./xcode-
|
|
3
|
+
import { f as startBuildHeartbeat, h as bundlerPin, r as HEARTBEAT_INTERVAL_MS } from "./xcode-xnxyvJkD.mjs";
|
|
4
4
|
import { existsSync, readFileSync } from "node:fs";
|
|
5
5
|
import { dirname, join, relative, resolve, sep } from "node:path";
|
|
6
6
|
import { homedir } from "node:os";
|
|
@@ -4,12 +4,12 @@ import { C as removeTemporaryEntry, S as makeTemporaryDirectory } from "./worktr
|
|
|
4
4
|
import { i as detectIsExpo, o as isPackageResolvable } from "./project-fKmuIaMI.mjs";
|
|
5
5
|
import { n as stripAnsi, r as waitForChild, t as createLineReader } from "./process-output-C7IlIzd7.mjs";
|
|
6
6
|
import { t as NOT_OURS_FOREIGN_CWD } from "./metro-CORqXyTL.mjs";
|
|
7
|
-
import { r as claimFailure } from "./ownership-claim-
|
|
8
|
-
import { V as releaseBuildLock, z as acquireBuildLock } from "./android-
|
|
7
|
+
import { r as claimFailure } from "./ownership-claim-BtPtJVmq.mjs";
|
|
8
|
+
import { V as releaseBuildLock, z as acquireBuildLock } from "./android-hMj83VpN.mjs";
|
|
9
9
|
import { i as expoBinRefusal, r as expoBinPath, t as cleanLine } from "./server-expo-DizT4OMk.mjs";
|
|
10
|
-
import { x as resolveEasCliBin } from "./teardown
|
|
10
|
+
import { x as resolveEasCliBin } from "./teardown--gESs9ck.mjs";
|
|
11
11
|
import { i as LAUNCH_BUNDLING, s as LAUNCH_UNVERIFIED } from "./app-install-DIp9riNx.mjs";
|
|
12
|
-
import { f as startBuildHeartbeat, p as tailLines, r as HEARTBEAT_INTERVAL_MS } from "./xcode-
|
|
12
|
+
import { f as startBuildHeartbeat, p as tailLines, r as HEARTBEAT_INTERVAL_MS } from "./xcode-xnxyvJkD.mjs";
|
|
13
13
|
import { existsSync, mkdirSync, readFileSync, readdirSync, realpathSync, statSync } from "node:fs";
|
|
14
14
|
import { createHash } from "node:crypto";
|
|
15
15
|
import { basename, join } from "node:path";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { V as validateDeviceSlot } from "./config-CcefMY2Q.mjs";
|
|
2
2
|
import { a as findProjectRoot } from "./project-fKmuIaMI.mjs";
|
|
3
3
|
import { r as clockTime } from "./command-output-8wHMEde0.mjs";
|
|
4
|
-
import { C as memoizeEmulatorProbe, P as resolvePhysicalDevice, i as androidPoolNoCandidatesRefusal, j as probeEmulatorSerial, k as physicalDeviceModel, r as androidPoolCandidates, y as listAdbDevices } from "./android-
|
|
5
|
-
import { f as takeLease, l as releaseWorkspaceLeases, n as fileLeaseIo, o as parseLeaseDuration } from "./device-lease-
|
|
6
|
-
import { d as waitForDevice, s as parseDeviceWait, t as selectFromPool } from "./device-pool-
|
|
4
|
+
import { C as memoizeEmulatorProbe, P as resolvePhysicalDevice, i as androidPoolNoCandidatesRefusal, j as probeEmulatorSerial, k as physicalDeviceModel, r as androidPoolCandidates, y as listAdbDevices } from "./android-hMj83VpN.mjs";
|
|
5
|
+
import { f as takeLease, l as releaseWorkspaceLeases, n as fileLeaseIo, o as parseLeaseDuration } from "./device-lease-CJwK7OZr.mjs";
|
|
6
|
+
import { d as waitForDevice, s as parseDeviceWait, t as selectFromPool } from "./device-pool-CcBNTvM7.mjs";
|
|
7
7
|
import { c as listIosDevices, o as iosPoolCandidates, s as iosPoolNoCandidatesRefusal, u as resolveIosPhysicalDevice } from "./ios-device-CWOM_S44.mjs";
|
|
8
8
|
import chalk from "chalk";
|
|
9
9
|
//#region src/commands/device.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { I as deviceSlotKey, R as parseDeviceSlotKey, V as validateDeviceSlot, k as withDirLock, u as getConfigDir } from "./config-CcefMY2Q.mjs";
|
|
2
2
|
import { _ as writeWorkspaceState, m as withWorkspaceStateLock, o as clearWorkspaceStateKeys, p as readWorkspaceState } from "./state-B3XA2wp2.mjs";
|
|
3
|
-
import { H as segment } from "./android-
|
|
3
|
+
import { H as segment } from "./android-hMj83VpN.mjs";
|
|
4
4
|
import { mkdirSync, readFileSync, readdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
5
5
|
import { randomBytes } from "node:crypto";
|
|
6
6
|
import { join } from "node:path";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { I as deviceSlotKey } from "./config-CcefMY2Q.mjs";
|
|
2
2
|
import { a as formatElapsed, r as clockTime } from "./command-output-8wHMEde0.mjs";
|
|
3
3
|
import { A as APP_READINESS_TIMEOUT_MS, l as VERIFY_TIMEOUT_MS } from "./app-install-DIp9riNx.mjs";
|
|
4
|
-
import { a as parseLease, c as releaseRunLease, d as selectPoolDevice, f as takeLease, n as fileLeaseIo, r as leaseIsExpired, s as raiseLease, t as deviceLeasePath } from "./device-lease-
|
|
4
|
+
import { a as parseLease, c as releaseRunLease, d as selectPoolDevice, f as takeLease, n as fileLeaseIo, r as leaseIsExpired, s as raiseLease, t as deviceLeasePath } from "./device-lease-CJwK7OZr.mjs";
|
|
5
5
|
//#region src/engine/device-lease-run.ts
|
|
6
6
|
const LEASE_STEP_FLOOR_MS = 6e4;
|
|
7
7
|
const DEBUG_VERIFY_STEP_MS = VERIFY_TIMEOUT_MS + APP_READINESS_TIMEOUT_MS;
|
|
@@ -3,7 +3,7 @@ import { k as withDirLock, u as getConfigDir } from "./config-CcefMY2Q.mjs";
|
|
|
3
3
|
import { D as workspaceLogsDir, O as workspaceName, T as workspaceDir, a as clearRemoteSession, c as readMetroTunnel, k as workspaceStateFile, u as readRemoteSession } from "./state-B3XA2wp2.mjs";
|
|
4
4
|
import { r as pidExists } from "./metro-CORqXyTL.mjs";
|
|
5
5
|
import { z as planMetroReach } from "./settings-DEJf6_kJ.mjs";
|
|
6
|
-
import { t as withWorkspaceProcessLock } from "./workspace-process-lock-
|
|
6
|
+
import { t as withWorkspaceProcessLock } from "./workspace-process-lock-IBj1Towr.mjs";
|
|
7
7
|
import { T as readMetroRecords, a as LAUNCH_ERROR, b as isBundleProof, p as devClientDeepLink, r as INSTALL_ERROR } from "./app-install-DIp9riNx.mjs";
|
|
8
8
|
import { S as sanitizeDeviceLabel } from "./ios-Deh5js5V.mjs";
|
|
9
9
|
import { existsSync, mkdirSync, readFileSync, realpathSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
@@ -4,13 +4,13 @@ import { b as sharedBuildCache, w as workspaceDerivedData } from "./state-B3XA2w
|
|
|
4
4
|
import { S as makeTemporaryDirectory, a as dirtyFingerprintFiles, f as listWorktrees, g as repoRoot, s as gitCommonDir, w as temporaryRoot, x as filesystemDevice } from "./worktree-Eq6TLH8N.mjs";
|
|
5
5
|
import { i as detectIsExpo, t as appProjectProblem } from "./project-fKmuIaMI.mjs";
|
|
6
6
|
import { d as quotedPath, u as plural } from "./command-output-8wHMEde0.mjs";
|
|
7
|
-
import { B as listBuildLocks, Z as fingerprintProject, q as diffFingerprintSources, y as listAdbDevices } from "./android-
|
|
7
|
+
import { B as listBuildLocks, Z as fingerprintProject, q as diffFingerprintSources, y as listAdbDevices } from "./android-hMj83VpN.mjs";
|
|
8
8
|
import { A as resolveSettings, E as remoteAndroidSetting, I as unknownSettingKeys, M as settingOrigin, N as settingShapeErrors, O as remoteIosSetting, P as settingsLayers, U as resolveOptimizations, V as compilerCacheFallbackMessage, a as SETTING_SHAPE_REMEDY, i as SETTINGS_WITH_RESOLVE_TIME_FALLBACK, n as PATH_SETTINGS, v as iosSimSlimProfileSetting, w as projectOptimizations, y as mergeSettingsLayers } from "./settings-DEJf6_kJ.mjs";
|
|
9
|
-
import { a as POOL_SETTING_REMEDY, b as providerFromConfig, c as parkedMaxSetting, m as checkEasAuth$1, x as resolveEasCliBin, y as ownerFromConfig } from "./teardown
|
|
9
|
+
import { a as POOL_SETTING_REMEDY, b as providerFromConfig, c as parkedMaxSetting, m as checkEasAuth$1, x as resolveEasCliBin, y as ownerFromConfig } from "./teardown--gESs9ck.mjs";
|
|
10
10
|
import { E as readHostMemoryPressure, T as hostMemoryPressureAdvice, u as listAllIosSims } from "./ios-Deh5js5V.mjs";
|
|
11
|
-
import { n as listBuildSlots } from "./build-slots-
|
|
12
|
-
import {
|
|
13
|
-
import { d as projectCmakeLauncher, i as apkOutputsDir, r as resolveAndroidCompilerCache, t as readAndroidCasToolchain } from "./android-cas-
|
|
11
|
+
import { n as listBuildSlots } from "./build-slots-C4AouyNz.mjs";
|
|
12
|
+
import { C as liveOwnedDeviceCount, D as simslimIsOnPath, a as ccacheEnabled, g as podInstallCommand } from "./xcode-xnxyvJkD.mjs";
|
|
13
|
+
import { d as projectCmakeLauncher, i as apkOutputsDir, r as resolveAndroidCompilerCache, t as readAndroidCasToolchain } from "./android-cas-DXorPCi_.mjs";
|
|
14
14
|
import { existsSync, lstatSync, readFileSync, readdirSync, realpathSync, rmSync } from "node:fs";
|
|
15
15
|
import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
16
16
|
import { existsSync as existsSync$1, lstatSync as lstatSync$1, readFileSync as readFileSync$1, readdirSync as readdirSync$1, realpathSync as realpathSync$1, rmSync as rmSync$1 } from "fs";
|
|
@@ -2,8 +2,8 @@ import { t as getExecutor } from "./exec-CyylIdq9.mjs";
|
|
|
2
2
|
import { g as repoRoot } from "./worktree-Eq6TLH8N.mjs";
|
|
3
3
|
import { a as findProjectRoot } from "./project-fKmuIaMI.mjs";
|
|
4
4
|
import { l as phaseLine } from "./command-output-8wHMEde0.mjs";
|
|
5
|
-
import { s as detectXcodeMajor } from "./xcode-
|
|
6
|
-
import { c as repairCxxLauncherState, n as detectFingerprintParity, r as detectLinkedLibraryGitMetadata, s as runDoctor } from "./doctor-
|
|
5
|
+
import { s as detectXcodeMajor } from "./xcode-xnxyvJkD.mjs";
|
|
6
|
+
import { c as repairCxxLauncherState, n as detectFingerprintParity, r as detectLinkedLibraryGitMetadata, s as runDoctor } from "./doctor-B4EITgQB.mjs";
|
|
7
7
|
import { accessSync, constants, realpathSync, statSync } from "node:fs";
|
|
8
8
|
import { InvalidArgumentError } from "commander";
|
|
9
9
|
import { delimiter, join, resolve } from "node:path";
|
|
@@ -5,9 +5,9 @@ import { n as deviceConsoleLevel } from "./ios-device-D3pzTKQE.mjs";
|
|
|
5
5
|
import { i as resolveProjectMetro } from "./metro-CORqXyTL.mjs";
|
|
6
6
|
import { n as parseLogcatLine, t as androidClockOffset } from "./android-BW8i_YxU.mjs";
|
|
7
7
|
import { _ as launchErrorPreview } from "./command-output-8wHMEde0.mjs";
|
|
8
|
-
import { n as androidHome } from "./android-
|
|
9
|
-
import { a as parseLease, n as fileLeaseIo, t as deviceLeasePath } from "./device-lease-
|
|
10
|
-
import {
|
|
8
|
+
import { n as androidHome } from "./android-hMj83VpN.mjs";
|
|
9
|
+
import { a as parseLease, n as fileLeaseIo, t as deviceLeasePath } from "./device-lease-CJwK7OZr.mjs";
|
|
10
|
+
import { l as readLogRecords, t as attachExpoErrorContext } from "./logs-query-Cdp5aaCH.mjs";
|
|
11
11
|
import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
12
12
|
import { createHash, randomUUID } from "node:crypto";
|
|
13
13
|
import { basename, dirname, join, resolve, sep } from "node:path";
|
|
@@ -5,15 +5,15 @@ import { T as workspaceDir, k as workspaceStateFile } from "./state-B3XA2wp2.mjs
|
|
|
5
5
|
import { g as repoRoot, s as gitCommonDir } from "./worktree-Eq6TLH8N.mjs";
|
|
6
6
|
import { a as findProjectRoot, i as detectIsExpo } from "./project-fKmuIaMI.mjs";
|
|
7
7
|
import { m as shortUdid, o as formatLongDuration, u as plural } from "./command-output-8wHMEde0.mjs";
|
|
8
|
-
import {
|
|
9
|
-
import { B as listBuildLocks, S as listOrphanedAvdDirectories, T as ownedAvdDirectory, b as listAvds } from "./android-
|
|
8
|
+
import { o as clearFreeClaimSet, u as readClaimSet } from "./ownership-claim-BtPtJVmq.mjs";
|
|
9
|
+
import { B as listBuildLocks, S as listOrphanedAvdDirectories, T as ownedAvdDirectory, b as listAvds } from "./android-hMj83VpN.mjs";
|
|
10
10
|
import { A as resolveSettings, N as settingShapeErrors, a as SETTING_SHAPE_REMEDY } from "./settings-DEJf6_kJ.mjs";
|
|
11
|
-
import { a as POOL_SETTING_REMEDY, c as parkedMaxSetting, i as teardownParkedIosSim, l as readParked, n as teardownOwnedIosSim, r as teardownParkedAvd, s as dropParked, t as teardownOwnedAvd, x as resolveEasCliBin } from "./teardown
|
|
11
|
+
import { a as POOL_SETTING_REMEDY, c as parkedMaxSetting, i as teardownParkedIosSim, l as readParked, n as teardownOwnedIosSim, r as teardownParkedAvd, s as dropParked, t as teardownOwnedAvd, x as resolveEasCliBin } from "./teardown--gESs9ck.mjs";
|
|
12
12
|
import { d as listIosDeviceTypes, g as parseRuntimeVersion, u as listAllIosSims } from "./ios-Deh5js5V.mjs";
|
|
13
|
-
import { i as listLeaseFiles, r as leaseIsExpired, u as removeExpiredLease } from "./device-lease-
|
|
14
|
-
import { n as listBuildSlots } from "./build-slots-
|
|
15
|
-
import { C as verifyStoppedSession, S as stopSessionArgs, _ as inspectSessionForTeardown, d as withEasProjectLock, f as easMachineStateRoot, g as getSessionArgs, h as findOrphanedOwnedSessions, m as removeEasSessionClaim, p as readEasSessionLedger, u as withRemoteSessionLock, v as isDefinitiveMissingSessionError, x as parseSessionListPage, y as listOwnedSessionsArgs } from "./device-remote-
|
|
16
|
-
import { n as reclaimProject, t as describeDereferenced } from "./reclaim-
|
|
13
|
+
import { i as listLeaseFiles, r as leaseIsExpired, u as removeExpiredLease } from "./device-lease-CJwK7OZr.mjs";
|
|
14
|
+
import { n as listBuildSlots } from "./build-slots-C4AouyNz.mjs";
|
|
15
|
+
import { C as verifyStoppedSession, S as stopSessionArgs, _ as inspectSessionForTeardown, d as withEasProjectLock, f as easMachineStateRoot, g as getSessionArgs, h as findOrphanedOwnedSessions, m as removeEasSessionClaim, p as readEasSessionLedger, u as withRemoteSessionLock, v as isDefinitiveMissingSessionError, x as parseSessionListPage, y as listOwnedSessionsArgs } from "./device-remote-DAA0Zm6Z.mjs";
|
|
16
|
+
import { n as reclaimProject, t as describeDereferenced } from "./reclaim-CUmwucWG.mjs";
|
|
17
17
|
import { InvalidArgumentError } from "commander";
|
|
18
18
|
import { existsSync, readFileSync, readdirSync, realpathSync, rmSync, statSync } from "fs";
|
|
19
19
|
import { homedir, tmpdir } from "os";
|