rnxsim 0.1.364 → 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-TPAN64UJ.js → agent-SO6IOPRK.js} +2 -2
  9. package/dist-cli/chunks/{agent-wrapper-GFB3KBNY.js → agent-wrapper-PMYCB2KO.js} +2 -2
  10. package/dist-cli/chunks/{app-fonts-DF5BO6AK.js → app-fonts-LULQGFY7.js} +2 -2
  11. package/dist-cli/chunks/{assert-VVKTC5YX.js → assert-WGNCD4ZU.js} +2 -2
  12. package/dist-cli/chunks/{auth-C7SRVIIX.js → auth-G7CCHH3M.js} +2 -2
  13. package/dist-cli/chunks/{beta-SZVR5QH2.js → beta-N4LXL5TO.js} +2 -2
  14. package/dist-cli/chunks/{camera-XKUQHX54.js → camera-4JHCYBQS.js} +2 -2
  15. package/dist-cli/chunks/{chunk-6TFSPDDE.js → chunk-2S7BKUP2.js} +2 -2
  16. package/dist-cli/chunks/{chunk-6OZZCDOK.js → chunk-2UXU53MG.js} +1 -1
  17. package/dist-cli/chunks/{chunk-GISQDTW6.js → chunk-34IQM22N.js} +2 -2
  18. package/dist-cli/chunks/{chunk-4OK2SZTF.js → chunk-3X6IBUBX.js} +2 -2
  19. package/dist-cli/chunks/{chunk-KXGBOYTB.js → chunk-5DAIA77C.js} +2 -2
  20. package/dist-cli/chunks/{chunk-6EALLMLO.js → chunk-5NMCF5VF.js} +1 -1
  21. package/dist-cli/chunks/{chunk-CDGPG6JU.js → chunk-5OK3LCEJ.js} +2 -2
  22. package/dist-cli/chunks/{chunk-CAP2EQ4P.js → chunk-6PL2CCGP.js} +2 -2
  23. package/dist-cli/chunks/{chunk-WKH7T3YK.js → chunk-77ZHQJZR.js} +2 -2
  24. package/dist-cli/chunks/chunk-7B37IZBN.js +15 -0
  25. package/dist-cli/chunks/{chunk-QECOXZY3.js → chunk-A5FXX5PJ.js} +1 -1
  26. package/dist-cli/chunks/{chunk-DSD2TMUC.js → chunk-AFV32WZT.js} +3 -3
  27. package/dist-cli/chunks/{chunk-VDEE37CY.js → chunk-CN6XYYEA.js} +12 -12
  28. package/dist-cli/chunks/{chunk-WK3QQTWE.js → chunk-CTG7HBCA.js} +1 -1
  29. package/dist-cli/chunks/{chunk-XXFZMO4I.js → chunk-DMPF2D24.js} +2 -2
  30. package/dist-cli/chunks/{chunk-SWIEVEPN.js → chunk-DW37EVX5.js} +1 -1
  31. package/dist-cli/chunks/{chunk-2UM2IFEM.js → chunk-DWFIH7CB.js} +2 -2
  32. package/dist-cli/chunks/{chunk-7RZI733Y.js → chunk-EFR5DVNP.js} +1 -1
  33. package/dist-cli/chunks/{chunk-LWOIQBVX.js → chunk-EGAGZHO6.js} +1 -1
  34. package/dist-cli/chunks/{chunk-AUHE5LTY.js → chunk-EQK5MJCU.js} +2 -2
  35. package/dist-cli/chunks/{chunk-T2U4BLWM.js → chunk-GAJQSITE.js} +1 -1
  36. package/dist-cli/chunks/{chunk-MPWM3TBY.js → chunk-GUI3PDH2.js} +2 -2
  37. package/dist-cli/chunks/{chunk-5OZJUMUS.js → chunk-GXAB52K7.js} +2 -2
  38. package/dist-cli/chunks/{chunk-3LSNLOZR.js → chunk-H23KWIKA.js} +2 -2
  39. package/dist-cli/chunks/{chunk-GJKVFQCF.js → chunk-HT6GFZOZ.js} +1 -1
  40. package/dist-cli/chunks/{chunk-475BITXX.js → chunk-I6KIM6PN.js} +1 -1
  41. package/dist-cli/chunks/{chunk-PSUX2SIK.js → chunk-IZKHOM37.js} +1 -1
  42. package/dist-cli/chunks/{chunk-GCMVAY4M.js → chunk-JHXETDVC.js} +1 -1
  43. package/dist-cli/chunks/{chunk-MUKHA5UF.js → chunk-KLF3K6ZZ.js} +1 -1
  44. package/dist-cli/chunks/{chunk-6CQSKBKG.js → chunk-LN3RNW6X.js} +2 -2
  45. package/dist-cli/chunks/{chunk-26XF67QW.js → chunk-M3BNCF7E.js} +2 -2
  46. package/dist-cli/chunks/{chunk-XXP4GLLC.js → chunk-M5QCGLXR.js} +3 -3
  47. package/dist-cli/chunks/{chunk-OXXWSZKI.js → chunk-M6SKQGAN.js} +2 -2
  48. package/dist-cli/chunks/{chunk-5GO3JI65.js → chunk-MGDSJZ37.js} +2 -2
  49. package/dist-cli/chunks/{chunk-JF6NYOSI.js → chunk-N3UC7HIX.js} +1 -1
  50. package/dist-cli/chunks/{chunk-GYC6VTQV.js → chunk-NAYLPOC5.js} +2 -2
  51. package/dist-cli/chunks/{chunk-BRU5PPUO.js → chunk-NM2L2QV4.js} +2 -2
  52. package/dist-cli/chunks/{chunk-6TAFS3GK.js → chunk-NQFJOCSF.js} +2 -2
  53. package/dist-cli/chunks/{chunk-QSGQVEGD.js → chunk-ONORMKWX.js} +2 -2
  54. package/dist-cli/chunks/{chunk-ONGTUKC3.js → chunk-ORWP2E7R.js} +2 -2
  55. package/dist-cli/chunks/{chunk-PG2B65PZ.js → chunk-OW5XHAA4.js} +1 -1
  56. package/dist-cli/chunks/{chunk-GXMNFFJJ.js → chunk-RYIMSKDO.js} +2 -2
  57. package/dist-cli/chunks/{chunk-2TL6BZCH.js → chunk-SA6XVI55.js} +1 -1
  58. package/dist-cli/chunks/{chunk-QWRQ7RY6.js → chunk-TIAEYO6I.js} +2 -2
  59. package/dist-cli/chunks/{chunk-FKAZFE5Z.js → chunk-TTASWLKM.js} +1 -1
  60. package/dist-cli/chunks/{chunk-X3N2H4A3.js → chunk-UCHW7ZHR.js} +2 -2
  61. package/dist-cli/chunks/{chunk-UDZI7GEV.js → chunk-VIND4SP3.js} +1 -1
  62. package/dist-cli/chunks/{chunk-ZOQAPVNV.js → chunk-XJU2QIRY.js} +2 -2
  63. package/dist-cli/chunks/{chunk-EP5FYRBT.js → chunk-XXNLYR64.js} +3 -3
  64. package/dist-cli/chunks/{chunk-PTOGXUOE.js → chunk-YCCCPFWT.js} +2 -2
  65. package/dist-cli/chunks/chunk-YGMEDJKJ.js +4 -0
  66. package/dist-cli/chunks/{chunk-S7OIWXIZ.js → chunk-YXXKSL6R.js} +1 -1
  67. package/dist-cli/chunks/{chunk-V7CAEDZT.js → chunk-ZFM24DOX.js} +2 -2
  68. package/dist-cli/chunks/{chunk-YJTZ77E4.js → chunk-ZJIS3CTW.js} +2 -2
  69. package/dist-cli/chunks/{chunk-IX2ZY3FI.js → chunk-ZLVRYXZ7.js} +1 -1
  70. package/dist-cli/chunks/{chunk-ZUKAXCGG.js → chunk-ZMJ75EDG.js} +2 -2
  71. package/dist-cli/chunks/{cleanup-KSK43W4F.js → cleanup-KRIATKFH.js} +2 -2
  72. package/dist-cli/chunks/cli-version-SYGNHGFR.js +4 -0
  73. package/dist-cli/chunks/{compat-ETLIMR6U.js → compat-6PTQ3QEA.js} +2 -2
  74. package/dist-cli/chunks/{config-GZKHF2OQ.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-TCZOR7EX.js → debug-WIIB6ZKC.js} +3 -3
  78. package/dist-cli/chunks/{desktop-SXNUOCYY.js → desktop-TD7Q5LNB.js} +3 -3
  79. package/dist-cli/chunks/detox-7GNR33VM.js +52 -0
  80. package/dist-cli/chunks/{device-W7U63QOH.js → device-QOR3PGUF.js} +2 -2
  81. package/dist-cli/chunks/{diagnose-TNZKUJHP.js → diagnose-RRCBLP6E.js} +2 -2
  82. package/dist-cli/chunks/{disk-cleanup-3YIXIS5V.js → disk-cleanup-MJUGJPXT.js} +2 -2
  83. package/dist-cli/chunks/drivers-W6E3BZH4.js +4 -0
  84. package/dist-cli/chunks/{film-E4DAHL3T.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-JGC3RNJM.js → hidden-runtime-alias-JGURVR2Z.js} +2 -2
  88. package/dist-cli/chunks/{home-paths-RMAJUXID.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-AVAHLXIO.js → login-RU33QR2G.js} +2 -2
  92. package/dist-cli/chunks/{logout-FHY54N66.js → logout-2IUG3Y5J.js} +2 -2
  93. package/dist-cli/chunks/{maestro-4FOX653X.js → maestro-2MXTGG7I.js} +3 -3
  94. package/dist-cli/chunks/{maestro-generate-A5VA2C2L.js → maestro-generate-2PYIFGLR.js} +3 -3
  95. package/dist-cli/chunks/{mode-EEMUPUUN.js → mode-3DAPG3HF.js} +2 -2
  96. package/dist-cli/chunks/{optional-demo-registry-OOJVFEEM.js → optional-demo-registry-BWSDJF2Z.js} +2 -2
  97. package/dist-cli/chunks/{perf-KC3DWW2K.js → perf-2TKPWB4N.js} +2 -2
  98. package/dist-cli/chunks/{permissions-NYLB3HTV.js → permissions-5CSMHYNA.js} +2 -2
  99. package/dist-cli/chunks/privacy-PWWC2BXO.js +4 -0
  100. package/dist-cli/chunks/{record-W4VGQFZO.js → record-I2HJCFP3.js} +3 -3
  101. package/dist-cli/chunks/{report-issue-OV4TEQA4.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-E5UQAWDL.js → screenshot-command-UFW5BFHP.js} +3 -3
  105. package/dist-cli/chunks/{screenshot-layers-FKOOWRTR.js → screenshot-layers-5BIAL4YN.js} +2 -2
  106. package/dist-cli/chunks/{screenshots-capture-75RRIMXV.js → screenshots-capture-EHYS3BV2.js} +2 -2
  107. package/dist-cli/chunks/{serve-FSKXPWZS.js → serve-O4FDM3AC.js} +2 -2
  108. package/dist-cli/chunks/setup-Y4QGSJBM.js +4 -0
  109. package/dist-cli/chunks/{skills-6KOGOICV.js → skills-ZK55SY32.js} +2 -2
  110. package/dist-cli/chunks/{state-MFXITPJO.js → state-KFLAZNEY.js} +2 -2
  111. package/dist-cli/chunks/{storage-Y6WMFSON.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-ULQSPSUI.js → timeline-DKGW5S4I.js} +2 -2
  115. package/dist-cli/chunks/{upgrade-TXKMF6QG.js → upgrade-LL7G4B7G.js} +2 -2
  116. package/dist-cli/chunks/upload-Y4C3YZDK.js +4 -0
  117. package/dist-cli/chunks/{version-ELQDHWMV.js → version-YLWR5G4F.js} +2 -2
  118. package/dist-cli/chunks/{web-QDYHKVEF.js → web-QELZ4CP6.js} +2 -2
  119. package/dist-cli/chunks/welcome-ZPKA5PZJ.js +5 -0
  120. package/dist-cli/chunks/{what-happened-64IQA6AX.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-2FLTYH6I.js +0 -15
  167. package/dist-cli/chunks/chunk-HFHQUP6D.js +0 -4
  168. package/dist-cli/chunks/cli-version-VMIKRJJR.js +0 -4
  169. package/dist-cli/chunks/control-GEI7BBKL.js +0 -4
  170. package/dist-cli/chunks/daemon-F4J2GDYQ.js +0 -4
  171. package/dist-cli/chunks/detox-3IE75WQS.js +0 -52
  172. package/dist-cli/chunks/drivers-EW637BG3.js +0 -4
  173. package/dist-cli/chunks/flow-FX5GS2R4.js +0 -4
  174. package/dist-cli/chunks/help-2GRNPHE6.js +0 -4
  175. package/dist-cli/chunks/inspect-G24KNRYH.js +0 -4
  176. package/dist-cli/chunks/install-desktop-FHESQL4S.js +0 -4
  177. package/dist-cli/chunks/privacy-FHOKJ2N7.js +0 -4
  178. package/dist-cli/chunks/reset-MUWZMMPE.js +0 -4
  179. package/dist-cli/chunks/runtime-TK4FTIEZ.js +0 -4
  180. package/dist-cli/chunks/setup-LAKKCS57.js +0 -4
  181. package/dist-cli/chunks/store-56XZIZGX.js +0 -4
  182. package/dist-cli/chunks/telemetry-OXQ57PD4.js +0 -4
  183. package/dist-cli/chunks/upload-S3BWN6EM.js +0 -4
  184. package/dist-cli/chunks/welcome-ZT56CZ2Z.js +0 -5
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.364 | (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-QSGQVEGD.js";import"./chunk-6EALLMLO.js";import"./chunk-GCMVAY4M.js";export{a as getCliVersion};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.364 | (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-2FLTYH6I.js";import"./chunk-GXMNFFJJ.js";import"./chunk-LWOIQBVX.js";import"./chunk-ONGTUKC3.js";import"./chunk-AUHE5LTY.js";import"./chunk-4OK2SZTF.js";import"./chunk-SWIEVEPN.js";import"./chunk-KXGBOYTB.js";import"./chunk-6TAFS3GK.js";import"./chunk-XXFZMO4I.js";import"./chunk-2TL6BZCH.js";import"./chunk-CAP2EQ4P.js";import"./chunk-GJKVFQCF.js";import"./chunk-OXXWSZKI.js";import"./chunk-EP5FYRBT.js";import"./chunk-MPWM3TBY.js";import"./chunk-T2U4BLWM.js";import"./chunk-475BITXX.js";import"./chunk-FKAZFE5Z.js";import"./chunk-WKH7T3YK.js";import"./chunk-PSUX2SIK.js";import"./chunk-S7OIWXIZ.js";import"./chunk-6EALLMLO.js";import"./chunk-GCMVAY4M.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.364 | (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-6CQSKBKG.js";import"./chunk-6TFSPDDE.js";import"./chunk-V7CAEDZT.js";import"./chunk-BRU5PPUO.js";import"./chunk-OXXWSZKI.js";import"./chunk-EP5FYRBT.js";import"./chunk-MPWM3TBY.js";import"./chunk-T2U4BLWM.js";import"./chunk-UDZI7GEV.js";import"./chunk-S7OIWXIZ.js";import"./chunk-QSGQVEGD.js";import"./chunk-6EALLMLO.js";import"./chunk-7RZI733Y.js";import"./chunk-GCMVAY4M.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.364 | (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-VDEE37CY.js";import"./chunk-6OZZCDOK.js";import"./chunk-YJTZ77E4.js";import{c as F,d as $,e as E}from"./chunk-GISQDTW6.js";import{a as M}from"./chunk-5OZJUMUS.js";import"./chunk-X3N2H4A3.js";import"./chunk-XXP4GLLC.js";import"./chunk-IX2ZY3FI.js";import"./chunk-QECOXZY3.js";import"./chunk-ZOQAPVNV.js";import"./chunk-2FLTYH6I.js";import"./chunk-GXMNFFJJ.js";import"./chunk-LWOIQBVX.js";import"./chunk-ONGTUKC3.js";import"./chunk-AUHE5LTY.js";import"./chunk-4OK2SZTF.js";import"./chunk-SWIEVEPN.js";import"./chunk-KXGBOYTB.js";import"./chunk-6TAFS3GK.js";import"./chunk-XXFZMO4I.js";import"./chunk-2TL6BZCH.js";import"./chunk-CAP2EQ4P.js";import"./chunk-GJKVFQCF.js";import"./chunk-BRU5PPUO.js";import"./chunk-OXXWSZKI.js";import"./chunk-EP5FYRBT.js";import"./chunk-MPWM3TBY.js";import"./chunk-T2U4BLWM.js";import"./chunk-475BITXX.js";import"./chunk-MUKHA5UF.js";import"./chunk-5GO3JI65.js";import"./chunk-UDZI7GEV.js";import"./chunk-FKAZFE5Z.js";import"./chunk-WKH7T3YK.js";import"./chunk-PSUX2SIK.js";import"./chunk-S7OIWXIZ.js";import{a as R}from"./chunk-6EALLMLO.js";import"./chunk-GCMVAY4M.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.364 | (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-WK3QQTWE.js";import{a,b,c,d,e,f,g}from"./chunk-KXGBOYTB.js";import"./chunk-6TAFS3GK.js";import"./chunk-T2U4BLWM.js";import"./chunk-475BITXX.js";import"./chunk-FKAZFE5Z.js";import"./chunk-S7OIWXIZ.js";import"./chunk-GCMVAY4M.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.364 | (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-VDEE37CY.js";import"./chunk-6OZZCDOK.js";import"./chunk-YJTZ77E4.js";import"./chunk-GISQDTW6.js";import"./chunk-5OZJUMUS.js";import"./chunk-X3N2H4A3.js";import{a,b}from"./chunk-XXP4GLLC.js";import"./chunk-IX2ZY3FI.js";import"./chunk-QECOXZY3.js";import"./chunk-ZOQAPVNV.js";import"./chunk-2FLTYH6I.js";import"./chunk-GXMNFFJJ.js";import"./chunk-LWOIQBVX.js";import"./chunk-ONGTUKC3.js";import"./chunk-AUHE5LTY.js";import"./chunk-4OK2SZTF.js";import"./chunk-SWIEVEPN.js";import"./chunk-KXGBOYTB.js";import"./chunk-6TAFS3GK.js";import"./chunk-XXFZMO4I.js";import"./chunk-2TL6BZCH.js";import"./chunk-CAP2EQ4P.js";import"./chunk-GJKVFQCF.js";import"./chunk-BRU5PPUO.js";import"./chunk-OXXWSZKI.js";import"./chunk-EP5FYRBT.js";import"./chunk-MPWM3TBY.js";import"./chunk-T2U4BLWM.js";import"./chunk-475BITXX.js";import"./chunk-MUKHA5UF.js";import"./chunk-5GO3JI65.js";import"./chunk-UDZI7GEV.js";import"./chunk-FKAZFE5Z.js";import"./chunk-WKH7T3YK.js";import"./chunk-PSUX2SIK.js";import"./chunk-S7OIWXIZ.js";import"./chunk-6EALLMLO.js";import"./chunk-GCMVAY4M.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.364 | (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-6TFSPDDE.js";import"./chunk-V7CAEDZT.js";import"./chunk-BRU5PPUO.js";import"./chunk-OXXWSZKI.js";import"./chunk-EP5FYRBT.js";import"./chunk-MPWM3TBY.js";import"./chunk-T2U4BLWM.js";import"./chunk-UDZI7GEV.js";import"./chunk-S7OIWXIZ.js";import"./chunk-QSGQVEGD.js";import"./chunk-6EALLMLO.js";import"./chunk-7RZI733Y.js";import"./chunk-GCMVAY4M.js";export{c as printCommandHelp,b as printGroupHelp,a as printHelp};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.364 | (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-XXP4GLLC.js";import"./chunk-IX2ZY3FI.js";import"./chunk-QECOXZY3.js";import"./chunk-ZOQAPVNV.js";import"./chunk-2FLTYH6I.js";import"./chunk-GXMNFFJJ.js";import"./chunk-LWOIQBVX.js";import"./chunk-ONGTUKC3.js";import"./chunk-AUHE5LTY.js";import"./chunk-4OK2SZTF.js";import"./chunk-SWIEVEPN.js";import"./chunk-KXGBOYTB.js";import"./chunk-6TAFS3GK.js";import"./chunk-XXFZMO4I.js";import"./chunk-2TL6BZCH.js";import"./chunk-CAP2EQ4P.js";import"./chunk-GJKVFQCF.js";import"./chunk-BRU5PPUO.js";import"./chunk-OXXWSZKI.js";import"./chunk-EP5FYRBT.js";import"./chunk-MPWM3TBY.js";import"./chunk-T2U4BLWM.js";import"./chunk-475BITXX.js";import"./chunk-MUKHA5UF.js";import"./chunk-5GO3JI65.js";import"./chunk-UDZI7GEV.js";import"./chunk-FKAZFE5Z.js";import"./chunk-WKH7T3YK.js";import"./chunk-PSUX2SIK.js";import"./chunk-S7OIWXIZ.js";import"./chunk-6EALLMLO.js";import"./chunk-GCMVAY4M.js";export{a as printShellPerfReport,b as runInspect};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.364 | (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-GYC6VTQV.js";import"./chunk-475BITXX.js";import"./chunk-JF6NYOSI.js";import"./chunk-GCMVAY4M.js";export{a as runInstallDesktop};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.364 | (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-CDGPG6JU.js";import"./chunk-PSUX2SIK.js";import"./chunk-JF6NYOSI.js";import"./chunk-S7OIWXIZ.js";import"./chunk-GCMVAY4M.js";export{a as canPromptForPrivacyChoice,b as diagnosticsAllowedForCurrentProcess,c as ensurePrivacyChoice};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.364 | (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-QWRQ7RY6.js";import"./chunk-4OK2SZTF.js";import"./chunk-SWIEVEPN.js";import"./chunk-MPWM3TBY.js";import"./chunk-T2U4BLWM.js";import"./chunk-S7OIWXIZ.js";import"./chunk-GCMVAY4M.js";export{a as runReset};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.364 | (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-DSD2TMUC.js";import"./chunk-CAP2EQ4P.js";import"./chunk-GJKVFQCF.js";import"./chunk-MPWM3TBY.js";import"./chunk-T2U4BLWM.js";import"./chunk-WKH7T3YK.js";import"./chunk-S7OIWXIZ.js";import"./chunk-6EALLMLO.js";import"./chunk-GCMVAY4M.js";export{a as runRuntime};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.364 | (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-2UM2IFEM.js";import"./chunk-2FLTYH6I.js";import"./chunk-GXMNFFJJ.js";import"./chunk-LWOIQBVX.js";import"./chunk-ONGTUKC3.js";import"./chunk-AUHE5LTY.js";import"./chunk-4OK2SZTF.js";import"./chunk-SWIEVEPN.js";import"./chunk-KXGBOYTB.js";import"./chunk-6TAFS3GK.js";import"./chunk-XXFZMO4I.js";import"./chunk-2TL6BZCH.js";import"./chunk-CAP2EQ4P.js";import"./chunk-GJKVFQCF.js";import"./chunk-6CQSKBKG.js";import"./chunk-6TFSPDDE.js";import"./chunk-V7CAEDZT.js";import"./chunk-BRU5PPUO.js";import"./chunk-OXXWSZKI.js";import"./chunk-EP5FYRBT.js";import"./chunk-MPWM3TBY.js";import"./chunk-T2U4BLWM.js";import"./chunk-GYC6VTQV.js";import"./chunk-475BITXX.js";import"./chunk-UDZI7GEV.js";import"./chunk-FKAZFE5Z.js";import"./chunk-WKH7T3YK.js";import"./chunk-PTOGXUOE.js";import"./chunk-CDGPG6JU.js";import"./chunk-PSUX2SIK.js";import"./chunk-JF6NYOSI.js";import"./chunk-S7OIWXIZ.js";import"./chunk-QSGQVEGD.js";import"./chunk-6EALLMLO.js";import"./chunk-7RZI733Y.js";import"./chunk-GCMVAY4M.js";export{a as runSetup};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.364 | (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-XXFZMO4I.js";import"./chunk-EP5FYRBT.js";import"./chunk-GCMVAY4M.js";export{a as settingsStore};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.364 | (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-PTOGXUOE.js";import"./chunk-CDGPG6JU.js";import"./chunk-PSUX2SIK.js";import"./chunk-JF6NYOSI.js";import"./chunk-S7OIWXIZ.js";import"./chunk-GCMVAY4M.js";export{a as buildCliDiagnosticEvent,d as flushCliTelemetry,b as trackCliDiagnostic,c as trackCliError};
@@ -1,4 +0,0 @@
1
- /*! rnx v0.1.364 | (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-GISQDTW6.js";import"./chunk-5OZJUMUS.js";import"./chunk-X3N2H4A3.js";import"./chunk-ONGTUKC3.js";import"./chunk-AUHE5LTY.js";import"./chunk-2TL6BZCH.js";import"./chunk-GJKVFQCF.js";import"./chunk-MPWM3TBY.js";import"./chunk-T2U4BLWM.js";import"./chunk-S7OIWXIZ.js";import"./chunk-6EALLMLO.js";import"./chunk-GCMVAY4M.js";export{a as resolveDefaultUploadOrigin,b as resolvePublicPreviewOrigin,c as runUpload};
@@ -1,5 +0,0 @@
1
- /*! rnx v0.1.364 | (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-2UM2IFEM.js";import{r as e}from"./chunk-2FLTYH6I.js";import"./chunk-GXMNFFJJ.js";import"./chunk-LWOIQBVX.js";import"./chunk-ONGTUKC3.js";import"./chunk-AUHE5LTY.js";import"./chunk-4OK2SZTF.js";import"./chunk-SWIEVEPN.js";import"./chunk-KXGBOYTB.js";import"./chunk-6TAFS3GK.js";import"./chunk-XXFZMO4I.js";import"./chunk-2TL6BZCH.js";import"./chunk-CAP2EQ4P.js";import"./chunk-GJKVFQCF.js";import"./chunk-6CQSKBKG.js";import"./chunk-6TFSPDDE.js";import"./chunk-V7CAEDZT.js";import"./chunk-BRU5PPUO.js";import"./chunk-OXXWSZKI.js";import"./chunk-EP5FYRBT.js";import"./chunk-MPWM3TBY.js";import"./chunk-T2U4BLWM.js";import"./chunk-GYC6VTQV.js";import"./chunk-475BITXX.js";import"./chunk-UDZI7GEV.js";import"./chunk-FKAZFE5Z.js";import"./chunk-WKH7T3YK.js";import"./chunk-PTOGXUOE.js";import{a as r}from"./chunk-CDGPG6JU.js";import"./chunk-PSUX2SIK.js";import{f as o}from"./chunk-JF6NYOSI.js";import{C as n}from"./chunk-S7OIWXIZ.js";import"./chunk-QSGQVEGD.js";import"./chunk-6EALLMLO.js";import"./chunk-7RZI733Y.js";import"./chunk-GCMVAY4M.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};