@layerzerolabs/vm-tooling 0.0.48 → 0.0.51

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 (299) hide show
  1. package/dist/{PGRNZALP.cjs → 2ASNEWIN.cjs} +668 -246
  2. package/dist/2ASNEWIN.cjs.map +1 -0
  3. package/dist/{OESMGGGL.js → 2FM75RYQ.js} +48 -16
  4. package/dist/2FM75RYQ.js.map +1 -0
  5. package/dist/{7SRULFYS.cjs → 2RWEJQEO.cjs} +12 -8
  6. package/dist/2RWEJQEO.cjs.map +1 -0
  7. package/dist/{BA2LAHMY.js → 3CLGGUZ6.js} +5 -3
  8. package/dist/3CLGGUZ6.js.map +1 -0
  9. package/dist/{DXKVHPTB.js → 43WEMDCI.js} +47 -60
  10. package/dist/43WEMDCI.js.map +1 -0
  11. package/dist/{RVTTXEXB.cjs → 4KPRGHDI.cjs} +64 -47
  12. package/dist/4KPRGHDI.cjs.map +1 -0
  13. package/dist/{WAGFMHUT.js → 4LRYG53T.js} +37 -10
  14. package/dist/4LRYG53T.js.map +1 -0
  15. package/dist/4RNWLMHM.js +45 -0
  16. package/dist/4RNWLMHM.js.map +1 -0
  17. package/dist/4RWETOR3.cjs +1332 -0
  18. package/dist/4RWETOR3.cjs.map +1 -0
  19. package/dist/{CQHBPXZ2.cjs → 4UZKQNSD.cjs} +26 -16
  20. package/dist/4UZKQNSD.cjs.map +1 -0
  21. package/dist/{BHBC6Q3Y.js → 5CI7X2D4.js} +9 -5
  22. package/dist/5CI7X2D4.js.map +1 -0
  23. package/dist/{QNKHVJNZ.js → 5OKX3IYN.js} +6 -4
  24. package/dist/5OKX3IYN.js.map +1 -0
  25. package/dist/{3EOFF6NK.cjs → 5RAWDGJY.cjs} +7 -5
  26. package/dist/5RAWDGJY.cjs.map +1 -0
  27. package/dist/{7PDYKZMF.cjs → 7ALZ3CAZ.cjs} +21 -19
  28. package/dist/7ALZ3CAZ.cjs.map +1 -0
  29. package/dist/7DH3URRX.js +6 -0
  30. package/dist/7DH3URRX.js.map +1 -0
  31. package/dist/{WDWUP4NU.cjs → 7F6M5VM7.cjs} +59 -71
  32. package/dist/7F6M5VM7.cjs.map +1 -0
  33. package/dist/{WBKUP4MX.js → 7G26DPK3.js} +17 -8
  34. package/dist/7G26DPK3.js.map +1 -0
  35. package/dist/7PP2QA5H.cjs +8 -0
  36. package/dist/7PP2QA5H.cjs.map +1 -0
  37. package/dist/AY3IP22W.cjs +39 -0
  38. package/dist/AY3IP22W.cjs.map +1 -0
  39. package/dist/{63H5FLN6.cjs → BVLAV47O.cjs} +11 -7
  40. package/dist/BVLAV47O.cjs.map +1 -0
  41. package/dist/{VDH76SF6.cjs → BXO3RC75.cjs} +19 -10
  42. package/dist/BXO3RC75.cjs.map +1 -0
  43. package/dist/{EQPMZDRH.js → CH3GQSOI.js} +13 -6
  44. package/dist/CH3GQSOI.js.map +1 -0
  45. package/dist/{RVOOJEDH.js → CNLWPLWD.js} +433 -11
  46. package/dist/CNLWPLWD.js.map +1 -0
  47. package/dist/DPDVRYLI.cjs +234 -0
  48. package/dist/DPDVRYLI.cjs.map +1 -0
  49. package/dist/{Z5NOJAAG.cjs → DW3OZE6F.cjs} +163 -133
  50. package/dist/DW3OZE6F.cjs.map +1 -0
  51. package/dist/{QWROCDWJ.cjs → EE3HP6UB.cjs} +76 -49
  52. package/dist/EE3HP6UB.cjs.map +1 -0
  53. package/dist/{EASTPCLB.js → ELFNCT57.js} +44 -4
  54. package/dist/ELFNCT57.js.map +1 -0
  55. package/dist/{RVM7QRW3.cjs → F5LIDCLG.cjs} +21 -20
  56. package/dist/F5LIDCLG.cjs.map +1 -0
  57. package/dist/{LBQPL6VK.cjs → FLI6L2YX.cjs} +8 -6
  58. package/dist/FLI6L2YX.cjs.map +1 -0
  59. package/dist/{LXXIBLJQ.js → GZ7KTF4Q.js} +4 -3
  60. package/dist/GZ7KTF4Q.js.map +1 -0
  61. package/dist/{L3BNN3KF.cjs → HHS2B7YE.cjs} +395 -175
  62. package/dist/HHS2B7YE.cjs.map +1 -0
  63. package/dist/{GAZMRBLT.js → HR64SZQX.js} +4 -3
  64. package/dist/HR64SZQX.js.map +1 -0
  65. package/dist/{OVH4V3F6.js → IE5H7TSX.js} +8 -4
  66. package/dist/IE5H7TSX.js.map +1 -0
  67. package/dist/{F5UPK5ZZ.js → IMNIF2OY.js} +225 -5
  68. package/dist/IMNIF2OY.js.map +1 -0
  69. package/dist/{XJWXQV6E.js → IVTNKY37.js} +30 -30
  70. package/dist/IVTNKY37.js.map +1 -0
  71. package/dist/{4NINFZK7.cjs → JJXZWB7K.cjs} +5 -4
  72. package/dist/JJXZWB7K.cjs.map +1 -0
  73. package/dist/{7LKSKL4C.cjs → L34TQNQN.cjs} +10 -9
  74. package/dist/L34TQNQN.cjs.map +1 -0
  75. package/dist/L3JULKNZ.js +6 -0
  76. package/dist/L3JULKNZ.js.map +1 -0
  77. package/dist/{33GUXAT7.js → LMCIXUBF.js} +16 -3
  78. package/dist/LMCIXUBF.js.map +1 -0
  79. package/dist/{YVV5I7A5.js → NDUVZQ7S.js} +4 -3
  80. package/dist/NDUVZQ7S.js.map +1 -0
  81. package/dist/{5MIIPWV7.cjs → NEQ3DTUV.cjs} +22 -9
  82. package/dist/NEQ3DTUV.cjs.map +1 -0
  83. package/dist/NSZHKDNY.cjs +82 -0
  84. package/dist/NSZHKDNY.cjs.map +1 -0
  85. package/dist/{JBULQDMK.js → NTYIDZH3.js} +54 -15
  86. package/dist/NTYIDZH3.js.map +1 -0
  87. package/dist/OAO7CCJW.js +6 -0
  88. package/dist/OAO7CCJW.js.map +1 -0
  89. package/dist/{L75NPWJX.cjs → OAYLBSRH.cjs} +64 -24
  90. package/dist/OAYLBSRH.cjs.map +1 -0
  91. package/dist/OH4A2VLX.js +232 -0
  92. package/dist/OH4A2VLX.js.map +1 -0
  93. package/dist/OOTZHKMN.cjs +8 -0
  94. package/dist/OOTZHKMN.cjs.map +1 -0
  95. package/dist/PDSRUQEX.js +78 -0
  96. package/dist/PDSRUQEX.js.map +1 -0
  97. package/dist/{QMIU5HY3.cjs → PYQO5EUZ.cjs} +34 -25
  98. package/dist/PYQO5EUZ.cjs.map +1 -0
  99. package/dist/{PXT4MQYT.cjs → Q4F544X2.cjs} +316 -252
  100. package/dist/Q4F544X2.cjs.map +1 -0
  101. package/dist/{OU33HN4T.js → QMXX45TO.js} +17 -7
  102. package/dist/QMXX45TO.js.map +1 -0
  103. package/dist/{KTOZRP5U.cjs → QO6IEDLG.cjs} +74 -45
  104. package/dist/QO6IEDLG.cjs.map +1 -0
  105. package/dist/{E75FXJNJ.js → RH2W4KPM.js} +36 -7
  106. package/dist/RH2W4KPM.js.map +1 -0
  107. package/dist/{PC55ZLZD.cjs → RRJYWXRS.cjs} +17 -10
  108. package/dist/RRJYWXRS.cjs.map +1 -0
  109. package/dist/{6FHMI4HI.cjs → SGF5U4QO.cjs} +48 -16
  110. package/dist/SGF5U4QO.cjs.map +1 -0
  111. package/dist/{IU7G43CF.cjs → SL653IYR.cjs} +45 -45
  112. package/dist/SL653IYR.cjs.map +1 -0
  113. package/dist/{OWJM6QQP.js → TO3FUAEA.js} +32 -15
  114. package/dist/TO3FUAEA.js.map +1 -0
  115. package/dist/{7EXYTS34.js → TTKDG2NN.js} +12 -3
  116. package/dist/TTKDG2NN.js.map +1 -0
  117. package/dist/{4XKJ5GJB.js → UL4OVG5P.js} +44 -14
  118. package/dist/UL4OVG5P.js.map +1 -0
  119. package/dist/{6A3MRQDI.js → VAAP26JC.js} +77 -13
  120. package/dist/VAAP26JC.js.map +1 -0
  121. package/dist/{THMQMWYA.cjs → VGCATKI5.cjs} +5 -4
  122. package/dist/VGCATKI5.cjs.map +1 -0
  123. package/dist/{CSNPKKTO.js → VLSIEZLM.js} +21 -5
  124. package/dist/VLSIEZLM.js.map +1 -0
  125. package/dist/VO65XOWD.cjs +54 -0
  126. package/dist/VO65XOWD.cjs.map +1 -0
  127. package/dist/{3BKFBGX3.cjs → VVTDADG7.cjs} +5 -4
  128. package/dist/VVTDADG7.cjs.map +1 -0
  129. package/dist/{6NLXVH5R.cjs → VYFY2754.cjs} +233 -194
  130. package/dist/VYFY2754.cjs.map +1 -0
  131. package/dist/{NMC54VEB.cjs → W7QMZBXR.cjs} +34 -18
  132. package/dist/W7QMZBXR.cjs.map +1 -0
  133. package/dist/XM743A75.js +1326 -0
  134. package/dist/XM743A75.js.map +1 -0
  135. package/dist/{RAIK357L.js → YIS2J6NC.js} +8 -4
  136. package/dist/YIS2J6NC.js.map +1 -0
  137. package/dist/{S3DLREDC.js → YU6A7BNZ.js} +7 -6
  138. package/dist/YU6A7BNZ.js.map +1 -0
  139. package/dist/{JY6PMFYV.js → YYBFDJRD.js} +5 -4
  140. package/dist/YYBFDJRD.js.map +1 -0
  141. package/dist/{3AX3IZXK.cjs → Z7BVBO5K.cjs} +12 -8
  142. package/dist/Z7BVBO5K.cjs.map +1 -0
  143. package/dist/{FYBVGT35.js → Z7OWTALH.js} +8 -6
  144. package/dist/Z7OWTALH.js.map +1 -0
  145. package/dist/config/index.cjs +8 -8
  146. package/dist/config/index.js +4 -4
  147. package/dist/config/tools.cjs +5 -5
  148. package/dist/config/tools.d.ts.map +1 -1
  149. package/dist/config/tools.js +4 -4
  150. package/dist/config/version-matrices.cjs +3 -3
  151. package/dist/config/version-matrices.d.ts.map +1 -1
  152. package/dist/config/version-matrices.js +2 -2
  153. package/dist/core/compatibility.cjs +3 -3
  154. package/dist/core/compatibility.js +2 -2
  155. package/dist/core/index.cjs +14 -13
  156. package/dist/core/index.js +9 -8
  157. package/dist/core/lock.cjs +21 -0
  158. package/dist/core/lock.cjs.map +1 -0
  159. package/dist/core/lock.d.ts +9 -0
  160. package/dist/core/lock.d.ts.map +1 -0
  161. package/dist/core/lock.js +4 -0
  162. package/dist/core/lock.js.map +1 -0
  163. package/dist/core/lock.test.cjs +18294 -0
  164. package/dist/core/lock.test.cjs.map +1 -0
  165. package/dist/core/lock.test.js +18292 -0
  166. package/dist/core/lock.test.js.map +1 -0
  167. package/dist/core/tool-executor.cjs +13 -8
  168. package/dist/core/tool-executor.d.ts +6 -1
  169. package/dist/core/tool-executor.d.ts.map +1 -1
  170. package/dist/core/tool-executor.js +8 -7
  171. package/dist/core/version-resolver.cjs +9 -9
  172. package/dist/core/version-resolver.js +6 -6
  173. package/dist/display/formatters.cjs +4 -4
  174. package/dist/display/formatters.d.ts +1 -1
  175. package/dist/display/formatters.d.ts.map +1 -1
  176. package/dist/display/formatters.js +2 -2
  177. package/dist/display/index.cjs +11 -11
  178. package/dist/display/index.js +7 -7
  179. package/dist/display/version-display.cjs +8 -8
  180. package/dist/display/version-display.js +6 -6
  181. package/dist/index.cjs +24 -21
  182. package/dist/index.cjs.map +1 -1
  183. package/dist/index.js +16 -13
  184. package/dist/index.js.map +1 -1
  185. package/dist/scripts/generate-github-matrix.cjs +325 -290
  186. package/dist/scripts/generate-github-matrix.cjs.map +1 -1
  187. package/dist/scripts/generate-github-matrix.js +67 -32
  188. package/dist/scripts/generate-github-matrix.js.map +1 -1
  189. package/dist/types/docker.cjs +3 -1
  190. package/dist/types/docker.cjs.map +1 -1
  191. package/dist/types/docker.d.ts +15 -6
  192. package/dist/types/docker.d.ts.map +1 -1
  193. package/dist/types/docker.js +3 -0
  194. package/dist/types/docker.js.map +1 -1
  195. package/dist/types/index.cjs +3 -1
  196. package/dist/types/index.cjs.map +1 -1
  197. package/dist/types/index.js +3 -0
  198. package/dist/types/index.js.map +1 -1
  199. package/dist/types/tool.cjs +3 -1
  200. package/dist/types/tool.cjs.map +1 -1
  201. package/dist/types/tool.d.ts +0 -4
  202. package/dist/types/tool.d.ts.map +1 -1
  203. package/dist/types/tool.js +3 -0
  204. package/dist/types/tool.js.map +1 -1
  205. package/dist/types/version.cjs +3 -1
  206. package/dist/types/version.cjs.map +1 -1
  207. package/dist/types/version.d.ts +1 -0
  208. package/dist/types/version.d.ts.map +1 -1
  209. package/dist/types/version.js +3 -0
  210. package/dist/types/version.js.map +1 -1
  211. package/dist/utils/finder-utils.cjs +11 -11
  212. package/dist/utils/finder-utils.js +4 -4
  213. package/dist/utils/index.cjs +17 -16
  214. package/dist/utils/index.cjs.map +1 -1
  215. package/dist/utils/index.js +7 -4
  216. package/dist/utils/index.js.map +1 -1
  217. package/dist/utils/version-utils.cjs +8 -8
  218. package/dist/utils/version-utils.js +4 -4
  219. package/dist/utils.cjs +4 -4
  220. package/dist/utils.js +2 -2
  221. package/package.json +7 -5
  222. package/dist/33GUXAT7.js.map +0 -1
  223. package/dist/3AX3IZXK.cjs.map +0 -1
  224. package/dist/3BKFBGX3.cjs.map +0 -1
  225. package/dist/3EOFF6NK.cjs.map +0 -1
  226. package/dist/4NINFZK7.cjs.map +0 -1
  227. package/dist/4XKJ5GJB.js.map +0 -1
  228. package/dist/5MIIPWV7.cjs.map +0 -1
  229. package/dist/5N3Q6FCT.cjs +0 -4
  230. package/dist/5N3Q6FCT.cjs.map +0 -1
  231. package/dist/63H5FLN6.cjs.map +0 -1
  232. package/dist/6A3MRQDI.js.map +0 -1
  233. package/dist/6FHMI4HI.cjs.map +0 -1
  234. package/dist/6NLXVH5R.cjs.map +0 -1
  235. package/dist/6UWCX7SA.js +0 -60
  236. package/dist/6UWCX7SA.js.map +0 -1
  237. package/dist/7EXYTS34.js.map +0 -1
  238. package/dist/7LKSKL4C.cjs.map +0 -1
  239. package/dist/7PDYKZMF.cjs.map +0 -1
  240. package/dist/7SRULFYS.cjs.map +0 -1
  241. package/dist/AH2UQL5E.js +0 -6
  242. package/dist/AH2UQL5E.js.map +0 -1
  243. package/dist/BA2LAHMY.js.map +0 -1
  244. package/dist/BHBC6Q3Y.js.map +0 -1
  245. package/dist/CQHBPXZ2.cjs.map +0 -1
  246. package/dist/CSNPKKTO.js.map +0 -1
  247. package/dist/DXKVHPTB.js.map +0 -1
  248. package/dist/E75FXJNJ.js.map +0 -1
  249. package/dist/EASTPCLB.js.map +0 -1
  250. package/dist/EKUFNO5X.js +0 -3
  251. package/dist/EKUFNO5X.js.map +0 -1
  252. package/dist/EQPMZDRH.js.map +0 -1
  253. package/dist/F5UPK5ZZ.js.map +0 -1
  254. package/dist/FYBVGT35.js.map +0 -1
  255. package/dist/GAZMRBLT.js.map +0 -1
  256. package/dist/IU7G43CF.cjs.map +0 -1
  257. package/dist/JBULQDMK.js.map +0 -1
  258. package/dist/JY6PMFYV.js.map +0 -1
  259. package/dist/KTOZRP5U.cjs.map +0 -1
  260. package/dist/L3BNN3KF.cjs.map +0 -1
  261. package/dist/L75NPWJX.cjs.map +0 -1
  262. package/dist/LBQPL6VK.cjs.map +0 -1
  263. package/dist/LXXIBLJQ.js.map +0 -1
  264. package/dist/MBTHP667.cjs +0 -39
  265. package/dist/MBTHP667.cjs.map +0 -1
  266. package/dist/NMC54VEB.cjs.map +0 -1
  267. package/dist/NX4KBEWA.cjs +0 -13
  268. package/dist/NX4KBEWA.cjs.map +0 -1
  269. package/dist/OESMGGGL.js.map +0 -1
  270. package/dist/OU33HN4T.js.map +0 -1
  271. package/dist/OVH4V3F6.js.map +0 -1
  272. package/dist/OWJM6QQP.js.map +0 -1
  273. package/dist/PC55ZLZD.cjs.map +0 -1
  274. package/dist/PGRNZALP.cjs.map +0 -1
  275. package/dist/PXT4MQYT.cjs.map +0 -1
  276. package/dist/QMIU5HY3.cjs.map +0 -1
  277. package/dist/QNKHVJNZ.js.map +0 -1
  278. package/dist/QWROCDWJ.cjs.map +0 -1
  279. package/dist/RAIK357L.js.map +0 -1
  280. package/dist/RLUL6JFM.cjs +0 -4
  281. package/dist/RLUL6JFM.cjs.map +0 -1
  282. package/dist/RVM7QRW3.cjs.map +0 -1
  283. package/dist/RVOOJEDH.js.map +0 -1
  284. package/dist/RVTTXEXB.cjs.map +0 -1
  285. package/dist/S3DLREDC.js.map +0 -1
  286. package/dist/THMQMWYA.cjs.map +0 -1
  287. package/dist/VDH76SF6.cjs.map +0 -1
  288. package/dist/VUOMXK5T.js +0 -6
  289. package/dist/VUOMXK5T.js.map +0 -1
  290. package/dist/WAGFMHUT.js.map +0 -1
  291. package/dist/WBKUP4MX.js.map +0 -1
  292. package/dist/WDWUP4NU.cjs.map +0 -1
  293. package/dist/XH4FQTBY.cjs +0 -62
  294. package/dist/XH4FQTBY.cjs.map +0 -1
  295. package/dist/XJWXQV6E.js.map +0 -1
  296. package/dist/YVV5I7A5.js.map +0 -1
  297. package/dist/Z5NOJAAG.cjs.map +0 -1
  298. package/dist/ZEW74YLA.js +0 -3
  299. package/dist/ZEW74YLA.js.map +0 -1
