rnxsim 0.1.365 → 0.1.366

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.
Files changed (184) hide show
  1. package/README.md +2 -0
  2. package/cli/bridge-flow-runner.ts +2 -2
  3. package/cli/commands/control.ts +3 -44
  4. package/cli/commands/detox.ts +18 -1
  5. package/cli/commands/flow.ts +2 -1
  6. package/detox/index.ts +3 -1
  7. package/dist-cli/bin.js +5 -5
  8. package/dist-cli/chunks/{agent-BVMNQFKF.js → agent-SO6IOPRK.js} +2 -2
  9. package/dist-cli/chunks/{agent-wrapper-B6YFXGC3.js → agent-wrapper-PMYCB2KO.js} +2 -2
  10. package/dist-cli/chunks/{app-fonts-MEI6R6XR.js → app-fonts-LULQGFY7.js} +2 -2
  11. package/dist-cli/chunks/{assert-JGHI53HV.js → assert-WGNCD4ZU.js} +2 -2
  12. package/dist-cli/chunks/{auth-STEOXUS7.js → auth-G7CCHH3M.js} +2 -2
  13. package/dist-cli/chunks/{beta-HT3FLS5T.js → beta-N4LXL5TO.js} +2 -2
  14. package/dist-cli/chunks/{camera-ZCLFSLON.js → camera-4JHCYBQS.js} +2 -2
  15. package/dist-cli/chunks/{chunk-5AS7S6HY.js → chunk-2S7BKUP2.js} +2 -2
  16. package/dist-cli/chunks/{chunk-RI3NS77J.js → chunk-2UXU53MG.js} +1 -1
  17. package/dist-cli/chunks/{chunk-XPOTXF5Q.js → chunk-34IQM22N.js} +2 -2
  18. package/dist-cli/chunks/{chunk-52ES4API.js → chunk-3X6IBUBX.js} +2 -2
  19. package/dist-cli/chunks/{chunk-TULWPOAY.js → chunk-5DAIA77C.js} +2 -2
  20. package/dist-cli/chunks/{chunk-FIXRGPUT.js → chunk-5NMCF5VF.js} +1 -1
  21. package/dist-cli/chunks/{chunk-QIQL7Y5V.js → chunk-5OK3LCEJ.js} +2 -2
  22. package/dist-cli/chunks/{chunk-NEH4T67X.js → chunk-6PL2CCGP.js} +2 -2
  23. package/dist-cli/chunks/{chunk-MRNW4GVL.js → chunk-77ZHQJZR.js} +2 -2
  24. package/dist-cli/chunks/chunk-7B37IZBN.js +15 -0
  25. package/dist-cli/chunks/{chunk-CYIE65QN.js → chunk-A5FXX5PJ.js} +1 -1
  26. package/dist-cli/chunks/{chunk-JRPU5TFI.js → chunk-AFV32WZT.js} +3 -3
  27. package/dist-cli/chunks/{chunk-M5KJCLUW.js → chunk-CN6XYYEA.js} +12 -12
  28. package/dist-cli/chunks/{chunk-J66US2OZ.js → chunk-CTG7HBCA.js} +1 -1
  29. package/dist-cli/chunks/{chunk-ZGD7GZRI.js → chunk-DMPF2D24.js} +2 -2
  30. package/dist-cli/chunks/{chunk-622E4JET.js → chunk-DW37EVX5.js} +1 -1
  31. package/dist-cli/chunks/{chunk-XKRUNS7A.js → chunk-DWFIH7CB.js} +2 -2
  32. package/dist-cli/chunks/{chunk-WGNDJARS.js → chunk-EFR5DVNP.js} +1 -1
  33. package/dist-cli/chunks/{chunk-6BAF6GFS.js → chunk-EGAGZHO6.js} +1 -1
  34. package/dist-cli/chunks/{chunk-MACI34ST.js → chunk-EQK5MJCU.js} +2 -2
  35. package/dist-cli/chunks/{chunk-JAFF4RAU.js → chunk-GAJQSITE.js} +1 -1
  36. package/dist-cli/chunks/{chunk-ZGH5U4AJ.js → chunk-GUI3PDH2.js} +2 -2
  37. package/dist-cli/chunks/{chunk-DBJZUCFP.js → chunk-GXAB52K7.js} +2 -2
  38. package/dist-cli/chunks/{chunk-O6P4N2JD.js → chunk-H23KWIKA.js} +2 -2
  39. package/dist-cli/chunks/{chunk-2CXHDTQ5.js → chunk-HT6GFZOZ.js} +1 -1
  40. package/dist-cli/chunks/{chunk-BGRGP3QR.js → chunk-I6KIM6PN.js} +1 -1
  41. package/dist-cli/chunks/{chunk-XRO5WQXP.js → chunk-IZKHOM37.js} +1 -1
  42. package/dist-cli/chunks/{chunk-EVBQDQVY.js → chunk-JHXETDVC.js} +1 -1
  43. package/dist-cli/chunks/{chunk-2JFZ5Z7Q.js → chunk-KLF3K6ZZ.js} +1 -1
  44. package/dist-cli/chunks/{chunk-EFXNSJ55.js → chunk-LN3RNW6X.js} +2 -2
  45. package/dist-cli/chunks/{chunk-TKCGP3DD.js → chunk-M3BNCF7E.js} +2 -2
  46. package/dist-cli/chunks/{chunk-YE3M3YD4.js → chunk-M5QCGLXR.js} +3 -3
  47. package/dist-cli/chunks/{chunk-4WFN4DFR.js → chunk-M6SKQGAN.js} +2 -2
  48. package/dist-cli/chunks/{chunk-R4FQZXJC.js → chunk-MGDSJZ37.js} +2 -2
  49. package/dist-cli/chunks/{chunk-2SFMW5K6.js → chunk-N3UC7HIX.js} +1 -1
  50. package/dist-cli/chunks/{chunk-OSZ5HZSI.js → chunk-NAYLPOC5.js} +2 -2
  51. package/dist-cli/chunks/{chunk-XR4KID25.js → chunk-NM2L2QV4.js} +2 -2
  52. package/dist-cli/chunks/{chunk-67ATAITF.js → chunk-NQFJOCSF.js} +2 -2
  53. package/dist-cli/chunks/{chunk-HIDS3PYC.js → chunk-ONORMKWX.js} +2 -2
  54. package/dist-cli/chunks/{chunk-XXNPISER.js → chunk-ORWP2E7R.js} +2 -2
  55. package/dist-cli/chunks/{chunk-GK7PGYFH.js → chunk-OW5XHAA4.js} +1 -1
  56. package/dist-cli/chunks/{chunk-GZEUDDAW.js → chunk-RYIMSKDO.js} +2 -2
  57. package/dist-cli/chunks/{chunk-X5ZOZVHC.js → chunk-SA6XVI55.js} +1 -1
  58. package/dist-cli/chunks/{chunk-ZTWUNK45.js → chunk-TIAEYO6I.js} +2 -2
  59. package/dist-cli/chunks/{chunk-5VHWQGGF.js → chunk-TTASWLKM.js} +1 -1
  60. package/dist-cli/chunks/{chunk-O2ORLK6W.js → chunk-UCHW7ZHR.js} +2 -2
  61. package/dist-cli/chunks/{chunk-EFL2ASZO.js → chunk-VIND4SP3.js} +1 -1
  62. package/dist-cli/chunks/{chunk-UR345KM3.js → chunk-XJU2QIRY.js} +2 -2
  63. package/dist-cli/chunks/{chunk-W3UIDI3W.js → chunk-XXNLYR64.js} +3 -3
  64. package/dist-cli/chunks/{chunk-25BTVHK2.js → chunk-YCCCPFWT.js} +2 -2
  65. package/dist-cli/chunks/chunk-YGMEDJKJ.js +4 -0
  66. package/dist-cli/chunks/{chunk-FHWZPUGC.js → chunk-YXXKSL6R.js} +1 -1
  67. package/dist-cli/chunks/{chunk-ZCP4CRP6.js → chunk-ZFM24DOX.js} +2 -2
  68. package/dist-cli/chunks/{chunk-EAFKG5R3.js → chunk-ZJIS3CTW.js} +2 -2
  69. package/dist-cli/chunks/{chunk-DQFOHIRF.js → chunk-ZLVRYXZ7.js} +1 -1
  70. package/dist-cli/chunks/{chunk-MR3YPNUI.js → chunk-ZMJ75EDG.js} +2 -2
  71. package/dist-cli/chunks/{cleanup-G4TEYVKY.js → cleanup-KRIATKFH.js} +2 -2
  72. package/dist-cli/chunks/cli-version-SYGNHGFR.js +4 -0
  73. package/dist-cli/chunks/{compat-EZ5NP32J.js → compat-6PTQ3QEA.js} +2 -2
  74. package/dist-cli/chunks/{config-27M2DGCS.js → config-ETGDUANO.js} +2 -2
  75. package/dist-cli/chunks/control-RBTNOLQM.js +4 -0
  76. package/dist-cli/chunks/daemon-N3SC5DK6.js +4 -0
  77. package/dist-cli/chunks/{debug-EXU3D7PC.js → debug-WIIB6ZKC.js} +3 -3
  78. package/dist-cli/chunks/{desktop-SHHPZAWQ.js → desktop-TD7Q5LNB.js} +3 -3
  79. package/dist-cli/chunks/detox-7GNR33VM.js +52 -0
  80. package/dist-cli/chunks/{device-4NI26HG6.js → device-QOR3PGUF.js} +2 -2
  81. package/dist-cli/chunks/{diagnose-P4SFXH6J.js → diagnose-RRCBLP6E.js} +2 -2
  82. package/dist-cli/chunks/{disk-cleanup-BUAKWYMY.js → disk-cleanup-MJUGJPXT.js} +2 -2
  83. package/dist-cli/chunks/drivers-W6E3BZH4.js +4 -0
  84. package/dist-cli/chunks/{film-Y2BAQINB.js → film-D7Y64LID.js} +3 -3
  85. package/dist-cli/chunks/flow-7QAE2V5Y.js +4 -0
  86. package/dist-cli/chunks/help-NLD6KWVG.js +4 -0
  87. package/dist-cli/chunks/{hidden-runtime-alias-U2MAY2XV.js → hidden-runtime-alias-JGURVR2Z.js} +2 -2
  88. package/dist-cli/chunks/{home-paths-PAJMZCOS.js → home-paths-4ICFIGXO.js} +2 -2
  89. package/dist-cli/chunks/inspect-C347BG52.js +4 -0
  90. package/dist-cli/chunks/install-desktop-YR6TWZYK.js +4 -0
  91. package/dist-cli/chunks/{login-D53XKBEO.js → login-RU33QR2G.js} +2 -2
  92. package/dist-cli/chunks/{logout-HZQKLNUJ.js → logout-2IUG3Y5J.js} +2 -2
  93. package/dist-cli/chunks/{maestro-XSS2KX6L.js → maestro-2MXTGG7I.js} +3 -3
  94. package/dist-cli/chunks/{maestro-generate-DNDQX3JQ.js → maestro-generate-2PYIFGLR.js} +3 -3
  95. package/dist-cli/chunks/{mode-LEVGOKI3.js → mode-3DAPG3HF.js} +2 -2
  96. package/dist-cli/chunks/{optional-demo-registry-2XZIJNDG.js → optional-demo-registry-BWSDJF2Z.js} +2 -2
  97. package/dist-cli/chunks/{perf-OKMAXDLB.js → perf-2TKPWB4N.js} +2 -2
  98. package/dist-cli/chunks/{permissions-VG5TBUTN.js → permissions-5CSMHYNA.js} +2 -2
  99. package/dist-cli/chunks/privacy-PWWC2BXO.js +4 -0
  100. package/dist-cli/chunks/{record-BQYGZOMV.js → record-I2HJCFP3.js} +3 -3
  101. package/dist-cli/chunks/{report-issue-HCPZESWE.js → report-issue-A4FZWBOC.js} +2 -2
  102. package/dist-cli/chunks/reset-Y3PBPFYA.js +4 -0
  103. package/dist-cli/chunks/runtime-IC6NVVGA.js +4 -0
  104. package/dist-cli/chunks/{screenshot-command-DWEYPJE7.js → screenshot-command-UFW5BFHP.js} +3 -3
  105. package/dist-cli/chunks/{screenshot-layers-5GMBXLO7.js → screenshot-layers-5BIAL4YN.js} +2 -2
  106. package/dist-cli/chunks/{screenshots-capture-5KCI7IZD.js → screenshots-capture-EHYS3BV2.js} +2 -2
  107. package/dist-cli/chunks/{serve-QNKTA2HR.js → serve-O4FDM3AC.js} +2 -2
  108. package/dist-cli/chunks/setup-Y4QGSJBM.js +4 -0
  109. package/dist-cli/chunks/{skills-DOEALD3X.js → skills-ZK55SY32.js} +2 -2
  110. package/dist-cli/chunks/{state-3HH2IHIF.js → state-KFLAZNEY.js} +2 -2
  111. package/dist-cli/chunks/{storage-E7WUWN3E.js → storage-WP33ISEM.js} +2 -2
  112. package/dist-cli/chunks/store-VEE22CAY.js +4 -0
  113. package/dist-cli/chunks/telemetry-PZV4BISJ.js +4 -0
  114. package/dist-cli/chunks/{timeline-IKNUGQ2A.js → timeline-DKGW5S4I.js} +2 -2
  115. package/dist-cli/chunks/{upgrade-VS3OKXE2.js → upgrade-LL7G4B7G.js} +2 -2
  116. package/dist-cli/chunks/upload-Y4C3YZDK.js +4 -0
  117. package/dist-cli/chunks/{version-F4XHNTBZ.js → version-YLWR5G4F.js} +2 -2
  118. package/dist-cli/chunks/{web-F72724QL.js → web-QELZ4CP6.js} +2 -2
  119. package/dist-cli/chunks/welcome-ZPKA5PZJ.js +5 -0
  120. package/dist-cli/chunks/{what-happened-APK7YKOV.js → what-happened-MIOMZWM5.js} +2 -2
  121. package/dist-lib/agent-daemon-client.cjs +1 -1
  122. package/dist-lib/agent-events.cjs +1 -1
  123. package/dist-lib/agent-identity.cjs +1 -1
  124. package/dist-lib/agent-sessions.cjs +1 -1
  125. package/dist-lib/attached-projects.cjs +1 -1
  126. package/dist-lib/auth/shared-session.cjs +1 -1
  127. package/dist-lib/backend-origin.cjs +1 -1
  128. package/dist-lib/beta.cjs +1 -1
  129. package/dist-lib/beta.mjs +1 -1
  130. package/dist-lib/bridge-constants.cjs +1 -1
  131. package/dist-lib/bridge-contract.cjs +1 -1
  132. package/dist-lib/cli-constants.cjs +1 -1
  133. package/dist-lib/config.cjs +1 -1
  134. package/dist-lib/detox/index.cjs +4 -2
  135. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  136. package/dist-lib/home-paths.cjs +1 -1
  137. package/dist-lib/host/bridge-host.cjs +1 -1
  138. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  139. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  140. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  141. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  142. package/dist-lib/host/websocket-proxy.cjs +1 -1
  143. package/dist-lib/index.cjs +31 -1
  144. package/dist-lib/jump-to-source-babel.cjs +1 -1
  145. package/dist-lib/mcp.cjs +673 -0
  146. package/dist-lib/mcp.mjs +641 -0
  147. package/dist-lib/menu.cjs +1 -1
  148. package/dist-lib/menu.mjs +1 -1
  149. package/dist-lib/metro-production-bundle.cjs +1 -1
  150. package/dist-lib/metro-production-bundle.mjs +1 -1
  151. package/dist-lib/metro.cjs +1 -1
  152. package/dist-lib/profiles.cjs +1 -1
  153. package/dist-lib/public-brand.cjs +1 -1
  154. package/dist-lib/react-native-host-modules.cjs +1 -1
  155. package/dist-lib/react-native-host-modules.mjs +1 -1
  156. package/dist-lib/render-mode.cjs +1 -1
  157. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  158. package/dist-lib/sdk.cjs +31 -1
  159. package/dist-lib/sdk.mjs +31 -1
  160. package/dist-lib/skills.cjs +67 -53
  161. package/dist-lib/vite.cjs +1 -1
  162. package/package.json +7 -1
  163. package/src/app-url.ts +40 -0
  164. package/src/mcp.ts +791 -0
  165. package/src/sim-client.ts +12 -6
  166. package/dist-cli/chunks/chunk-IWPS3EKJ.js +0 -15
  167. package/dist-cli/chunks/chunk-MCHKBFUL.js +0 -4
  168. package/dist-cli/chunks/cli-version-ZM3PVKQ5.js +0 -4
  169. package/dist-cli/chunks/control-4QR43FXV.js +0 -4
  170. package/dist-cli/chunks/daemon-2U4CJ6AT.js +0 -4
  171. package/dist-cli/chunks/detox-RQ6FFSBS.js +0 -52
  172. package/dist-cli/chunks/drivers-OVCUPQTM.js +0 -4
  173. package/dist-cli/chunks/flow-ELTLKKZ3.js +0 -4
  174. package/dist-cli/chunks/help-CDEZAG2L.js +0 -4
  175. package/dist-cli/chunks/inspect-VVQRPJLS.js +0 -4
  176. package/dist-cli/chunks/install-desktop-YXSRKR35.js +0 -4
  177. package/dist-cli/chunks/privacy-MNRHREME.js +0 -4
  178. package/dist-cli/chunks/reset-R4E4W4YI.js +0 -4
  179. package/dist-cli/chunks/runtime-XRQZ7W34.js +0 -4
  180. package/dist-cli/chunks/setup-RNMM5GO5.js +0 -4
  181. package/dist-cli/chunks/store-HUPZUCFG.js +0 -4
  182. package/dist-cli/chunks/telemetry-IJ53XR2Y.js +0 -4
  183. package/dist-cli/chunks/upload-A57NAAHF.js +0 -4
  184. package/dist-cli/chunks/welcome-B72RRMBW.js +0 -5
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{a}from"./chunk-HIDS3PYC.js";import"./chunk-FIXRGPUT.js";import"./chunk-EVBQDQVY.js";export{a as getCliVersion};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x}from"./chunk-IWPS3EKJ.js";import"./chunk-GZEUDDAW.js";import"./chunk-6BAF6GFS.js";import"./chunk-XXNPISER.js";import"./chunk-MACI34ST.js";import"./chunk-52ES4API.js";import"./chunk-622E4JET.js";import"./chunk-TULWPOAY.js";import"./chunk-67ATAITF.js";import"./chunk-ZGD7GZRI.js";import"./chunk-X5ZOZVHC.js";import"./chunk-NEH4T67X.js";import"./chunk-2CXHDTQ5.js";import"./chunk-4WFN4DFR.js";import"./chunk-W3UIDI3W.js";import"./chunk-ZGH5U4AJ.js";import"./chunk-JAFF4RAU.js";import"./chunk-BGRGP3QR.js";import"./chunk-5VHWQGGF.js";import"./chunk-MRNW4GVL.js";import"./chunk-XRO5WQXP.js";import"./chunk-FHWZPUGC.js";import"./chunk-FIXRGPUT.js";import"./chunk-EVBQDQVY.js";export{e as applyRuntimeGenerationOrigin,i as buildOpenUrl,h as buildShellUrl,v as closeSimsBulk,c as ensureBridgeForOpen,b as normalizeDeepLinkTarget,w as planBulkCloseTargets,n as playwrightHostPidForSim,k as printConnectedSims,d as resolveBundleTarget,f as resolveDefaultShellBaseUrl,a as resolveDriverConnectWaitOptions,g as resolveShellBaseUrlForBridgePort,u as runClaimCommand,x as runCloseCommand,t as runFocusCommand,q as runLinkCommand,r as runOpenCommand,s as runUseCommand,o as signalDriverLaunchConnected,j as summarizeSimUrl,p as terminatePlaywrightHostsForSims,l as waitForSimMatch,m as waitForSimMatchOrHostExit};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{a,b,c,d,e,f}from"./chunk-EFXNSJ55.js";import"./chunk-5AS7S6HY.js";import"./chunk-ZCP4CRP6.js";import"./chunk-XR4KID25.js";import"./chunk-4WFN4DFR.js";import"./chunk-W3UIDI3W.js";import"./chunk-ZGH5U4AJ.js";import"./chunk-JAFF4RAU.js";import"./chunk-EFL2ASZO.js";import"./chunk-FHWZPUGC.js";import"./chunk-HIDS3PYC.js";import"./chunk-FIXRGPUT.js";import"./chunk-WGNDJARS.js";import"./chunk-EVBQDQVY.js";export{c as daemonInstall,b as getDaemonServiceStatus,a as runDaemon,e as teardownDaemonService,d as teardownLegacyMacDaemonArtifacts,f as teardownSootsimHome};
@@ -1,52 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{f as N}from"./chunk-M5KJCLUW.js";import"./chunk-RI3NS77J.js";import"./chunk-EAFKG5R3.js";import{c as F,d as $,e as E}from"./chunk-XPOTXF5Q.js";import{a as M}from"./chunk-DBJZUCFP.js";import"./chunk-O2ORLK6W.js";import"./chunk-YE3M3YD4.js";import"./chunk-DQFOHIRF.js";import"./chunk-CYIE65QN.js";import"./chunk-UR345KM3.js";import"./chunk-IWPS3EKJ.js";import"./chunk-GZEUDDAW.js";import"./chunk-6BAF6GFS.js";import"./chunk-XXNPISER.js";import"./chunk-MACI34ST.js";import"./chunk-52ES4API.js";import"./chunk-622E4JET.js";import"./chunk-TULWPOAY.js";import"./chunk-67ATAITF.js";import"./chunk-ZGD7GZRI.js";import"./chunk-X5ZOZVHC.js";import"./chunk-NEH4T67X.js";import"./chunk-2CXHDTQ5.js";import"./chunk-XR4KID25.js";import"./chunk-4WFN4DFR.js";import"./chunk-W3UIDI3W.js";import"./chunk-ZGH5U4AJ.js";import"./chunk-JAFF4RAU.js";import"./chunk-BGRGP3QR.js";import"./chunk-2JFZ5Z7Q.js";import"./chunk-R4FQZXJC.js";import"./chunk-EFL2ASZO.js";import"./chunk-5VHWQGGF.js";import"./chunk-MRNW4GVL.js";import"./chunk-XRO5WQXP.js";import"./chunk-FHWZPUGC.js";import{a as R}from"./chunk-FIXRGPUT.js";import"./chunk-EVBQDQVY.js";import{spawn as G}from"child_process";import{existsSync as g,mkdirSync as B,readFileSync as C,writeFileSync as y,unlinkSync as U}from"fs";import{tmpdir as k}from"os";import{dirname as q,resolve as a,join as J,relative as H}from"path";function V(){try{let t=import.meta.resolve(`${R.packageName}/detox`);return q(t.startsWith("file://")?t.slice(7):t)}catch{return a(import.meta.dirname,"..","..","detox")}}var z=`
5
- rnx detox \u2014 run detox-style tests against an rnx shell
6
-
7
- usage:
8
- rnx detox [testFiles...] run all tests under e2e/, test/e2e/, or detox/
9
- rnx detox --config <path> use a specific jest config
10
- rnx detox init scaffold sootsim-detox.config.cjs + sample test
11
- rnx detox --watch jest watch mode
12
- rnx detox --headed keep the rnx shell window visible
13
- rnx detox -t <pattern> pass a jest --testNamePattern
14
- rnx detox --no-launch skip auto-launching an rnx shell
15
-
16
- rnx detox auto-launches an rnx shell if none is running on the
17
- expected port. disable with --no-launch if you're managing the shell yourself.
18
- `;async function ae(t,o={}){if((t.includes("--help")||t.includes("-h"))&&(console.log(z),process.exit(0)),t[0]==="init")return Y();let i=e=>{let s=t.indexOf(e);return s>=0?t[s+1]:void 0},n=e=>t.includes(e),u=n("--watch"),f=n("--headed"),d=n("--no-launch"),T=i("--config"),m=o.port||Number(process.env.SOOTSIM_PORT)||5173,A=t.filter((e,s)=>{if(e.startsWith("--")||e==="-t"||e==="-h")return!1;let r=t[s-1];return!(r==="--config"||r==="-t"||r==="--testNamePattern"||r==="--grep"||r==="--maxWorkers"||r==="--shard")}),L=t.flatMap((e,s)=>e==="--runInBand"||e.startsWith("--maxWorkers=")||e.startsWith("--shard=")?[e]:(e==="--maxWorkers"||e==="--shard")&&t[s+1]?[e,t[s+1]]:[]),O=["e2e","test/e2e","detox"],c=process.env.SOOTSIM_TEST_DIR?a(process.cwd(),process.env.SOOTSIM_TEST_DIR):null;if(!c)for(let e of O){let s=a(process.cwd(),e);if(g(s)){c=s;break}}c||(console.error(` error: no detox tests found. expected one of: ${O.join(", ")}
19
- run 'rnx detox init' to scaffold a starter suite.`),process.exit(1)),d||await X(m);let l=["jest"],x=T||Q(["sootsim-detox.config.cjs","jest.config.cjs","jest.config.js"]),p=null;if(x)l.push("--config",a(process.cwd(),x));else{let e=a(V(),"jest-preset.cjs");p=J(k(),`sootsim-detox-${process.pid}.config.cjs`);let s={rootDir:c,roots:["<rootDir>"],testMatch:["<rootDir>/**/*.test.ts","<rootDir>/**/*.test.js"]};y(p,`module.exports = { ...require(${JSON.stringify(e)}), ...${JSON.stringify(s)} }
20
- `),l.push("--config",p)}u&&l.push("--watch");let I=i("-t")||i("--testNamePattern")||i("--grep");I&&l.push("-t",I);let j=M(),b=!u&&F({uploadedShare:!1,auth:j}),h=process.env.SOOTSIM_JEST_OUTPUT_FILE||null;process.env.SOOTSIM_JEST_JSON==="1"&&l.push("--json"),process.env.SOOTSIM_JEST_OUTPUT_FILE?l.push("--outputFile",process.env.SOOTSIM_JEST_OUTPUT_FILE):b&&(h=J(k(),`sootsim-detox-results-${process.pid}.json`),l.push("--json","--outputFile",h)),l.push(...L),l.push(...A),console.log(" rnx detox"),console.log(` test dir: ${c}`),console.log(` port: ${m}${f?" (headed)":""}`),x&&console.log(` config: ${x}`);let S=G("npx",l,{cwd:process.cwd(),stdio:"inherit",env:{...process.env,SOOTSIM_TEST_DIR:c,SOOTSIM_PORT:String(m),SOOTSIM_HEADED:f?"1":"",SOOTSIM_URL:process.env.SOOTSIM_URL||`http://localhost:${m}`}}),v=e=>()=>{S.kill(e)},_=v("SIGTERM"),D=v("SIGINT");process.on("SIGTERM",_),process.on("SIGINT",D);let W=Date.now(),w=await new Promise((e,s)=>{S.once("error",s),S.once("exit",(r,P)=>{if(P){console.error(` error: jest terminated by ${P}`),e(1);return}e(r??1)})});if(process.off("SIGTERM",_),process.off("SIGINT",D),p)try{U(p)}catch{}if(b){let e=h?K(h):null,s=await E(),r=await $({origin:s,kind:"detox",name:H(process.cwd(),c)||"e2e",status:w===0?"passed":"failed",summary:e?`${e.numPassedTests}/${e.numTotalTests} tests passed`:null,failureMessage:w===0?null:e?.firstFailure??null,stepCount:e?.numTotalTests??null,failedStepIndex:e?.firstFailedIndex??null,durationMs:Date.now()-W,auth:j});r&&console.log(` run: ${r.id}`)}process.exit(w)}function K(t){try{let o=JSON.parse(C(t,"utf8")),i=null,n=null,u=0;for(let f of o.testResults??[])for(let d of f.testResults??[]){if(n==null&&d.status==="failed"){n=u;let T=d.failureMessages?.[0]?.split(`
21
- `)[0];i=[d.fullName,T].filter(Boolean).join(": ")||null}u+=1}return typeof o.numTotalTests!="number"?null:{numTotalTests:o.numTotalTests,numPassedTests:o.numPassedTests??0,firstFailure:i,firstFailedIndex:n}}catch{return null}finally{if(!process.env.SOOTSIM_JEST_OUTPUT_FILE)try{U(t)}catch{}}}function Q(t){for(let o of t)if(g(a(process.cwd(),o)))return o;return null}async function X(t){await N()||console.warn(` warn: no rnx shell reachable on :${t}. start your app, then run \`rnx open <app-port>\`
22
- or pass --no-launch if you're managing the shell yourself.`)}function Y(){let t=process.cwd(),o=a(t,"sootsim-detox.config.cjs");g(o)?console.log(` skip: ${o} already exists`):(y(o,`// rnx detox jest config.
23
- // extends the sootsim preset, which rewrites \`import ... from 'detox'\`
24
- // to the sootsim driver and keeps your jest transforms intact.
25
-
26
- /** @type {import('@jest/types').Config.InitialOptions} */
27
- module.exports = {
28
- preset: 'rnxsim/detox/jest-preset',
29
- rootDir: __dirname,
30
- testMatch: ['<rootDir>/e2e/**/*.test.ts', '<rootDir>/e2e/**/*.test.js'],
31
- }
32
- `),console.log(` created ${o}`));let i=a(t,"e2e"),n=a(i,"example.test.ts");g(n)?console.log(` skip: ${n} already exists`):(B(i,{recursive:!0}),y(n,`// sample rnx detox test. resolve \`detox\` via the jest preset in
33
- // sootsim-detox.config.cjs \u2014 no extra imports required.
34
-
35
- import { by, device, element, expect, waitFor } from 'detox'
36
-
37
- describe('example', () => {
38
- beforeAll(async () => {
39
- await device.launchApp()
40
- })
41
-
42
- it('shows the welcome text', async () => {
43
- await waitFor(element(by.text('Welcome'))).toBeVisible().withTimeout(5000)
44
- })
45
-
46
- it('taps a button by id', async () => {
47
- await element(by.id('start-button')).tap()
48
- await expect(element(by.id('home-screen'))).toBeVisible()
49
- })
50
- })
51
- `),console.log(` created ${n}`)),console.log(`
52
- next:`),console.log(" rnx detox # run the sample"),console.log(" rnx detox --watch"),process.exit(0)}export{ae as runDetox};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import"./chunk-J66US2OZ.js";import{a,b,c,d,e,f,g}from"./chunk-TULWPOAY.js";import"./chunk-67ATAITF.js";import"./chunk-JAFF4RAU.js";import"./chunk-BGRGP3QR.js";import"./chunk-5VHWQGGF.js";import"./chunk-FHWZPUGC.js";import"./chunk-EVBQDQVY.js";export{c as ALL_DRIVERS,g as buildDriverListRows,a as electronDriver,d as getAllDrivers,e as getDriver,b as playwrightDriver,f as resolveDriver};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{c,d,e,f,g,h,i}from"./chunk-M5KJCLUW.js";import"./chunk-RI3NS77J.js";import"./chunk-EAFKG5R3.js";import"./chunk-XPOTXF5Q.js";import"./chunk-DBJZUCFP.js";import"./chunk-O2ORLK6W.js";import{a,b}from"./chunk-YE3M3YD4.js";import"./chunk-DQFOHIRF.js";import"./chunk-CYIE65QN.js";import"./chunk-UR345KM3.js";import"./chunk-IWPS3EKJ.js";import"./chunk-GZEUDDAW.js";import"./chunk-6BAF6GFS.js";import"./chunk-XXNPISER.js";import"./chunk-MACI34ST.js";import"./chunk-52ES4API.js";import"./chunk-622E4JET.js";import"./chunk-TULWPOAY.js";import"./chunk-67ATAITF.js";import"./chunk-ZGD7GZRI.js";import"./chunk-X5ZOZVHC.js";import"./chunk-NEH4T67X.js";import"./chunk-2CXHDTQ5.js";import"./chunk-XR4KID25.js";import"./chunk-4WFN4DFR.js";import"./chunk-W3UIDI3W.js";import"./chunk-ZGH5U4AJ.js";import"./chunk-JAFF4RAU.js";import"./chunk-BGRGP3QR.js";import"./chunk-2JFZ5Z7Q.js";import"./chunk-R4FQZXJC.js";import"./chunk-EFL2ASZO.js";import"./chunk-5VHWQGGF.js";import"./chunk-MRNW4GVL.js";import"./chunk-XRO5WQXP.js";import"./chunk-FHWZPUGC.js";import"./chunk-FIXRGPUT.js";import"./chunk-EVBQDQVY.js";export{f as discoverSootsimUrl,c as getLastFlowPreviewUploadResult,d as getLastFlowTraceSteps,h as hoistLeadingSimFlag,a as parseFlowFile,e as resolveAppFrontmatterTarget,g as runFlowPlayback,i as runMaestroAuthoring,b as validateFlowFile};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{a,b,c}from"./chunk-5AS7S6HY.js";import"./chunk-ZCP4CRP6.js";import"./chunk-XR4KID25.js";import"./chunk-4WFN4DFR.js";import"./chunk-W3UIDI3W.js";import"./chunk-ZGH5U4AJ.js";import"./chunk-JAFF4RAU.js";import"./chunk-EFL2ASZO.js";import"./chunk-FHWZPUGC.js";import"./chunk-HIDS3PYC.js";import"./chunk-FIXRGPUT.js";import"./chunk-WGNDJARS.js";import"./chunk-EVBQDQVY.js";export{c as printCommandHelp,b as printGroupHelp,a as printHelp};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{h as a,i as b}from"./chunk-YE3M3YD4.js";import"./chunk-DQFOHIRF.js";import"./chunk-CYIE65QN.js";import"./chunk-UR345KM3.js";import"./chunk-IWPS3EKJ.js";import"./chunk-GZEUDDAW.js";import"./chunk-6BAF6GFS.js";import"./chunk-XXNPISER.js";import"./chunk-MACI34ST.js";import"./chunk-52ES4API.js";import"./chunk-622E4JET.js";import"./chunk-TULWPOAY.js";import"./chunk-67ATAITF.js";import"./chunk-ZGD7GZRI.js";import"./chunk-X5ZOZVHC.js";import"./chunk-NEH4T67X.js";import"./chunk-2CXHDTQ5.js";import"./chunk-XR4KID25.js";import"./chunk-4WFN4DFR.js";import"./chunk-W3UIDI3W.js";import"./chunk-ZGH5U4AJ.js";import"./chunk-JAFF4RAU.js";import"./chunk-BGRGP3QR.js";import"./chunk-2JFZ5Z7Q.js";import"./chunk-R4FQZXJC.js";import"./chunk-EFL2ASZO.js";import"./chunk-5VHWQGGF.js";import"./chunk-MRNW4GVL.js";import"./chunk-XRO5WQXP.js";import"./chunk-FHWZPUGC.js";import"./chunk-FIXRGPUT.js";import"./chunk-EVBQDQVY.js";export{a as printShellPerfReport,b as runInspect};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{a}from"./chunk-OSZ5HZSI.js";import"./chunk-BGRGP3QR.js";import"./chunk-2SFMW5K6.js";import"./chunk-EVBQDQVY.js";export{a as runInstallDesktop};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{a,b,c}from"./chunk-QIQL7Y5V.js";import"./chunk-XRO5WQXP.js";import"./chunk-2SFMW5K6.js";import"./chunk-FHWZPUGC.js";import"./chunk-EVBQDQVY.js";export{a as canPromptForPrivacyChoice,b as diagnosticsAllowedForCurrentProcess,c as ensurePrivacyChoice};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{a}from"./chunk-ZTWUNK45.js";import"./chunk-52ES4API.js";import"./chunk-622E4JET.js";import"./chunk-ZGH5U4AJ.js";import"./chunk-JAFF4RAU.js";import"./chunk-FHWZPUGC.js";import"./chunk-EVBQDQVY.js";export{a as runReset};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{c as a}from"./chunk-JRPU5TFI.js";import"./chunk-NEH4T67X.js";import"./chunk-2CXHDTQ5.js";import"./chunk-ZGH5U4AJ.js";import"./chunk-JAFF4RAU.js";import"./chunk-MRNW4GVL.js";import"./chunk-FHWZPUGC.js";import"./chunk-FIXRGPUT.js";import"./chunk-EVBQDQVY.js";export{a as runRuntime};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{a}from"./chunk-XKRUNS7A.js";import"./chunk-IWPS3EKJ.js";import"./chunk-GZEUDDAW.js";import"./chunk-6BAF6GFS.js";import"./chunk-XXNPISER.js";import"./chunk-MACI34ST.js";import"./chunk-52ES4API.js";import"./chunk-622E4JET.js";import"./chunk-TULWPOAY.js";import"./chunk-67ATAITF.js";import"./chunk-ZGD7GZRI.js";import"./chunk-X5ZOZVHC.js";import"./chunk-NEH4T67X.js";import"./chunk-2CXHDTQ5.js";import"./chunk-EFXNSJ55.js";import"./chunk-5AS7S6HY.js";import"./chunk-ZCP4CRP6.js";import"./chunk-XR4KID25.js";import"./chunk-4WFN4DFR.js";import"./chunk-W3UIDI3W.js";import"./chunk-ZGH5U4AJ.js";import"./chunk-JAFF4RAU.js";import"./chunk-OSZ5HZSI.js";import"./chunk-BGRGP3QR.js";import"./chunk-EFL2ASZO.js";import"./chunk-5VHWQGGF.js";import"./chunk-MRNW4GVL.js";import"./chunk-25BTVHK2.js";import"./chunk-QIQL7Y5V.js";import"./chunk-XRO5WQXP.js";import"./chunk-2SFMW5K6.js";import"./chunk-FHWZPUGC.js";import"./chunk-HIDS3PYC.js";import"./chunk-FIXRGPUT.js";import"./chunk-WGNDJARS.js";import"./chunk-EVBQDQVY.js";export{a as runSetup};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{a}from"./chunk-ZGD7GZRI.js";import"./chunk-W3UIDI3W.js";import"./chunk-EVBQDQVY.js";export{a as settingsStore};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{a,b,c,d}from"./chunk-25BTVHK2.js";import"./chunk-QIQL7Y5V.js";import"./chunk-XRO5WQXP.js";import"./chunk-2SFMW5K6.js";import"./chunk-FHWZPUGC.js";import"./chunk-EVBQDQVY.js";export{a as buildCliDiagnosticEvent,d as flushCliTelemetry,b as trackCliDiagnostic,c as trackCliError};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{e as a,f as b,g as c}from"./chunk-XPOTXF5Q.js";import"./chunk-DBJZUCFP.js";import"./chunk-O2ORLK6W.js";import"./chunk-XXNPISER.js";import"./chunk-MACI34ST.js";import"./chunk-X5ZOZVHC.js";import"./chunk-2CXHDTQ5.js";import"./chunk-ZGH5U4AJ.js";import"./chunk-JAFF4RAU.js";import"./chunk-FHWZPUGC.js";import"./chunk-FIXRGPUT.js";import"./chunk-EVBQDQVY.js";export{a as resolveDefaultUploadOrigin,b as resolvePublicPreviewOrigin,c as runUpload};
@@ -1,5 +0,0 @@
1
- /*! rnx v0.1.365 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import { createRequire as __sootsimCreateRequire } from 'node:module'
3
- var require = __sootsimCreateRequire(import.meta.url)
4
- import{a as t}from"./chunk-XKRUNS7A.js";import{r as e}from"./chunk-IWPS3EKJ.js";import"./chunk-GZEUDDAW.js";import"./chunk-6BAF6GFS.js";import"./chunk-XXNPISER.js";import"./chunk-MACI34ST.js";import"./chunk-52ES4API.js";import"./chunk-622E4JET.js";import"./chunk-TULWPOAY.js";import"./chunk-67ATAITF.js";import"./chunk-ZGD7GZRI.js";import"./chunk-X5ZOZVHC.js";import"./chunk-NEH4T67X.js";import"./chunk-2CXHDTQ5.js";import"./chunk-EFXNSJ55.js";import"./chunk-5AS7S6HY.js";import"./chunk-ZCP4CRP6.js";import"./chunk-XR4KID25.js";import"./chunk-4WFN4DFR.js";import"./chunk-W3UIDI3W.js";import"./chunk-ZGH5U4AJ.js";import"./chunk-JAFF4RAU.js";import"./chunk-OSZ5HZSI.js";import"./chunk-BGRGP3QR.js";import"./chunk-EFL2ASZO.js";import"./chunk-5VHWQGGF.js";import"./chunk-MRNW4GVL.js";import"./chunk-25BTVHK2.js";import{a as r}from"./chunk-QIQL7Y5V.js";import"./chunk-XRO5WQXP.js";import{f as o}from"./chunk-2SFMW5K6.js";import{C as n}from"./chunk-FHWZPUGC.js";import"./chunk-HIDS3PYC.js";import"./chunk-FIXRGPUT.js";import"./chunk-WGNDJARS.js";import"./chunk-EVBQDQVY.js";async function u(){return!n()&&r()?(await t([],{launchConnectRN:!0}),0):(o("Run any React Native app in a local simulator."),console.log(`
5
- Opening ConnectRN`),await e(["ConnectRN","--no-describe","--quiet"]),0)}export{u as runWelcome};