stim 1.23.1 → 1.25.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-zA4S7RHE.mjs} +2 -2
- package/dist/{act-vxiMwdf5.mjs → act-BbHS3oV8.mjs} +41 -26
- package/dist/{activity-BpWUPgUm.mjs → activity-BpjwrQXU.mjs} +6 -6
- package/dist/{agent-device-usage-output-CUlLsbRt.mjs → agent-device-usage-output-Bnkerfod.mjs} +5 -5
- package/dist/{android-DtfRGLcc.mjs → android-BGwuK3Mc.mjs} +75 -50
- package/dist/{android-CLi6DSiS.mjs → android-CNZgRC-4.mjs} +5 -5
- package/dist/{android-C7sVmyI9.mjs → android-Cjcj8MCw.mjs} +140 -46
- package/dist/{android-cas-ngferVq2.mjs → android-cas-BVqh2Zep.mjs} +3 -3
- package/dist/android-cas-compiler.mjs +1 -1
- package/dist/{android-project-DVWyCbWU.d.mts → android-project-CTYaETc0.d.mts} +6 -2
- package/dist/{android-DR5lZ2Az.mjs → android-saBeB4lr.mjs} +13 -3
- package/dist/api.d.mts +22 -5
- package/dist/api.mjs +32 -31
- package/dist/{artifact-Xvgibgzq.mjs → artifact-Co8zixVx.mjs} +19 -17
- package/dist/{artifact-DBI3DALs.mjs → artifact-DN8JNwqS.mjs} +18 -17
- package/dist/{artifact-platform-CXcmX_j3.mjs → artifact-platform-CMRc0M_r.mjs} +3 -3
- package/dist/{browser-web-BJN9ZHxB.mjs → browser-web-CCgZsHmI.mjs} +16 -17
- package/dist/{budget-3ivAK99e.mjs → budget-HyShrIpL.mjs} +149 -47
- package/dist/{build-Dv9s8Fz-.mjs → build-CAiw8Ezm.mjs} +33 -29
- package/dist/{build-cache-Dv7RN200.mjs → build-cache-CKCzxzxA.mjs} +172 -21
- package/dist/{build-plan-BmbdHQbr.mjs → build-plan-zCuHGlA8.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-h1FKhZeg.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-C4w607Pz.mjs} +20 -20
- package/dist/cli.mjs +1 -1
- package/dist/{client-B4MMzfo_.mjs → client-BQsmyp_-.mjs} +274 -39
- package/dist/collector-run.mjs +6 -6
- package/dist/{command-output-YKGWivpG.mjs → command-output-BBvS1H6v.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-BwNCYG5Q.mjs} +2 -2
- package/dist/{detached-entry-BwNEtIrP.mjs → detached-entry-KmieOKgN.mjs} +1 -1
- package/dist/{dev-client-BFxiDpkf.mjs → dev-client-CHoXXZeg.mjs} +3 -3
- package/dist/{device-CiNYxqp6.mjs → device-B9FqTBYW.mjs} +81 -54
- package/dist/{device-B7ljwccX.mjs → device-F5-4z9ef.mjs} +16 -16
- package/dist/{device-capacity-DH0QsZYZ.mjs → device-capacity-ZYaRALv5.mjs} +20 -16
- package/dist/device-host-worker.mjs +17 -17
- package/dist/{device-ios-CbVDtDIy.mjs → device-ios-DkHBrmvH.mjs} +32 -50
- package/dist/{device-lease-run-DXPSwdbb.mjs → device-lease-run-ogEeJ62K.mjs} +6 -6
- package/dist/{device-pool-B4iOXIrD.mjs → device-pool-BIg8MU8l.mjs} +3 -3
- package/dist/{doctor-DRu-8ld6.mjs → doctor-A_Nr_fDe.mjs} +1 -1
- package/dist/{doctor-HUC1igzw.mjs → doctor-Bm8TVpGn.mjs} +37 -31
- package/dist/{doctor-fingerprint-DZLoYFVb.mjs → doctor-fingerprint-zlujA1Gs.mjs} +1 -1
- package/dist/doctor-fingerprint.mjs +1 -1
- package/dist/{doctor-C6t4Maue.mjs → doctor-k3P3PizH.mjs} +14 -14
- package/dist/{doctor-watchman-iGBpC6KM.mjs → doctor-watchman-BovI1y3-.mjs} +5 -5
- package/dist/{eas-build-DMWSSvxq.mjs → eas-build-CyDKNTBP.mjs} +4 -4
- package/dist/{eas-fallback-vKlrqxgE.mjs → eas-fallback-gaZi-dJL.mjs} +16 -15
- package/dist/{eas-session-ledger-BQF9Yyy9.mjs → eas-session-ledger-BMCA1gdO.mjs} +12 -8
- package/dist/{error-diagnostics-DYsjJIHz.mjs → error-diagnostics-B1Mj_-7h.mjs} +17 -42
- package/dist/{errors-ccaPc4ox.mjs → errors-DHm_U5gv.mjs} +2 -1
- package/dist/{exec-DEoAhcze.mjs → exec-VFRpu1iA.mjs} +116 -28
- package/dist/{gc-BW8E1uSC.mjs → gc-B9jcnmIk.mjs} +205 -28
- package/dist/{gc-dDE4QPVu.mjs → gc-eaz403W6.mjs} +2 -2
- package/dist/{guide-DYYEO3Wz.mjs → guide-DR0K0xW9.mjs} +328 -89
- package/dist/{hosted-android-xcfgCgSF.mjs → hosted-android-Bvb2-ZxD.mjs} +4 -4
- package/dist/{hosted-client-Bt-tndxV.mjs → hosted-client-rsRqysJc.mjs} +4 -4
- package/dist/{hosted-ios-y19jCYFF.mjs → hosted-ios-RtVcJH3u.mjs} +1 -1
- package/dist/{hosted-logs-DzJKzKlj.mjs → hosted-logs-CWKGYWNX.mjs} +11 -6
- package/dist/{hosted-macos-BJusKvqL.mjs → hosted-macos-d0pv9Tth.mjs} +7 -7
- package/dist/{hosted-native-BmQC6U_x.mjs → hosted-native-BxTizGU2.mjs} +58 -11
- package/dist/{idle-shutdown-CJmUOV5x.mjs → idle-shutdown-BIyfl0Zj.mjs} +10 -10
- package/dist/{ios-hcBpnEGk.mjs → ios-BQzvJlzw.mjs} +122 -17
- package/dist/{ios-CWjqfSm_.mjs → ios-BRVM8b0P.mjs} +81 -49
- package/dist/{ios-DTOYZGMJ.mjs → ios-Dvt97HgQ.mjs} +8 -8
- 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-CKSvk0bu.mjs} +3 -3
- package/dist/{ios-project-CSZYI1iu.mjs → ios-project-DCUDo06I.mjs} +5 -5
- package/dist/{ios-signing-BtAffm0A.mjs → ios-signing-4c_qXvQm.mjs} +2 -2
- package/dist/{ios-state-Dtw5K2aI.mjs → ios-state-CT9nV5SP.mjs} +15 -7
- package/dist/{js-swap-BSBHldmm.mjs → js-swap-Z9HbC4cj.mjs} +7 -6
- package/dist/{launch-D-zq8SHG.mjs → launch-D0lPvFFu.mjs} +49 -30
- package/dist/{launch-CP2wDCVd.mjs → launch-DscF1QfM.mjs} +52 -50
- package/dist/{logs-pNvA2hHK.mjs → logs-BsIRre8x.mjs} +16 -9
- package/dist/{logs-By5aw3g9.mjs → logs-Crs9y34Z.mjs} +8 -6
- package/dist/{macos-CPMahOC2.mjs → macos-CcUlJPMu.mjs} +1 -1
- package/dist/{macos-C67FZ2ft.mjs → macos-D477nfzH.mjs} +49 -42
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +7 -7
- package/dist/{metro-DiXtA3Ty.mjs → metro-1pJgCX4U.mjs} +4 -4
- package/dist/{metro-gateway-CKZqKqx7.mjs → metro-gateway-Bp9gJQAN.mjs} +3 -4
- package/dist/{named-ports-DkEzOfzO.mjs → named-ports-BVbn8SvC.mjs} +3 -3
- package/dist/{native-android-_MWSs3PP.mjs → native-android-BvMizJn1.mjs} +17 -17
- package/dist/{native-gradle-artifact-inputs-DHFnmrVf.mjs → native-gradle-artifact-inputs-BJscK4vN.mjs} +5 -5
- package/dist/{native-run-Dv88i0aU.mjs → native-run-D5OJsGwA.mjs} +6 -6
- package/dist/{native-runtime-DBRfY_PN.mjs → native-runtime-B9w_Qyz3.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-Cv4l-obn.mjs} +2 -2
- package/dist/{native-xcode-ios-vFgqL_yS.mjs → native-xcode-ios-DGrg90hE.mjs} +21 -20
- package/dist/offload-worker.d.mts +12 -4
- package/dist/offload-worker.mjs +78 -43
- package/dist/{operation-exec-BW0em61G.mjs → operation-exec-CUZifp6Z.mjs} +2 -25
- package/dist/{ownership-C5fo5Edb.mjs → ownership-jxxz-19m.mjs} +3 -3
- package/dist/{page-DBL2PiUU.mjs → page-CzEA_-5_.mjs} +2 -3
- package/dist/phone-reverses-CYb7RRAx.mjs +57 -0
- package/dist/{placement-log-BnGgJRRZ.mjs → placement-log-DjOXJRIH.mjs} +1 -1
- package/dist/{plan-placement-cr0fEU7b.mjs → plan-placement-BqKgKHCi.mjs} +3 -3
- package/dist/{ports-DpXjKkSV.mjs → ports-DtS1Amb0.mjs} +3 -3
- package/dist/{prebuild-BligW0QS.mjs → prebuild-JUaqOLpc.mjs} +14 -9
- package/dist/{project-DhCtQWWU.mjs → project-BiC68mIp.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-DRYqoJc4.mjs} +76 -32
- package/dist/{react-native-build-CelbTO_y.mjs → react-native-build-CwZB-agu.mjs} +23 -20
- package/dist/{react-native-doctor-LTIaP7lv.mjs → react-native-doctor-BCrytK7h.mjs} +10 -9
- package/dist/{react-native-ios-C5W0SA6f.mjs → react-native-ios-Cr1buNFo.mjs} +41 -24
- package/dist/{recordings-CQmfzAh7.mjs → recordings-BaoQ0t-J.mjs} +1 -1
- package/dist/{registration-BcRgF6Ox.mjs → registration-CN6nlhcD.mjs} +1 -1
- package/dist/{reload-QcwnYLYV.mjs → reload-Beftw2X3.mjs} +1 -1
- package/dist/{reload-COJWTbae.mjs → reload-FbSgMF8x.mjs} +144 -42
- package/dist/{remote-DR8qUERM.mjs → remote-BuZj6AyU.mjs} +16 -7
- package/dist/{result-utnBea7x.mjs → result-CR2vk2cj.mjs} +41 -18
- package/dist/{run-DidHghD1.mjs → run-BtzE09Dl.mjs} +2 -2
- package/dist/{selection-DSMbWEX2.mjs → selection-D5cxEl3t.mjs} +13 -7
- package/dist/{server-bare-CafzuyFB.mjs → server-bare-CH9X0RLn.mjs} +56 -4
- package/dist/{server-command-B9o92sLM.mjs → server-command-CaBbDNU2.mjs} +5 -5
- package/dist/server-expo-C16Zf2k7.mjs +2 -0
- package/dist/{server-expo-BXrWxNYh.mjs → server-expo-Ck8EIidM.mjs} +14 -9
- package/dist/{settings-C7O8A6ZI.mjs → settings-B5tCoq9N.mjs} +132 -39
- package/dist/{settings-PfJx8uK1.mjs → settings-DzH9mGQZ.mjs} +1 -1
- package/dist/{settings-write-Chuy7Cte.mjs → settings-write-n0zwfohx.mjs} +7 -7
- package/dist/settings.schema.json +51 -0
- package/dist/{simslim-BNckWpXi.mjs → simslim-BjxszUAb.mjs} +22 -7
- package/dist/{slot-launch-B7AuoWJv.mjs → slot-launch-QeuJMlnJ.mjs} +6 -6
- package/dist/{stage-C4u17aES.mjs → stage-D8xlRU2D.mjs} +2 -3
- package/dist/{start-BL_BsiWt.mjs → start-C1JLjkNw.mjs} +1 -1
- package/dist/{start-CU8mCPC7.mjs → start-YMpNwLhh.mjs} +75 -35
- package/dist/{state--smjFSTL.mjs → state-DMRNP7-4.mjs} +4 -4
- package/dist/{state-08I3hw3_.mjs → state-DPaM3u5K.mjs} +2 -2
- package/dist/{stats-CO6sK0Nh.mjs → stats-CP7STzZw.mjs} +5 -5
- package/dist/{stats-report-BzaPrRm6.mjs → stats-report-n2U5plhk.mjs} +1 -1
- package/dist/{status-_WPHzVft.mjs → status-CRLiJ-O_.mjs} +24 -24
- package/dist/{status-BRROykC8.mjs → status-Fect2w9R.mjs} +1 -1
- package/dist/{status-CrJutl6-.mjs → status-cNw6i0_t.mjs} +1 -1
- package/dist/{status-watch-BHFasOZN.mjs → status-watch-Bc2J4TZn.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-Br7LKxBE.mjs} +2 -2
- package/dist/{stop-CR5689oB.mjs → stop-COP6PQqw.mjs} +5 -5
- package/dist/{stop-BJ06ipTZ.mjs → stop-Db9Kh-UA.mjs} +109 -56
- package/dist/supervisor-run.mjs +17 -17
- package/dist/{support-CbXPbUMJ.mjs → support-Cxj9CmII.mjs} +6 -6
- package/dist/{support-TWuQlHQo.mjs → support-qKcbgmI5.mjs} +14 -11
- package/dist/{swiftpm-artifact-inputs-DFcGsXDP.mjs → swiftpm-artifact-inputs-iY9fsmOc.mjs} +4 -4
- package/dist/{swiftpm-macos-DbwGCpZg.mjs → swiftpm-macos-Bp_sn9P4.mjs} +15 -14
- package/dist/{toolchain-XkA2PfJZ.mjs → toolchain-DB1aeqxO.mjs} +1 -1
- package/dist/{toolchain-B9hCFCQw.mjs → toolchain-VzLJzZ7O.mjs} +69 -37
- 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-BV3ZPmcY.mjs} +6 -6
- package/dist/{web-DRF_oFXk.mjs → web-B4Yjyt1G.mjs} +12 -10
- package/dist/web-DS4UDWvf.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-CPSp3mav.mjs} +11 -4
- package/dist/{workspaces-e41xsjKr.mjs → workspaces-C9w4aeXF.mjs} +36 -32
- package/dist/{worktree-B4Nj3EGS.mjs → worktree-CclFIe1Z.mjs} +324 -99
- package/dist/{worktree-BEwxVwKF.mjs → worktree-Ct9Gk3KL.mjs} +1 -1
- package/dist/{xcode-Rq744mBF.mjs → xcode-CiIIDnuD.mjs} +42 -28
- package/package.json +7 -7
- package/shim/bundle-response.cjs +53 -1
- package/shim/bundle-response.d.cts +1 -1
- package/shim/expo-metro-config.cjs +23 -1
- package/dist/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,30 +1,29 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as throwIfCancelled, s as cancelledError, x as withDrainingCancellation } from "./exec-VFRpu1iA.mjs";
|
|
2
2
|
import { d as workspaceDir, m as workspaceLogsDir } from "./paths-DQtTgsBf.mjs";
|
|
3
|
-
import { E as upsertProject, p as getProject, u as getConcurrencyLimits } from "./config-
|
|
4
|
-
import { l as phaseLine } from "./command-output-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
3
|
+
import { E as upsertProject, O as withConfigLockAsync, p as getProject, u as getConcurrencyLimits } from "./config-BZhXY15H.mjs";
|
|
4
|
+
import { l as phaseLine } from "./command-output-BBvS1H6v.mjs";
|
|
5
|
+
import { a as recordWorkspaceUseAsync } from "./workspace-state-CPSp3mav.mjs";
|
|
6
|
+
import { K as resolveCacheProviderConfig, Y as resolveProjectSettingsAsync, a as SETTING_SHAPE_REMEDY } from "./settings-B5tCoq9N.mjs";
|
|
7
|
+
import { f as projectRegistry, v as detectIsExpo } from "./project-BiC68mIp.mjs";
|
|
8
|
+
import { s as workspaceShareURL } from "./stim-desktop-DS0mzR8U.mjs";
|
|
9
|
+
import { k as hostSystemImageArch } from "./android-Cjcj8MCw.mjs";
|
|
9
10
|
import { r as createNdjsonWriter } from "./ndjson-CgE_o3Dl.mjs";
|
|
10
|
-
import { B as recordFinishedBuild,
|
|
11
|
-
import { d as runCancellationSignal, f as withNativeBuildRun } from "./native-run-
|
|
12
|
-
import {
|
|
13
|
-
import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import { n as
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import { a as lastBuildRecord } from "./ios-project-CSZYI1iu.mjs";
|
|
27
|
-
import { t as acquireIosArtifact } from "./artifact-DBI3DALs.mjs";
|
|
11
|
+
import { B as recordFinishedBuild, G as createRunRecorder, H as startBuildProgress, K as readRunEstimates, Qn as uploadRemote, U as tapBuildLog, Un as checkEasAuth, X as recordRunStats, Z as statsProjectKey, Zn as resolveRemote } from "./budget-HyShrIpL.mjs";
|
|
12
|
+
import { d as runCancellationSignal, f as withNativeBuildRun } from "./native-run-D5OJsGwA.mjs";
|
|
13
|
+
import { L as acquireBuildSlot, z as releaseBuildSlot } from "./workspaces-C9w4aeXF.mjs";
|
|
14
|
+
import { F as waitForBuild, M as acquireBuildLock, P as releaseBuildLock } from "./activity-BpjwrQXU.mjs";
|
|
15
|
+
import { _ as providerUploadOutcome, x as storedAppId } from "./build-cache-CKCzxzxA.mjs";
|
|
16
|
+
import { m as listIosRuntimes } from "./ios-BQzvJlzw.mjs";
|
|
17
|
+
import { d as optimizationBuildProfile, l as artifactCachePolicy } from "./errors-DHm_U5gv.mjs";
|
|
18
|
+
import { p as readBundleId } from "./xcode-CiIIDnuD.mjs";
|
|
19
|
+
import { S as setRemoteLogSink } from "./client-BQsmyp_-.mjs";
|
|
20
|
+
import { c as resolveBuildPlacement } from "./selection-D5cxEl3t.mjs";
|
|
21
|
+
import { c as iosProjectPathError, g as resolveIosBuildSetup, m as resolveConfiguration, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-qKcbgmI5.mjs";
|
|
22
|
+
import { n as ensureWorkspaceStorageSafely } from "./native-runtime-B9w_Qyz3.mjs";
|
|
23
|
+
import { t as acquireAndroidArtifact } from "./artifact-Co8zixVx.mjs";
|
|
24
|
+
import { a as persistLastBuild, l as resolveAndroidBuildPlan, n as finishAndroidUpload } from "./result-CR2vk2cj.mjs";
|
|
25
|
+
import { a as lastBuildRecord } from "./ios-project-DCUDo06I.mjs";
|
|
26
|
+
import { t as acquireIosArtifact } from "./artifact-DN8JNwqS.mjs";
|
|
28
27
|
import { constants, promises } from "node:fs";
|
|
29
28
|
import { basename, join } from "node:path";
|
|
30
29
|
import { hostSimulatorArch } from "@stim-cli/core";
|
|
@@ -74,8 +73,10 @@ async function buildAndroidOperation(context, root, options, { artifactScope, ca
|
|
|
74
73
|
command: "build",
|
|
75
74
|
platform: "android"
|
|
76
75
|
}, async (claim) => {
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
await withConfigLockAsync(() => {
|
|
77
|
+
if (!getProject(root)) upsertProject(root, {});
|
|
78
|
+
});
|
|
79
|
+
await recordWorkspaceUseAsync(root, /* @__PURE__ */ new Date(), context.env, context.cwd, context.signal);
|
|
79
80
|
const started = Date.now();
|
|
80
81
|
const startedAt = new Date(started).toISOString();
|
|
81
82
|
const progress = startBuildProgress({
|
|
@@ -181,6 +182,7 @@ async function buildAndroidOperation(context, root, options, { artifactScope, ca
|
|
|
181
182
|
resolveRemoteBuild: resolveRemote,
|
|
182
183
|
uploadRemoteBuild: uploadRemote,
|
|
183
184
|
loadCacheProviderModule: loadCacheProvider,
|
|
185
|
+
storedAppId,
|
|
184
186
|
acquireSlot: acquireBuildSlot,
|
|
185
187
|
releaseSlot: releaseBuildSlot,
|
|
186
188
|
now: Date.now
|
|
@@ -303,8 +305,10 @@ async function buildIosOperation(context, root, options) {
|
|
|
303
305
|
command: "build",
|
|
304
306
|
platform: "ios"
|
|
305
307
|
}, async (claim) => {
|
|
306
|
-
|
|
307
|
-
|
|
308
|
+
await withConfigLockAsync(() => {
|
|
309
|
+
if (!getProject(root)) upsertProject(root, {});
|
|
310
|
+
});
|
|
311
|
+
await recordWorkspaceUseAsync(root, /* @__PURE__ */ new Date(), context.env, context.cwd, context.signal);
|
|
308
312
|
const started = Date.now();
|
|
309
313
|
const startedAt = new Date(started).toISOString();
|
|
310
314
|
const progress = startBuildProgress({
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as throwIfCancelled, t as getExecutor, x as withDrainingCancellation } from "./exec-VFRpu1iA.mjs";
|
|
2
2
|
import { i as sharedBuildCache } from "./paths-DQtTgsBf.mjs";
|
|
3
|
-
import { a as killOnAbort, c as gitQuiet,
|
|
4
|
-
import { m as defaultAndroidLayout } from "./settings-
|
|
5
|
-
import { r as register } from "./cache-manifest-
|
|
3
|
+
import { a as killOnAbort, c as gitQuiet, o as git, r as childEnvironment, s as gitAsync } from "./operation-exec-CUZifp6Z.mjs";
|
|
4
|
+
import { m as defaultAndroidLayout } from "./settings-B5tCoq9N.mjs";
|
|
5
|
+
import { r as register } from "./cache-manifest-BPXRONJz.mjs";
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
7
7
|
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
|
|
8
8
|
import { join } from "node:path";
|
|
9
9
|
import { artifactIn, buildCacheKey, resolveArtifact, storeArtifactAsync } from "@stim-cli/core";
|
|
10
|
-
import { join as join$1, posix as posix$1, relative as relative$1, sep as sep$1 } from "path";
|
|
11
|
-
import { existsSync as existsSync$1, mkdirSync as mkdirSync$1, readFileSync as readFileSync$1, readdirSync as readdirSync$1, realpathSync as realpathSync$1, rmSync as rmSync$1, statSync as statSync$1 } from "fs";
|
|
12
|
-
import { writeFile } from "node:fs/promises";
|
|
10
|
+
import { isAbsolute as isAbsolute$1, join as join$1, posix as posix$1, relative as relative$1, resolve as resolve$1, sep as sep$1 } from "path";
|
|
11
|
+
import { existsSync as existsSync$1, lstatSync as lstatSync$1, mkdirSync as mkdirSync$1, readFileSync as readFileSync$1, readdirSync as readdirSync$1, realpathSync as realpathSync$1, rmSync as rmSync$1, statSync as statSync$1 } from "fs";
|
|
12
|
+
import { readdir, writeFile } from "node:fs/promises";
|
|
13
13
|
import { isDeepStrictEqual } from "util";
|
|
14
14
|
import * as expoFingerprint from "@expo/fingerprint";
|
|
15
15
|
import { loadConfigAsync } from "@expo/fingerprint/build/Config.js";
|
|
16
|
+
import { normalizeOptionsAsync } from "@expo/fingerprint/build/Options.js";
|
|
17
|
+
import { isIgnoredPathWithMatchObjects } from "@expo/fingerprint/build/utils/Path.js";
|
|
16
18
|
import { buildUploadTimeoutMs } from "@stim-cli/cache";
|
|
17
19
|
const ASSET_MANIFEST_FILE = "assets-manifest.json";
|
|
18
20
|
const MAX_DEPTH = 4;
|
|
@@ -174,7 +176,22 @@ const FINGERPRINT_PLATFORMS = /* @__PURE__ */ new Set(["ios", "android"]);
|
|
|
174
176
|
* a lockfile with machine paths, a generated report -- belongs in that
|
|
175
177
|
* project's `.fingerprintignore`, which still applies on top of this.
|
|
176
178
|
*/
|
|
177
|
-
const DEFAULT_FINGERPRINT_IGNORES = [
|
|
179
|
+
const DEFAULT_FINGERPRINT_IGNORES = [
|
|
180
|
+
"**/android/local.properties",
|
|
181
|
+
"**/android/.idea/**",
|
|
182
|
+
"**/*.xcodeproj/xcuserdata/**/*"
|
|
183
|
+
];
|
|
184
|
+
/**
|
|
185
|
+
* `react-native bundle` output, ignored only while an ignore pattern matches it: a committed copy can be a native
|
|
186
|
+
* resource, while a Debug build loads JS from Metro and a release cache hit injects the current JS. The match skips
|
|
187
|
+
* the index, so a force-added copy counts the same on a build worker, whose mirror index is empty. A build worker
|
|
188
|
+
* has only the synced .gitignore files, so the client sends the paths it ignored (`ignoredFingerprintPaths`) for
|
|
189
|
+
* those it ignores through .git/info/exclude or a global excludes file.
|
|
190
|
+
*/
|
|
191
|
+
const BUNDLE_OUTPUT_IGNORES = {
|
|
192
|
+
"ios/main.jsbundle": "ios/main.jsbundle",
|
|
193
|
+
"ios/assets": "ios/assets/**/*"
|
|
194
|
+
};
|
|
178
195
|
const APP_ROOT_IOS_SKIPPED = /* @__PURE__ */ new Set([
|
|
179
196
|
"node_modules",
|
|
180
197
|
"Pods",
|
|
@@ -184,10 +201,12 @@ const APP_ROOT_IOS_SKIPPED = /* @__PURE__ */ new Set([
|
|
|
184
201
|
".DS_Store",
|
|
185
202
|
".stim.json"
|
|
186
203
|
]);
|
|
187
|
-
|
|
204
|
+
const appRootNames = (entries) => entries.filter((name) => !APP_ROOT_IOS_SKIPPED.has(name) && !name.startsWith(".watchman-cookie-"));
|
|
205
|
+
function gitIgnoredNames(projectRoot, names, noIndex = false) {
|
|
188
206
|
if (names.length === 0) return /* @__PURE__ */ new Set();
|
|
189
207
|
const out = gitQuiet(projectRoot, [
|
|
190
208
|
"check-ignore",
|
|
209
|
+
...noIndex ? ["--no-index"] : [],
|
|
191
210
|
"--",
|
|
192
211
|
...names
|
|
193
212
|
]);
|
|
@@ -211,7 +230,7 @@ function iosProjectFingerprintOptions(projectRoot, iosProjectPath, { list = (dir
|
|
|
211
230
|
reasons
|
|
212
231
|
}];
|
|
213
232
|
if (appRoot) {
|
|
214
|
-
const names = list(projectRoot)
|
|
233
|
+
const names = appRootNames(list(projectRoot));
|
|
215
234
|
const skip = ignored(projectRoot, names);
|
|
216
235
|
extraSources = names.filter((name) => !skip.has(name)).toSorted((a, b) => a.localeCompare(b)).map((filePath) => ({
|
|
217
236
|
type: isDirectory(join$1(projectRoot, filePath)) ? "dir" : "file",
|
|
@@ -274,17 +293,51 @@ function androidProjectFingerprintOptions(projectRoot, layout, exists = existsSy
|
|
|
274
293
|
].map((dir) => `${moduleRel}/${dir}/**/*`)
|
|
275
294
|
};
|
|
276
295
|
}
|
|
277
|
-
|
|
296
|
+
/**
|
|
297
|
+
* The bundle output and, with `ios.projectPath` '.', the top-level entries that git ignores here for an iOS
|
|
298
|
+
* fingerprint, as the paths a build worker needs to ignore the same ones: it has no .git/info/exclude or global
|
|
299
|
+
* excludes file.
|
|
300
|
+
*/
|
|
301
|
+
function ignoredFingerprintPaths(projectRoot, { platform, iosProjectPath = "ios" }) {
|
|
302
|
+
if (platform !== "ios") return [];
|
|
303
|
+
const appRoot = iosProjectPath === "." ? gitIgnoredNames(projectRoot, appRootNames(readdirSync$1(projectRoot))) : [];
|
|
304
|
+
return [...gitIgnoredNames(projectRoot, Object.keys(BUNDLE_OUTPUT_IGNORES), true), ...appRoot].toSorted();
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* With `ios.projectPath` '.', the top-level entries that git tracks here although an ignore pattern matches them, as
|
|
308
|
+
* the names a build worker must count: its mirror index is empty, so its own `check-ignore` skips them.
|
|
309
|
+
*/
|
|
310
|
+
function trackedFingerprintPaths(projectRoot, { platform, iosProjectPath = "ios" }) {
|
|
311
|
+
if (platform !== "ios" || iosProjectPath !== ".") return [];
|
|
312
|
+
const names = appRootNames(readdirSync$1(projectRoot));
|
|
313
|
+
const ignored = gitIgnoredNames(projectRoot, names);
|
|
314
|
+
const matched = gitIgnoredNames(projectRoot, names, true);
|
|
315
|
+
return names.filter((name) => matched.has(name) && !ignored.has(name)).toSorted();
|
|
316
|
+
}
|
|
317
|
+
async function fingerprintOptions(projectRoot, { platform, iosProjectPath = "ios", androidLayout = null, ignoredPaths = [], trackedPaths = [] }) {
|
|
318
|
+
const ignoredHere = (names, noIndex = false) => /* @__PURE__ */ new Set([...gitIgnoredNames(projectRoot, names, noIndex), ...ignoredPaths.filter((path) => names.includes(path))]);
|
|
319
|
+
const ignoredAtAppRoot = (names) => new Set([...ignoredHere(names)].filter((name) => !trackedPaths.includes(name)));
|
|
278
320
|
const platforms = platform && FINGERPRINT_PLATFORMS.has(platform) ? { platforms: [platform] } : void 0;
|
|
279
|
-
const ios = platform === "ios" ? iosProjectFingerprintOptions(projectRoot, iosProjectPath) : androidLayout?.custom ? androidProjectFingerprintOptions(projectRoot, androidLayout) : {};
|
|
321
|
+
const ios = platform === "ios" ? iosProjectFingerprintOptions(projectRoot, iosProjectPath, { ignored: (_, names) => ignoredAtAppRoot(names) }) : androidLayout?.custom ? androidProjectFingerprintOptions(projectRoot, androidLayout) : {};
|
|
280
322
|
if (ios.extraSources) ios.extraSources = [...(await loadConfigAsync(projectRoot, true))?.extraSources ?? [], ...ios.extraSources];
|
|
281
|
-
const
|
|
323
|
+
const bundleOutput = platform === "android" ? [] : [...ignoredHere(Object.keys(BUNDLE_OUTPUT_IGNORES), true)].map((path) => BUNDLE_OUTPUT_IGNORES[path]);
|
|
324
|
+
return {
|
|
282
325
|
...platforms,
|
|
283
|
-
...debug ? { debug } : {},
|
|
284
326
|
...ios.extraSources ? { extraSources: ios.extraSources } : {},
|
|
285
|
-
ignorePaths: [
|
|
327
|
+
ignorePaths: [
|
|
328
|
+
...DEFAULT_FINGERPRINT_IGNORES,
|
|
329
|
+
...bundleOutput,
|
|
330
|
+
...ios.ignorePaths ?? []
|
|
331
|
+
],
|
|
286
332
|
silent: true
|
|
287
|
-
}
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
async function fingerprintProject(projectRoot, { createFingerprint = expoFingerprint.createFingerprintAsync, debug = false, ...target } = {}) {
|
|
336
|
+
const options = await fingerprintOptions(projectRoot, target);
|
|
337
|
+
const result = await createFingerprint(projectRoot, debug ? {
|
|
338
|
+
...options,
|
|
339
|
+
debug
|
|
340
|
+
} : options);
|
|
288
341
|
const hash = result?.hash ?? null;
|
|
289
342
|
if (!hash) return null;
|
|
290
343
|
return {
|
|
@@ -292,6 +345,84 @@ async function fingerprintProject(projectRoot, { platform, iosProjectPath = "ios
|
|
|
292
345
|
sources: Array.isArray(result?.sources) ? result.sources : []
|
|
293
346
|
};
|
|
294
347
|
}
|
|
348
|
+
/** The env files @expo/env loads for the config, in the mode @expo/fingerprint's config loader sets. */
|
|
349
|
+
function expoEnvFiles(env = {}) {
|
|
350
|
+
if (/^(1|true)$/i.test(env.EXPO_NO_DOTENV ?? "")) return [];
|
|
351
|
+
const mode = env.NODE_ENV || "development";
|
|
352
|
+
return [
|
|
353
|
+
`.env.${mode}.local`,
|
|
354
|
+
...mode === "test" ? [] : [".env.local"],
|
|
355
|
+
`.env.${mode}`,
|
|
356
|
+
".env"
|
|
357
|
+
];
|
|
358
|
+
}
|
|
359
|
+
const inNodeModules = (path) => path.split("/").includes("node_modules");
|
|
360
|
+
/**
|
|
361
|
+
* Absolute paths of the files git ignores that a fingerprint with `sources` hashed or the Expo config loader read:
|
|
362
|
+
* the inputs a checkout of the tracked and untracked files lacks. Files under node_modules are left out, because a
|
|
363
|
+
* dependency install recreates them.
|
|
364
|
+
*/
|
|
365
|
+
async function gitignoredFingerprintInputs(projectRoot, sources, target, { env, signal } = {}) {
|
|
366
|
+
const found = /* @__PURE__ */ new Set();
|
|
367
|
+
if (sources.some((source) => source.type === "contents" && source.id === "expoConfig")) {
|
|
368
|
+
for (const name of expoEnvFiles(env)) if (lstatSync$1(join$1(projectRoot, name), { throwIfNoEntry: false })?.isFile()) found.add(name);
|
|
369
|
+
}
|
|
370
|
+
const top = realpathSync$1(await gitAsync(projectRoot, ["rev-parse", "--show-toplevel"], { signal }));
|
|
371
|
+
const base = realpathSync$1(projectRoot);
|
|
372
|
+
const pathspecs = sources.flatMap((source) => {
|
|
373
|
+
if (source.type === "contents" || inNodeModules(source.filePath)) return [];
|
|
374
|
+
const inRepo = relative$1(top, resolve$1(base, source.filePath));
|
|
375
|
+
return isAbsolute$1(inRepo) || inRepo === ".." || inRepo.startsWith(`..${sep$1}`) ? [] : [posix$1.normalize(source.filePath)];
|
|
376
|
+
});
|
|
377
|
+
if (pathspecs.length) {
|
|
378
|
+
const { ignorePathMatchObjects, ignoreDirMatchObjects } = await normalizeOptionsAsync(projectRoot, await fingerprintOptions(projectRoot, target));
|
|
379
|
+
const addFile = (path) => {
|
|
380
|
+
if (!isIgnoredPathWithMatchObjects(path, ignorePathMatchObjects)) found.add(path);
|
|
381
|
+
};
|
|
382
|
+
const walk = async (dir) => {
|
|
383
|
+
if (isIgnoredPathWithMatchObjects(dir, ignoreDirMatchObjects)) return;
|
|
384
|
+
for (const entry of await readdir(join$1(projectRoot, dir), { withFileTypes: true })) {
|
|
385
|
+
signal?.throwIfAborted();
|
|
386
|
+
const path = posix$1.join(dir, entry.name);
|
|
387
|
+
if (entry.isDirectory()) {
|
|
388
|
+
if (entry.name !== "node_modules") await walk(path);
|
|
389
|
+
} else if (entry.isFile()) addFile(path);
|
|
390
|
+
}
|
|
391
|
+
};
|
|
392
|
+
const inSource = (path) => pathspecs.some((spec) => spec === "." || path === spec || path.startsWith(`${spec}/`));
|
|
393
|
+
const listed = await gitAsync(projectRoot, [
|
|
394
|
+
"--literal-pathspecs",
|
|
395
|
+
"ls-files",
|
|
396
|
+
"-z",
|
|
397
|
+
"--others",
|
|
398
|
+
"--ignored",
|
|
399
|
+
"--exclude-standard",
|
|
400
|
+
"--directory",
|
|
401
|
+
"--",
|
|
402
|
+
...pathspecs
|
|
403
|
+
], {
|
|
404
|
+
untrimmed: true,
|
|
405
|
+
timeoutMs: 12e4,
|
|
406
|
+
signal
|
|
407
|
+
});
|
|
408
|
+
for (const listedPath of listed.split("\0")) {
|
|
409
|
+
if (!listedPath || inNodeModules(listedPath)) continue;
|
|
410
|
+
const directory = listedPath.endsWith("/");
|
|
411
|
+
const path = directory ? listedPath.slice(0, -1) : listedPath;
|
|
412
|
+
if (inSource(path)) {
|
|
413
|
+
if (directory) await walk(path);
|
|
414
|
+
else addFile(path);
|
|
415
|
+
continue;
|
|
416
|
+
}
|
|
417
|
+
for (const spec of pathspecs.filter((each) => each.startsWith(`${path}/`))) {
|
|
418
|
+
const stat = lstatSync$1(join$1(projectRoot, spec), { throwIfNoEntry: false });
|
|
419
|
+
if (stat?.isDirectory()) await walk(spec);
|
|
420
|
+
else if (stat?.isFile()) addFile(spec);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
return [...found].toSorted().map((path) => join$1(projectRoot, path));
|
|
425
|
+
}
|
|
295
426
|
function registerOnce(root, registeredBy) {
|
|
296
427
|
try {
|
|
297
428
|
register({
|
|
@@ -332,6 +463,12 @@ async function storeBuild(platform, key, buildPath, rootOrOptions = {}) {
|
|
|
332
463
|
if (options.assetManifest) try {
|
|
333
464
|
await writeFile(join$1(staging, ASSET_MANIFEST_FILE), JSON.stringify(options.assetManifest));
|
|
334
465
|
} catch {}
|
|
466
|
+
if (options.readAppId) try {
|
|
467
|
+
const appId = await options.readAppId(buildPath);
|
|
468
|
+
if (appId) await writeFile(join$1(staging, APP_ID_FILE), JSON.stringify({ appId }));
|
|
469
|
+
} catch {
|
|
470
|
+
throwIfCancelled(signal, "build cache copy");
|
|
471
|
+
}
|
|
335
472
|
}
|
|
336
473
|
}));
|
|
337
474
|
} catch (error) {
|
|
@@ -365,12 +502,13 @@ function prepareProviderDownloadDir(dir, registeredBy) {
|
|
|
365
502
|
});
|
|
366
503
|
} catch {}
|
|
367
504
|
}
|
|
368
|
-
function filesystemBuildCapability({ root, context, sources, assetManifest, resolve = resolveBuild, store = storeBuild } = {}) {
|
|
505
|
+
function filesystemBuildCapability({ root, context, sources, assetManifest, readAppId, resolve = resolveBuild, store = storeBuild } = {}) {
|
|
369
506
|
const stored = {
|
|
370
507
|
...context === void 0 ? {} : { context },
|
|
371
508
|
...root === void 0 ? {} : { root },
|
|
372
509
|
...sources === void 0 ? {} : { sources },
|
|
373
|
-
...assetManifest === void 0 ? {} : { assetManifest }
|
|
510
|
+
...assetManifest === void 0 ? {} : { assetManifest },
|
|
511
|
+
...readAppId === void 0 ? {} : { readAppId }
|
|
374
512
|
};
|
|
375
513
|
return {
|
|
376
514
|
resolve: ({ platform, key }) => root === void 0 ? resolve(platform, key) : resolve(platform, key, root),
|
|
@@ -398,6 +536,7 @@ function providerUploadOutcome(result, name, env) {
|
|
|
398
536
|
};
|
|
399
537
|
}
|
|
400
538
|
const SOURCES_FILE = "fingerprint-sources.json";
|
|
539
|
+
const APP_ID_FILE = "app-id.json";
|
|
401
540
|
function withoutContents(source) {
|
|
402
541
|
return source.type === "contents" ? {
|
|
403
542
|
...source,
|
|
@@ -412,6 +551,16 @@ function storedSources(platform, key, root = sharedBuildCache()) {
|
|
|
412
551
|
return null;
|
|
413
552
|
}
|
|
414
553
|
}
|
|
554
|
+
/** The bundle id or Android package read from the entry's artifact when it was stored, or null for older entries. */
|
|
555
|
+
function storedAppId(platform, key, root = sharedBuildCache()) {
|
|
556
|
+
try {
|
|
557
|
+
const parsed = JSON.parse(readFileSync$1(join$1(entryDir(platform, key, root), APP_ID_FILE), "utf-8"));
|
|
558
|
+
if (parsed && typeof parsed === "object" && "appId" in parsed && typeof parsed.appId === "string" && parsed.appId) return parsed.appId;
|
|
559
|
+
return null;
|
|
560
|
+
} catch {
|
|
561
|
+
return null;
|
|
562
|
+
}
|
|
563
|
+
}
|
|
415
564
|
function storedAssetManifest(platform, key, root = sharedBuildCache()) {
|
|
416
565
|
try {
|
|
417
566
|
return parseAssetManifest(readFileSync$1(join$1(entryDir(platform, key, root), ASSET_MANIFEST_FILE), "utf-8"));
|
|
@@ -498,13 +647,15 @@ function diffFingerprintSources({ previous, previousHash = null, current, differ
|
|
|
498
647
|
} catch {}
|
|
499
648
|
return compareSourceLists(previous, current.sources);
|
|
500
649
|
}
|
|
501
|
-
async function refingerprintAfterMutation({ projectRoot, platform, previousHash, iosProjectPath, androidLayout, fingerprint = fingerprintProject }) {
|
|
650
|
+
async function refingerprintAfterMutation({ projectRoot, platform, previousHash, iosProjectPath, androidLayout, ignoredPaths, trackedPaths, fingerprint = fingerprintProject }) {
|
|
502
651
|
let computed = null;
|
|
503
652
|
try {
|
|
504
653
|
computed = await fingerprint(projectRoot, {
|
|
505
654
|
platform,
|
|
506
655
|
...iosProjectPath ? { iosProjectPath } : {},
|
|
507
|
-
...androidLayout ? { androidLayout } : {}
|
|
656
|
+
...androidLayout ? { androidLayout } : {},
|
|
657
|
+
...ignoredPaths ? { ignoredPaths } : {},
|
|
658
|
+
...trackedPaths ? { trackedPaths } : {}
|
|
508
659
|
});
|
|
509
660
|
} catch {
|
|
510
661
|
return null;
|
|
@@ -599,4 +750,4 @@ function fingerprintDiffRecord({ changed, previousHash, hash }) {
|
|
|
599
750
|
};
|
|
600
751
|
}
|
|
601
752
|
//#endregion
|
|
602
|
-
export {
|
|
753
|
+
export { readAssetManifest as A, storedSources as C, assetDiffReason as D, untrackedNativeFiles as E, captureAssetManifest as O, storedAssetManifest as S, untrackedMissLine as T, providerUploadOutcome as _, configInputsChanged as a, storeBuild as b, expoConfigContents as c, fingerprintProject as d, gitignoredFingerprintInputs as f, providerDownloadPath as g, prepareProviderDownloadDir as h, compareSourceLists as i, compareAssetManifests as k, filesystemBuildCapability as l, inputsChangedDuringBuild as m, buildCacheKey as n, diffFingerprintSources as o, ignoredFingerprintPaths as p, changedDuringBuildLine as r, entryDir as s, artifactIn as t, fingerprintDiffRecord as u, refingerprintAfterMutation as v, trackedFingerprintPaths as w, storedAppId as x, resolveBuild as y };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { i as formatDuration, l as phaseLine, m as shortHash, u as plural } from "./command-output-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { T as trackReportResource } from "./exec-VFRpu1iA.mjs";
|
|
2
|
+
import { i as formatDuration, l as phaseLine, m as shortHash, u as plural } from "./command-output-BBvS1H6v.mjs";
|
|
3
|
+
import { Gt as removeTemporaryEntryAsync, Ut as makeTemporaryDirectory } from "./settings-B5tCoq9N.mjs";
|
|
4
|
+
import { L as estimateBuild, Wn as easAuthNote, q as readStats } from "./budget-HyShrIpL.mjs";
|
|
5
|
+
import { s as entryDir, t as artifactIn } from "./build-cache-CKCzxzxA.mjs";
|
|
6
|
+
import { l as predictBuildMiss, o as staleNativeDirRefusal } from "./prebuild-JUaqOLpc.mjs";
|
|
7
7
|
import chalk from "chalk";
|
|
8
8
|
import { PROVIDER_LOAD_TIMEOUT_ENV, PROVIDER_LOAD_TIMEOUT_MS, buildResolveTimeoutMs, resolveTieredBuild, timeoutFromEnv } from "@stim-cli/cache";
|
|
9
9
|
//#region src/commands/build-plan.ts
|
|
@@ -106,9 +106,10 @@ async function finishProviderDownload(pending, destinationDir, cleanupFailure) {
|
|
|
106
106
|
}
|
|
107
107
|
async function expoRemoteHit(lookup, deps) {
|
|
108
108
|
if (!lookup.expoRemote) return null;
|
|
109
|
-
const { root, platform, isExpo, fingerprint } = lookup;
|
|
109
|
+
const { root, platform, isExpo, fingerprint, sources } = lookup;
|
|
110
110
|
const loaded = await deps.loadProjectProvider(root, {
|
|
111
111
|
isExpo,
|
|
112
|
+
sources,
|
|
112
113
|
context: deps.operation
|
|
113
114
|
});
|
|
114
115
|
if (loaded?.unavailable) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as getConfigDir } from "./config-
|
|
1
|
+
import { d as getConfigDir } from "./config-BZhXY15H.mjs";
|
|
2
2
|
import { cacheDirRefusal, readCacheManifest, updateCacheManifest } from "@stim-cli/core";
|
|
3
3
|
import { join, resolve } from "path";
|
|
4
4
|
import { existsSync } from "fs";
|
package/dist/cache-manifest.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as unregister, i as registeredCaches, n as readManifest, r as register, t as manifestPath } from "./cache-manifest-
|
|
1
|
+
import { a as unregister, i as registeredCaches, n as readManifest, r as register, t as manifestPath } from "./cache-manifest-BPXRONJz.mjs";
|
|
2
2
|
export { manifestPath, readManifest, register, registeredCaches, unregister };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { t as getExecutor } from "./exec-
|
|
1
|
+
import { t as getExecutor } from "./exec-VFRpu1iA.mjs";
|
|
2
2
|
import { a as sharedCcache, m as workspaceLogsDir } from "./paths-DQtTgsBf.mjs";
|
|
3
|
-
import { _ as loadConfig } from "./config-
|
|
4
|
-
import { l as phaseLine } from "./command-output-
|
|
5
|
-
import { m as defaultAndroidLayout } from "./settings-
|
|
6
|
-
import { r as register } from "./cache-manifest-
|
|
7
|
-
import { o as machineNumber } from "./budget-
|
|
3
|
+
import { _ as loadConfig } from "./config-BZhXY15H.mjs";
|
|
4
|
+
import { l as phaseLine } from "./command-output-BBvS1H6v.mjs";
|
|
5
|
+
import { m as defaultAndroidLayout } from "./settings-B5tCoq9N.mjs";
|
|
6
|
+
import { r as register } from "./cache-manifest-BPXRONJz.mjs";
|
|
7
|
+
import { o as machineNumber } from "./budget-HyShrIpL.mjs";
|
|
8
8
|
import { readFileSync, realpathSync } from "node:fs";
|
|
9
9
|
import { isAbsolute, join, relative } from "node:path";
|
|
10
10
|
import chalk from "chalk";
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { y as refuseRelativeStimPaths } from "./config-
|
|
1
|
+
import { E as debugLog } from "./exec-VFRpu1iA.mjs";
|
|
2
|
+
import { y as refuseRelativeStimPaths } from "./config-BZhXY15H.mjs";
|
|
3
3
|
import { readFileSync } from "node:fs";
|
|
4
4
|
import { runId } from "@stim-cli/core/state";
|
|
5
5
|
import { Command } from "commander";
|
|
6
6
|
//#region bin/cli.ts
|
|
7
7
|
const commands = /* @__PURE__ */ new Map([
|
|
8
|
-
["doctor", () => import("./doctor-
|
|
9
|
-
["worktree", () => import("./worktree-
|
|
10
|
-
["start", () => import("./start-
|
|
11
|
-
["ports", () => import("./ports-
|
|
12
|
-
["stop", () => import("./stop-
|
|
13
|
-
["ios", () => import("./ios-
|
|
14
|
-
["android", () => import("./android-
|
|
15
|
-
["web", () => import("./web-
|
|
16
|
-
["macos", () => import("./macos-
|
|
17
|
-
["reload", () => import("./reload-
|
|
18
|
-
["device", () => import("./device-
|
|
19
|
-
["logs", () => import("./logs-
|
|
20
|
-
["settings", () => import("./settings-
|
|
21
|
-
["status", () => import("./status-
|
|
22
|
-
["stats", () => import("./stats-
|
|
23
|
-
["gc", () => import("./gc-
|
|
24
|
-
["guide", () => import("./guide-
|
|
8
|
+
["doctor", () => import("./doctor-A_Nr_fDe.mjs")],
|
|
9
|
+
["worktree", () => import("./worktree-Ct9Gk3KL.mjs")],
|
|
10
|
+
["start", () => import("./start-C1JLjkNw.mjs")],
|
|
11
|
+
["ports", () => import("./ports-DtS1Amb0.mjs")],
|
|
12
|
+
["stop", () => import("./stop-Br7LKxBE.mjs")],
|
|
13
|
+
["ios", () => import("./ios-Dvt97HgQ.mjs")],
|
|
14
|
+
["android", () => import("./android-CNZgRC-4.mjs")],
|
|
15
|
+
["web", () => import("./web-DS4UDWvf.mjs")],
|
|
16
|
+
["macos", () => import("./macos-CcUlJPMu.mjs")],
|
|
17
|
+
["reload", () => import("./reload-Beftw2X3.mjs")],
|
|
18
|
+
["device", () => import("./device-F5-4z9ef.mjs")],
|
|
19
|
+
["logs", () => import("./logs-Crs9y34Z.mjs")],
|
|
20
|
+
["settings", () => import("./settings-DzH9mGQZ.mjs")],
|
|
21
|
+
["status", () => import("./status-cNw6i0_t.mjs")],
|
|
22
|
+
["stats", () => import("./stats-CP7STzZw.mjs")],
|
|
23
|
+
["gc", () => import("./gc-eaz403W6.mjs")],
|
|
24
|
+
["guide", () => import("./guide-DR0K0xW9.mjs")]
|
|
25
25
|
]);
|
|
26
26
|
const pkg = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
|
|
27
27
|
const program = new Command();
|
|
@@ -52,7 +52,7 @@ try {
|
|
|
52
52
|
}));
|
|
53
53
|
}
|
|
54
54
|
try {
|
|
55
|
-
const { triggerMaintenance } = await import("./trigger-
|
|
55
|
+
const { triggerMaintenance } = await import("./trigger-BLsHgAGR.mjs");
|
|
56
56
|
triggerMaintenance(action.name());
|
|
57
57
|
} catch {}
|
|
58
58
|
});
|
package/dist/cli.mjs
CHANGED
|
@@ -4,6 +4,6 @@ const encode = (version) => version.split(".", 3).reduce((sum, part) => sum * 1e
|
|
|
4
4
|
if (encode(process.versions.node) < encode("22.12.0")) {
|
|
5
5
|
process.stderr.write(`STIM_NODE_UNSUPPORTED: Stim needs Node 22.12.0 or later; this is Node ${process.versions.node} at ${process.execPath}. To run Stim where a project pins an older Node, see https://stim.appandflow.com/docs/requirements#older-node-pins\n`);
|
|
6
6
|
process.exitCode = 1;
|
|
7
|
-
} else import("./cli-
|
|
7
|
+
} else import("./cli-C4w607Pz.mjs");
|
|
8
8
|
//#endregion
|
|
9
9
|
export {};
|