@@ -1,18 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var WDWUP4NU_cjs = require('../WDWUP4NU.cjs');
4
- require('../7PDYKZMF.cjs');
5
- require('../IU7G43CF.cjs');
6
- require('../3EOFF6NK.cjs');
7
- require('../6FHMI4HI.cjs');
8
- require('../4NINFZK7.cjs');
9
- require('../NX4KBEWA.cjs');
3
+ var _7F6M5VM7_cjs = require('../7F6M5VM7.cjs');
4
+ require('../7ALZ3CAZ.cjs');
5
+ require('../SL653IYR.cjs');
6
+ require('../5RAWDGJY.cjs');
7
+ require('../SGF5U4QO.cjs');
8
+ require('../JJXZWB7K.cjs');
9
+ require('../NSZHKDNY.cjs');
10
+ require('../VO65XOWD.cjs');
10
11
 
11
12
 
12
13
 
13
14
  Object.defineProperty(exports, "executeToolCommand", {
14
15
  enumerable: true,
15
- get: function () { return WDWUP4NU_cjs.executeToolCommand; }
16
+ get: function () { return _7F6M5VM7_cjs.executeToolCommand; }
17
+ });
18
+ Object.defineProperty(exports, "getCombinationTag", {
19
+ enumerable: true,
20
+ get: function () { return _7F6M5VM7_cjs.getCombinationTag; }
16
21
  });
