sootsim 0.1.182 → 0.1.184

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 (155) hide show
  1. package/README.md +23 -18
  2. package/dist-cli/bin.js +6 -6
  3. package/dist-cli/chunks/{agent-JVF4KRD5.js → agent-KSX5D27X.js} +2 -2
  4. package/dist-cli/chunks/{agent-wrapper-4ZCPWILQ.js → agent-wrapper-MS6TJF5Y.js} +2 -2
  5. package/dist-cli/chunks/{app-fonts-7MTZNQJN.js → app-fonts-HHN6X2VJ.js} +2 -2
  6. package/dist-cli/chunks/{assert-QUII5KZD.js → assert-XHVSQZOE.js} +2 -2
  7. package/dist-cli/chunks/beta-JS4JTDFC.js +2 -0
  8. package/dist-cli/chunks/{camera-6OPDZY3P.js → camera-7L7D4XUO.js} +2 -2
  9. package/dist-cli/chunks/chunk-3KK3YZQ3.js +62 -0
  10. package/dist-cli/chunks/{chunk-6UEE5SGS.js → chunk-3S5BOWO5.js} +1 -1
  11. package/dist-cli/chunks/{chunk-NAZ6A4UL.js → chunk-53KKDNCU.js} +1 -1
  12. package/dist-cli/chunks/{chunk-PP7PACYK.js → chunk-6GC57KRY.js} +2 -2
  13. package/dist-cli/chunks/{chunk-UPXGNI3W.js → chunk-6MPD3QXA.js} +1 -1
  14. package/dist-cli/chunks/{chunk-TM22UZS6.js → chunk-7C6RC3BU.js} +2 -2
  15. package/dist-cli/chunks/{chunk-RYITW4MR.js → chunk-7DHLNDOA.js} +1 -1
  16. package/dist-cli/chunks/{chunk-RQO5HYDO.js → chunk-7DKGX746.js} +2 -2
  17. package/dist-cli/chunks/{chunk-E7COXON3.js → chunk-AKQWG57K.js} +2 -2
  18. package/dist-cli/chunks/chunk-BB432MX4.js +1 -0
  19. package/dist-cli/chunks/{chunk-KTBP6IDE.js → chunk-C3WRMMUM.js} +2 -2
  20. package/dist-cli/chunks/{chunk-S2RJCI3F.js → chunk-FAB5CDE7.js} +3 -3
  21. package/dist-cli/chunks/{chunk-7VU3YG3I.js → chunk-FD4BKULK.js} +2 -2
  22. package/dist-cli/chunks/{chunk-6BSBIS6H.js → chunk-ID25RWPE.js} +1 -1
  23. package/dist-cli/chunks/{chunk-QOOBQ6HM.js → chunk-IG7F7DTQ.js} +1 -1
  24. package/dist-cli/chunks/{chunk-UNQ4TTPS.js → chunk-IHH3JCV5.js} +1 -1
  25. package/dist-cli/chunks/{chunk-K5XREVFN.js → chunk-IZMNFZXZ.js} +1 -1
  26. package/dist-cli/chunks/{chunk-4J2BNSK5.js → chunk-JFCJIRX6.js} +1 -1
  27. package/dist-cli/chunks/{chunk-DHALDKJR.js → chunk-M6RZYHFK.js} +2 -2
  28. package/dist-cli/chunks/chunk-MFL73VJG.js +2 -0
  29. package/dist-cli/chunks/{chunk-KNMWUV5H.js → chunk-MXXD5U6B.js} +2 -2
  30. package/dist-cli/chunks/{chunk-Q75UTFKH.js → chunk-N5LA5G7V.js} +2 -2
  31. package/dist-cli/chunks/{chunk-Q663VZYT.js → chunk-NBF2SXAH.js} +4 -4
  32. package/dist-cli/chunks/{chunk-2CLPGOAC.js → chunk-NWNFGZSI.js} +2 -2
  33. package/dist-cli/chunks/{chunk-U3O67O6Z.js → chunk-OGLOOKK6.js} +1 -1
  34. package/dist-cli/chunks/{chunk-RCRWF4N5.js → chunk-Q2S6VBXK.js} +1 -1
  35. package/dist-cli/chunks/{chunk-GGIATYOM.js → chunk-Q6EHTP4Q.js} +1 -1
  36. package/dist-cli/chunks/{chunk-NIWZJV5W.js → chunk-QQ4JDVR6.js} +2 -2
  37. package/dist-cli/chunks/{chunk-XHHL3CXD.js → chunk-QZW44BMW.js} +1 -1
  38. package/dist-cli/chunks/{chunk-ZOPFNFMP.js → chunk-S5XWFD5C.js} +2 -2
  39. package/dist-cli/chunks/{chunk-LSVJ3NND.js → chunk-T4XAQ7VQ.js} +2 -2
  40. package/dist-cli/chunks/{chunk-YOV2FYD5.js → chunk-T5YWTSGG.js} +2 -2
  41. package/dist-cli/chunks/{chunk-ENBC2CBL.js → chunk-U636Z2JZ.js} +2 -2
  42. package/dist-cli/chunks/{chunk-BI3LQWFJ.js → chunk-V36X7TNR.js} +1 -1
  43. package/dist-cli/chunks/chunk-VGTPGXKM.js +1 -0
  44. package/dist-cli/chunks/chunk-VVACMCCE.js +118 -0
  45. package/dist-cli/chunks/{chunk-5NWXOIKZ.js → chunk-WAZCQ5UO.js} +3 -3
  46. package/dist-cli/chunks/{chunk-QE5SNIDX.js → chunk-WDMIABUY.js} +30 -30
  47. package/dist-cli/chunks/chunk-WLDAMCQK.js +13 -0
  48. package/dist-cli/chunks/{chunk-LMP3GS2H.js → chunk-WMLFWLD7.js} +1 -1
  49. package/dist-cli/chunks/{chunk-USRV336W.js → chunk-WNUF6LJX.js} +2 -2
  50. package/dist-cli/chunks/{chunk-HVCUXVTL.js → chunk-WSN7MF4E.js} +2 -2
  51. package/dist-cli/chunks/{chunk-MWREISAE.js → chunk-XSWATK6S.js} +2 -2
  52. package/dist-cli/chunks/{chunk-J4G763OR.js → chunk-YQNX7JK6.js} +2 -2
  53. package/dist-cli/chunks/{chunk-YBJAGDCL.js → chunk-YYS2ITHH.js} +1 -1
  54. package/dist-cli/chunks/cli-version-L6NDSEVW.js +2 -0
  55. package/dist-cli/chunks/{compat-X3LHC4W2.js → compat-EGXOXW5F.js} +3 -3
  56. package/dist-cli/chunks/control-LUH3EQQG.js +2 -0
  57. package/dist-cli/chunks/{cpu-profile-LIQOLCAT.js → cpu-profile-7LF5VVWE.js} +2 -2
  58. package/dist-cli/chunks/daemon-NGDXMG6R.js +2 -0
  59. package/dist-cli/chunks/{debug-QHYRAXS7.js → debug-3J74TASS.js} +3 -3
  60. package/dist-cli/chunks/{detox-46I6X6WF.js → detox-PHLGST7G.js} +2 -2
  61. package/dist-cli/chunks/{device-OBGFMETI.js → device-CBGLBSS6.js} +2 -2
  62. package/dist-cli/chunks/{diagnose-2LVRWQTE.js → diagnose-BXUHKEVI.js} +2 -2
  63. package/dist-cli/chunks/drivers-QX77DPCG.js +2 -0
  64. package/dist-cli/chunks/{electron-6XS5Z44T.js → electron-UYJPUPAG.js} +4 -3
  65. package/dist-cli/chunks/flow-KDVDRUEN.js +2 -0
  66. package/dist-cli/chunks/help-4L6UVSAZ.js +2 -0
  67. package/dist-cli/chunks/{hints-JPD3DTKW.js → hints-7A4UIZZL.js} +2 -2
  68. package/dist-cli/chunks/{home-paths-64XGV6LX.js → home-paths-THYEF54Y.js} +2 -2
  69. package/dist-cli/chunks/{inspect-AFCVLO3G.js → inspect-QULPTQ5V.js} +13 -13
  70. package/dist-cli/chunks/{install-desktop-PVTWRZ2P.js → install-desktop-X7G7VTBV.js} +4 -4
  71. package/dist-cli/chunks/{keys-LHFQNKA4.js → keys-JLP4YC4T.js} +2 -2
  72. package/dist-cli/chunks/{login-442SXS7W.js → login-VB4HG5WR.js} +4 -4
  73. package/dist-cli/chunks/{logout-QRS2CU5B.js → logout-TIVYUTTD.js} +2 -2
  74. package/dist-cli/chunks/{maestro-33I2FVO2.js → maestro-C2WVLDFM.js} +2 -2
  75. package/dist-cli/chunks/optional-demo-registry-WV2BZJ5T.js +2 -0
  76. package/dist-cli/chunks/{preview-Y4NIE6DT.js → preview-YBV54B2S.js} +2 -2
  77. package/dist-cli/chunks/{profile-6B63XSO4.js → profile-67C256LQ.js} +2 -2
  78. package/dist-cli/chunks/{react-CTZDC5J4.js → react-HJ3WPDNO.js} +2 -2
  79. package/dist-cli/chunks/{record-FCX5NSPY.js → record-FD4QYCBW.js} +2 -2
  80. package/dist-cli/chunks/runtime-BY3EB4G7.js +2 -0
  81. package/dist-cli/chunks/{screenshot-MZU3WMZX.js → screenshot-UTVYF7F4.js} +2 -2
  82. package/dist-cli/chunks/{screenshot-mode-IFIJCGY4.js → screenshot-mode-WPSK6REL.js} +2 -2
  83. package/dist-cli/chunks/{screenshots-DLBGZB3H.js → screenshots-OXRAQXWN.js} +2 -2
  84. package/dist-cli/chunks/{screenshots-capture-XDIENEIZ.js → screenshots-capture-KDNNRKDL.js} +2 -2
  85. package/dist-cli/chunks/{serve-EQROWG7B.js → serve-ZKEXM2U5.js} +2 -2
  86. package/dist-cli/chunks/setup-A5RLMR3I.js +97 -0
  87. package/dist-cli/chunks/{skills-HIYKCNT5.js → skills-FSJFEKNP.js} +2 -2
  88. package/dist-cli/chunks/{slides-YCSSVMRF.js → slides-UU3DFZDY.js} +2 -2
  89. package/dist-cli/chunks/store-TZH6LKFH.js +2 -0
  90. package/dist-cli/chunks/telemetry-AHIQ3SS5.js +2 -0
  91. package/dist-cli/chunks/{telemetry-QYQZR3XG.js → telemetry-TOTJDY6O.js} +2 -2
  92. package/dist-cli/chunks/{test-EA5OUQZJ.js → test-D6T7Z4XS.js} +3 -3
  93. package/dist-cli/chunks/{three-mode-PNIMEW5B.js → three-mode-CAKEPRJQ.js} +2 -2
  94. package/dist-cli/chunks/{timeline-FJRCFCJG.js → timeline-D6NKNKNS.js} +2 -2
  95. package/dist-cli/chunks/upgrade-DBT6E6DD.js +4 -0
  96. package/dist-cli/chunks/upload-JR2B3YT7.js +2 -0
  97. package/dist-cli/chunks/{version-UIBJN43T.js → version-4PLJ73Q3.js} +2 -2
  98. package/dist-cli/chunks/{web-5QNTEXZD.js → web-O6QWIX3V.js} +2 -2
  99. package/dist-cli/chunks/{what-happened-XNHLVLK2.js → what-happened-67DBMM4S.js} +2 -2
  100. package/dist-cli/chunks/{whoami-YSWN3MZU.js → whoami-PSQRCMUL.js} +2 -2
  101. package/dist-lib/agent-daemon-client.cjs +1 -1
  102. package/dist-lib/agent-events.cjs +1 -1
  103. package/dist-lib/agent-sessions.cjs +1 -1
  104. package/dist-lib/attached-projects.cjs +1 -1
  105. package/dist-lib/auth/shared-session.cjs +1 -1
  106. package/dist-lib/backend-origin.cjs +1 -1
  107. package/dist-lib/beta.cjs +1 -1
  108. package/dist-lib/beta.mjs +1 -1
  109. package/dist-lib/bridge-constants.cjs +1 -1
  110. package/dist-lib/cli-constants.cjs +1 -1
  111. package/dist-lib/config.cjs +1 -1
  112. package/dist-lib/detox/index.cjs +1 -1
  113. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  114. package/dist-lib/home-paths.cjs +1 -1
  115. package/dist-lib/host/bridge-host.cjs +1 -1
  116. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  117. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  118. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  119. package/dist-lib/host/websocket-proxy.cjs +1 -1
  120. package/dist-lib/index.cjs +1 -1
  121. package/dist-lib/jump-to-source-babel.cjs +1 -1
  122. package/dist-lib/menu.cjs +1 -1
  123. package/dist-lib/menu.mjs +1 -1
  124. package/dist-lib/metro.cjs +1 -1
  125. package/dist-lib/profiles.cjs +1 -1
  126. package/dist-lib/render-mode.cjs +1 -1
  127. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  128. package/dist-lib/sdk.cjs +1 -1
  129. package/dist-lib/sdk.mjs +1 -1
  130. package/dist-lib/skills.cjs +29 -7
  131. package/dist-lib/vite.cjs +1 -1
  132. package/package.json +1 -1
  133. package/scripts/postinstall.cjs +1 -1
  134. package/skills/soot.md +3 -2
  135. package/skills/sootsim-setup.md +7 -6
  136. package/dist-cli/chunks/beta-DSVWVBUT.js +0 -2
  137. package/dist-cli/chunks/chunk-5TEBVNSH.js +0 -62
  138. package/dist-cli/chunks/chunk-CWUQZGDS.js +0 -118
  139. package/dist-cli/chunks/chunk-EPYUJWRX.js +0 -13
  140. package/dist-cli/chunks/chunk-GOXGNGTF.js +0 -1
  141. package/dist-cli/chunks/chunk-IKIHQ4RB.js +0 -1
  142. package/dist-cli/chunks/chunk-WTKLDWWH.js +0 -2
  143. package/dist-cli/chunks/cli-version-IHTGZWXG.js +0 -2
  144. package/dist-cli/chunks/control-JO3KISFJ.js +0 -2
  145. package/dist-cli/chunks/daemon-72F26UYR.js +0 -2
  146. package/dist-cli/chunks/drivers-2SW6KTMT.js +0 -2
  147. package/dist-cli/chunks/flow-DYLR2KXX.js +0 -2
  148. package/dist-cli/chunks/help-KHTYNHBI.js +0 -2
  149. package/dist-cli/chunks/optional-demo-registry-674KCCRU.js +0 -2
  150. package/dist-cli/chunks/runtime-OQSESXYD.js +0 -2
  151. package/dist-cli/chunks/setup-4VOKFGMB.js +0 -77
  152. package/dist-cli/chunks/store-MVQYU3TC.js +0 -2
  153. package/dist-cli/chunks/telemetry-RUW7S4RI.js +0 -2
  154. package/dist-cli/chunks/upgrade-52W5H3YL.js +0 -4
  155. package/dist-cli/chunks/upload-BWIBZC7S.js +0 -2
