@layerzerolabs/vm-tooling 0.0.30

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 (262) hide show
  1. package/bin/lz-tool.cjs +18 -0
  2. package/dist/2TPNSECS.cjs +274 -0
  3. package/dist/2TPNSECS.cjs.map +1 -0
  4. package/dist/33GUXAT7.js +67 -0
  5. package/dist/33GUXAT7.js.map +1 -0
  6. package/dist/3AX3IZXK.cjs +79 -0
  7. package/dist/3AX3IZXK.cjs.map +1 -0
  8. package/dist/3BKFBGX3.cjs +17 -0
  9. package/dist/3BKFBGX3.cjs.map +1 -0
  10. package/dist/3EOFF6NK.cjs +51 -0
  11. package/dist/3EOFF6NK.cjs.map +1 -0
  12. package/dist/4NINFZK7.cjs +38 -0
  13. package/dist/4NINFZK7.cjs.map +1 -0
  14. package/dist/4XKJ5GJB.js +793 -0
  15. package/dist/4XKJ5GJB.js.map +1 -0
  16. package/dist/5EKZTTNT.js +82 -0
  17. package/dist/5EKZTTNT.js.map +1 -0
  18. package/dist/5MIIPWV7.cjs +75 -0
  19. package/dist/5MIIPWV7.cjs.map +1 -0
  20. package/dist/5N3Q6FCT.cjs +4 -0
  21. package/dist/5N3Q6FCT.cjs.map +1 -0
  22. package/dist/63H5FLN6.cjs +216 -0
  23. package/dist/63H5FLN6.cjs.map +1 -0
  24. package/dist/6A3MRQDI.js +3164 -0
  25. package/dist/6A3MRQDI.js.map +1 -0
  26. package/dist/6NLXVH5R.cjs +1089 -0
  27. package/dist/6NLXVH5R.cjs.map +1 -0
  28. package/dist/6UWCX7SA.js +60 -0
  29. package/dist/6UWCX7SA.js.map +1 -0
  30. package/dist/7EXYTS34.js +125 -0
  31. package/dist/7EXYTS34.js.map +1 -0
  32. package/dist/7LKSKL4C.cjs +64 -0
  33. package/dist/7LKSKL4C.cjs.map +1 -0
  34. package/dist/7PKC46XS.js +244 -0
  35. package/dist/7PKC46XS.js.map +1 -0
  36. package/dist/7SRULFYS.cjs +55 -0
  37. package/dist/7SRULFYS.cjs.map +1 -0
  38. package/dist/AH2UQL5E.js +6 -0
  39. package/dist/AH2UQL5E.js.map +1 -0
  40. package/dist/AOG2M3LV.cjs +122 -0
  41. package/dist/AOG2M3LV.cjs.map +1 -0
  42. package/dist/BA2LAHMY.js +43 -0
  43. package/dist/BA2LAHMY.js.map +1 -0
  44. package/dist/BHBC6Q3Y.js +47 -0
  45. package/dist/BHBC6Q3Y.js.map +1 -0
  46. package/dist/CQHBPXZ2.cjs +94 -0
  47. package/dist/CQHBPXZ2.cjs.map +1 -0
  48. package/dist/CSNPKKTO.js +125 -0
  49. package/dist/CSNPKKTO.js.map +1 -0
  50. package/dist/E75FXJNJ.js +393 -0
  51. package/dist/E75FXJNJ.js.map +1 -0
  52. package/dist/EASTPCLB.js +195 -0
  53. package/dist/EASTPCLB.js.map +1 -0
  54. package/dist/EJCGU7LP.cjs +252 -0
  55. package/dist/EJCGU7LP.cjs.map +1 -0
  56. package/dist/EKUFNO5X.js +3 -0
  57. package/dist/EKUFNO5X.js.map +1 -0
  58. package/dist/EQPMZDRH.js +63 -0
  59. package/dist/EQPMZDRH.js.map +1 -0
  60. package/dist/F5UPK5ZZ.js +2445 -0
  61. package/dist/F5UPK5ZZ.js.map +1 -0
  62. package/dist/GAZMRBLT.js +36 -0
  63. package/dist/GAZMRBLT.js.map +1 -0
  64. package/dist/JBULQDMK.js +1064 -0
  65. package/dist/JBULQDMK.js.map +1 -0
  66. package/dist/JY6PMFYV.js +60 -0
  67. package/dist/JY6PMFYV.js.map +1 -0
  68. package/dist/KTOZRP5U.cjs +404 -0
  69. package/dist/KTOZRP5U.cjs.map +1 -0
  70. package/dist/L3BNN3KF.cjs +2490 -0
  71. package/dist/L3BNN3KF.cjs.map +1 -0
  72. package/dist/L75NPWJX.cjs +204 -0
  73. package/dist/L75NPWJX.cjs.map +1 -0
  74. package/dist/LBQPL6VK.cjs +46 -0
  75. package/dist/LBQPL6VK.cjs.map +1 -0
  76. package/dist/LUG7USNZ.js +120 -0
  77. package/dist/LUG7USNZ.js.map +1 -0
  78. package/dist/LXXIBLJQ.js +15 -0
  79. package/dist/LXXIBLJQ.js.map +1 -0
  80. package/dist/MBTHP667.cjs +39 -0
  81. package/dist/MBTHP667.cjs.map +1 -0
  82. package/dist/NMC54VEB.cjs +128 -0
  83. package/dist/NMC54VEB.cjs.map +1 -0
  84. package/dist/NX4KBEWA.cjs +13 -0
  85. package/dist/NX4KBEWA.cjs.map +1 -0
  86. package/dist/OU33HN4T.js +92 -0
  87. package/dist/OU33HN4T.js.map +1 -0
  88. package/dist/OVH4V3F6.js +77 -0
  89. package/dist/OVH4V3F6.js.map +1 -0
  90. package/dist/OWJM6QQP.js +233 -0
  91. package/dist/OWJM6QQP.js.map +1 -0
  92. package/dist/PC55ZLZD.cjs +66 -0
  93. package/dist/PC55ZLZD.cjs.map +1 -0
  94. package/dist/PGRNZALP.cjs +3427 -0
  95. package/dist/PGRNZALP.cjs.map +1 -0
  96. package/dist/PXT4MQYT.cjs +3191 -0
  97. package/dist/PXT4MQYT.cjs.map +1 -0
  98. package/dist/QMIU5HY3.cjs +174 -0
  99. package/dist/QMIU5HY3.cjs.map +1 -0
  100. package/dist/QNKHVJNZ.js +43 -0
  101. package/dist/QNKHVJNZ.js.map +1 -0
  102. package/dist/QSKQ7BQT.cjs +111 -0
  103. package/dist/QSKQ7BQT.cjs.map +1 -0
  104. package/dist/QWROCDWJ.cjs +315 -0
  105. package/dist/QWROCDWJ.cjs.map +1 -0
  106. package/dist/RAIK357L.js +214 -0
  107. package/dist/RAIK357L.js.map +1 -0
  108. package/dist/RLUL6JFM.cjs +4 -0
  109. package/dist/RLUL6JFM.cjs.map +1 -0
  110. package/dist/RVOOJEDH.js +3385 -0
  111. package/dist/RVOOJEDH.js.map +1 -0
  112. package/dist/RVTTXEXB.cjs +235 -0
  113. package/dist/RVTTXEXB.cjs.map +1 -0
  114. package/dist/SKAV3OJX.js +118 -0
  115. package/dist/SKAV3OJX.js.map +1 -0
  116. package/dist/TA2DABDY.cjs +126 -0
  117. package/dist/TA2DABDY.cjs.map +1 -0
  118. package/dist/THMQMWYA.cjs +17 -0
  119. package/dist/THMQMWYA.cjs.map +1 -0
  120. package/dist/TPVIFJX4.js +236 -0
  121. package/dist/TPVIFJX4.js.map +1 -0
  122. package/dist/VDH76SF6.cjs +132 -0
  123. package/dist/VDH76SF6.cjs.map +1 -0
  124. package/dist/VUOMXK5T.js +6 -0
  125. package/dist/VUOMXK5T.js.map +1 -0
  126. package/dist/W3KWDJYA.cjs +85 -0
  127. package/dist/W3KWDJYA.cjs.map +1 -0
  128. package/dist/WAGFMHUT.js +311 -0
  129. package/dist/WAGFMHUT.js.map +1 -0
  130. package/dist/WBKUP4MX.js +168 -0
  131. package/dist/WBKUP4MX.js.map +1 -0
  132. package/dist/XH4FQTBY.cjs +62 -0
  133. package/dist/XH4FQTBY.cjs.map +1 -0
  134. package/dist/YTUEW27V.js +109 -0
  135. package/dist/YTUEW27V.js.map +1 -0
  136. package/dist/YVV5I7A5.js +15 -0
  137. package/dist/YVV5I7A5.js.map +1 -0
  138. package/dist/Z5NOJAAG.cjs +796 -0
  139. package/dist/Z5NOJAAG.cjs.map +1 -0
  140. package/dist/ZEW74YLA.js +3 -0
  141. package/dist/ZEW74YLA.js.map +1 -0
  142. package/dist/config/index.cjs +27 -0
  143. package/dist/config/index.cjs.map +1 -0
  144. package/dist/config/index.d.ts +5 -0
  145. package/dist/config/index.d.ts.map +1 -0
  146. package/dist/config/index.js +6 -0
  147. package/dist/config/index.js.map +1 -0
  148. package/dist/config/tools.cjs +15 -0
  149. package/dist/config/tools.cjs.map +1 -0
  150. package/dist/config/tools.d.ts +6 -0
  151. package/dist/config/tools.d.ts.map +1 -0
  152. package/dist/config/tools.js +6 -0
  153. package/dist/config/tools.js.map +1 -0
  154. package/dist/config/version-matrices.cjs +13 -0
  155. package/dist/config/version-matrices.cjs.map +1 -0
  156. package/dist/config/version-matrices.d.ts +7 -0
  157. package/dist/config/version-matrices.d.ts.map +1 -0
  158. package/dist/config/version-matrices.js +4 -0
  159. package/dist/config/version-matrices.js.map +1 -0
  160. package/dist/core/compatibility.cjs +13 -0
  161. package/dist/core/compatibility.cjs.map +1 -0
  162. package/dist/core/compatibility.d.ts +8 -0
  163. package/dist/core/compatibility.d.ts.map +1 -0
  164. package/dist/core/compatibility.js +4 -0
  165. package/dist/core/compatibility.js.map +1 -0
  166. package/dist/core/index.cjs +35 -0
  167. package/dist/core/index.cjs.map +1 -0
  168. package/dist/core/index.d.ts +4 -0
  169. package/dist/core/index.d.ts.map +1 -0
  170. package/dist/core/index.js +10 -0
  171. package/dist/core/index.js.map +1 -0
  172. package/dist/core/tool-executor.cjs +18 -0
  173. package/dist/core/tool-executor.cjs.map +1 -0
  174. package/dist/core/tool-executor.d.ts +12 -0
  175. package/dist/core/tool-executor.d.ts.map +1 -0
  176. package/dist/core/tool-executor.js +9 -0
  177. package/dist/core/tool-executor.js.map +1 -0
  178. package/dist/core/version-resolver.cjs +25 -0
  179. package/dist/core/version-resolver.cjs.map +1 -0
  180. package/dist/core/version-resolver.d.ts +30 -0
  181. package/dist/core/version-resolver.d.ts.map +1 -0
  182. package/dist/core/version-resolver.js +8 -0
  183. package/dist/core/version-resolver.js.map +1 -0
  184. package/dist/display/formatters.cjs +17 -0
  185. package/dist/display/formatters.cjs.map +1 -0
  186. package/dist/display/formatters.d.ts +15 -0
  187. package/dist/display/formatters.d.ts.map +1 -0
  188. package/dist/display/formatters.js +4 -0
  189. package/dist/display/formatters.js.map +1 -0
  190. package/dist/display/index.cjs +30 -0
  191. package/dist/display/index.cjs.map +1 -0
  192. package/dist/display/index.d.ts +3 -0
  193. package/dist/display/index.d.ts.map +1 -0
  194. package/dist/display/index.js +9 -0
  195. package/dist/display/index.js.map +1 -0
  196. package/dist/display/version-display.cjs +21 -0
  197. package/dist/display/version-display.cjs.map +1 -0
  198. package/dist/display/version-display.d.ts +9 -0
  199. package/dist/display/version-display.d.ts.map +1 -0
  200. package/dist/display/version-display.js +8 -0
  201. package/dist/display/version-display.js.map +1 -0
  202. package/dist/index.cjs +111 -0
  203. package/dist/index.cjs.map +1 -0
  204. package/dist/index.d.ts +2 -0
  205. package/dist/index.d.ts.map +1 -0
  206. package/dist/index.js +103 -0
  207. package/dist/index.js.map +1 -0
  208. package/dist/scripts/generate-github-matrix.cjs +1946 -0
  209. package/dist/scripts/generate-github-matrix.cjs.map +1 -0
  210. package/dist/scripts/generate-github-matrix.d.ts +2 -0
  211. package/dist/scripts/generate-github-matrix.d.ts.map +1 -0
  212. package/dist/scripts/generate-github-matrix.js +1944 -0
  213. package/dist/scripts/generate-github-matrix.js.map +1 -0
  214. package/dist/types/docker.cjs +6 -0
  215. package/dist/types/docker.cjs.map +1 -0
  216. package/dist/types/docker.d.ts +10 -0
  217. package/dist/types/docker.d.ts.map +1 -0
  218. package/dist/types/docker.js +3 -0
  219. package/dist/types/docker.js.map +1 -0
  220. package/dist/types/index.cjs +6 -0
  221. package/dist/types/index.cjs.map +1 -0
  222. package/dist/types/index.d.ts +4 -0
  223. package/dist/types/index.d.ts.map +1 -0
  224. package/dist/types/index.js +3 -0
  225. package/dist/types/index.js.map +1 -0
  226. package/dist/types/tool.cjs +6 -0
  227. package/dist/types/tool.cjs.map +1 -0
  228. package/dist/types/tool.d.ts +27 -0
  229. package/dist/types/tool.d.ts.map +1 -0
  230. package/dist/types/tool.js +3 -0
  231. package/dist/types/tool.js.map +1 -0
  232. package/dist/types/version.cjs +6 -0
  233. package/dist/types/version.cjs.map +1 -0
  234. package/dist/types/version.d.ts +33 -0
  235. package/dist/types/version.d.ts.map +1 -0
  236. package/dist/types/version.js +3 -0
  237. package/dist/types/version.js.map +1 -0
  238. package/dist/utils/finder-utils.cjs +39 -0
  239. package/dist/utils/finder-utils.cjs.map +1 -0
  240. package/dist/utils/finder-utils.d.ts +31 -0
  241. package/dist/utils/finder-utils.d.ts.map +1 -0
  242. package/dist/utils/finder-utils.js +6 -0
  243. package/dist/utils/finder-utils.js.map +1 -0
  244. package/dist/utils/index.cjs +55 -0
  245. package/dist/utils/index.cjs.map +1 -0
  246. package/dist/utils/index.d.ts +3 -0
  247. package/dist/utils/index.d.ts.map +1 -0
  248. package/dist/utils/index.js +6 -0
  249. package/dist/utils/index.js.map +1 -0
  250. package/dist/utils/version-utils.cjs +27 -0
  251. package/dist/utils/version-utils.cjs.map +1 -0
  252. package/dist/utils/version-utils.d.ts +18 -0
  253. package/dist/utils/version-utils.d.ts.map +1 -0
  254. package/dist/utils/version-utils.js +6 -0
  255. package/dist/utils/version-utils.js.map +1 -0
  256. package/dist/utils.cjs +17 -0
  257. package/dist/utils.cjs.map +1 -0
  258. package/dist/utils.d.ts +9 -0
  259. package/dist/utils.d.ts.map +1 -0
  260. package/dist/utils.js +4 -0
  261. package/dist/utils.js.map +1 -0
  262. package/package.json +57 -0
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ require('../RLUL6JFM.cjs');
4
+ var W3KWDJYA_cjs = require('../W3KWDJYA.cjs');
5
+ var LBQPL6VK_cjs = require('../LBQPL6VK.cjs');
6
+ require('../2TPNSECS.cjs');
7
+ require('../3EOFF6NK.cjs');
8
+ require('../QSKQ7BQT.cjs');
9
+ require('../NX4KBEWA.cjs');
10
+
11
+
12
+
13
+ Object.defineProperty(exports, "displayToolVersionInfo", {
14
+ enumerable: true,
15
+ get: function () { return W3KWDJYA_cjs.displayToolVersionInfo; }
16
+ });
17
+ Object.defineProperty(exports, "displayVersionCombinations", {
18
+ enumerable: true,
19
+ get: function () { return W3KWDJYA_cjs.displayVersionCombinations; }
20
+ });
21
+ Object.defineProperty(exports, "createUserFriendlyError", {
22
+ enumerable: true,
23
+ get: function () { return LBQPL6VK_cjs.createUserFriendlyError; }
24
+ });
25
+ Object.defineProperty(exports, "formatVersionCombination", {
26
+ enumerable: true,
27
+ get: function () { return LBQPL6VK_cjs.formatVersionCombination; }
28
+ });
29
+ //# sourceMappingURL=index.cjs.map
30
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs"}
@@ -0,0 +1,3 @@
1
+ export { createUserFriendlyError, formatVersionCombination } from './formatters';
2
+ export { displayToolVersionInfo, displayVersionCombinations } from './version-display';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/display/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGjF,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import '../EKUFNO5X.js';
2
+ export { displayToolVersionInfo, displayVersionCombinations } from '../5EKZTTNT.js';
3
+ export { createUserFriendlyError, formatVersionCombination } from '../QNKHVJNZ.js';
4
+ import '../TPVIFJX4.js';
5
+ import '../BA2LAHMY.js';
6
+ import '../YTUEW27V.js';
7
+ import '../VUOMXK5T.js';
8
+ //# sourceMappingURL=index.js.map
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var W3KWDJYA_cjs = require('../W3KWDJYA.cjs');
4
+ require('../LBQPL6VK.cjs');
5
+ require('../2TPNSECS.cjs');
6
+ require('../3EOFF6NK.cjs');
7
+ require('../QSKQ7BQT.cjs');
8
+ require('../NX4KBEWA.cjs');
9
+
10
+
11
+
12
+ Object.defineProperty(exports, "displayToolVersionInfo", {
13
+ enumerable: true,
14
+ get: function () { return W3KWDJYA_cjs.displayToolVersionInfo; }
15
+ });
16
+ Object.defineProperty(exports, "displayVersionCombinations", {
17
+ enumerable: true,
18
+ get: function () { return W3KWDJYA_cjs.displayVersionCombinations; }
19
+ });
20
+ //# sourceMappingURL=version-display.cjs.map
21
+ //# sourceMappingURL=version-display.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"version-display.cjs"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Display all supported version combinations
3
+ */
4
+ export declare function displayVersionCombinations(): void;
5
+ /**
6
+ * Display tool-specific version information
7
+ */
8
+ export declare function displayToolVersionInfo(toolName: string): void;
9
+ //# sourceMappingURL=version-display.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-display.d.ts","sourceRoot":"","sources":["../../src/display/version-display.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAiCjD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAoD7D"}
@@ -0,0 +1,8 @@
1
+ export { displayToolVersionInfo, displayVersionCombinations } from '../5EKZTTNT.js';
2
+ import '../QNKHVJNZ.js';
3
+ import '../TPVIFJX4.js';
4
+ import '../BA2LAHMY.js';
5
+ import '../YTUEW27V.js';
6
+ import '../VUOMXK5T.js';
7
+ //# sourceMappingURL=version-display.js.map
8
+ //# sourceMappingURL=version-display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"version-display.js"}
package/dist/index.cjs ADDED
@@ -0,0 +1,111 @@
1
+ 'use strict';
2
+
3
+ require('./RLUL6JFM.cjs');
4
+ var W3KWDJYA_cjs = require('./W3KWDJYA.cjs');
5
+ require('./LBQPL6VK.cjs');
6
+ require('./5N3Q6FCT.cjs');
7
+ var EJCGU7LP_cjs = require('./EJCGU7LP.cjs');
8
+ require('./TA2DABDY.cjs');
9
+ var _2TPNSECS_cjs = require('./2TPNSECS.cjs');
10
+ require('./3EOFF6NK.cjs');
11
+ require('./QSKQ7BQT.cjs');
12
+ require('./4NINFZK7.cjs');
13
+ var NX4KBEWA_cjs = require('./NX4KBEWA.cjs');
14
+ var commander = require('commander');
15
+ var fs = require('fs');
16
+ var path = require('path');
17
+ var process = require('process');
18
+
19
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
20
+
21
+ var fs__default = /*#__PURE__*/_interopDefault(fs);
22
+ var path__default = /*#__PURE__*/_interopDefault(path);
23
+ var process__default = /*#__PURE__*/_interopDefault(process);
24
+
25
+ async function main() {
26
+ const program = new commander.Command();
27
+ program.name("lz-tool").description("\u{1F680} LayerZero VM tooling with intelligent version management").version("1.0.0");
28
+ if (process__default.default.argv.includes("--list-versions")) {
29
+ W3KWDJYA_cjs.displayVersionCombinations();
30
+ process__default.default.exit(0);
31
+ }
32
+ program.option("-c, --cwd <path>", "Current working directory", (input) => {
33
+ if (typeof input !== "string") {
34
+ throw new Error("cwd flag must be a string");
35
+ }
36
+ if (!path__default.default.isAbsolute(input)) {
37
+ throw new Error("cwd must be an absolute path if provided");
38
+ }
39
+ if (!fs__default.default.existsSync(input)) {
40
+ throw new Error("cwd does not exist");
41
+ }
42
+ if (!fs__default.default.statSync(input).isDirectory()) {
43
+ throw new Error("cwd must be a directory");
44
+ }
45
+ 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("-v, --volume <type:hostPath:containerPath[:name]>", "Volume mappings in the format type:hostPath:containerPath[:name] (e.g., host:/host/path:/container/path or isolate::/container/path:volumeName)", (input, previous) => {
47
+ const [type, hostPath, containerPath, name] = input.split(":");
48
+ if (type !== "host" && type !== "isolate") {
49
+ throw new Error(`Invalid volume type: ${type}`);
50
+ }
51
+ if (type === "host" && (hostPath === void 0 || hostPath === "")) {
52
+ throw new Error(`Host path is required for volume type 'host'`);
53
+ }
54
+ if (containerPath === void 0 || containerPath === "") {
55
+ throw new Error(`Container path is required`);
56
+ }
57
+ previous.push({
58
+ type,
59
+ hostPath,
60
+ containerPath,
61
+ name
62
+ });
63
+ return previous;
64
+ }, []);
65
+ _2TPNSECS_cjs.tools.forEach((tool) => {
66
+ const optionFlag = `--${tool.name}-version <version>`;
67
+ const defaultVersion = _2TPNSECS_cjs.getToolDefaultVersion(tool.name);
68
+ const supportedVersions = _2TPNSECS_cjs.getToolSupportedVersions(tool.name);
69
+ const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(", ")})`;
70
+ program.option(optionFlag, description);
71
+ });
72
+ program.option("--list-versions", "Display all supported version combinations and exit");
73
+ program.command("version-info <tool>").description("Display detailed version information for a specific tool").action((toolName) => {
74
+ W3KWDJYA_cjs.displayToolVersionInfo(toolName);
75
+ });
76
+ _2TPNSECS_cjs.tools.forEach((tool) => {
77
+ const toolCmd = program.command(tool.name, {
78
+ isDefault: false
79
+ }).description(`Run ${tool.name} with version checking`).allowUnknownOption().argument("[args...]", "Arguments to pass to the tool");
80
+ _2TPNSECS_cjs.tools.forEach((toolOption) => {
81
+ const optionFlag = `--${toolOption.name}-version <version>`;
82
+ const description = `Specify ${toolOption.name} version for this execution`;
83
+ toolCmd.option(optionFlag, description);
84
+ });
85
+ toolCmd.option("-e, --custom-entrypoint <entrypoint>", "Override the default Docker entrypoint for this tool");
86
+ toolCmd.action(async (args) => {
87
+ const globalOptions = program.opts();
88
+ const commandOptions = toolCmd.opts();
89
+ const mergedOptions = {
90
+ ...globalOptions,
91
+ ...commandOptions
92
+ };
93
+ const cwd = mergedOptions.cwd ?? process__default.default.cwd();
94
+ try {
95
+ await EJCGU7LP_cjs.executeToolCommand(tool.name, args, {
96
+ cwd,
97
+ volumes: mergedOptions.volume,
98
+ ...mergedOptions
99
+ });
100
+ } catch (error) {
101
+ console.error(error instanceof Error ? error.message : String(error));
102
+ process__default.default.exit(1);
103
+ }
104
+ });
105
+ });
106
+ await program.parseAsync();
107
+ }
108
+ NX4KBEWA_cjs.__name(main, "main");
109
+ void main();
110
+ //# sourceMappingURL=index.cjs.map
111
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"names":["main","program","Command","name","description","version","process","argv","includes","displayVersionCombinations","exit","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","type","hostPath","containerPath","split","undefined","push","tools","forEach","tool","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","join","command","action","toolName","displayToolVersionInfo","toolCmd","isDefault","allowUnknownOption","argument","toolOption","args","globalOptions","opts","commandOptions","mergedOptions","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 { 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('🚀 LayerZero VM tooling with intelligent version management')\n .version('1.0.0');\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 '-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 .allowUnknownOption()\n .argument('[args...]', 'Arguments to pass to the tool');\n\n // Add tool-specific version options to each command as well\n tools.forEach((toolOption) => {\n const optionFlag = `--${toolOption.name}-version <version>`;\n const description = `Specify ${toolOption.name} version for this execution`;\n toolCmd.option(optionFlag, description);\n });\n\n // Add custom entrypoint option to each command\n toolCmd.option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for this tool',\n );\n\n toolCmd.action(async (args: string[]) => {\n // Get both global and command-specific options\n const globalOptions: { cwd?: string; forceDocker: boolean; volume: VolumeMapping[] } =\n program.opts();\n const commandOptions = toolCmd.opts();\n\n // Merge options, with command-specific taking precedence\n const mergedOptions = { ...globalOptions, ...commandOptions };\n\n const cwd = mergedOptions.cwd ?? process.cwd();\n\n try {\n await executeToolCommand(tool.name, args, {\n cwd,\n volumes: mergedOptions.volume,\n ...mergedOptions,\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"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,103 @@
1
+ import './EKUFNO5X.js';
2
+ import { displayVersionCombinations, displayToolVersionInfo } from './5EKZTTNT.js';
3
+ import './QNKHVJNZ.js';
4
+ import './ZEW74YLA.js';
5
+ import { executeToolCommand } from './7PKC46XS.js';
6
+ import './SKAV3OJX.js';
7
+ import { tools, getToolDefaultVersion, getToolSupportedVersions } from './TPVIFJX4.js';
8
+ import './BA2LAHMY.js';
9
+ import './YTUEW27V.js';
10
+ import './GAZMRBLT.js';
11
+ import { __name } from './VUOMXK5T.js';
12
+ import { Command } from 'commander';
13
+ import fs from 'fs';
14
+ import path from 'path';
15
+ import process from 'process';
16
+
17
+ async function main() {
18
+ const program = new Command();
19
+ program.name("lz-tool").description("\u{1F680} LayerZero VM tooling with intelligent version management").version("1.0.0");
20
+ if (process.argv.includes("--list-versions")) {
21
+ displayVersionCombinations();
22
+ process.exit(0);
23
+ }
24
+ program.option("-c, --cwd <path>", "Current working directory", (input) => {
25
+ if (typeof input !== "string") {
26
+ throw new Error("cwd flag must be a string");
27
+ }
28
+ if (!path.isAbsolute(input)) {
29
+ throw new Error("cwd must be an absolute path if provided");
30
+ }
31
+ if (!fs.existsSync(input)) {
32
+ throw new Error("cwd does not exist");
33
+ }
34
+ if (!fs.statSync(input).isDirectory()) {
35
+ throw new Error("cwd must be a directory");
36
+ }
37
+ 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("-v, --volume <type:hostPath:containerPath[:name]>", "Volume mappings in the format type:hostPath:containerPath[:name] (e.g., host:/host/path:/container/path or isolate::/container/path:volumeName)", (input, previous) => {
39
+ const [type, hostPath, containerPath, name] = input.split(":");
40
+ if (type !== "host" && type !== "isolate") {
41
+ throw new Error(`Invalid volume type: ${type}`);
42
+ }
43
+ if (type === "host" && (hostPath === void 0 || hostPath === "")) {
44
+ throw new Error(`Host path is required for volume type 'host'`);
45
+ }
46
+ if (containerPath === void 0 || containerPath === "") {
47
+ throw new Error(`Container path is required`);
48
+ }
49
+ previous.push({
50
+ type,
51
+ hostPath,
52
+ containerPath,
53
+ name
54
+ });
55
+ return previous;
56
+ }, []);
57
+ tools.forEach((tool) => {
58
+ const optionFlag = `--${tool.name}-version <version>`;
59
+ const defaultVersion = getToolDefaultVersion(tool.name);
60
+ const supportedVersions = getToolSupportedVersions(tool.name);
61
+ const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(", ")})`;
62
+ program.option(optionFlag, description);
63
+ });
64
+ program.option("--list-versions", "Display all supported version combinations and exit");
65
+ program.command("version-info <tool>").description("Display detailed version information for a specific tool").action((toolName) => {
66
+ displayToolVersionInfo(toolName);
67
+ });
68
+ tools.forEach((tool) => {
69
+ const toolCmd = program.command(tool.name, {
70
+ isDefault: false
71
+ }).description(`Run ${tool.name} with version checking`).allowUnknownOption().argument("[args...]", "Arguments to pass to the tool");
72
+ tools.forEach((toolOption) => {
73
+ const optionFlag = `--${toolOption.name}-version <version>`;
74
+ const description = `Specify ${toolOption.name} version for this execution`;
75
+ toolCmd.option(optionFlag, description);
76
+ });
77
+ toolCmd.option("-e, --custom-entrypoint <entrypoint>", "Override the default Docker entrypoint for this tool");
78
+ toolCmd.action(async (args) => {
79
+ const globalOptions = program.opts();
80
+ const commandOptions = toolCmd.opts();
81
+ const mergedOptions = {
82
+ ...globalOptions,
83
+ ...commandOptions
84
+ };
85
+ const cwd = mergedOptions.cwd ?? process.cwd();
86
+ try {
87
+ await executeToolCommand(tool.name, args, {
88
+ cwd,
89
+ volumes: mergedOptions.volume,
90
+ ...mergedOptions
91
+ });
92
+ } catch (error) {
93
+ console.error(error instanceof Error ? error.message : String(error));
94
+ process.exit(1);
95
+ }
96
+ });
97
+ });
98
+ await program.parseAsync();
99
+ }
100
+ __name(main, "main");
101
+ void main();
102
+ //# sourceMappingURL=index.js.map
103
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"names":["main","program","Command","name","description","version","process","argv","includes","displayVersionCombinations","exit","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","type","hostPath","containerPath","split","undefined","push","tools","forEach","tool","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","join","command","action","toolName","displayToolVersionInfo","toolCmd","isDefault","allowUnknownOption","argument","toolOption","args","globalOptions","opts","commandOptions","mergedOptions","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 { 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('🚀 LayerZero VM tooling with intelligent version management')\n .version('1.0.0');\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 '-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 .allowUnknownOption()\n .argument('[args...]', 'Arguments to pass to the tool');\n\n // Add tool-specific version options to each command as well\n tools.forEach((toolOption) => {\n const optionFlag = `--${toolOption.name}-version <version>`;\n const description = `Specify ${toolOption.name} version for this execution`;\n toolCmd.option(optionFlag, description);\n });\n\n // Add custom entrypoint option to each command\n toolCmd.option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for this tool',\n );\n\n toolCmd.action(async (args: string[]) => {\n // Get both global and command-specific options\n const globalOptions: { cwd?: string; forceDocker: boolean; volume: VolumeMapping[] } =\n program.opts();\n const commandOptions = toolCmd.opts();\n\n // Merge options, with command-specific taking precedence\n const mergedOptions = { ...globalOptions, ...commandOptions };\n\n const cwd = mergedOptions.cwd ?? process.cwd();\n\n try {\n await executeToolCommand(tool.name, args, {\n cwd,\n volumes: mergedOptions.volume,\n ...mergedOptions,\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"]}