@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,28 +1,41 @@
1
+ import { init_esm_shims } from './4RNWLMHM.js';
2
+
1
3
  // src/config/version-matrices.ts
4
+ init_esm_shims();
2
5
  var versionMatrices = [
3
6
  {
4
7
  toolType: "evm",
5
8
  combinations: [
6
9
  {
7
- id: "hardhat_2.19.3",
10
+ // DEPRECATED: Old tag format with patch in versions
11
+ id: "forge_1.3.6_hardhat_2.26.3_dockerfile_1.1.1",
8
12
  versions: {
9
- hardhat: "2.19.3"
10
- }
13
+ forge: "1.3.6",
14
+ hardhat: "2.26.3",
15
+ dockerfile: "1.1.1"
16
+ },
17
+ isRecommended: true
11
18
  },
12
19
  {
13
- id: "forge_1.3.6_hardhat_2.26.3",
20
+ id: "forge_1.3.6_hardhat_2.26.3_patch_1",
14
21
  versions: {
15
22
  forge: "1.3.6",
16
23
  hardhat: "2.26.3"
17
24
  },
18
- isRecommended: true
25
+ patch: 1
19
26
  },
20
27
  {
21
- id: "forge_1.3.6_hardhat_2.26.3_dockerfile_1.1.1",
28
+ id: "forge_1.3.6_hardhat_2.26.3",
22
29
  versions: {
23
30
  forge: "1.3.6",
24
- hardhat: "2.26.3",
25
- dockerfile: "1.1.1"
31
+ hardhat: "2.26.3"
32
+ }
33
+ },
34
+ {
35
+ // Built in the old `monorepo` repository.
36
+ id: "hardhat_2.19.3",
37
+ versions: {
38
+ hardhat: "2.19.3"
26
39
  }
27
40
  }
28
41
  ]
@@ -31,6 +44,7 @@ var versionMatrices = [
31
44
  toolType: "solana",
32
45
  combinations: [
33
46
  {
47
+ // Built in the old `monorepo` repository.
34
48
  id: "solana_1.17.31_anchor_0.29.0",
35
49
  versions: {
36
50
  solana: "1.17.31",
@@ -53,11 +67,18 @@ var versionMatrices = [
53
67
  toolType: "aptos",
54
68
  combinations: [
55
69
  {
56
- id: "aptos_4.6.0",
70
+ id: "aptos_4.7.0",
57
71
  versions: {
58
- aptos: "4.6.0"
72
+ aptos: "4.7.0"
59
73
  },
60
74
  isRecommended: true
75
+ },
76
+ {
77
+ // Built in the old `monorepo` repository.
78
+ id: "aptos_4.6.0",
79
+ versions: {
80
+ aptos: "4.6.0"
81
+ }
61
82
  }
62
83
  ]
63
84
  },
@@ -65,6 +86,7 @@ var versionMatrices = [
65
86
  toolType: "initia",
66
87
  combinations: [
67
88
  {
89
+ // Built in the old `monorepo` repository.
68
90
  id: "initia_0.6.3",
69
91
  versions: {
70
92
  initiad: "0.6.3"
@@ -77,11 +99,19 @@ var versionMatrices = [
77
99
  toolType: "ton",
78
100
  combinations: [
79
101
  {
102
+ // Built in the old `monorepo` repository.
80
103
  id: "ton_0.25.0-beta.1",
81
104
  versions: {
82
105
  blueprint: "0.25.0-beta.1"
83
106
  },
84
107
  isRecommended: true
108
+ },
109
+ {
110
+ id: "patch_2_ton_0.25.0-beta.1",
111
+ versions: {
112
+ blueprint: "0.25.0-beta.1"
113
+ },
114
+ patch: 2
85
115
  }
86
116
  ]
87
117
  },
@@ -89,19 +119,20 @@ var versionMatrices = [
89
119
  toolType: "starknet",
90
120
  combinations: [
91
121
  {
122
+ // DEPRECATED: Old tag format with patch in versions
92
123
  id: "scarb_2.12.0",
93
124
  versions: {
94
125
  scarb: "2.12.0",
95
- patch: "1"
126
+ patch: "3"
96
127
  },
97
128
  isRecommended: true
98
129
  },
99
130
  {
100
131
  id: "scarb_2.12.0",
101
132
  versions: {
102
- scarb: "2.12.0",
103
- patch: "3"
104
- }
133
+ scarb: "2.12.0"
134
+ },
135
+ patch: 3
105
136
  }
106
137
  ]
107
138
  },
@@ -109,6 +140,7 @@ var versionMatrices = [
109
140
  toolType: "sui",
110
141
  combinations: [
111
142
  {
143
+ // Built in the old `monorepo` repository.
112
144
  id: "sui_1.54.1",
113
145
  versions: {
114
146
  sui: "1.54.1-beta.0"
@@ -120,5 +152,5 @@ var versionMatrices = [
120
152
  ];
121
153
 
122
154
  export { versionMatrices };
123
- //# sourceMappingURL=OESMGGGL.js.map
124
- //# sourceMappingURL=OESMGGGL.js.map
155
+ //# sourceMappingURL=2FM75RYQ.js.map
156
+ //# sourceMappingURL=2FM75RYQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/config/version-matrices.ts"],"names":["versionMatrices","toolType","combinations","id","versions","forge","hardhat","dockerfile","isRecommended","patch","solana","anchor","description","aptos","initiad","blueprint","scarb","sui"],"mappings":";;;AAEA,cAAA,EAAA;AAIO,IAAMA,eAAAA,GAAuC;AAChD,EAAA;IACIC,QAAAA,EAAU,KAAA;IACVC,YAAAA,EAAc;AACV,MAAA;;QAEIC,EAAAA,EAAI,6CAAA;QACJC,QAAAA,EAAU;UAAEC,KAAAA,EAAO,OAAA;UAASC,OAAAA,EAAS,QAAA;UAAUC,UAAAA,EAAY;AAAQ,SAAA;QACnEC,aAAAA,EAAe;AACnB,OAAA;AACA,MAAA;QACIL,EAAAA,EAAI,oCAAA;QACJC,QAAAA,EAAU;UAAEC,KAAAA,EAAO,OAAA;UAASC,OAAAA,EAAS;AAAS,SAAA;QAC9CG,KAAAA,EAAO;AACX,OAAA;AACA,MAAA;QACIN,EAAAA,EAAI,4BAAA;QACJC,QAAAA,EAAU;UAAEC,KAAAA,EAAO,OAAA;UAASC,OAAAA,EAAS;AAAS;AAClD,OAAA;AACA,MAAA;;QAEIH,EAAAA,EAAI,gBAAA;QACJC,QAAAA,EAAU;UAAEE,OAAAA,EAAS;AAAS;AAClC;;AAER,GAAA;AACA,EAAA;IACIL,QAAAA,EAAU,QAAA;IACVC,YAAAA,EAAc;AACV,MAAA;;QAEIC,EAAAA,EAAI,8BAAA;QACJC,QAAAA,EAAU;UAAEM,MAAAA,EAAQ,SAAA;UAAWC,MAAAA,EAAQ;AAAS,SAAA;QAChDH,aAAAA,EAAe,IAAA;QACfI,WAAAA,EAAa;AACjB,OAAA;AACA,MAAA;QACIT,EAAAA,EAAI,6BAAA;QACJC,QAAAA,EAAU;UAAEM,MAAAA,EAAQ,QAAA;UAAUC,MAAAA,EAAQ;AAAS,SAAA;QAC/CC,WAAAA,EAAa;AACjB;;AAER,GAAA;AACA,EAAA;IACIX,QAAAA,EAAU,OAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,aAAA;QACJC,QAAAA,EAAU;UAAES,KAAAA,EAAO;AAAQ,SAAA;QAC3BL,aAAAA,EAAe;AACnB,OAAA;AACA,MAAA;;QAEIL,EAAAA,EAAI,aAAA;QACJC,QAAAA,EAAU;UAAES,KAAAA,EAAO;AAAQ;AAC/B;;AAOR,GAAA;AACA,EAAA;IACIZ,QAAAA,EAAU,QAAA;IACVC,YAAAA,EAAc;AACV,MAAA;;QAEIC,EAAAA,EAAI,cAAA;QACJC,QAAAA,EAAU;UAAEU,OAAAA,EAAS;AAAQ,SAAA;QAC7BN,aAAAA,EAAe;AACnB;;AAER,GAAA;AACA,EAAA;IACIP,QAAAA,EAAU,KAAA;IACVC,YAAAA,EAAc;AACV,MAAA;;QAEIC,EAAAA,EAAI,mBAAA;QACJC,QAAAA,EAAU;UAAEW,SAAAA,EAAW;AAAgB,SAAA;QACvCP,aAAAA,EAAe;AACnB,OAAA;AACA,MAAA;QACIL,EAAAA,EAAI,2BAAA;QACJC,QAAAA,EAAU;UAAEW,SAAAA,EAAW;AAAgB,SAAA;QACvCN,KAAAA,EAAO;AACX;;AAER,GAAA;AACA,EAAA;IACIR,QAAAA,EAAU,UAAA;IACVC,YAAAA,EAAc;AACV,MAAA;;QAEIC,EAAAA,EAAI,cAAA;QACJC,QAAAA,EAAU;UAAEY,KAAAA,EAAO,QAAA;UAAUP,KAAAA,EAAO;AAAI,SAAA;QACxCD,aAAAA,EAAe;AACnB,OAAA;AACA,MAAA;QACIL,EAAAA,EAAI,cAAA;QACJC,QAAAA,EAAU;UAAEY,KAAAA,EAAO;AAAS,SAAA;QAC5BP,KAAAA,EAAO;AACX;;AAER,GAAA;AACA,EAAA;IACIR,QAAAA,EAAU,KAAA;IACVC,YAAAA,EAAc;AACV,MAAA;;QAEIC,EAAAA,EAAI,YAAA;QACJC,QAAAA,EAAU;UAAEa,GAAAA,EAAK;AAAgB,SAAA;QACjCT,aAAAA,EAAe;AACnB;;AAER","file":"2FM75RYQ.js","sourcesContent":["import type { ToolVersionMatrix } from '../types';\n\n/**\n * Version compatibility matrices for each tool type\n * Default combination is the first one marked as isRecommended=true\n */\nexport const versionMatrices: ToolVersionMatrix[] = [\n {\n toolType: 'evm',\n combinations: [\n {\n // DEPRECATED: Old tag format with patch in versions\n id: 'forge_1.3.6_hardhat_2.26.3_dockerfile_1.1.1',\n versions: { forge: '1.3.6', hardhat: '2.26.3', dockerfile: '1.1.1' },\n isRecommended: true,\n },\n {\n id: 'forge_1.3.6_hardhat_2.26.3_patch_1',\n versions: { forge: '1.3.6', hardhat: '2.26.3' },\n patch: 1,\n },\n {\n id: 'forge_1.3.6_hardhat_2.26.3',\n versions: { forge: '1.3.6', hardhat: '2.26.3' },\n },\n {\n // Built in the old `monorepo` repository.\n id: 'hardhat_2.19.3',\n versions: { hardhat: '2.19.3' },\n },\n ],\n },\n {\n toolType: 'solana',\n combinations: [\n {\n // Built in the old `monorepo` repository.\n id: 'solana_1.17.31_anchor_0.29.0',\n versions: { solana: '1.17.31', anchor: '0.29.0' },\n isRecommended: true,\n description: 'Stable and well-tested',\n },\n {\n id: 'solana_2.2.20_anchor_0.31.1',\n versions: { solana: '2.2.20', anchor: '0.31.1' },\n description: 'Latest stable release',\n },\n ],\n },\n {\n toolType: 'aptos',\n combinations: [\n {\n id: 'aptos_4.7.0',\n versions: { aptos: '4.7.0' },\n isRecommended: true,\n },\n {\n // Built in the old `monorepo` repository.\n id: 'aptos_4.6.0',\n versions: { aptos: '4.6.0' },\n },\n // TODO Enable Aptos v6.\n // {\n // id: 'aptos_6.0.1',\n // versions: { aptos: '6.0.1' },\n // },\n ],\n },\n {\n toolType: 'initia',\n combinations: [\n {\n // Built in the old `monorepo` repository.\n id: 'initia_0.6.3',\n versions: { initiad: '0.6.3' },\n isRecommended: true,\n },\n ],\n },\n {\n toolType: 'ton',\n combinations: [\n {\n // Built in the old `monorepo` repository.\n id: 'ton_0.25.0-beta.1',\n versions: { blueprint: '0.25.0-beta.1' },\n isRecommended: true,\n },\n {\n id: 'patch_2_ton_0.25.0-beta.1',\n versions: { blueprint: '0.25.0-beta.1' },\n patch: 2,\n },\n ],\n },\n {\n toolType: 'starknet',\n combinations: [\n {\n // DEPRECATED: Old tag format with patch in versions\n id: 'scarb_2.12.0',\n versions: { scarb: '2.12.0', patch: '3' },\n isRecommended: true,\n },\n {\n id: 'scarb_2.12.0',\n versions: { scarb: '2.12.0' },\n patch: 3,\n },\n ],\n },\n {\n toolType: 'sui',\n combinations: [\n {\n // Built in the old `monorepo` repository.\n id: 'sui_1.54.1',\n versions: { sui: '1.54.1-beta.0' },\n isRecommended: true,\n },\n ],\n },\n];\n"]}
@@ -1,17 +1,21 @@
1
1
  'use strict';
2
2
 
3
- var _3BKFBGX3_cjs = require('./3BKFBGX3.cjs');
4
- var VDH76SF6_cjs = require('./VDH76SF6.cjs');
5
- var NX4KBEWA_cjs = require('./NX4KBEWA.cjs');
3
+ var VVTDADG7_cjs = require('./VVTDADG7.cjs');
4
+ var BXO3RC75_cjs = require('./BXO3RC75.cjs');
5
+ var VO65XOWD_cjs = require('./VO65XOWD.cjs');
6
+
7
+ // ../../node_modules/.pnpm/@aws-sdk+credential-provider-env@3.879.0/node_modules/@aws-sdk/credential-provider-env/dist-es/index.js
8
+ VO65XOWD_cjs.init_cjs_shims();
6
9
 
7
10
  // ../../node_modules/.pnpm/@aws-sdk+credential-provider-env@3.879.0/node_modules/@aws-sdk/credential-provider-env/dist-es/fromEnv.js
11
+ VO65XOWD_cjs.init_cjs_shims();
8
12
  var ENV_KEY = "AWS_ACCESS_KEY_ID";
9
13
  var ENV_SECRET = "AWS_SECRET_ACCESS_KEY";
10
14
  var ENV_SESSION = "AWS_SESSION_TOKEN";
11
15
  var ENV_EXPIRATION = "AWS_CREDENTIAL_EXPIRATION";
12
16
  var ENV_CREDENTIAL_SCOPE = "AWS_CREDENTIAL_SCOPE";
13
17
  var ENV_ACCOUNT_ID = "AWS_ACCOUNT_ID";
14
- var fromEnv = /* @__PURE__ */ NX4KBEWA_cjs.__name((init) => async () => {
18
+ var fromEnv = /* @__PURE__ */ VO65XOWD_cjs.__name((init) => async () => {
15
19
  init?.logger?.debug("@aws-sdk/credential-provider-env - fromEnv");
16
20
  const accessKeyId = process.env[ENV_KEY];
17
21
  const secretAccessKey = process.env[ENV_SECRET];
@@ -36,10 +40,10 @@ var fromEnv = /* @__PURE__ */ NX4KBEWA_cjs.__name((init) => async () => {
36
40
  accountId
37
41
  }
38
42
  };
39
- _3BKFBGX3_cjs.setCredentialFeature(credentials, "CREDENTIALS_ENV_VARS", "g");
43
+ VVTDADG7_cjs.setCredentialFeature(credentials, "CREDENTIALS_ENV_VARS", "g");
40
44
  return credentials;
41
45
  }
42
- throw new VDH76SF6_cjs.CredentialsProviderError("Unable to find environment variable credentials.", {
46
+ throw new BXO3RC75_cjs.CredentialsProviderError("Unable to find environment variable credentials.", {
43
47
  logger: init?.logger
44
48
  });
45
49
  }, "fromEnv");
@@ -51,5 +55,5 @@ exports.ENV_KEY = ENV_KEY;
51
55
  exports.ENV_SECRET = ENV_SECRET;
52
56
  exports.ENV_SESSION = ENV_SESSION;
53
57
  exports.fromEnv = fromEnv;
54
- //# sourceMappingURL=7SRULFYS.cjs.map
55
- //# sourceMappingURL=7SRULFYS.cjs.map
58
+ //# sourceMappingURL=2RWEJQEO.cjs.map
59
+ //# sourceMappingURL=2RWEJQEO.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/@aws-sdk+credential-provider-env@3.879.0/node_modules/@aws-sdk/credential-provider-env/dist-es/index.js","../../../node_modules/.pnpm/@aws-sdk+credential-provider-env@3.879.0/node_modules/@aws-sdk/credential-provider-env/dist-es/fromEnv.js"],"names":["init_cjs_shims","ENV_KEY","ENV_SECRET","ENV_SESSION","ENV_EXPIRATION","ENV_CREDENTIAL_SCOPE","ENV_ACCOUNT_ID","fromEnv","__name","init","logger","debug","accessKeyId","process","env","secretAccessKey","sessionToken","expiry","credentialScope","accountId","credentials","expiration","Date","setCredentialFeature","CredentialsProviderError"],"mappings":";;;;;;;AAAAA,2BAAA,EAAA;;;ACAAA,2BAAA,EAAA;AAEO,IAAMC,OAAAA,GAAU;AAChB,IAAMC,UAAAA,GAAa;AACnB,IAAMC,WAAAA,GAAc;AACpB,IAAMC,cAAAA,GAAiB;AACvB,IAAMC,oBAAAA,GAAuB;AAC7B,IAAMC,cAAAA,GAAiB;AACvB,IAAMC,OAAAA,mBAAUC,mBAAA,CAAA,CAACC,IAAAA,KAAS,YAAA;AAC7BA,EAAAA,IAAAA,EAAMC,MAAAA,EAAQC,MAAM,4CAAA,CAAA;AACpB,EAAA,MAAMC,WAAAA,GAAcC,OAAAA,CAAQC,GAAAA,CAAIb,OAAAA,CAAAA;AAChC,EAAA,MAAMc,eAAAA,GAAkBF,OAAAA,CAAQC,GAAAA,CAAIZ,UAAAA,CAAAA;AACpC,EAAA,MAAMc,YAAAA,GAAeH,OAAAA,CAAQC,GAAAA,CAAIX,WAAAA,CAAAA;AACjC,EAAA,MAAMc,MAAAA,GAASJ,OAAAA,CAAQC,GAAAA,CAAIV,cAAAA,CAAAA;AAC3B,EAAA,MAAMc,eAAAA,GAAkBL,OAAAA,CAAQC,GAAAA,CAAIT,oBAAAA,CAAAA;AACpC,EAAA,MAAMc,SAAAA,GAAYN,OAAAA,CAAQC,GAAAA,CAAIR,cAAAA,CAAAA;AAC9B,EAAA,IAAIM,eAAeG,eAAAA,EAAiB;AAChC,IAAA,MAAMK,WAAAA,GAAc;AAChBR,MAAAA,WAAAA;AACAG,MAAAA,eAAAA;AACA,MAAA,GAAIC,YAAAA,IAAgB;AAAEA,QAAAA;AAAa,OAAA;AACnC,MAAA,GAAIC,MAAAA,IAAU;QAAEI,UAAAA,EAAY,IAAIC,KAAKL,MAAAA;AAAQ,OAAA;AAC7C,MAAA,GAAIC,eAAAA,IAAmB;AAAEA,QAAAA;AAAgB,OAAA;AACzC,MAAA,GAAIC,SAAAA,IAAa;AAAEA,QAAAA;AAAU;AACjC,KAAA;AACAI,IAAAA,iCAAAA,CAAqBH,WAAAA,EAAa,wBAAwB,GAAA,CAAA;AAC1D,IAAA,OAAOA,WAAAA;AACX,EAAA;AACA,EAAA,MAAM,IAAII,sCAAyB,kDAAA,EAAoD;AAAEd,IAAAA,MAAAA,EAAQD,IAAAA,EAAMC;GAAO,CAAA;AAClH,CAAA,EArBuB,SAAA","file":"2RWEJQEO.cjs","sourcesContent":["export * from \"./fromEnv\";\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { CredentialsProviderError } from \"@smithy/property-provider\";\nexport const ENV_KEY = \"AWS_ACCESS_KEY_ID\";\nexport const ENV_SECRET = \"AWS_SECRET_ACCESS_KEY\";\nexport const ENV_SESSION = \"AWS_SESSION_TOKEN\";\nexport const ENV_EXPIRATION = \"AWS_CREDENTIAL_EXPIRATION\";\nexport const ENV_CREDENTIAL_SCOPE = \"AWS_CREDENTIAL_SCOPE\";\nexport const ENV_ACCOUNT_ID = \"AWS_ACCOUNT_ID\";\nexport const fromEnv = (init) => async () => {\n init?.logger?.debug(\"@aws-sdk/credential-provider-env - fromEnv\");\n const accessKeyId = process.env[ENV_KEY];\n const secretAccessKey = process.env[ENV_SECRET];\n const sessionToken = process.env[ENV_SESSION];\n const expiry = process.env[ENV_EXPIRATION];\n const credentialScope = process.env[ENV_CREDENTIAL_SCOPE];\n const accountId = process.env[ENV_ACCOUNT_ID];\n if (accessKeyId && secretAccessKey) {\n const credentials = {\n accessKeyId,\n secretAccessKey,\n ...(sessionToken && { sessionToken }),\n ...(expiry && { expiration: new Date(expiry) }),\n ...(credentialScope && { credentialScope }),\n ...(accountId && { accountId }),\n };\n setCredentialFeature(credentials, \"CREDENTIALS_ENV_VARS\", \"g\");\n return credentials;\n }\n throw new CredentialsProviderError(\"Unable to find environment variable credentials.\", { logger: init?.logger });\n};\n"]}
@@ -1,8 +1,10 @@
1
- import { __name } from './VUOMXK5T.js';
1
+ import { init_esm_shims, __name } from './4RNWLMHM.js';
2
2
  import { parse } from 'dotenv';
3
3
  import fs from 'fs';
4
4
  import path from 'path';
5
5
 
6
+ // src/utils.ts
7
+ init_esm_shims();
6
8
  function findParentDirectoryWithFile(dir, filename) {
7
9
  let cur = dir;
8
10
  while (cur !== "/") {
@@ -39,5 +41,5 @@ function parseVersionFileContents(dir) {
39
41
  __name(parseVersionFileContents, "parseVersionFileContents");
40
42
 
41
43
  export { findParentDirectoryWithFile, parseVersionFileContents };
42
- //# sourceMappingURL=BA2LAHMY.js.map
43
- //# sourceMappingURL=BA2LAHMY.js.map
44
+ //# sourceMappingURL=3CLGGUZ6.js.map
45
+ //# sourceMappingURL=3CLGGUZ6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.ts"],"names":["findParentDirectoryWithFile","dir","filename","cur","filePath","path","join","fs","existsSync","directory","file","dirname","parseVersionFileContents","out","found","contents","readFileSync","parsed","dotenvParse"],"mappings":";;;;;;AAAA,cAAA,EAAA;AAQO,SAASA,2BAAAA,CAA4BC,KAAaC,QAAAA,EAAgB;AACrE,EAAA,IAAIC,GAAAA,GAAMF,GAAAA;AAEV,EAAA,OAAOE,QAAQ,GAAA,EAAK;AAChB,IAAA,MAAMC,QAAAA,GAAWC,IAAAA,CAAKC,IAAAA,CAAKH,GAAAA,EAAKD,QAAAA,CAAAA;AAChC,IAAA,IAAIK,EAAAA,CAAGC,UAAAA,CAAWJ,QAAAA,CAAAA,EAAW;AACzB,MAAA,OAAO;QAAEK,SAAAA,EAAWN,GAAAA;QAAKO,IAAAA,EAAMN;AAAS,OAAA;AAC5C,IAAA;AAEAD,IAAAA,GAAAA,GAAME,IAAAA,CAAKM,QAAQR,GAAAA,CAAAA;AACvB,EAAA;AAEA,EAAA,OAAO,IAAA;AACX;AAbgBH,MAAAA,CAAAA,2BAAAA,EAAAA,6BAAAA,CAAAA;AAeT,SAASY,yBAAyBX,GAAAA,EAAW;AAChD,EAAA,IAAIY,MAAM,EAAC;AAEX,EAAA,IAAIV,GAAAA,GAAMF,GAAAA;AACV,EAAA,OAAOE,QAAQ,GAAA,EAAK;AAChB,IAAA,MAAMW,KAAAA,GAAQd,2BAAAA,CAA4BG,GAAAA,EAAK,WAAA,CAAA;AAC/C,IAAA,IAAIW,UAAU,IAAA,EAAM;AAChB,MAAA;AACJ,IAAA;AACAX,IAAAA,GAAAA,GAAME,IAAAA,CAAKM,OAAAA,CAAQG,KAAAA,CAAML,SAAS,CAAA;AAElC,IAAA,MAAMM,QAAAA,GAAWR,EAAAA,CAAGS,YAAAA,CAAaF,KAAAA,CAAMJ,MAAM,OAAA,CAAA;AAC7C,IAAA,MAAMO,MAAAA,GAASC,MAAYH,QAAAA,CAAAA;AAE3BF,IAAAA,GAAAA,GAAM;MACF,GAAGI,MAAAA;MACH,GAAGJ;AACP,KAAA;AACJ,EAAA;AAEA,EAAA,OAAOA,GAAAA;AACX;AArBgBD,MAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA","file":"3CLGGUZ6.js","sourcesContent":["import { parse as dotenvParse } from 'dotenv';\nimport fs from 'fs';\nimport path from 'path';\n\nexport interface FoundDirectory {\n directory: string;\n file: string;\n}\nexport function findParentDirectoryWithFile(dir: string, filename: string): FoundDirectory | null {\n let cur = dir;\n\n while (cur !== '/') {\n const filePath = path.join(cur, filename);\n if (fs.existsSync(filePath)) {\n return { directory: cur, file: filePath };\n }\n\n cur = path.dirname(cur);\n }\n\n return null;\n}\n\nexport function parseVersionFileContents(dir: string): { [key: string]: string | undefined } {\n let out = {};\n\n let cur = dir;\n while (cur !== '/') {\n const found = findParentDirectoryWithFile(cur, '.versions');\n if (found === null) {\n break;\n }\n cur = path.dirname(found.directory);\n\n const contents = fs.readFileSync(found.file, 'utf-8');\n const parsed = dotenvParse(contents);\n\n out = {\n ...parsed,\n ...out,\n };\n }\n\n return out;\n}\n"]}
@@ -1,12 +1,15 @@
1
- import { extractUserVersions, resolveTypeVersions } from './FYBVGT35.js';
2
- import { findToolByName, findMatrixByType, AWS_ACCOUNT_ID, AWS_REGION, getToolType, versionsSatisfied } from './XJWXQV6E.js';
3
- import { __name } from './VUOMXK5T.js';
4
- import fs from 'fs';
5
- import path from 'path';
6
- import process from 'process';
1
+ import { extractUserVersions, resolveTypeVersions } from './Z7OWTALH.js';
2
+ import { findToolByName, findMatrixByType, AWS_ACCOUNT_ID, AWS_REGION, getToolType, versionsSatisfied } from './IVTNKY37.js';
3
+ import { lockMany } from './PDSRUQEX.js';
4
+ import { init_esm_shims, __name } from './4RNWLMHM.js';
5
+ import fs from 'node:fs';
6
+ import path from 'node:path';
7
+ import process from 'node:process';
7
8
  import { $ } from 'zx';
8
9
  import { getFullyQualifiedRepoRootPath } from '@layerzerolabs/common-node-utils';
9
10
 
11
+ // src/core/tool-executor.ts
12
+ init_esm_shims();
10
13
  $.verbose = true;
11
14
  $.stdio = [
12
15
  "inherit",
@@ -37,10 +40,12 @@ function getImageName(target, vmToolingName, version) {
37
40
  throw new Error(`No version matrix found for tool type ${tool.toolType}`);
38
41
  }
39
42
  let foundCombination = null;
43
+ let foundPatch;
40
44
  for (const combination of matrix.combinations) {
41
45
  const toolVersion = combination.versions[vmToolingName];
42
46
  if (toolVersion === version) {
43
47
  foundCombination = combination.versions;
48
+ foundPatch = combination.patch;
44
49
  break;
45
50
  }
46
51
  }
@@ -53,7 +58,7 @@ function getImageName(target, vmToolingName, version) {
53
58
  validVersions[toolName] = toolVersion;
54
59
  }
55
60
  }
56
- const imageTag = getCombinationTag(validVersions);
61
+ const imageTag = getCombinationTag(validVersions, foundPatch);
57
62
  const imageURI = `${repository}/${imageName}:${imageTag}`;
58
63
  return {
59
64
  imageURI,
@@ -61,9 +66,14 @@ function getImageName(target, vmToolingName, version) {
61
66
  };
62
67
  }
63
68
  __name(getImageName, "getImageName");
64
- function getCombinationTag(input) {
65
- const tags = Object.entries(input).map(([key, value]) => `${key}_${value}`).sort((a, b) => a.localeCompare(b));
66
- return tags.join("_");
69
+ function getCombinationTag(input, patch, separator = "_") {
70
+ return [
71
+ ...Object.entries(input).filter(([_, value]) => value).sort().flat(),
72
+ ...patch ? [
73
+ "patch",
74
+ patch
75
+ ] : []
76
+ ].join(separator);
67
77
  }
68
78
  __name(getCombinationTag, "getCombinationTag");
69
79
  async function ensureDockerImage(imageURI, imageTag) {
@@ -105,7 +115,7 @@ async function ensureDockerImage(imageURI, imageTag) {
105
115
  }
106
116
  __name(ensureDockerImage, "ensureDockerImage");
107
117
  async function executeToolCommand(command, args, options) {
108
- const { cwd, forceDocker, volumes: userVolumes, customEntrypoint, env: customEnvVars, script } = options;
118
+ const { cwd, volumes: userVolumes, customEntrypoint: entrypoint, env: customEnvVars, script } = options;
109
119
  const tool = findToolByName(command);
110
120
  const type = getToolType(command);
111
121
  if (!tool || type === void 0) {
@@ -151,36 +161,8 @@ Try: lz-tool --list-versions to see all available tools`);
151
161
  console.warn(`Could not validate secondary version: ${error instanceof Error ? error.message : String(error)}`);
152
162
  }
153
163
  }
154
- let hasLocalExecutable = false;
155
- if (!forceDocker) {
156
- const versionFlags = tool.versionCliArguments ?? [
157
- "--version"
158
- ];
159
- try {
160
- const result = await $`${command} ${versionFlags}`;
161
- if (tool.parseVersionCliVersionOutput) {
162
- const installedVersion = tool.parseVersionCliVersionOutput(result.stdout);
163
- const resolvedVersionObj = {
164
- version: resolvedVersion
165
- };
166
- if (versionsSatisfied(installedVersion, resolvedVersionObj)) {
167
- hasLocalExecutable = true;
168
- console.info(`\u2705 Using local ${command} v${installedVersion.version}`);
169
- } else {
170
- console.info(`\u{1F433} Local ${command} v${installedVersion.version} \u2260 required v${resolvedVersion}, using Docker`);
171
- }
172
- }
173
- } catch (error) {
174
- if (!(error instanceof Error) || !("exitCode" in error) || error.exitCode !== 127) {
175
- throw error;
176
- }
177
- console.info(`\u{1F433} ${command} not found locally, using Docker`);
178
- }
179
- }
180
164
  let processOutput;
181
- if (hasLocalExecutable) {
182
- processOutput = await $`${command} ${args}`.nothrow();
183
- } else {
165
+ {
184
166
  const { imageTag, imageURI } = getImageName(tool.fromImage, tool.name, resolvedVersion);
185
167
  const workspaceRoot = await getFullyQualifiedRepoRootPath();
186
168
  const relPath = path.relative(workspaceRoot, cwd);
@@ -188,26 +170,29 @@ Try: lz-tool --list-versions to see all available tools`);
188
170
  await ensureDockerImage(imageURI, imageTag);
189
171
  const volumeArgs = volumes.map((volume) => {
190
172
  if (volume.type === "host") {
191
- if (volume.hostPath === void 0) {
192
- throw new Error(`Host path is required for volume mapping of type 'host'`);
193
- }
194
173
  return [
195
174
  "-v",
196
175
  `${volume.hostPath}:${volume.containerPath}`
197
176
  ];
198
- } else {
199
- if (volume.name === void 0) {
200
- throw new Error(`Name is required for volume mapping of type 'isolate'`);
177
+ }
178
+ const components = [
179
+ "lz-tooling-cache",
180
+ volume.name
181
+ ];
182
+ if (!volume.shared) {
183
+ const packageName = process.env.npm_package_name;
184
+ if (!packageName) {
185
+ throw new Error("npm_package_name environment variable not defined");
201
186
  }
202
- return [
203
- "-v",
204
- `${volume.name}:${volume.containerPath}`
205
- ];
187
+ components.push(path.basename(packageName));
206
188
  }
189
+ return [
190
+ "-v",
191
+ `${components.join("-")}:${volume.containerPath}`
192
+ ];
207
193
  }).flat();
208
- const entryPoint = customEntrypoint ?? tool.entryPoint;
209
- if (customEntrypoint !== void 0 && customEntrypoint.trim() !== "") {
210
- console.info(`\u{1F527} Using custom entrypoint: ${customEntrypoint}`);
194
+ if (entrypoint?.trim()) {
195
+ console.info(`\u{1F527} Using custom entrypoint: ${entrypoint}`);
211
196
  }
212
197
  const envArgs = customEnvVars.map((envVar) => [
213
198
  "-e",
@@ -225,7 +210,7 @@ Try: lz-tool --list-versions to see all available tools`);
225
210
  script
226
211
  ];
227
212
  } else {
228
- finalArgs = entryPoint === void 0 ? [
213
+ finalArgs = entrypoint === void 0 ? [
229
214
  tool.name,
230
215
  ...args
231
216
  ] : args;
@@ -242,14 +227,16 @@ Try: lz-tool --list-versions to see all available tools`);
242
227
  "-w",
243
228
  `/workspace/${relPath}`,
244
229
  ...volumeArgs,
245
- ...entryPoint === void 0 ? [] : [
230
+ ...entrypoint === void 0 ? [] : [
246
231
  "--entrypoint",
247
- entryPoint
232
+ entrypoint
248
233
  ],
249
234
  imageURI,
250
235
  ...finalArgs
251
236
  ];
252
- processOutput = await $`docker ${dockerArgs}`.nothrow();
237
+ processOutput = await lockMany(volumes.flatMap((volume) => volume.type === "isolate" && volume.locked ? [
238
+ volume.name
239
+ ] : []), () => $`docker ${dockerArgs}`.nothrow());
253
240
  saveAptosModulesOrder(command, processOutput, workspaceRoot, relPath);
254
241
  }
255
242
  const { exitCode } = processOutput;
@@ -267,6 +254,6 @@ function saveAptosModulesOrder(command, processOutput, workspaceRoot, relPath) {
267
254
  }
268
255
  __name(saveAptosModulesOrder, "saveAptosModulesOrder");
269
256
 
270
- export { executeToolCommand };
271
- //# sourceMappingURL=DXKVHPTB.js.map
272
- //# sourceMappingURL=DXKVHPTB.js.map
257
+ export { executeToolCommand, getCombinationTag };
258
+ //# sourceMappingURL=43WEMDCI.js.map
259
+ //# sourceMappingURL=43WEMDCI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/tool-executor.ts"],"names":["$","verbose","stdio","process","stderr","mergeVolumes","defaultVolumes","userVolumes","merged","userPaths","Set","map","v","containerPath","push","defaultVolume","has","getImageName","target","vmToolingName","version","repository","AWS_ACCOUNT_ID","AWS_REGION","imageName","tool","findToolByName","Error","matrix","findMatrixByType","toolType","foundCombination","foundPatch","combination","combinations","toolVersion","versions","patch","validVersions","toolName","Object","entries","length","imageTag","getCombinationTag","imageURI","input","separator","filter","_","value","sort","flat","join","ensureDockerImage","checkResult","nothrow","stdout","includes","console","info","pullResult","exitCode","localImageName","split","pop","replace","localFallbackURI","localCheckResult","error","message","String","executeToolCommand","command","args","options","cwd","volumes","customEntrypoint","entrypoint","env","customEnvVars","script","type","getToolType","undefined","tools","availableTools","t","name","overrides","uv","some","dv","userSpecifiedVersions","extractUserVersions","versionResult","resolveTypeVersions","warnings","forEach","warning","warn","resolvedVersion","resolvedVersions","getSecondaryVersionCheckValue","secondaryVersion","resolvedVersionObj","versionsSatisfied","processOutput","fromImage","workspaceRoot","getFullyQualifiedRepoRootPath","relPath","path","relative","privileged","volumeArgs","volume","hostPath","components","shared","packageName","npm_package_name","basename","trim","envArgs","envVar","finalArgs","dockerArgs","lockMany","flatMap","locked","saveAptosModulesOrder","exit","outputJson","json","modules","Result","item","fs","writeFileSync","JSON","stringify"],"mappings":"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","file":"43WEMDCI.js","sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\nimport { $, type ProcessOutput } from 'zx';\n\nimport { getFullyQualifiedRepoRootPath } from '@layerzerolabs/common-node-utils';\n\nimport { AWS_ACCOUNT_ID, AWS_REGION } from '../config';\nimport type { EnvironmentVariable, ToolingImageTargetName, Version, VolumeMapping } from '../types';\nimport { findMatrixByType, findToolByName, getToolType } from '../utils/finder-utils';\nimport { versionsSatisfied } from '../utils/version-utils';\nimport { lockMany } from './lock';\nimport { extractUserVersions, resolveTypeVersions } from './version-resolver';\n\n// Configure zx to inherit stdio by default (moved from original setup)\n$.verbose = true;\n$.stdio = ['inherit', 'pipe', process.stderr];\n\n/**\n * Merge default volumes with user-specified volumes\n * User volumes take precedence when containerPath conflicts\n */\nfunction mergeVolumes(\n defaultVolumes: VolumeMapping[],\n userVolumes: VolumeMapping[],\n): VolumeMapping[] {\n const merged: VolumeMapping[] = [];\n const userPaths = new Set(userVolumes.map((v) => v.containerPath));\n\n // Add user volumes first (highest priority)\n merged.push(...userVolumes);\n\n // Add default volumes that don't conflict with user volumes\n for (const defaultVolume of defaultVolumes) {\n if (!userPaths.has(defaultVolume.containerPath)) {\n merged.push(defaultVolume);\n }\n }\n\n return merged;\n}\n\n/**\n * Get Docker image name and tag for a specific tool and version\n */\nfunction getImageName(\n target: ToolingImageTargetName,\n vmToolingName: string,\n version: string,\n): { imageURI: string; imageTag: string } {\n // const repository = 'ghcr.io/layerzero-labs';\n const repository = `${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com/layerzerolabs`;\n const imageName = `${target}-tooling`;\n\n // Find the tool and its type\n const tool = findToolByName(vmToolingName);\n if (!tool) {\n throw new Error(`Tool '${vmToolingName}' not found`);\n }\n\n // Find the version matrix for this tool type\n const matrix = findMatrixByType(tool.toolType);\n if (!matrix) {\n throw new Error(`No version matrix found for tool type ${tool.toolType}`);\n }\n\n // Find a combination that includes this tool with the specified version\n let foundCombination = null;\n let foundPatch: number | undefined;\n for (const combination of matrix.combinations) {\n const toolVersion = combination.versions[vmToolingName];\n if (toolVersion === version) {\n foundCombination = combination.versions;\n foundPatch = combination.patch;\n break;\n }\n }\n\n if (!foundCombination) {\n throw new Error(\n `No version combination found for tool ${vmToolingName} with version ${version}`,\n );\n }\n\n // Filter out undefined/empty values for tag generation\n const validVersions: { [key: string]: string } = {};\n for (const [toolName, toolVersion] of Object.entries(foundCombination)) {\n if (typeof toolVersion === 'string' && toolVersion.length > 0) {\n validVersions[toolName] = toolVersion;\n }\n }\n\n const imageTag = getCombinationTag(validVersions, foundPatch);\n const imageURI = `${repository}/${imageName}:${imageTag}`;\n\n return { imageURI, imageTag };\n}\n\n/**\n * Generate Docker image tag from version combination\n */\nexport function getCombinationTag(\n input: { [key: string]: string | undefined },\n patch?: number,\n separator: string = '_',\n): string {\n return [\n ...Object.entries(input)\n .filter(([_, value]) => value)\n .sort()\n .flat(),\n ...(patch ? ['patch', patch] : []),\n ].join(separator);\n}\n\n/**\n * Enhanced Docker image management with intelligent caching\n * Tries ECR first, falls back to local build if available, and caches locally\n */\nasync function ensureDockerImage(imageURI: string, imageTag: string): Promise<void> {\n try {\n // Check if image exists locally first\n const checkResult = await $`docker image ls ${imageURI}`.nothrow();\n\n if (checkResult.stdout.includes(imageTag)) {\n console.info(`✅ Using cached Docker image: ${imageURI}`);\n return;\n }\n\n // Try to pull from ECR\n console.info(`📥 Pulling Docker image from ECR: ${imageURI}`);\n const pullResult = await $`docker pull ${imageURI}`.nothrow();\n\n if (pullResult.exitCode === 0) {\n console.info(`✅ Successfully pulled: ${imageURI}`);\n return;\n }\n\n // If ECR pull fails, check for local fallback image\n const localImageName = imageURI.split('/').pop()?.replace(/:.*$/, '') || '';\n const localFallbackURI = `local-${localImageName}:latest`;\n\n const localCheckResult = await $`docker image ls ${localFallbackURI}`.nothrow();\n\n if (localCheckResult.stdout.includes('local-')) {\n console.info(`🏠 ECR image not available, using local fallback: ${localFallbackURI}`);\n\n // Tag the local image with the ECR URI for consistency\n await $`docker tag ${localFallbackURI} ${imageURI}`;\n console.info(`🏷️ Tagged local image as: ${imageURI}`);\n return;\n }\n\n // If all else fails, provide helpful error message\n throw new Error(\n `❌ Docker image not available:\\n` +\n ` - ECR image: ${imageURI} (pull failed)\\n` +\n ` - Local fallback: ${localFallbackURI} (not found)\\n` +\n `\\n💡 Solutions:\\n` +\n ` 1. Authenticate with ECR: aws ecr get-login-password --region ${AWS_REGION} | docker login --username AWS --password-stdin ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com\\n` +\n ` 2. Build local image: docker build -t ${localFallbackURI} <dockerfile-path>\\n` +\n ` 3. Check if the image tag exists in ECR`,\n );\n } catch (error) {\n if (error instanceof Error && error.message.includes('❌ Docker image not available')) {\n throw error;\n }\n throw new Error(\n `Failed to ensure Docker image ${imageURI}: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n}\n\n/**\n * Enhanced tool command execution using the new version compatibility matrix system\n */\nexport async function executeToolCommand(\n command: string,\n args: string[],\n options: {\n cwd: string;\n volumes: VolumeMapping[];\n customEntrypoint?: string;\n env: EnvironmentVariable[];\n script?: string;\n [key: string]: any;\n },\n): Promise<void> {\n const {\n cwd,\n volumes: userVolumes,\n customEntrypoint: entrypoint,\n env: customEnvVars,\n script,\n } = options;\n\n const tool = findToolByName(command);\n const type = getToolType(command);\n\n if (!tool || type === undefined) {\n const { tools } = await import('../config');\n const availableTools = tools.map((t) => t.name).join(', ');\n throw new Error(\n `❌ Tool '${command}' not found or no type configuration available.\\n` +\n `Available tools: ${availableTools}\\n` +\n `Try: lz-tool --list-versions to see all available tools`,\n );\n }\n\n // Merge default volumes with user-specified volumes\n const defaultVolumes = tool.defaultVolumes ?? [];\n const volumes = mergeVolumes(defaultVolumes, userVolumes);\n\n if (defaultVolumes.length > 0) {\n console.info(`📦 Using ${defaultVolumes.length} default cache volume(s) for ${command}`);\n if (userVolumes.length > 0) {\n const overrides = userVolumes.filter((uv) =>\n defaultVolumes.some((dv) => dv.containerPath === uv.containerPath),\n );\n if (overrides.length > 0) {\n console.info(`🔧 User volumes override ${overrides.length} default volume(s)`);\n }\n }\n }\n\n // Extract user-specified versions from command line options\n const userSpecifiedVersions = extractUserVersions(options);\n\n // Resolve versions for all tools in the type using compatibility matrix\n const versionResult = resolveTypeVersions(type, userSpecifiedVersions, options, cwd);\n\n // Display any warnings\n versionResult.warnings.forEach((warning) => {\n console.warn(warning);\n });\n\n // Get the resolved version for the current tool\n const resolvedVersion = versionResult.resolvedVersions[command];\n if (typeof resolvedVersion !== 'string' || resolvedVersion === '') {\n throw new Error(`No version resolved for tool ${command}`);\n }\n\n console.info(`🔧 ${command} version: ${resolvedVersion}`);\n\n // Check secondary version validation if available\n if (tool.getSecondaryVersionCheckValue) {\n try {\n const secondaryVersion = tool.getSecondaryVersionCheckValue({ cwd });\n const resolvedVersionObj: Version = { version: resolvedVersion };\n\n if (!versionsSatisfied(secondaryVersion, resolvedVersionObj)) {\n console.warn(\n `Warning: Local configuration version (${secondaryVersion.version}) differs from resolved version (${resolvedVersion})`,\n );\n }\n } catch (error) {\n // Secondary version check failed, but continue with resolved version\n console.warn(\n `Could not validate secondary version: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n }\n\n // Check if we should try to use local executable first\n let hasLocalExecutable = false;\n\n let processOutput: ProcessOutput;\n\n if (hasLocalExecutable) {\n // Execute command directly\n processOutput = await $`${command} ${args}`.nothrow();\n } else {\n // Use Docker image with merged volumes\n const { imageTag, imageURI } = getImageName(tool.fromImage, tool.name, resolvedVersion);\n const workspaceRoot = await getFullyQualifiedRepoRootPath();\n const relPath = path.relative(workspaceRoot, cwd);\n const privileged = tool.privileged ?? false;\n\n // Enhanced Docker image caching logic\n await ensureDockerImage(imageURI, imageTag);\n\n const volumeArgs = volumes\n .map((volume) => {\n if (volume.type === 'host') {\n return ['-v', `${volume.hostPath}:${volume.containerPath}`];\n }\n\n const components = ['lz-tooling-cache', volume.name];\n\n if (!volume.shared) {\n // This is the package name where the `lz-tool` command is executed.\n // eslint-disable-next-line turbo/no-undeclared-env-vars\n const packageName = process.env.npm_package_name;\n\n if (!packageName) {\n throw new Error('npm_package_name environment variable not defined');\n }\n\n components.push(path.basename(packageName));\n }\n\n return ['-v', `${components.join('-')}:${volume.containerPath}`];\n })\n .flat(); // Flatten the array to get ['-v', 'vol1', '-v', 'vol2', ...]\n\n if (entrypoint?.trim()) {\n console.info(`🔧 Using custom entrypoint: ${entrypoint}`);\n }\n\n // Build the Docker command with proper argument separation\n const envArgs = customEnvVars\n .map((envVar) => ['-e', `${envVar.name}=${envVar.value}`])\n .flat();\n\n if (customEnvVars.length > 0) {\n console.info(`🌍 Using ${customEnvVars.length} custom environment variable(s)`);\n }\n\n // Handle custom script execution\n let finalArgs: string[];\n if (script !== undefined && script.trim() !== '') {\n console.info(`📜 Executing custom script: ${script}`);\n finalArgs = ['bash', '-c', script];\n } else {\n finalArgs = entrypoint === undefined ? [tool.name, ...args] : args;\n }\n\n // Build the Docker command with proper argument separation\n const dockerArgs = [\n 'run',\n ...(privileged ? ['--privileged'] : []),\n '--rm',\n ...envArgs,\n '-v',\n `${workspaceRoot}:/workspace`,\n '-w',\n `/workspace/${relPath}`,\n ...volumeArgs,\n ...(entrypoint === undefined ? [] : ['--entrypoint', entrypoint]),\n imageURI,\n ...finalArgs,\n ];\n\n processOutput = await lockMany(\n volumes.flatMap((volume) =>\n volume.type === 'isolate' && volume.locked ? [volume.name] : [],\n ),\n () => $`docker ${dockerArgs}`.nothrow(),\n );\n saveAptosModulesOrder(command, processOutput, workspaceRoot, relPath);\n }\n\n // Handle the process completion\n const { exitCode } = processOutput;\n if (exitCode !== 0) {\n process.exit(exitCode ?? 1);\n }\n}\n\nfunction saveAptosModulesOrder(\n command: string,\n processOutput: ProcessOutput,\n workspaceRoot: string,\n relPath: string,\n): void {\n if ('aptos' === command) {\n const outputJson: { Result: string[] } = processOutput.json();\n const modules = outputJson.Result.map((item: string) => `${item.split('::')[1]}.mv`);\n fs.writeFileSync(\n path.join(workspaceRoot, relPath, 'modules.json'),\n JSON.stringify(modules, null, 2),\n );\n }\n}\n"]}