@@ -1,77 +0,0 @@
1
- /*! sootsim v0.1.182 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{b as M,c as $}from"./chunk-5TEBVNSH.js";import{a as j,b as D}from"./chunk-QOOBQ6HM.js";import{a as P}from"./chunk-J4G763OR.js";import"./chunk-Q75UTFKH.js";import"./chunk-2CLPGOAC.js";import"./chunk-ZOPFNFMP.js";import"./chunk-CWUQZGDS.js";import"./chunk-5NWXOIKZ.js";import"./chunk-LSVJ3NND.js";import"./chunk-WTKLDWWH.js";import"./chunk-RCRWF4N5.js";import"./chunk-BI3LQWFJ.js";import{I as b,K as v}from"./chunk-NAZ6A4UL.js";import"./chunk-UPXGNI3W.js";import"./chunk-XHHL3CXD.js";import"./chunk-U3O67O6Z.js";import"./chunk-UNQ4TTPS.js";import{execSync as H}from"child_process";import{existsSync as g,readFileSync as I,writeFileSync as w}from"fs";import{join as K,relative as h,resolve as m}from"path";import{existsSync as c,readFileSync as d,readdirSync as W,statSync as A}from"fs";import{basename as N,dirname as V,join as i}from"path";function O(e){let o=e;for(;;){if(c(i(o,"turbo.json"))||c(i(o,"nx.json"))||c(i(o,"lerna.json"))||c(i(o,"pnpm-workspace.yaml")))return o;let n=i(o,"package.json");if(c(n))try{if(JSON.parse(d(n,"utf8")).workspaces)return o}catch{}let t=V(o);if(t===o)break;o=t}return e}function J(e){return c(i(e,"bun.lock"))||c(i(e,"bun.lockb"))?"bun":c(i(e,"pnpm-lock.yaml"))?"pnpm":c(i(e,"yarn.lock"))?"yarn":"npm"}function B(e){if(c(i(e,"turbo.json")))return"turbo";if(c(i(e,"nx.json")))return"nx";if(c(i(e,"pnpm-workspace.yaml")))return"pnpm";let o=i(e,"package.json");if(c(o))try{if(JSON.parse(d(o,"utf8")).workspaces)return"npm-workspaces"}catch{}return"single"}function G(e){return e.one?"one":e.expo?"expo":e["react-native"]?"bare":"unknown"}function S(e){let o=i(e,"package.json");if(!c(o))return null;let n;try{n=JSON.parse(d(o,"utf8"))}catch{return null}let t={...n.dependencies,...n.devDependencies},r=G(t);return r==="unknown"?null:{dir:e,name:n.name||N(e),framework:r,hasViteConfig:c(i(e,"vite.config.ts"))||c(i(e,"vite.config.js")),hasMetroConfig:c(i(e,"metro.config.js"))||c(i(e,"metro.config.ts")),hasSootsimDependency:!!t.sootsim,devCommand:n.scripts?.dev||null}}function U(e){let o=[],n=i(e,"pnpm-workspace.yaml");if(c(n)){let s=d(n,"utf8").match(/packages:\s*\n((?:\s+-\s+.+\n?)+)/);if(s){let p=s[1].split(`
3
- `).filter(Boolean);for(let u of p){let a=u.replace(/^\s*-\s*['"]?/,"").replace(/['"]?\s*$/,"");a&&o.push(...C(e,a))}}return o}let t=i(e,"package.json");if(c(t))try{let r=JSON.parse(d(t,"utf8")),s=Array.isArray(r.workspaces)?r.workspaces:r.workspaces?.packages||[];for(let p of s)o.push(...C(e,p))}catch{}return o}function C(e,o){let n=o.replace(/\/\*\*?$/,"").replace(/\*$/,""),t=i(e,n);if(!c(t))return[];try{return W(t).map(s=>i(t,s)).filter(s=>{try{return A(s).isDirectory()&&c(i(s,"package.json"))}catch{return!1}})}catch{return[]}}function _(e){let o=B(e),n=J(e);if(o==="single"){let p=S(e);return{root:e,type:o,packageManager:n,apps:p?[p]:[]}}let t=U(e),r=[],s=S(e);s&&r.push(s);for(let p of t){if(p===e)continue;let u=S(p);u&&r.push(u)}return{root:e,type:o,packageManager:n,apps:r}}function R(e){switch(e){case"bun":return"bun add -d sootsim";case"pnpm":return"pnpm add -D sootsim";case"yarn":return"yarn add -D sootsim";case"npm":return"npm install -D sootsim"}}async function xe(e){(e.includes("--help")||e.includes("-h"))&&(console.log(`
4
- sootsim setup \u2014 set up this machine and, optionally, this repo
5
-
6
- usage:
7
- sootsim setup
8
- sootsim setup --app <dir>
9
- sootsim setup --yes
10
- sootsim setup --dry-run
11
-
12
- what it checks:
13
- 1. background daemon recommended; faster opens and runtime auto-updates
14
- 2. repo plugin optional; pins SootSim for your team and serves /__soot
15
- 3. sootsim.config.ts advanced; only for module/env/settings overrides
16
- `),process.exit(0));let o=Q(e);g(o.appDir)||(console.error(` directory not found: ${o.appDir}`),process.exit(1)),console.log(`
17
- sootsim setup
18
- `),await X(o);let n=await Y(o);await Z(o,n)}function Q(e){let o=e.indexOf("--app");return{dryRun:e.includes("--dry-run"),yes:e.includes("--yes")||e.includes("-y"),appDir:o!==-1&&e[o+1]?m(e[o+1]):process.cwd()}}async function X(e){let o=M(),n=b(),t=v(n);if(console.log(" daemon:"),!o.supported){console.log(` unavailable on ${process.platform}`);return}if(o.installed){console.log(` installed${t&&n?`, running on port ${n.bridgePort}`:""}`);return}if(console.log(" not installed"),console.log(" recommended: installs the background bridge for faster opens and runtime auto-updates"),e.dryRun){console.log(" would install the background daemon");return}await x("install the background daemon?",!0,e)&&await $({port:7668,force:!1})}async function Y(e){let o=O(e.appDir),n=_(o);if(console.log(`
19
- project integration:`),n.apps.length===0)return console.log(" no React Native, Expo, or One app detected"),console.log(" no repo setup is required for `sootsim open <port>`"),null;let t;if(n.type!=="single"&&n.apps.length>1){console.log(` monorepo detected (${n.type} + ${n.packageManager})`);let a=await D("which app?",n.apps.map(l=>`${(h(o,l.dir)||".").padEnd(30)} (${l.framework})`));t=n.apps[a]}else t=n.apps[0];let r=t.framework==="one"?"One/Vite":t.framework==="expo"?"Expo Metro":"Metro";console.log(` app: ${h(o,t.dir)||"."}`),console.log(` package: ${t.name}`),console.log(` bundler: ${r}`),console.log(" optional: add the repo plugin only when you want SootSim pinned and served from /__soot for the team");let s=ee(n.packageManager,t);if(s.length===0)return console.log(" already configured"),t;if(console.log(" would:"),s.forEach((a,l)=>console.log(` ${l+1}. ${a.label}`)),e.dryRun||!await x("install the repo plugin?",!1,e))return t;let p=0;for(let a=0;a<s.length;a++){let l=s[a];process.stdout.write(` [${a+1}/${s.length}] ${l.label}...`);try{await l.run(),console.log(" done")}catch(k){p++,console.log(` failed: ${se(k)}`),(l.label.includes("vite.config")||l.label.includes("metro.config"))&&re(t)}}P({event:"cli_setup_repo",properties:{framework:t.framework,package_manager:n.packageManager,workspace_type:n.type,step_count:s.length,step_failures:p}});let u=t.framework==="expo"?"npx expo start":t.framework==="one"?`${n.packageManager} run dev`:"npx react-native start";return console.log(`
20
- start your dev server:
21
- ${u}
22
-
23
- then:
24
- sootsim open <dev server port>
25
- `),t}async function Z(e,o){let n=o?.dir??e.appDir;if(!g(K(n,"package.json"))){console.log(`
26
- config:`),console.log(" no package.json found; skipping sootsim.config.ts");return}let t=m(n,"sootsim.config.ts");if(console.log(`
27
- config:`),g(t)){console.log(` already exists at ${h(process.cwd(),t)}`);return}if(console.log(" advanced: create only when you need module, environment, or simulator overrides"),e.dryRun){console.log(` would create ${h(process.cwd(),t)}`);return}await x("create sootsim.config.ts?",!1,e)&&(w(t,te()),console.log(` created ${h(process.cwd(),t)}`))}function ee(e,o){let n=[];if(!o.hasSootsimDependency){let t=R(e);n.push({label:"add sootsim as devDependency",run:()=>{H(t,{cwd:o.dir,stdio:"pipe"})}})}return o.framework==="one"&&o.hasViteConfig?n.push({label:"add sootsimPlugin() to vite.config.ts",run:()=>E(o.dir)}):(o.framework==="expo"||o.framework==="bare")&&o.hasMetroConfig?n.push({label:"add withSootsim() to metro.config.js",run:()=>oe(o.dir)}):o.framework==="one"?n.push({label:"add sootsimPlugin() to vite.config.ts",run:()=>E(o.dir)}):n.push({label:"create metro.config.js with withSootsim()",run:()=>ne(o.dir,o.framework)}),n}async function x(e,o,n){return n.yes?!0:j(e,o)}function E(e){let o=m(e,"vite.config.ts"),n=m(e,"vite.config.js"),t=g(o)?o:n;if(!g(t))throw new Error(`no vite config found at ${e}`);let r=I(t,"utf8");if(r.includes("sootsimPlugin")){console.log(" (already configured)");return}let s="import { sootsimPlugin } from 'sootsim/vite'",p=/^(import\s+.+)$/gm,u=0,a;for(;(a=p.exec(r))!==null;)u=a.index+a[0].length;u>0?r=r.slice(0,u)+`
28
- `+s+r.slice(u):r=s+`
29
- `+r;let l=r.match(/plugins\s*:\s*\[/);if(l&&l.index!==void 0){let k=l.index+l[0].length,y=1,f=k;for(;f<r.length&&y>0;)r[f]==="["&&y++,r[f]==="]"&&y--,y>0&&f++;let F=r.slice(0,f),L=r.slice(f),T=r.slice(k).match(/\n(\s+)\S/)?.[1]||" ",q=r.slice(r.lastIndexOf(`
30
- `,f),f+1).match(/\n(\s*)/)?.[1]||" ";r=F.trimEnd()+`
31
- `+T+`sootsimPlugin(),
32
- `+q+L}else throw new Error("could not find plugins array in vite config");w(t,r)}function oe(e){let o=m(e,"metro.config.js"),n=m(e,"metro.config.ts"),t=g(o)?o:n;if(!g(t))throw new Error(`no metro config found at ${e}`);let r=I(t,"utf8");if(r.includes("withSootsim")){console.log(" (already configured)");return}r="const { withSootsim } = require('sootsim/metro')"+`
33
- `+r,r=r.replace(/(module\.exports\s*=\s*)([^;]+)/,(p,u,a)=>`${u}withSootsim(${a.trim()})`),w(t,r)}function ne(e,o){let n=m(e,"metro.config.js");w(n,o==="expo"?`const { getDefaultConfig } = require('expo/metro-config')
34
- const { withSootsim } = require('sootsim/metro')
35
-
36
- const config = getDefaultConfig(__dirname)
37
-
38
- module.exports = withSootsim(config)
39
- `:`const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config')
40
- const { withSootsim } = require('sootsim/metro')
41
-
42
- const config = {}
43
-
44
- module.exports = withSootsim(mergeConfig(getDefaultConfig(__dirname), config))
45
- `)}function te(){return`import { defineConfig } from 'sootsim/config'
46
-
47
- export default defineConfig({
48
- // Advanced overrides only. Delete this file if you do not need them.
49
- modules: {
50
- // 'my-native-lib': 'noop',
51
- // 'my-shim': { file: './shims/my-shim.ts' },
52
- },
53
- env: {
54
- // API_URL: 'http://localhost:3000',
55
- },
56
- settings: {
57
- // deviceModel: 'iphone-16',
58
- // colorScheme: 'dark',
59
- },
60
- })
61
- `}function re(e){e.framework==="one"?console.log(`
62
- manual setup \u2014 add to your vite.config.ts:
63
-
64
- import { sootsimPlugin } from 'sootsim/vite'
65
-
66
- export default {
67
- plugins: [
68
- one({ /* ... */ }),
69
- sootsimPlugin(),
70
- ],
71
- }
72
- `):console.log(`
73
- manual setup \u2014 add to your metro.config.js:
74
-
75
- const { withSootsim } = require('sootsim/metro')
76
- module.exports = withSootsim(config)
77
- `)}function se(e){return e instanceof Error?e.message:String(e)}export{xe as runSetup};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.182 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-HVCUXVTL.js";import"./chunk-U3O67O6Z.js";import"./chunk-UNQ4TTPS.js";export{a as settingsStore};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.182 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b}from"./chunk-J4G763OR.js";import"./chunk-Q75UTFKH.js";import"./chunk-NAZ6A4UL.js";import"./chunk-UNQ4TTPS.js";export{b as flushCliTelemetry,a as trackCliEvent};
@@ -1,4 +0,0 @@
1
- /*! sootsim v0.1.182 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as s}from"./chunk-S2RJCI3F.js";import"./chunk-MWREISAE.js";import"./chunk-TM22UZS6.js";import"./chunk-RCRWF4N5.js";import"./chunk-BI3LQWFJ.js";import{G as i}from"./chunk-NAZ6A4UL.js";import{a as e}from"./chunk-UPXGNI3W.js";import"./chunk-UNQ4TTPS.js";import{spawn as r}from"node:child_process";var a="https://registry.npmjs.org/sootsim/latest";async function h(o){let n=o.indexOf("--channel"),t=n>=0&&o[n+1]?o[n+1]:void 0;console.log(`sootsim upgrade
3
- `),await c(),console.log(`
4
- runtime:`),await s(["install",...t?["--channel",t]:[]],{})}async function c(){let o=e(),n=await u();if(!n){console.log(` cli: v${o} \u2014 couldn't reach the npm registry, skipped`);return}if(i(n,o)<=0){console.log(` cli: v${o} (latest)`);return}console.log(` cli: v${o} \u2192 v${n} \u2014 installing globally\u2026`),await m(n)?console.log(` cli: installed v${n} \u2014 restart any running \`sootsim\` process to pick it up`):(console.log(" cli: automatic install failed \u2014 upgrade it yourself with:"),console.log(" npm install -g sootsim@latest"))}async function u(){try{let o=await fetch(a,{headers:{accept:"application/json"},signal:AbortSignal.timeout(8e3)});if(!o.ok)return null;let n=await o.json();return typeof n.version=="string"&&n.version?n.version:null}catch{return null}}function m(o){return new Promise(n=>{let t=r("npm",["install","-g",`sootsim@${o}`],{stdio:"inherit",shell:!0});t.on("error",()=>n(!1)),t.on("exit",l=>n(l===0))})}export{h as runUpgrade};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.182 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c}from"./chunk-Q663VZYT.js";import"./chunk-PP7PACYK.js";import"./chunk-LMP3GS2H.js";import"./chunk-6BSBIS6H.js";import"./chunk-TM22UZS6.js";import"./chunk-K5XREVFN.js";import"./chunk-J4G763OR.js";import"./chunk-Q75UTFKH.js";import"./chunk-RCRWF4N5.js";import"./chunk-BI3LQWFJ.js";import"./chunk-NAZ6A4UL.js";import"./chunk-UNQ4TTPS.js";export{a as resolveDefaultUploadOrigin,b as resolvePublicPreviewOrigin,c as runUpload};