17
22
  //# sourceMappingURL=tool-executor.cjs.map
18
23
  //# sourceMappingURL=tool-executor.cjs.map
@@ -1,10 +1,15 @@
1
1
  import type { EnvironmentVariable, VolumeMapping } from '../types';
2
+ /**
3
+ * Generate Docker image tag from version combination
4
+ */
5
+ export declare function getCombinationTag(input: {
6
+ [key: string]: string | undefined;
7
+ }, patch?: number, separator?: string): string;
2
8
  /**
3
9
  * Enhanced tool command execution using the new version compatibility matrix system
4
10
  */
5
11
  export declare function executeToolCommand(command: string, args: string[], options: {
6
12
  cwd: string;
7
- forceDocker: boolean;
8
13
  volumes: VolumeMapping[];
9
14
  customEntrypoint?: string;
10
15
  env: EnvironmentVariable[];
@@ -1 +1 @@
1
- {"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/core/tool-executor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,mBAAmB,EAAmC,aAAa,EAAE,MAAM,UAAU,CAAC;AA4JpG;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IACL,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,EAAE,mBAAmB,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,GACF,OAAO,CAAC,IAAI,CAAC,CA8Lf"}
1
+ {"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/core/tool-executor.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAmC,aAAa,EAAE,MAAM,UAAU,CAAC;AA0FpG;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,EAC5C,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,GAAE,MAAY,GACxB,MAAM,CAQR;AA4DD;;GAEG;AACH,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IACL,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,EAAE,mBAAmB,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,GACF,OAAO,CAAC,IAAI,CAAC,CA0Kf"}
@@ -1,9 +1,10 @@
1
- export { executeToolCommand } from '../DXKVHPTB.js';
2
- import '../FYBVGT35.js';
3
- import '../XJWXQV6E.js';
4
- import '../BA2LAHMY.js';
5
- import '../OESMGGGL.js';
6
- import '../GAZMRBLT.js';
7
- import '../VUOMXK5T.js';
1
+ export { executeToolCommand, getCombinationTag } from '../43WEMDCI.js';
2
+ import '../Z7OWTALH.js';
3
+ import '../IVTNKY37.js';
4
+ import '../3CLGGUZ6.js';
5
+ import '../2FM75RYQ.js';
6
+ import '../HR64SZQX.js';
7
+ import '../PDSRUQEX.js';
8
+ import '../4RNWLMHM.js';
8
9
  //# sourceMappingURL=tool-executor.js.map
9
10
  //# sourceMappingURL=tool-executor.js.map
@@ -1,25 +1,25 @@
1
1
  'use strict';
2
2
 
3
- var _7PDYKZMF_cjs = require('../7PDYKZMF.cjs');
4
- require('../IU7G43CF.cjs');
5
- require('../3EOFF6NK.cjs');
6
- require('../6FHMI4HI.cjs');
7
- require('../4NINFZK7.cjs');
8
- require('../NX4KBEWA.cjs');
3
+ var _7ALZ3CAZ_cjs = require('../7ALZ3CAZ.cjs');
4
+ require('../SL653IYR.cjs');
5
+ require('../5RAWDGJY.cjs');
6
+ require('../SGF5U4QO.cjs');
7
+ require('../JJXZWB7K.cjs');
8
+ require('../VO65XOWD.cjs');
9
9
 
10
10
 
11
11
 
12
12
  Object.defineProperty(exports, "extractUserVersions", {
13
13
  enumerable: true,
14
- get: function () { return _7PDYKZMF_cjs.extractUserVersions; }
14
+ get: function () { return _7ALZ3CAZ_cjs.extractUserVersions; }
15
15
  });
16
16
  Object.defineProperty(exports, "resolveToolVersion", {
17
17
  enumerable: true,
18
- get: function () { return _7PDYKZMF_cjs.resolveToolVersion; }
18
+ get: function () { return _7ALZ3CAZ_cjs.resolveToolVersion; }
19
19
  });
20
20
  Object.defineProperty(exports, "resolveTypeVersions", {
21
21
  enumerable: true,
22
- get: function () { return _7PDYKZMF_cjs.resolveTypeVersions; }
22
+ get: function () { return _7ALZ3CAZ_cjs.resolveTypeVersions; }
23
23
  });
24
24
  //# sourceMappingURL=version-resolver.cjs.map
25
25
  //# sourceMappingURL=version-resolver.cjs.map
@@ -1,8 +1,8 @@
1
- export { extractUserVersions, resolveToolVersion, resolveTypeVersions } from '../FYBVGT35.js';
2
- import '../XJWXQV6E.js';
3
- import '../BA2LAHMY.js';
4
- import '../OESMGGGL.js';
5
- import '../GAZMRBLT.js';
6
- import '../VUOMXK5T.js';
1
+ export { extractUserVersions, resolveToolVersion, resolveTypeVersions } from '../Z7OWTALH.js';
2
+ import '../IVTNKY37.js';
3
+ import '../3CLGGUZ6.js';
4
+ import '../2FM75RYQ.js';
5
+ import '../HR64SZQX.js';
6
+ import '../4RNWLMHM.js';
7
7
  //# sourceMappingURL=version-resolver.js.map
8
8
  //# sourceMappingURL=version-resolver.js.map
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var LBQPL6VK_cjs = require('../LBQPL6VK.cjs');
4
- require('../NX4KBEWA.cjs');
3
+ var FLI6L2YX_cjs = require('../FLI6L2YX.cjs');
4
+ require('../VO65XOWD.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "createUserFriendlyError", {
9
9
  enumerable: true,
10
- get: function () { return LBQPL6VK_cjs.createUserFriendlyError; }
10
+ get: function () { return FLI6L2YX_cjs.createUserFriendlyError; }
11
11
  });
12
12
  Object.defineProperty(exports, "formatVersionCombination", {
13
13
  enumerable: true,
14
- get: function () { return LBQPL6VK_cjs.formatVersionCombination; }
14
+ get: function () { return FLI6L2YX_cjs.formatVersionCombination; }
15
15
  });
16
16
  //# sourceMappingURL=formatters.cjs.map
17
17
  //# sourceMappingURL=formatters.cjs.map
@@ -1,4 +1,4 @@
1
- import type { VersionCombination } from '../types';
1
+ import type { VersionCombination } from '../types/version';
2
2
  /**
3
3
  * Format version combinations for display
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/display/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnD;;GAEG;AACH,wBAAgB,wBAAwB,CACpC,WAAW,EAAE,kBAAkB,EAC/B,SAAS,CAAC,EAAE,OAAO,GACpB,MAAM,CAcR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IACN,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC,GACF,MAAM,CAyBR"}
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/display/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;GAEG;AACH,wBAAgB,wBAAwB,CACpC,WAAW,EAAE,kBAAkB,EAC/B,SAAS,CAAC,EAAE,OAAO,GACpB,MAAM,CAgBR;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IACN,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC,GACF,MAAM,CAyBR"}
@@ -1,4 +1,4 @@
1
- export { createUserFriendlyError, formatVersionCombination } from '../QNKHVJNZ.js';
2
- import '../VUOMXK5T.js';
1
+ export { createUserFriendlyError, formatVersionCombination } from '../5OKX3IYN.js';
2
+ import '../4RNWLMHM.js';
3
3
  //# sourceMappingURL=formatters.js.map
4
4
  //# sourceMappingURL=formatters.js.map
@@ -1,30 +1,30 @@
1
1
  'use strict';
2
2
 
3
- require('../RLUL6JFM.cjs');
4
- var RVM7QRW3_cjs = require('../RVM7QRW3.cjs');
5
- var LBQPL6VK_cjs = require('../LBQPL6VK.cjs');
6
- require('../IU7G43CF.cjs');
7
- require('../3EOFF6NK.cjs');
8
- require('../6FHMI4HI.cjs');
9
- require('../NX4KBEWA.cjs');
3
+ require('../7PP2QA5H.cjs');
4
+ var F5LIDCLG_cjs = require('../F5LIDCLG.cjs');
5
+ var FLI6L2YX_cjs = require('../FLI6L2YX.cjs');
6
+ require('../SL653IYR.cjs');
7
+ require('../5RAWDGJY.cjs');
8
+ require('../SGF5U4QO.cjs');
9
+ require('../VO65XOWD.cjs');
10
10
 
11
11
 
12
12
 
13
13
  Object.defineProperty(exports, "displayToolVersionInfo", {
14
14
  enumerable: true,
15
- get: function () { return RVM7QRW3_cjs.displayToolVersionInfo; }
15
+ get: function () { return F5LIDCLG_cjs.displayToolVersionInfo; }
16
16
  });
17
17
  Object.defineProperty(exports, "displayVersionCombinations", {
18
18
  enumerable: true,
19
- get: function () { return RVM7QRW3_cjs.displayVersionCombinations; }
19
+ get: function () { return F5LIDCLG_cjs.displayVersionCombinations; }
20
20
  });
21
21
  Object.defineProperty(exports, "createUserFriendlyError", {
22
22
  enumerable: true,
23
- get: function () { return LBQPL6VK_cjs.createUserFriendlyError; }
23
+ get: function () { return FLI6L2YX_cjs.createUserFriendlyError; }
24
24
  });
25
25
  Object.defineProperty(exports, "formatVersionCombination", {
26
26
  enumerable: true,
27
- get: function () { return LBQPL6VK_cjs.formatVersionCombination; }
27
+ get: function () { return FLI6L2YX_cjs.formatVersionCombination; }
28
28
  });
29
29
  //# sourceMappingURL=index.cjs.map
30
30
  //# sourceMappingURL=index.cjs.map
@@ -1,9 +1,9 @@
1
- import '../EKUFNO5X.js';
2
- export { displayToolVersionInfo, displayVersionCombinations } from '../S3DLREDC.js';
3
- export { createUserFriendlyError, formatVersionCombination } from '../QNKHVJNZ.js';
4
- import '../XJWXQV6E.js';
5
- import '../BA2LAHMY.js';
6
- import '../OESMGGGL.js';
7
- import '../VUOMXK5T.js';
1
+ import '../7DH3URRX.js';
2
+ export { displayToolVersionInfo, displayVersionCombinations } from '../YU6A7BNZ.js';
3
+ export { createUserFriendlyError, formatVersionCombination } from '../5OKX3IYN.js';
4
+ import '../IVTNKY37.js';
5
+ import '../3CLGGUZ6.js';
6
+ import '../2FM75RYQ.js';
7
+ import '../4RNWLMHM.js';
8
8
  //# sourceMappingURL=index.js.map
9
9
  //# sourceMappingURL=index.js.map
@@ -1,21 +1,21 @@
1
1
  'use strict';
2
2
 
3
- var RVM7QRW3_cjs = require('../RVM7QRW3.cjs');
4
- require('../LBQPL6VK.cjs');
5
- require('../IU7G43CF.cjs');
6
- require('../3EOFF6NK.cjs');
7
- require('../6FHMI4HI.cjs');
8
- require('../NX4KBEWA.cjs');
3
+ var F5LIDCLG_cjs = require('../F5LIDCLG.cjs');
4
+ require('../FLI6L2YX.cjs');
5
+ require('../SL653IYR.cjs');
6
+ require('../5RAWDGJY.cjs');
7
+ require('../SGF5U4QO.cjs');
8
+ require('../VO65XOWD.cjs');
9
9
 
10
10
 
11
11
 
12
12
  Object.defineProperty(exports, "displayToolVersionInfo", {
13
13
  enumerable: true,
14
- get: function () { return RVM7QRW3_cjs.displayToolVersionInfo; }
14
+ get: function () { return F5LIDCLG_cjs.displayToolVersionInfo; }
15
15
  });
16
16
  Object.defineProperty(exports, "displayVersionCombinations", {
17
17
  enumerable: true,
18
- get: function () { return RVM7QRW3_cjs.displayVersionCombinations; }
18
+ get: function () { return F5LIDCLG_cjs.displayVersionCombinations; }
19
19
  });
20
20
  //# sourceMappingURL=version-display.cjs.map
21
21
  //# sourceMappingURL=version-display.cjs.map
@@ -1,8 +1,8 @@
1
- export { displayToolVersionInfo, displayVersionCombinations } from '../S3DLREDC.js';
2
- import '../QNKHVJNZ.js';
3
- import '../XJWXQV6E.js';
4
- import '../BA2LAHMY.js';
5
- import '../OESMGGGL.js';
6
- import '../VUOMXK5T.js';
1
+ export { displayToolVersionInfo, displayVersionCombinations } from '../YU6A7BNZ.js';
2
+ import '../5OKX3IYN.js';
3
+ import '../IVTNKY37.js';
4
+ import '../3CLGGUZ6.js';
5
+ import '../2FM75RYQ.js';
6
+ import '../4RNWLMHM.js';
7
7
  //# sourceMappingURL=version-display.js.map
8
8
  //# sourceMappingURL=version-display.js.map
package/dist/index.cjs CHANGED
@@ -1,16 +1,17 @@
1
1
  'use strict';
2
2
 
3
- require('./RLUL6JFM.cjs');
4
- var RVM7QRW3_cjs = require('./RVM7QRW3.cjs');
5
- require('./LBQPL6VK.cjs');
6
- require('./5N3Q6FCT.cjs');
7
- var WDWUP4NU_cjs = require('./WDWUP4NU.cjs');
8
- require('./7PDYKZMF.cjs');
9
- var IU7G43CF_cjs = require('./IU7G43CF.cjs');
10
- require('./3EOFF6NK.cjs');
11
- require('./6FHMI4HI.cjs');
12
- require('./4NINFZK7.cjs');
13
- var NX4KBEWA_cjs = require('./NX4KBEWA.cjs');
3
+ require('./7PP2QA5H.cjs');
4
+ var F5LIDCLG_cjs = require('./F5LIDCLG.cjs');
5
+ require('./FLI6L2YX.cjs');
6
+ require('./OOTZHKMN.cjs');
7
+ var _7F6M5VM7_cjs = require('./7F6M5VM7.cjs');
8
+ require('./7ALZ3CAZ.cjs');
9
+ var SL653IYR_cjs = require('./SL653IYR.cjs');
10
+ require('./5RAWDGJY.cjs');
11
+ require('./SGF5U4QO.cjs');
12
+ require('./JJXZWB7K.cjs');
13
+ require('./NSZHKDNY.cjs');
14
+ var VO65XOWD_cjs = require('./VO65XOWD.cjs');
14
15
  var commander = require('commander');
15
16
  var fs = require('fs');
16
17
  var path = require('path');
@@ -22,11 +23,13 @@ var fs__default = /*#__PURE__*/_interopDefault(fs);
22
23
  var path__default = /*#__PURE__*/_interopDefault(path);
23
24
  var process__default = /*#__PURE__*/_interopDefault(process);
24
25
 
26
+ // src/index.ts
27
+ VO65XOWD_cjs.init_cjs_shims();
25
28
  async function main() {
26
29
  const program = new commander.Command();
27
- program.name("lz-tool").description("\u{1F680} LayerZero VM tooling with intelligent version management\n\nUsage pattern:\n lz-tool [global-options] <tool> [tool-args...]\n\nExamples:\n lz-tool --force-docker sui move build\n lz-tool -e bash sui --help\n lz-tool --sui-version 1.38.0 sui client\n\nNote: All lz-tool options must appear BEFORE the tool name.").version("1.0.0").enablePositionalOptions();
30
+ program.name("lz-tool").description("\u{1F680} LayerZero VM tooling with intelligent version management\n\nUsage pattern:\n lz-tool [global-options] <tool> [tool-args...]\n\nExamples:\n lz-tool -e bash sui --help\n lz-tool --sui-version 1.38.0 sui client\n\nNote: All lz-tool options must appear BEFORE the tool name.").version("1.0.0").enablePositionalOptions();
28
31
  if (process__default.default.argv.includes("--list-versions")) {
29
- RVM7QRW3_cjs.displayVersionCombinations();
32
+ F5LIDCLG_cjs.displayVersionCombinations();
30
33
  process__default.default.exit(0);
31
34
  }
32
35
  program.option("-c, --cwd <path>", "Current working directory", (input) => {
@@ -43,7 +46,7 @@ async function main() {
43
46
  throw new Error("cwd must be a directory");
44
47
  }
45
48
  return input;
46
- }).option("-d, --force-docker", "Force using Docker image instead of local installation", false).option("-e, --custom-entrypoint <entrypoint>", "Override the default Docker entrypoint for the tool").option("--script <script>", 'Execute a custom script using bash -c in the Docker container (e.g., --script "npm install && npm test")').option("--env <name=value>", "Set environment variables for Docker container (e.g., --env NODE_ENV=production)", (input, previous) => {
49
+ }).option("-e, --custom-entrypoint <entrypoint>", "Override the default Docker entrypoint for the tool").option("--script <script>", 'Execute a custom script using bash -c in the Docker container (e.g., --script "npm install && npm test")').option("--env <name=value>", "Set environment variables for Docker container (e.g., --env NODE_ENV=production)", (input, previous) => {
47
50
  const [name, ...valueParts] = input.split("=");
48
51
  if (name === "" || valueParts.length === 0) {
49
52
  throw new Error(`Invalid environment variable format: ${input}. Use --env NAME=VALUE`);
@@ -73,18 +76,18 @@ async function main() {
73
76
  });
74
77
  return previous;
75
78
  }, []);
76
- IU7G43CF_cjs.tools.forEach((tool) => {
79
+ SL653IYR_cjs.tools.forEach((tool) => {
77
80
  const optionFlag = `--${tool.name}-version <version>`;
78
- const defaultVersion = IU7G43CF_cjs.getToolDefaultVersion(tool.name);
79
- const supportedVersions = IU7G43CF_cjs.getToolSupportedVersions(tool.name);
81
+ const defaultVersion = SL653IYR_cjs.getToolDefaultVersion(tool.name);
82
+ const supportedVersions = SL653IYR_cjs.getToolSupportedVersions(tool.name);
80
83
  const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(", ")})`;
81
84
  program.option(optionFlag, description);
82
85
  });
83
86
  program.option("--list-versions", "Display all supported version combinations and exit");
84
87
  program.command("version-info <tool>").description("Display detailed version information for a specific tool").action((toolName) => {
85
- RVM7QRW3_cjs.displayToolVersionInfo(toolName);
88
+ F5LIDCLG_cjs.displayToolVersionInfo(toolName);
86
89
  });
87
- IU7G43CF_cjs.tools.forEach((tool) => {
90
+ SL653IYR_cjs.tools.forEach((tool) => {
88
91
  const toolCmd = program.command(tool.name, {
89
92
  isDefault: false
90
93
  }).description(`Run ${tool.name} with version checking`).passThroughOptions(true).allowUnknownOption().helpOption(false).argument("[args...]", "Arguments to pass to the tool");
@@ -92,7 +95,7 @@ async function main() {
92
95
  const globalOptions = program.opts();
93
96
  const cwd = globalOptions.cwd ?? process__default.default.cwd();
94
97
  try {
95
- await WDWUP4NU_cjs.executeToolCommand(tool.name, args, {
98
+ await _7F6M5VM7_cjs.executeToolCommand(tool.name, args, {
96
99
  cwd,
97
100
  volumes: globalOptions.volume,
98
101
  ...globalOptions
@@ -105,7 +108,7 @@ async function main() {
105
108
  });
106
109
  await program.parseAsync();
107
110
  }
108
- NX4KBEWA_cjs.__name(main, "main");
111
+ VO65XOWD_cjs.__name(main, "main");
109
112
  void main();
110
113
  //# sourceMappingURL=index.cjs.map
111
114
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["main","program","Command","name","description","version","enablePositionalOptions","process","argv","includes","displayVersionCombinations","exit","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tools","forEach","tool","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","toolCmd","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","globalOptions","opts","cwd","executeToolCommand","volumes","volume","error","console","message","String","parseAsync"],"mappings":"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","file":"index.cjs","sourcesContent":["import { Command } from 'commander';\nimport fs from 'fs';\nimport path from 'path';\nimport process from 'process';\n\nimport { tools } from './config';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport type { EnvironmentVariable, VolumeMapping } from './types';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder-utils';\n\nasync function main(): Promise<void> {\n const program = new Command();\n\n program\n .name('lz-tool')\n .description(\n '🚀 LayerZero VM tooling with intelligent version management\\n' +\n '\\n' +\n 'Usage pattern:\\n' +\n ' lz-tool [global-options] <tool> [tool-args...]\\n' +\n '\\n' +\n 'Examples:\\n' +\n ' lz-tool --force-docker sui move build\\n' +\n ' lz-tool -e bash sui --help\\n' +\n ' lz-tool --sui-version 1.38.0 sui client\\n' +\n '\\n' +\n 'Note: All lz-tool options must appear BEFORE the tool name.',\n )\n .version('1.0.0')\n .enablePositionalOptions(); // Required for passThroughOptions to work\n\n // Check for --list-versions before parsing to avoid help display\n if (process.argv.includes('--list-versions')) {\n displayVersionCombinations();\n process.exit(0);\n }\n\n // Add global options\n program\n .option('-c, --cwd <path>', 'Current working directory', (input: string) => {\n if (typeof input !== 'string') {\n throw new Error('cwd flag must be a string');\n }\n\n if (!path.isAbsolute(input)) {\n throw new Error('cwd must be an absolute path if provided');\n }\n\n if (!fs.existsSync(input)) {\n throw new Error('cwd does not exist');\n }\n\n if (!fs.statSync(input).isDirectory()) {\n throw new Error('cwd must be a directory');\n }\n\n return input;\n })\n .option(\n '-d, --force-docker',\n 'Force using Docker image instead of local installation',\n false,\n )\n .option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for the tool',\n )\n .option(\n '--script <script>',\n 'Execute a custom script using bash -c in the Docker container (e.g., --script \"npm install && npm test\")',\n )\n .option(\n '--env <name=value>',\n 'Set environment variables for Docker container (e.g., --env NODE_ENV=production)',\n (input: string, previous: EnvironmentVariable[]) => {\n const [name, ...valueParts] = input.split('=');\n if (name === '' || valueParts.length === 0) {\n throw new Error(\n `Invalid environment variable format: ${input}. Use --env NAME=VALUE`,\n );\n }\n const value = valueParts.join('='); // Handle values that contain '='\n previous.push({ name, value } satisfies EnvironmentVariable);\n return previous;\n },\n [],\n )\n .option(\n '-v, --volume <type:hostPath:containerPath[:name]>',\n 'Volume mappings in the format type:hostPath:containerPath[:name] (e.g., host:/host/path:/container/path or isolate::/container/path:volumeName)',\n (input: string, previous: VolumeMapping[]) => {\n const [type, hostPath, containerPath, name] = input.split(':');\n if (type !== 'host' && type !== 'isolate') {\n throw new Error(`Invalid volume type: ${type}`);\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (containerPath === undefined || containerPath === '') {\n throw new Error(`Container path is required`);\n }\n previous.push({ type, hostPath, containerPath, name } satisfies VolumeMapping);\n return previous;\n },\n [],\n );\n\n // Add version options for each tool dynamically\n tools.forEach((tool) => {\n const optionFlag = `--${tool.name}-version <version>`;\n const defaultVersion = getToolDefaultVersion(tool.name);\n const supportedVersions = getToolSupportedVersions(tool.name);\n const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(', ')})`;\n\n program.option(optionFlag, description);\n });\n\n // Add utility options\n program.option('--list-versions', 'Display all supported version combinations and exit');\n\n // Add version info command\n program\n .command('version-info <tool>')\n .description('Display detailed version information for a specific tool')\n .action((toolName: string) => {\n displayToolVersionInfo(toolName);\n });\n\n // Dynamically add commands for each supported tool\n tools.forEach((tool) => {\n const toolCmd = program\n .command(tool.name, { isDefault: false })\n .description(`Run ${tool.name} with version checking`)\n .passThroughOptions(true) // Pass through all options after the subcommand\n .allowUnknownOption()\n .helpOption(false) // Disable automatic help option to pass --help to the tool\n .argument('[args...]', 'Arguments to pass to the tool');\n\n // Don't add any options to the subcommand level\n // All lz-tool options must be specified before the subcommand\n\n toolCmd.action(async (args: string[]) => {\n // Get global options (specified before the subcommand)\n const globalOptions: {\n cwd?: string;\n forceDocker: boolean;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\n } = program.opts();\n\n const cwd = globalOptions.cwd ?? process.cwd();\n\n try {\n await executeToolCommand(tool.name, args, {\n cwd,\n volumes: globalOptions.volume,\n ...globalOptions,\n });\n } catch (error) {\n console.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n });\n });\n\n await program.parseAsync();\n}\n\n// Start the program\nvoid main();\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["init_cjs_shims","main","program","Command","name","description","version","enablePositionalOptions","process","argv","includes","displayVersionCombinations","exit","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tools","forEach","tool","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","toolCmd","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","globalOptions","opts","cwd","executeToolCommand","volumes","volume","error","console","message","String","parseAsync"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,2BAAA,EAAA;AAWA,eAAeC,IAAAA,GAAAA;AACX,EAAA,MAAMC,OAAAA,GAAU,IAAIC,iBAAAA,EAAAA;AAEpBD,EAAAA,OAAAA,CACKE,IAAAA,CAAK,SAAA,CAAA,CACLC,WAAAA,CACG,6RASI,CAAA,CAEPC,OAAAA,CAAQ,OAAA,CAAA,CACRC,uBAAAA,EAAuB;AAG5B,EAAA,IAAIC,wBAAAA,CAAQC,IAAAA,CAAKC,QAAAA,CAAS,iBAAA,CAAA,EAAoB;AAC1CC,IAAAA,uCAAAA,EAAAA;AACAH,IAAAA,wBAAAA,CAAQI,KAAK,CAAA,CAAA;AACjB,EAAA;AAGAV,EAAAA,OAAAA,CACKW,MAAAA,CAAO,kBAAA,EAAoB,2BAAA,EAA6B,CAACC,KAAAA,KAAAA;AACtD,IAAA,IAAI,OAAOA,UAAU,QAAA,EAAU;AAC3B,MAAA,MAAM,IAAIC,MAAM,2BAAA,CAAA;AACpB,IAAA;AAEA,IAAA,IAAI,CAACC,qBAAAA,CAAKC,UAAAA,CAAWH,KAAAA,CAAAA,EAAQ;AACzB,MAAA,MAAM,IAAIC,MAAM,0CAAA,CAAA;AACpB,IAAA;AAEA,IAAA,IAAI,CAACG,mBAAAA,CAAGC,UAAAA,CAAWL,KAAAA,CAAAA,EAAQ;AACvB,MAAA,MAAM,IAAIC,MAAM,oBAAA,CAAA;AACpB,IAAA;AAEA,IAAA,IAAI,CAACG,mBAAAA,CAAGE,QAAAA,CAASN,KAAAA,CAAAA,CAAOO,aAAW,EAAI;AACnC,MAAA,MAAM,IAAIN,MAAM,yBAAA,CAAA;AACpB,IAAA;AAEA,IAAA,OAAOD,KAAAA;AACX,EAAA,CAAA,CAAA,CACCD,MAAAA,CACG,sCAAA,EACA,qDAAA,EAEHA,MAAAA,CACG,mBAAA,EACA,0GAAA,CAAA,CAEHA,MAAAA,CACG,oBAAA,EACA,kFAAA,EACA,CAACC,OAAeQ,QAAAA,KAAAA;AACZ,IAAA,MAAM,CAAClB,IAAAA,EAAM,GAAGmB,UAAAA,CAAAA,GAAcT,KAAAA,CAAMU,MAAM,GAAA,CAAA;AAC1C,IAAA,IAAIpB,IAAAA,KAAS,EAAA,IAAMmB,UAAAA,CAAWE,MAAAA,KAAW,CAAA,EAAG;AACxC,MAAA,MAAM,IAAIV,KAAAA,CACN,CAAA,qCAAA,EAAwCD,KAAAA,CAAAA,sBAAAA,CAA6B,CAAA;AAE7E,IAAA;AACA,IAAA,MAAMY,KAAAA,GAAQH,UAAAA,CAAWI,IAAAA,CAAK,GAAA,CAAA;AAC9BL,IAAAA,QAAAA,CAASM,IAAAA,CAAK;AAAExB,MAAAA,IAAAA;AAAMsB,MAAAA;KAAM,CAAA;AAC5B,IAAA,OAAOJ,QAAAA;EACX,CAAA,EACA,EAAE,CAAA,CAELT,MAAAA,CACG,qDACA,iJAAA,EACA,CAACC,OAAeQ,QAAAA,KAAAA;AACZ,IAAA,MAAM,CAACO,MAAMC,QAAAA,EAAUC,aAAAA,EAAe3B,IAAAA,CAAAA,GAAQU,KAAAA,CAAMU,MAAM,GAAA,CAAA;AAC1D,IAAA,IAAIK,IAAAA,KAAS,MAAA,IAAUA,IAAAA,KAAS,SAAA,EAAW;AACvC,MAAA,MAAM,IAAId,KAAAA,CAAM,CAAA,qBAAA,EAAwBc,IAAAA,CAAAA,CAAM,CAAA;AAClD,IAAA;AAEA,IAAA,IAAIA,IAAAA,KAAS,MAAA,KAAWC,QAAAA,KAAaE,MAAAA,IAAaF,aAAa,EAAA,CAAA,EAAK;AAChE,MAAA,MAAM,IAAIf,MAAM,CAAA,4CAAA,CAA8C,CAAA;AAClE,IAAA;AAEA,IAAA,IAAIgB,aAAAA,KAAkBC,MAAAA,IAAaD,aAAAA,KAAkB,EAAA,EAAI;AACrD,MAAA,MAAM,IAAIhB,MAAM,CAAA,0BAAA,CAA4B,CAAA;AAChD,IAAA;AACAO,IAAAA,QAAAA,CAASM,IAAAA,CAAK;AAAEC,MAAAA,IAAAA;AAAMC,MAAAA,QAAAA;AAAUC,MAAAA,aAAAA;AAAe3B,MAAAA;KAAK,CAAA;AACpD,IAAA,OAAOkB,QAAAA;AACX,EAAA,CAAA,EACA,EAAE,CAAA;AAIVW,EAAAA,kBAAAA,CAAMC,OAAAA,CAAQ,CAACC,IAAAA,KAAAA;AACX,IAAA,MAAMC,UAAAA,GAAa,CAAA,EAAA,EAAKD,IAAAA,CAAK/B,IAAI,CAAA,kBAAA,CAAA;AACjC,IAAA,MAAMiC,cAAAA,GAAiBC,kCAAAA,CAAsBH,IAAAA,CAAK/B,IAAI,CAAA;AACtD,IAAA,MAAMmC,iBAAAA,GAAoBC,qCAAAA,CAAyBL,IAAAA,CAAK/B,IAAI,CAAA;AAC5D,IAAA,MAAMC,WAAAA,GAAc,CAAA,QAAA,EAAW8B,IAAAA,CAAK/B,IAAI,CAAA,mBAAA,EAAsBiC,cAAAA,CAAAA,aAAAA,EAA8BE,iBAAAA,CAAkBZ,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAA,CAAA;AAEnHzB,IAAAA,OAAAA,CAAQW,MAAAA,CAAOuB,YAAY/B,WAAAA,CAAAA;EAC/B,CAAA,CAAA;AAGAH,EAAAA,OAAAA,CAAQW,MAAAA,CAAO,mBAAmB,qDAAA,CAAA;AAGlCX,EAAAA,OAAAA,CACKuC,OAAAA,CAAQ,qBAAA,CAAA,CACRpC,WAAAA,CAAY,0DAAA,CAAA,CACZqC,MAAAA,CAAO,CAACC,QAAAA,KAAAA;AACLC,IAAAA,mCAAAA,CAAuBD,QAAAA,CAAAA;EAC3B,CAAA,CAAA;AAGJV,EAAAA,kBAAAA,CAAMC,OAAAA,CAAQ,CAACC,IAAAA,KAAAA;AACX,IAAA,MAAMU,OAAAA,GAAU3C,OAAAA,CACXuC,OAAAA,CAAQN,IAAAA,CAAK/B,IAAAA,EAAM;MAAE0C,SAAAA,EAAW;AAAM,KAAA,EACtCzC,WAAAA,CAAY,CAAA,IAAA,EAAO8B,IAAAA,CAAK/B,IAAI,wBAAwB,CAAA,CACpD2C,kBAAAA,CAAmB,IAAA,CAAA,CACnBC,oBAAkB,CAClBC,UAAAA,CAAW,KAAA,CAAA,CACXC,QAAAA,CAAS,aAAa,+BAAA,CAAA;AAK3BL,IAAAA,OAAAA,CAAQH,MAAAA,CAAO,OAAOS,IAAAA,KAAAA;AAElB,MAAA,MAAMC,aAAAA,GAMFlD,QAAQmD,IAAAA,EAAI;AAEhB,MAAA,MAAMC,GAAAA,GAAMF,aAAAA,CAAcE,GAAAA,IAAO9C,wBAAAA,CAAQ8C,GAAAA,EAAG;AAE5C,MAAA,IAAI;AACA,QAAA,MAAMC,gCAAAA,CAAmBpB,IAAAA,CAAK/B,IAAAA,EAAM+C,IAAAA,EAAM;AACtCG,UAAAA,GAAAA;AACAE,UAAAA,OAAAA,EAASJ,aAAAA,CAAcK,MAAAA;UACvB,GAAGL;SACP,CAAA;AACJ,MAAA,CAAA,CAAA,OAASM,KAAAA,EAAO;AACZC,QAAAA,OAAAA,CAAQD,MAAMA,KAAAA,YAAiB3C,KAAAA,GAAQ2C,MAAME,OAAAA,GAAUC,MAAAA,CAAOH,KAAAA,CAAAA,CAAAA;AAC9DlD,QAAAA,wBAAAA,CAAQI,KAAK,CAAA,CAAA;AACjB,MAAA;IACJ,CAAA,CAAA;EACJ,CAAA,CAAA;AAEA,EAAA,MAAMV,QAAQ4D,UAAAA,EAAU;AAC5B;AAzJe7D,mBAAAA,CAAAA,IAAAA,EAAAA,MAAAA,CAAAA;AA4Jf,KAAKA,IAAAA,EAAAA","file":"index.cjs","sourcesContent":["import { Command } from 'commander';\nimport fs from 'fs';\nimport path from 'path';\nimport process from 'process';\n\nimport { tools } from './config';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport type { EnvironmentVariable, VolumeMapping } from './types';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder-utils';\n\nasync function main(): Promise<void> {\n const program = new Command();\n\n program\n .name('lz-tool')\n .description(\n '🚀 LayerZero VM tooling with intelligent version management\\n' +\n '\\n' +\n 'Usage pattern:\\n' +\n ' lz-tool [global-options] <tool> [tool-args...]\\n' +\n '\\n' +\n 'Examples:\\n' +\n ' lz-tool -e bash sui --help\\n' +\n ' lz-tool --sui-version 1.38.0 sui client\\n' +\n '\\n' +\n 'Note: All lz-tool options must appear BEFORE the tool name.',\n )\n .version('1.0.0')\n .enablePositionalOptions(); // Required for passThroughOptions to work\n\n // Check for --list-versions before parsing to avoid help display\n if (process.argv.includes('--list-versions')) {\n displayVersionCombinations();\n process.exit(0);\n }\n\n // Add global options\n program\n .option('-c, --cwd <path>', 'Current working directory', (input: string) => {\n if (typeof input !== 'string') {\n throw new Error('cwd flag must be a string');\n }\n\n if (!path.isAbsolute(input)) {\n throw new Error('cwd must be an absolute path if provided');\n }\n\n if (!fs.existsSync(input)) {\n throw new Error('cwd does not exist');\n }\n\n if (!fs.statSync(input).isDirectory()) {\n throw new Error('cwd must be a directory');\n }\n\n return input;\n })\n .option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for the tool',\n )\n .option(\n '--script <script>',\n 'Execute a custom script using bash -c in the Docker container (e.g., --script \"npm install && npm test\")',\n )\n .option(\n '--env <name=value>',\n 'Set environment variables for Docker container (e.g., --env NODE_ENV=production)',\n (input: string, previous: EnvironmentVariable[]) => {\n const [name, ...valueParts] = input.split('=');\n if (name === '' || valueParts.length === 0) {\n throw new Error(\n `Invalid environment variable format: ${input}. Use --env NAME=VALUE`,\n );\n }\n const value = valueParts.join('='); // Handle values that contain '='\n previous.push({ name, value } satisfies EnvironmentVariable);\n return previous;\n },\n [],\n )\n .option(\n '-v, --volume <type:hostPath:containerPath[:name]>',\n 'Volume mappings in the format type:hostPath:containerPath[:name] (e.g., host:/host/path:/container/path or isolate::/container/path:volumeName)',\n (input: string, previous: VolumeMapping[]) => {\n const [type, hostPath, containerPath, name] = input.split(':');\n if (type !== 'host' && type !== 'isolate') {\n throw new Error(`Invalid volume type: ${type}`);\n }\n\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n\n if (containerPath === undefined || containerPath === '') {\n throw new Error(`Container path is required`);\n }\n previous.push({ type, hostPath, containerPath, name } satisfies VolumeMapping);\n return previous;\n },\n [],\n );\n\n // Add version options for each tool dynamically\n tools.forEach((tool) => {\n const optionFlag = `--${tool.name}-version <version>`;\n const defaultVersion = getToolDefaultVersion(tool.name);\n const supportedVersions = getToolSupportedVersions(tool.name);\n const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(', ')})`;\n\n program.option(optionFlag, description);\n });\n\n // Add utility options\n program.option('--list-versions', 'Display all supported version combinations and exit');\n\n // Add version info command\n program\n .command('version-info <tool>')\n .description('Display detailed version information for a specific tool')\n .action((toolName: string) => {\n displayToolVersionInfo(toolName);\n });\n\n // Dynamically add commands for each supported tool\n tools.forEach((tool) => {\n const toolCmd = program\n .command(tool.name, { isDefault: false })\n .description(`Run ${tool.name} with version checking`)\n .passThroughOptions(true) // Pass through all options after the subcommand\n .allowUnknownOption()\n .helpOption(false) // Disable automatic help option to pass --help to the tool\n .argument('[args...]', 'Arguments to pass to the tool');\n\n // Don't add any options to the subcommand level\n // All lz-tool options must be specified before the subcommand\n\n toolCmd.action(async (args: string[]) => {\n // Get global options (specified before the subcommand)\n const globalOptions: {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\n } = program.opts();\n\n const cwd = globalOptions.cwd ?? process.cwd();\n\n try {\n await executeToolCommand(tool.name, args, {\n cwd,\n volumes: globalOptions.volume,\n ...globalOptions,\n });\n } catch (error) {\n console.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n });\n });\n\n await program.parseAsync();\n}\n\n// Start the program\nvoid main();\n"]}
package/dist/index.js CHANGED
@@ -1,22 +1,25 @@
1
- import './EKUFNO5X.js';
2
- import { displayVersionCombinations, displayToolVersionInfo } from './S3DLREDC.js';
3
- import './QNKHVJNZ.js';
4
- import './ZEW74YLA.js';
5
- import { executeToolCommand } from './DXKVHPTB.js';
6
- import './FYBVGT35.js';
7
- import { tools, getToolDefaultVersion, getToolSupportedVersions } from './XJWXQV6E.js';
8
- import './BA2LAHMY.js';
9
- import './OESMGGGL.js';
10
- import './GAZMRBLT.js';
11
- import { __name } from './VUOMXK5T.js';
1
+ import './7DH3URRX.js';
2
+ import { displayVersionCombinations, displayToolVersionInfo } from './YU6A7BNZ.js';
3
+ import './5OKX3IYN.js';
4
+ import './OAO7CCJW.js';
5
+ import { executeToolCommand } from './43WEMDCI.js';
6
+ import './Z7OWTALH.js';
7
+ import { tools, getToolDefaultVersion, getToolSupportedVersions } from './IVTNKY37.js';
8
+ import './3CLGGUZ6.js';
9
+ import './2FM75RYQ.js';
10
+ import './HR64SZQX.js';
11
+ import './PDSRUQEX.js';
12
+ import { init_esm_shims, __name } from './4RNWLMHM.js';
12
13
  import { Command } from 'commander';
13
14
  import fs from 'fs';
14
15
  import path from 'path';
15
16
  import process from 'process';
16
17
 
18
+ // src/index.ts
19
+ init_esm_shims();
17
20
  async function main() {
18
21
  const program = new Command();
19
- program.name("lz-tool").description("\u{1F680} LayerZero VM tooling with intelligent version management\n\nUsage pattern:\n lz-tool [global-options] <tool> [tool-args...]\n\nExamples:\n lz-tool --force-docker sui move build\n lz-tool -e bash sui --help\n lz-tool --sui-version 1.38.0 sui client\n\nNote: All lz-tool options must appear BEFORE the tool name.").version("1.0.0").enablePositionalOptions();
22
+ program.name("lz-tool").description("\u{1F680} LayerZero VM tooling with intelligent version management\n\nUsage pattern:\n lz-tool [global-options] <tool> [tool-args...]\n\nExamples:\n lz-tool -e bash sui --help\n lz-tool --sui-version 1.38.0 sui client\n\nNote: All lz-tool options must appear BEFORE the tool name.").version("1.0.0").enablePositionalOptions();
20
23
  if (process.argv.includes("--list-versions")) {
21
24
  displayVersionCombinations();
22
25
  process.exit(0);
@@ -35,7 +38,7 @@ async function main() {
35
38
  throw new Error("cwd must be a directory");
36
39
  }
37
40
  return input;
38
- }).option("-d, --force-docker", "Force using Docker image instead of local installation", false).option("-e, --custom-entrypoint <entrypoint>", "Override the default Docker entrypoint for the tool").option("--script <script>", 'Execute a custom script using bash -c in the Docker container (e.g., --script "npm install && npm test")').option("--env <name=value>", "Set environment variables for Docker container (e.g., --env NODE_ENV=production)", (input, previous) => {
41
+ }).option("-e, --custom-entrypoint <entrypoint>", "Override the default Docker entrypoint for the tool").option("--script <script>", 'Execute a custom script using bash -c in the Docker container (e.g., --script "npm install && npm test")').option("--env <name=value>", "Set environment variables for Docker container (e.g., --env NODE_ENV=production)", (input, previous) => {
39
42
  const [name, ...valueParts] = input.split("=");
40
43
  if (name === "" || valueParts.length === 0) {
41
44
  throw new Error(`Invalid environment variable format: ${input}. Use --env NAME=VALUE`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["main","program","Command","name","description","version","enablePositionalOptions","process","argv","includes","displayVersionCombinations","exit","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tools","forEach","tool","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","toolCmd","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","globalOptions","opts","cwd","executeToolCommand","volumes","volume","error","console","message","String","parseAsync"],"mappings":"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","file":"index.js","sourcesContent":["import { Command } from 'commander';\nimport fs from 'fs';\nimport path from 'path';\nimport process from 'process';\n\nimport { tools } from './config';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport type { EnvironmentVariable, VolumeMapping } from './types';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder-utils';\n\nasync function main(): Promise<void> {\n const program = new Command();\n\n program\n .name('lz-tool')\n .description(\n '🚀 LayerZero VM tooling with intelligent version management\\n' +\n '\\n' +\n 'Usage pattern:\\n' +\n ' lz-tool [global-options] <tool> [tool-args...]\\n' +\n '\\n' +\n 'Examples:\\n' +\n ' lz-tool --force-docker sui move build\\n' +\n ' lz-tool -e bash sui --help\\n' +\n ' lz-tool --sui-version 1.38.0 sui client\\n' +\n '\\n' +\n 'Note: All lz-tool options must appear BEFORE the tool name.',\n )\n .version('1.0.0')\n .enablePositionalOptions(); // Required for passThroughOptions to work\n\n // Check for --list-versions before parsing to avoid help display\n if (process.argv.includes('--list-versions')) {\n displayVersionCombinations();\n process.exit(0);\n }\n\n // Add global options\n program\n .option('-c, --cwd <path>', 'Current working directory', (input: string) => {\n if (typeof input !== 'string') {\n throw new Error('cwd flag must be a string');\n }\n\n if (!path.isAbsolute(input)) {\n throw new Error('cwd must be an absolute path if provided');\n }\n\n if (!fs.existsSync(input)) {\n throw new Error('cwd does not exist');\n }\n\n if (!fs.statSync(input).isDirectory()) {\n throw new Error('cwd must be a directory');\n }\n\n return input;\n })\n .option(\n '-d, --force-docker',\n 'Force using Docker image instead of local installation',\n false,\n )\n .option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for the tool',\n )\n .option(\n '--script <script>',\n 'Execute a custom script using bash -c in the Docker container (e.g., --script \"npm install && npm test\")',\n )\n .option(\n '--env <name=value>',\n 'Set environment variables for Docker container (e.g., --env NODE_ENV=production)',\n (input: string, previous: EnvironmentVariable[]) => {\n const [name, ...valueParts] = input.split('=');\n if (name === '' || valueParts.length === 0) {\n throw new Error(\n `Invalid environment variable format: ${input}. Use --env NAME=VALUE`,\n );\n }\n const value = valueParts.join('='); // Handle values that contain '='\n previous.push({ name, value } satisfies EnvironmentVariable);\n return previous;\n },\n [],\n )\n .option(\n '-v, --volume <type:hostPath:containerPath[:name]>',\n 'Volume mappings in the format type:hostPath:containerPath[:name] (e.g., host:/host/path:/container/path or isolate::/container/path:volumeName)',\n (input: string, previous: VolumeMapping[]) => {\n const [type, hostPath, containerPath, name] = input.split(':');\n if (type !== 'host' && type !== 'isolate') {\n throw new Error(`Invalid volume type: ${type}`);\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (containerPath === undefined || containerPath === '') {\n throw new Error(`Container path is required`);\n }\n previous.push({ type, hostPath, containerPath, name } satisfies VolumeMapping);\n return previous;\n },\n [],\n );\n\n // Add version options for each tool dynamically\n tools.forEach((tool) => {\n const optionFlag = `--${tool.name}-version <version>`;\n const defaultVersion = getToolDefaultVersion(tool.name);\n const supportedVersions = getToolSupportedVersions(tool.name);\n const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(', ')})`;\n\n program.option(optionFlag, description);\n });\n\n // Add utility options\n program.option('--list-versions', 'Display all supported version combinations and exit');\n\n // Add version info command\n program\n .command('version-info <tool>')\n .description('Display detailed version information for a specific tool')\n .action((toolName: string) => {\n displayToolVersionInfo(toolName);\n });\n\n // Dynamically add commands for each supported tool\n tools.forEach((tool) => {\n const toolCmd = program\n .command(tool.name, { isDefault: false })\n .description(`Run ${tool.name} with version checking`)\n .passThroughOptions(true) // Pass through all options after the subcommand\n .allowUnknownOption()\n .helpOption(false) // Disable automatic help option to pass --help to the tool\n .argument('[args...]', 'Arguments to pass to the tool');\n\n // Don't add any options to the subcommand level\n // All lz-tool options must be specified before the subcommand\n\n toolCmd.action(async (args: string[]) => {\n // Get global options (specified before the subcommand)\n const globalOptions: {\n cwd?: string;\n forceDocker: boolean;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\n } = program.opts();\n\n const cwd = globalOptions.cwd ?? process.cwd();\n\n try {\n await executeToolCommand(tool.name, args, {\n cwd,\n volumes: globalOptions.volume,\n ...globalOptions,\n });\n } catch (error) {\n console.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n });\n });\n\n await program.parseAsync();\n}\n\n// Start the program\nvoid main();\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["main","program","Command","name","description","version","enablePositionalOptions","process","argv","includes","displayVersionCombinations","exit","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tools","forEach","tool","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","toolCmd","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","globalOptions","opts","cwd","executeToolCommand","volumes","volume","error","console","message","String","parseAsync"],"mappings":"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","file":"index.js","sourcesContent":["import { Command } from 'commander';\nimport fs from 'fs';\nimport path from 'path';\nimport process from 'process';\n\nimport { tools } from './config';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport type { EnvironmentVariable, VolumeMapping } from './types';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder-utils';\n\nasync function main(): Promise<void> {\n const program = new Command();\n\n program\n .name('lz-tool')\n .description(\n '🚀 LayerZero VM tooling with intelligent version management\\n' +\n '\\n' +\n 'Usage pattern:\\n' +\n ' lz-tool [global-options] <tool> [tool-args...]\\n' +\n '\\n' +\n 'Examples:\\n' +\n ' lz-tool -e bash sui --help\\n' +\n ' lz-tool --sui-version 1.38.0 sui client\\n' +\n '\\n' +\n 'Note: All lz-tool options must appear BEFORE the tool name.',\n )\n .version('1.0.0')\n .enablePositionalOptions(); // Required for passThroughOptions to work\n\n // Check for --list-versions before parsing to avoid help display\n if (process.argv.includes('--list-versions')) {\n displayVersionCombinations();\n process.exit(0);\n }\n\n // Add global options\n program\n .option('-c, --cwd <path>', 'Current working directory', (input: string) => {\n if (typeof input !== 'string') {\n throw new Error('cwd flag must be a string');\n }\n\n if (!path.isAbsolute(input)) {\n throw new Error('cwd must be an absolute path if provided');\n }\n\n if (!fs.existsSync(input)) {\n throw new Error('cwd does not exist');\n }\n\n if (!fs.statSync(input).isDirectory()) {\n throw new Error('cwd must be a directory');\n }\n\n return input;\n })\n .option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for the tool',\n )\n .option(\n '--script <script>',\n 'Execute a custom script using bash -c in the Docker container (e.g., --script \"npm install && npm test\")',\n )\n .option(\n '--env <name=value>',\n 'Set environment variables for Docker container (e.g., --env NODE_ENV=production)',\n (input: string, previous: EnvironmentVariable[]) => {\n const [name, ...valueParts] = input.split('=');\n if (name === '' || valueParts.length === 0) {\n throw new Error(\n `Invalid environment variable format: ${input}. Use --env NAME=VALUE`,\n );\n }\n const value = valueParts.join('='); // Handle values that contain '='\n previous.push({ name, value } satisfies EnvironmentVariable);\n return previous;\n },\n [],\n )\n .option(\n '-v, --volume <type:hostPath:containerPath[:name]>',\n 'Volume mappings in the format type:hostPath:containerPath[:name] (e.g., host:/host/path:/container/path or isolate::/container/path:volumeName)',\n (input: string, previous: VolumeMapping[]) => {\n const [type, hostPath, containerPath, name] = input.split(':');\n if (type !== 'host' && type !== 'isolate') {\n throw new Error(`Invalid volume type: ${type}`);\n }\n\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n\n if (containerPath === undefined || containerPath === '') {\n throw new Error(`Container path is required`);\n }\n previous.push({ type, hostPath, containerPath, name } satisfies VolumeMapping);\n return previous;\n },\n [],\n );\n\n // Add version options for each tool dynamically\n tools.forEach((tool) => {\n const optionFlag = `--${tool.name}-version <version>`;\n const defaultVersion = getToolDefaultVersion(tool.name);\n const supportedVersions = getToolSupportedVersions(tool.name);\n const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(', ')})`;\n\n program.option(optionFlag, description);\n });\n\n // Add utility options\n program.option('--list-versions', 'Display all supported version combinations and exit');\n\n // Add version info command\n program\n .command('version-info <tool>')\n .description('Display detailed version information for a specific tool')\n .action((toolName: string) => {\n displayToolVersionInfo(toolName);\n });\n\n // Dynamically add commands for each supported tool\n tools.forEach((tool) => {\n const toolCmd = program\n .command(tool.name, { isDefault: false })\n .description(`Run ${tool.name} with version checking`)\n .passThroughOptions(true) // Pass through all options after the subcommand\n .allowUnknownOption()\n .helpOption(false) // Disable automatic help option to pass --help to the tool\n .argument('[args...]', 'Arguments to pass to the tool');\n\n // Don't add any options to the subcommand level\n // All lz-tool options must be specified before the subcommand\n\n toolCmd.action(async (args: string[]) => {\n // Get global options (specified before the subcommand)\n const globalOptions: {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\n } = program.opts();\n\n const cwd = globalOptions.cwd ?? process.cwd();\n\n try {\n await executeToolCommand(tool.name, args, {\n cwd,\n volumes: globalOptions.volume,\n ...globalOptions,\n });\n } catch (error) {\n console.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n });\n });\n\n await program.parseAsync();\n}\n\n// Start the program\nvoid main();\n"]}