@layerzerolabs/vm-tooling 0.0.58 → 0.0.60

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 (220) hide show
  1. package/bin/lz-tool.js +3 -0
  2. package/dist/{TO3FUAEA.js → 2X4NOJJL.js} +6 -6
  3. package/dist/{TO3FUAEA.js.map → 2X4NOJJL.js.map} +1 -1
  4. package/dist/{PDSRUQEX.js → 3PEVFTZ5.js} +3 -3
  5. package/dist/3PEVFTZ5.js.map +1 -0
  6. package/dist/{VYFY2754.cjs → 4EYI4PYN.cjs} +135 -135
  7. package/dist/{VYFY2754.cjs.map → 4EYI4PYN.cjs.map} +1 -1
  8. package/dist/{IMNIF2OY.js → 4Q36MQI5.js} +3 -3
  9. package/dist/{IMNIF2OY.js.map → 4Q36MQI5.js.map} +1 -1
  10. package/dist/{JJXZWB7K.cjs → 64SMUTQJ.cjs} +4 -4
  11. package/dist/64SMUTQJ.cjs.map +1 -0
  12. package/dist/{P6RMIIVK.cjs → 6SVY3NVF.cjs} +22 -26
  13. package/dist/6SVY3NVF.cjs.map +1 -0
  14. package/dist/{YYBFDJRD.js → 72W2AKIC.js} +3 -3
  15. package/dist/{YYBFDJRD.js.map → 72W2AKIC.js.map} +1 -1
  16. package/dist/{7DH3URRX.js → 7BFNUKIW.js} +2 -2
  17. package/dist/7BFNUKIW.js.map +1 -0
  18. package/dist/{7G26DPK3.js → 7R7EZF6Z.js} +4 -4
  19. package/dist/{7G26DPK3.js.map → 7R7EZF6Z.js.map} +1 -1
  20. package/dist/{NSZHKDNY.cjs → ABGH4Z56.cjs} +3 -3
  21. package/dist/ABGH4Z56.cjs.map +1 -0
  22. package/dist/{CH3GQSOI.js → BI33BCZD.js} +3 -3
  23. package/dist/{CH3GQSOI.js.map → BI33BCZD.js.map} +1 -1
  24. package/dist/BPGURM6D.js +298 -0
  25. package/dist/BPGURM6D.js.map +1 -0
  26. package/dist/{OXHJXMDD.js → CL6CDQMJ.js} +25 -31
  27. package/dist/CL6CDQMJ.js.map +1 -0
  28. package/dist/{RRJYWXRS.cjs → DK5YZCTB.cjs} +3 -3
  29. package/dist/{RRJYWXRS.cjs.map → DK5YZCTB.cjs.map} +1 -1
  30. package/dist/{Z7BVBO5K.cjs → F2ZPATQF.cjs} +5 -5
  31. package/dist/{Z7BVBO5K.cjs.map → F2ZPATQF.cjs.map} +1 -1
  32. package/dist/F46O4OAT.js +188 -0
  33. package/dist/F46O4OAT.js.map +1 -0
  34. package/dist/{HHS2B7YE.cjs → FUZCR6WN.cjs} +3 -3
  35. package/dist/{HHS2B7YE.cjs.map → FUZCR6WN.cjs.map} +1 -1
  36. package/dist/HI4NXK4T.cjs +127 -0
  37. package/dist/HI4NXK4T.cjs.map +1 -0
  38. package/dist/{PYQO5EUZ.cjs → IQXSRATS.cjs} +8 -8
  39. package/dist/{PYQO5EUZ.cjs.map → IQXSRATS.cjs.map} +1 -1
  40. package/dist/IWNVWC3I.js +9 -0
  41. package/dist/IWNVWC3I.js.map +1 -0
  42. package/dist/{4LRYG53T.js → IZVZ5TRG.js} +5 -5
  43. package/dist/{4LRYG53T.js.map → IZVZ5TRG.js.map} +1 -1
  44. package/dist/JGA7AJCX.js +125 -0
  45. package/dist/JGA7AJCX.js.map +1 -0
  46. package/dist/{DW3OZE6F.cjs → JWQN2QGP.cjs} +88 -88
  47. package/dist/{DW3OZE6F.cjs.map → JWQN2QGP.cjs.map} +1 -1
  48. package/dist/{2ASNEWIN.cjs → KS44PBXU.cjs} +31 -31
  49. package/dist/{2ASNEWIN.cjs.map → KS44PBXU.cjs.map} +1 -1
  50. package/dist/{4KPRGHDI.cjs → L5ENV2DK.cjs} +6 -6
  51. package/dist/{4KPRGHDI.cjs.map → L5ENV2DK.cjs.map} +1 -1
  52. package/dist/LJR3ILZB.cjs +196 -0
  53. package/dist/LJR3ILZB.cjs.map +1 -0
  54. package/dist/{EE3HP6UB.cjs → LUO6HP3P.cjs} +5 -5
  55. package/dist/{EE3HP6UB.cjs.map → LUO6HP3P.cjs.map} +1 -1
  56. package/dist/{NTYIDZH3.js → M5C4OTHX.js} +8 -8
  57. package/dist/{NTYIDZH3.js.map → M5C4OTHX.js.map} +1 -1
  58. package/dist/{L34TQNQN.cjs → M6YAIP2X.cjs} +4 -4
  59. package/dist/{L34TQNQN.cjs.map → M6YAIP2X.cjs.map} +1 -1
  60. package/dist/{Q4F544X2.cjs → NNE5MIRH.cjs} +96 -96
  61. package/dist/{Q4F544X2.cjs.map → NNE5MIRH.cjs.map} +1 -1
  62. package/dist/{VRMJKL3K.js → NUB3VR3D.js} +14 -18
  63. package/dist/NUB3VR3D.js.map +1 -0
  64. package/dist/{UL4OVG5P.js → OGU6CONG.js} +7 -7
  65. package/dist/{UL4OVG5P.js.map → OGU6CONG.js.map} +1 -1
  66. package/dist/{R6FPU7JX.cjs → OSR73KYW.cjs} +28 -34
  67. package/dist/OSR73KYW.cjs.map +1 -0
  68. package/dist/PSSBUABA.cjs +22 -0
  69. package/dist/PSSBUABA.cjs.map +1 -0
  70. package/dist/{HR64SZQX.js → PWDCAN6N.js} +4 -4
  71. package/dist/PWDCAN6N.js.map +1 -0
  72. package/dist/TC7EHVC2.cjs +11 -0
  73. package/dist/TC7EHVC2.cjs.map +1 -0
  74. package/dist/{IE5H7TSX.js → TNPXNMQM.js} +3 -3
  75. package/dist/{IE5H7TSX.js.map → TNPXNMQM.js.map} +1 -1
  76. package/dist/{VAAP26JC.js → W3N4CNDW.js} +6 -6
  77. package/dist/{VAAP26JC.js.map → W3N4CNDW.js.map} +1 -1
  78. package/dist/XOQZ3G2K.cjs +345 -0
  79. package/dist/XOQZ3G2K.cjs.map +1 -0
  80. package/dist/{7PP2QA5H.cjs → YI6EL3AH.cjs} +2 -2
  81. package/dist/YI6EL3AH.cjs.map +1 -0
  82. package/dist/{CNLWPLWD.js → ZGTCJSBO.js} +4 -4
  83. package/dist/{CNLWPLWD.js.map → ZGTCJSBO.js.map} +1 -1
  84. package/dist/ZV7VZVS6.js +20 -0
  85. package/dist/ZV7VZVS6.js.map +1 -0
  86. package/dist/config/index.cjs +14 -7
  87. package/dist/config/index.d.ts +2 -0
  88. package/dist/config/index.d.ts.map +1 -1
  89. package/dist/config/index.js +2 -3
  90. package/dist/config/tools.cjs +3 -4
  91. package/dist/config/tools.d.ts.map +1 -1
  92. package/dist/config/tools.js +2 -3
  93. package/dist/config/version-matrices.cjs +2 -2
  94. package/dist/config/version-matrices.d.ts +3 -2
  95. package/dist/config/version-matrices.d.ts.map +1 -1
  96. package/dist/config/version-matrices.js +1 -1
  97. package/dist/core/compatibility.cjs +2 -2
  98. package/dist/core/compatibility.d.ts +2 -2
  99. package/dist/core/compatibility.d.ts.map +1 -1
  100. package/dist/core/compatibility.js +1 -1
  101. package/dist/core/index.cjs +12 -12
  102. package/dist/core/index.js +7 -7
  103. package/dist/core/lock.cjs +4 -4
  104. package/dist/core/lock.js +1 -1
  105. package/dist/core/lock.test.cjs +6 -6
  106. package/dist/core/lock.test.js +1 -1
  107. package/dist/core/tool-executor.cjs +8 -12
  108. package/dist/core/tool-executor.d.ts +1 -7
  109. package/dist/core/tool-executor.d.ts.map +1 -1
  110. package/dist/core/tool-executor.js +7 -7
  111. package/dist/core/version-resolver.cjs +7 -8
  112. package/dist/core/version-resolver.d.ts +3 -2
  113. package/dist/core/version-resolver.d.ts.map +1 -1
  114. package/dist/core/version-resolver.js +4 -5
  115. package/dist/display/formatters.cjs +4 -6
  116. package/dist/display/formatters.d.ts +0 -9
  117. package/dist/display/formatters.d.ts.map +1 -1
  118. package/dist/display/formatters.js +3 -1
  119. package/dist/display/index.cjs +8 -13
  120. package/dist/display/index.d.ts +1 -1
  121. package/dist/display/index.d.ts.map +1 -1
  122. package/dist/display/index.js +5 -6
  123. package/dist/display/version-display.cjs +6 -7
  124. package/dist/display/version-display.d.ts.map +1 -1
  125. package/dist/display/version-display.js +4 -5
  126. package/dist/index.cjs +38 -38
  127. package/dist/index.cjs.map +1 -1
  128. package/dist/index.d.ts +1 -1
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.js +38 -38
  131. package/dist/index.js.map +1 -1
  132. package/dist/scripts/generate-github-matrix.cjs +158 -164
  133. package/dist/scripts/generate-github-matrix.cjs.map +1 -1
  134. package/dist/scripts/generate-github-matrix.js +21 -27
  135. package/dist/scripts/generate-github-matrix.js.map +1 -1
  136. package/dist/types/index.cjs.map +1 -1
  137. package/dist/types/index.d.ts +2 -2
  138. package/dist/types/index.d.ts.map +1 -1
  139. package/dist/types/index.js.map +1 -1
  140. package/dist/types/tool.cjs.map +1 -1
  141. package/dist/types/tool.d.ts +2 -4
  142. package/dist/types/tool.d.ts.map +1 -1
  143. package/dist/types/tool.js.map +1 -1
  144. package/dist/types/version.cjs.map +1 -1
  145. package/dist/types/version.d.ts +2 -12
  146. package/dist/types/version.d.ts.map +1 -1
  147. package/dist/types/version.js.map +1 -1
  148. package/dist/utils/docker.cjs +18 -0
  149. package/dist/utils/docker.cjs.map +1 -0
  150. package/dist/utils/docker.d.ts +4 -0
  151. package/dist/utils/docker.d.ts.map +1 -0
  152. package/dist/utils/docker.js +5 -0
  153. package/dist/utils/docker.js.map +1 -0
  154. package/dist/utils/error.cjs +13 -0
  155. package/dist/utils/error.cjs.map +1 -0
  156. package/dist/utils/error.d.ts +2 -0
  157. package/dist/utils/error.d.ts.map +1 -0
  158. package/dist/utils/error.js +4 -0
  159. package/dist/utils/error.js.map +1 -0
  160. package/dist/utils/finder.cjs +46 -0
  161. package/dist/utils/{finder-utils.js.map → finder.cjs.map} +1 -1
  162. package/dist/utils/finder.d.ts +21 -0
  163. package/dist/utils/finder.d.ts.map +1 -0
  164. package/dist/utils/finder.js +5 -0
  165. package/dist/utils/{finder-utils.cjs.map → finder.js.map} +1 -1
  166. package/dist/utils/version.cjs +26 -0
  167. package/dist/utils/{version-utils.js.map → version.cjs.map} +1 -1
  168. package/dist/utils/{version-utils.d.ts → version.d.ts} +1 -1
  169. package/dist/utils/version.d.ts.map +1 -0
  170. package/dist/utils/version.js +5 -0
  171. package/dist/utils/{version-utils.cjs.map → version.js.map} +1 -1
  172. package/dist/utils.cjs +8 -3
  173. package/dist/utils.d.ts +2 -0
  174. package/dist/utils.d.ts.map +1 -1
  175. package/dist/utils.js +2 -1
  176. package/package.json +9 -7
  177. package/bin/lz-tool.cjs +0 -18
  178. package/dist/3CLGGUZ6.js +0 -45
  179. package/dist/3CLGGUZ6.js.map +0 -1
  180. package/dist/4SK6SDII.cjs +0 -183
  181. package/dist/4SK6SDII.cjs.map +0 -1
  182. package/dist/5OKX3IYN.js +0 -45
  183. package/dist/5OKX3IYN.js.map +0 -1
  184. package/dist/5RAWDGJY.cjs +0 -53
  185. package/dist/5RAWDGJY.cjs.map +0 -1
  186. package/dist/7DH3URRX.js.map +0 -1
  187. package/dist/7PP2QA5H.cjs.map +0 -1
  188. package/dist/A34JELOF.js +0 -263
  189. package/dist/A34JELOF.js.map +0 -1
  190. package/dist/DYZKD7UQ.cjs +0 -301
  191. package/dist/DYZKD7UQ.cjs.map +0 -1
  192. package/dist/FLI6L2YX.cjs +0 -48
  193. package/dist/FLI6L2YX.cjs.map +0 -1
  194. package/dist/HR64SZQX.js.map +0 -1
  195. package/dist/JJXZWB7K.cjs.map +0 -1
  196. package/dist/NSZHKDNY.cjs.map +0 -1
  197. package/dist/OXHJXMDD.js.map +0 -1
  198. package/dist/P6RMIIVK.cjs.map +0 -1
  199. package/dist/PDSRUQEX.js.map +0 -1
  200. package/dist/Q3QTBCVZ.cjs +0 -268
  201. package/dist/Q3QTBCVZ.cjs.map +0 -1
  202. package/dist/QZ7GXWCY.js +0 -259
  203. package/dist/QZ7GXWCY.js.map +0 -1
  204. package/dist/R6FPU7JX.cjs.map +0 -1
  205. package/dist/VRMJKL3K.js.map +0 -1
  206. package/dist/XNBCDROQ.js +0 -181
  207. package/dist/XNBCDROQ.js.map +0 -1
  208. package/dist/utils/finder-utils.cjs +0 -39
  209. package/dist/utils/finder-utils.d.ts +0 -31
  210. package/dist/utils/finder-utils.d.ts.map +0 -1
  211. package/dist/utils/finder-utils.js +0 -6
  212. package/dist/utils/index.cjs +0 -56
  213. package/dist/utils/index.cjs.map +0 -1
  214. package/dist/utils/index.d.ts +0 -3
  215. package/dist/utils/index.d.ts.map +0 -1
  216. package/dist/utils/index.js +0 -9
  217. package/dist/utils/index.js.map +0 -1
  218. package/dist/utils/version-utils.cjs +0 -27
  219. package/dist/utils/version-utils.d.ts.map +0 -1
  220. package/dist/utils/version-utils.js +0 -6
package/dist/DYZKD7UQ.cjs DELETED
@@ -1,301 +0,0 @@
1
- 'use strict';
2
-
3
- var _4SK6SDII_cjs = require('./4SK6SDII.cjs');
4
- var _5RAWDGJY_cjs = require('./5RAWDGJY.cjs');
5
- var VO65XOWD_cjs = require('./VO65XOWD.cjs');
6
- var fs = require('fs');
7
- var semver = require('semver');
8
-
9
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
-
11
- function _interopNamespace(e) {
12
- if (e && e.__esModule) return e;
13
- var n = Object.create(null);
14
- if (e) {
15
- Object.keys(e).forEach(function (k) {
16
- if (k !== 'default') {
17
- var d = Object.getOwnPropertyDescriptor(e, k);
18
- Object.defineProperty(n, k, d.get ? d : {
19
- enumerable: true,
20
- get: function () { return e[k]; }
21
- });
22
- }
23
- });
24
- }
25
- n.default = e;
26
- return Object.freeze(n);
27
- }
28
-
29
- var fs__default = /*#__PURE__*/_interopDefault(fs);
30
- var semver__namespace = /*#__PURE__*/_interopNamespace(semver);
31
-
32
- // src/utils/finder-utils.ts
33
- VO65XOWD_cjs.init_cjs_shims();
34
-
35
- // src/config/index.ts
36
- VO65XOWD_cjs.init_cjs_shims();
37
-
38
- // src/config/tools.ts
39
- VO65XOWD_cjs.init_cjs_shims();
40
-
41
- // src/utils/version-utils.ts
42
- VO65XOWD_cjs.init_cjs_shims();
43
- function versionsSatisfied(current, expected) {
44
- return semver__namespace.satisfies(current.version, expected.version);
45
- }
46
- VO65XOWD_cjs.__name(versionsSatisfied, "versionsSatisfied");
47
- function parseAnchorTomlVersion(cwd, name) {
48
- const projectFolder = _5RAWDGJY_cjs.findParentDirectoryWithFile(cwd, "Anchor.toml");
49
- if (projectFolder === null) {
50
- throw new Error("Anchor project not found");
51
- }
52
- const toml = fs__default.default.readFileSync(projectFolder.file, "utf-8");
53
- const test = /^([a-z]+)(?:_version ?= ?")((?:[0-9]+\.?){3})(?:")$/gm;
54
- let match;
55
- while (match = test.exec(toml)) {
56
- const [, matchedName, version] = match;
57
- if (matchedName === name) {
58
- return {
59
- version
60
- };
61
- }
62
- }
63
- throw new Error(`${name} version not found in ${projectFolder.file}`);
64
- }
65
- VO65XOWD_cjs.__name(parseAnchorTomlVersion, "parseAnchorTomlVersion");
66
- function findSemVersionFromString(input) {
67
- const match = input.match(/^(solana-cli|anchor-cli|aptos)\s+(([0-9]+\.?){3}).*?/m);
68
- if (match === null || match.length < 3) {
69
- throw new Error(`Invalid semver version: ${input}`);
70
- }
71
- return {
72
- version: match[2]
73
- };
74
- }
75
- VO65XOWD_cjs.__name(findSemVersionFromString, "findSemVersionFromString");
76
- function validateToolVersion(toolName, version) {
77
- const supportedVersions = getToolSupportedVersions(toolName);
78
- return supportedVersions.includes(version);
79
- }
80
- VO65XOWD_cjs.__name(validateToolVersion, "validateToolVersion");
81
-
82
- // src/config/tools.ts
83
- var solanaDefaultVolumes = [
84
- {
85
- type: "isolate",
86
- containerPath: "/usr/local/cargo",
87
- name: "solana-cargo"
88
- },
89
- {
90
- type: "isolate",
91
- containerPath: "/usr/local/rustup",
92
- name: "solana-rustup"
93
- },
94
- {
95
- type: "isolate",
96
- containerPath: "/var/lib/docker",
97
- name: "docker"
98
- }
99
- ];
100
- var tools = [
101
- {
102
- name: "hardhat",
103
- toolType: "evm",
104
- fromImage: "evm",
105
- defaultVolumes: []
106
- },
107
- {
108
- name: "forge",
109
- toolType: "evm",
110
- fromImage: "evm"
111
- },
112
- {
113
- name: "anchor",
114
- toolType: "solana",
115
- fromImage: "solana",
116
- privileged: true,
117
- defaultVolumes: solanaDefaultVolumes,
118
- getSecondaryVersionCheckValue: /* @__PURE__ */ VO65XOWD_cjs.__name(({ cwd }) => {
119
- return parseAnchorTomlVersion(cwd, "anchor");
120
- }, "getSecondaryVersionCheckValue")
121
- },
122
- {
123
- name: "solana",
124
- toolType: "solana",
125
- fromImage: "solana",
126
- privileged: true,
127
- defaultVolumes: solanaDefaultVolumes,
128
- getSecondaryVersionCheckValue: /* @__PURE__ */ VO65XOWD_cjs.__name(({ cwd }) => {
129
- return parseAnchorTomlVersion(cwd, "solana");
130
- }, "getSecondaryVersionCheckValue")
131
- },
132
- {
133
- name: "aptos",
134
- toolType: "aptos",
135
- fromImage: "aptos",
136
- defaultVolumes: [
137
- {
138
- type: "isolate",
139
- containerPath: "/root/.move",
140
- name: "aptos"
141
- }
142
- ]
143
- },
144
- {
145
- name: "initiad",
146
- toolType: "initia",
147
- fromImage: "initia",
148
- defaultVolumes: [
149
- {
150
- type: "isolate",
151
- containerPath: "/root/.move",
152
- name: "initia"
153
- }
154
- ]
155
- },
156
- {
157
- name: "blueprint",
158
- toolType: "ton",
159
- fromImage: "ton"
160
- },
161
- {
162
- name: "scarb",
163
- toolType: "starknet",
164
- fromImage: "starknet"
165
- },
166
- {
167
- name: "sui",
168
- toolType: "sui",
169
- fromImage: "sui",
170
- defaultVolumes: [
171
- {
172
- type: "isolate",
173
- containerPath: "/root/.move",
174
- name: "sui"
175
- },
176
- {
177
- type: "isolate",
178
- containerPath: "/root/.sui",
179
- name: "sui-config",
180
- shared: true,
181
- locked: true
182
- }
183
- ]
184
- },
185
- {
186
- name: "stellar",
187
- toolType: "stellar",
188
- fromImage: "stellar",
189
- defaultVolumes: [
190
- {
191
- type: "isolate",
192
- containerPath: "/root/.config/stellar",
193
- name: "stellar-config",
194
- shared: true,
195
- locked: true
196
- },
197
- {
198
- type: "isolate",
199
- containerPath: "/usr/local/cargo",
200
- name: "stellar-cargo",
201
- shared: true,
202
- locked: false
203
- },
204
- {
205
- type: "isolate",
206
- containerPath: "/usr/local/rustup",
207
- name: "stellar-rustup",
208
- shared: true,
209
- locked: false
210
- }
211
- ]
212
- }
213
- ];
214
-
215
- // src/config/index.ts
216
- var AWS_ACCOUNT_ID = "438003944538";
217
- var AWS_REGION = "us-east-1";
218
-
219
- // src/utils/finder-utils.ts
220
- function findToolByName(toolName) {
221
- return tools.find((tool) => tool.name === toolName);
222
- }
223
- VO65XOWD_cjs.__name(findToolByName, "findToolByName");
224
- function findToolsByType(type) {
225
- return tools.filter((tool) => tool.toolType === type);
226
- }
227
- VO65XOWD_cjs.__name(findToolsByType, "findToolsByType");
228
- function getToolType(toolName) {
229
- const tool = findToolByName(toolName);
230
- return tool?.toolType;
231
- }
232
- VO65XOWD_cjs.__name(getToolType, "getToolType");
233
- function findMatrixByType(type) {
234
- return _4SK6SDII_cjs.versionMatrices.find((matrix) => matrix.toolType === type);
235
- }
236
- VO65XOWD_cjs.__name(findMatrixByType, "findMatrixByType");
237
- function findDefaultCombination(matrix) {
238
- const recommended = matrix.combinations.find((combo) => combo.isRecommended === true);
239
- if (recommended) {
240
- return recommended;
241
- }
242
- if (matrix.combinations.length === 0) {
243
- throw new Error(`No combinations found in matrix for type '${matrix.toolType}'`);
244
- }
245
- return matrix.combinations[0];
246
- }
247
- VO65XOWD_cjs.__name(findDefaultCombination, "findDefaultCombination");
248
- function getToolDefaultVersion(toolName) {
249
- const tool = findToolByName(toolName);
250
- if (!tool) {
251
- throw new Error(`Tool '${toolName}' not found`);
252
- }
253
- const matrix = findMatrixByType(tool.toolType);
254
- if (!matrix) {
255
- throw new Error(`No version matrix found for tool type '${tool.toolType}'`);
256
- }
257
- const defaultCombination = findDefaultCombination(matrix);
258
- const defaultVersion = defaultCombination.versions[toolName];
259
- if (!defaultVersion?.length) {
260
- console.warn(`No default version found for tool '${toolName}' in matrix`);
261
- return null;
262
- }
263
- return defaultVersion;
264
- }
265
- VO65XOWD_cjs.__name(getToolDefaultVersion, "getToolDefaultVersion");
266
- function getToolSupportedVersions(toolName) {
267
- const tool = findToolByName(toolName);
268
- if (!tool) {
269
- throw new Error(`Tool '${toolName}' not found`);
270
- }
271
- const matrix = findMatrixByType(tool.toolType);
272
- if (!matrix) {
273
- throw new Error(`No version matrix found for tool type '${tool.toolType}'`);
274
- }
275
- const versions = /* @__PURE__ */ new Set();
276
- for (const combination of matrix.combinations) {
277
- const version = combination.versions[toolName];
278
- if (version != null && version.length > 0) {
279
- versions.add(version);
280
- }
281
- }
282
- return Array.from(versions).sort();
283
- }
284
- VO65XOWD_cjs.__name(getToolSupportedVersions, "getToolSupportedVersions");
285
-
286
- exports.AWS_ACCOUNT_ID = AWS_ACCOUNT_ID;
287
- exports.AWS_REGION = AWS_REGION;
288
- exports.findDefaultCombination = findDefaultCombination;
289
- exports.findMatrixByType = findMatrixByType;
290
- exports.findSemVersionFromString = findSemVersionFromString;
291
- exports.findToolByName = findToolByName;
292
- exports.findToolsByType = findToolsByType;
293
- exports.getToolDefaultVersion = getToolDefaultVersion;
294
- exports.getToolSupportedVersions = getToolSupportedVersions;
295
- exports.getToolType = getToolType;
296
- exports.parseAnchorTomlVersion = parseAnchorTomlVersion;
297
- exports.tools = tools;
298
- exports.validateToolVersion = validateToolVersion;
299
- exports.versionsSatisfied = versionsSatisfied;
300
- //# sourceMappingURL=DYZKD7UQ.cjs.map
301
- //# sourceMappingURL=DYZKD7UQ.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/finder-utils.ts","../src/config/index.ts","../src/config/tools.ts","../src/utils/version-utils.ts"],"names":["init_cjs_shims","versionsSatisfied","current","expected","satisfies","version","parseAnchorTomlVersion","cwd","name","projectFolder","findParentDirectoryWithFile","Error","toml","fs","readFileSync","file","test","match","exec","matchedName","findSemVersionFromString","input","length","validateToolVersion","toolName","supportedVersions","getToolSupportedVersions","includes","solanaDefaultVolumes","type","containerPath","tools","toolType","fromImage","defaultVolumes","privileged","getSecondaryVersionCheckValue","__name","shared","locked","AWS_ACCOUNT_ID","AWS_REGION","findToolByName","find","tool","findToolsByType","filter","getToolType","findMatrixByType","versionMatrices","matrix","findDefaultCombination","recommended","combinations","combo","isRecommended","getToolDefaultVersion","defaultCombination","defaultVersion","versions","console","warn","Set","combination","add","Array","from","sort"],"mappings":"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","file":"DYZKD7UQ.cjs","sourcesContent":["import { tools, versionMatrices } from '../config';\nimport type { Tool, ToolType, ToolVersionMatrix, VersionCombination } from '../types';\n\n/**\n * Find a tool configuration by name\n */\nexport function findToolByName(toolName: string): Tool | undefined {\n return tools.find((tool) => tool.name === toolName);\n}\n\n/**\n * Find all tools in a specific type\n */\nexport function findToolsByType(type: ToolType): Tool[] {\n return tools.filter((tool) => tool.toolType === type);\n}\n\n/**\n * Get the type for a specific tool\n */\nexport function getToolType(toolName: string): ToolType | undefined {\n const tool = findToolByName(toolName);\n return tool?.toolType;\n}\n\n/**\n * Find version matrix for a specific tool type\n */\nexport function findMatrixByType(type: ToolType): ToolVersionMatrix | undefined {\n return versionMatrices.find((matrix) => matrix.toolType === type);\n}\n\n/**\n * Find the default combination for a tool type\n * Returns the first combination marked as isRecommended=true, or combinations[0] if none marked\n */\nexport function findDefaultCombination(matrix: ToolVersionMatrix): VersionCombination {\n // First, try to find a recommended combination\n const recommended = matrix.combinations.find((combo) => combo.isRecommended === true);\n if (recommended) {\n return recommended;\n }\n\n // If no recommended combination, use the first one\n if (matrix.combinations.length === 0) {\n throw new Error(`No combinations found in matrix for type '${matrix.toolType}'`);\n }\n\n return matrix.combinations[0];\n}\n\n/**\n * Get default version for a specific tool from version matrix\n */\nexport function getToolDefaultVersion(toolName: string): string | null {\n const tool = findToolByName(toolName);\n if (!tool) {\n throw new Error(`Tool '${toolName}' not found`);\n }\n\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 const defaultCombination = findDefaultCombination(matrix);\n const defaultVersion = defaultCombination.versions[toolName];\n if (!defaultVersion?.length) {\n console.warn(`No default version found for tool '${toolName}' in matrix`);\n return null;\n }\n\n return defaultVersion;\n}\n\n/**\n * Get supported versions for a specific tool from version matrix\n */\nexport function getToolSupportedVersions(toolName: string): string[] {\n const tool = findToolByName(toolName);\n if (!tool) {\n throw new Error(`Tool '${toolName}' not found`);\n }\n\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 // Extract all unique versions for this tool from all combinations\n const versions = new Set<string>();\n for (const combination of matrix.combinations) {\n const version = combination.versions[toolName];\n if (version != null && version.length > 0) {\n versions.add(version);\n }\n }\n\n return Array.from(versions).sort();\n}\n","// Export configuration data\nexport { tools } from './tools';\nexport { versionMatrices } from './version-matrices';\nexport const AWS_ACCOUNT_ID = '438003944538';\nexport const AWS_REGION = 'us-east-1';\n","import type { GetExpectedVersionParameter, Tool, Version, VolumeMapping } from '../types';\nimport { parseAnchorTomlVersion } from '../utils/version-utils';\n\nconst solanaDefaultVolumes: VolumeMapping[] = [\n {\n type: 'isolate',\n containerPath: '/usr/local/cargo',\n name: 'solana-cargo',\n },\n {\n type: 'isolate',\n containerPath: '/usr/local/rustup',\n name: 'solana-rustup',\n },\n {\n type: 'isolate',\n containerPath: '/var/lib/docker',\n name: 'docker',\n },\n];\n\n/**\n * Tool configurations with individual settings (version info managed by version-matrices)\n */\nexport const tools: readonly Tool[] = [\n {\n name: 'hardhat',\n toolType: 'evm',\n fromImage: 'evm',\n defaultVolumes: [],\n },\n {\n name: 'forge',\n toolType: 'evm',\n fromImage: 'evm',\n },\n {\n name: 'anchor',\n toolType: 'solana',\n fromImage: 'solana',\n privileged: true,\n defaultVolumes: solanaDefaultVolumes,\n getSecondaryVersionCheckValue: ({ cwd }: GetExpectedVersionParameter): Version => {\n return parseAnchorTomlVersion(cwd, 'anchor');\n },\n },\n {\n name: 'solana',\n toolType: 'solana',\n fromImage: 'solana',\n privileged: true,\n defaultVolumes: solanaDefaultVolumes,\n getSecondaryVersionCheckValue: ({ cwd }: GetExpectedVersionParameter): Version => {\n return parseAnchorTomlVersion(cwd, 'solana');\n },\n },\n {\n name: 'aptos',\n toolType: 'aptos',\n fromImage: 'aptos',\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'aptos',\n },\n ],\n },\n {\n name: 'initiad',\n toolType: 'initia',\n fromImage: 'initia',\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'initia',\n },\n ],\n },\n {\n name: 'blueprint',\n toolType: 'ton',\n fromImage: 'ton',\n },\n {\n name: 'scarb',\n toolType: 'starknet',\n fromImage: 'starknet',\n },\n {\n name: 'sui',\n toolType: 'sui',\n fromImage: 'sui',\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'sui',\n },\n {\n type: 'isolate',\n containerPath: '/root/.sui',\n name: 'sui-config',\n shared: true,\n locked: true,\n },\n ],\n },\n {\n name: 'stellar',\n toolType: 'stellar',\n fromImage: 'stellar',\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.config/stellar',\n name: 'stellar-config',\n shared: true,\n locked: true,\n },\n {\n type: 'isolate',\n containerPath: '/usr/local/cargo',\n name: 'stellar-cargo',\n shared: true,\n locked: false,\n },\n {\n type: 'isolate',\n containerPath: '/usr/local/rustup',\n name: 'stellar-rustup',\n shared: true,\n locked: false,\n },\n ],\n },\n];\n","import fs from 'fs';\nimport * as semver from 'semver';\n\nimport type { Version } from '../types';\nimport { findParentDirectoryWithFile } from '../utils';\nimport { getToolSupportedVersions } from './finder-utils';\n\n/**\n * Check if current version satisfies expected version using semver\n */\nexport function versionsSatisfied(current: Version, expected: Version): boolean {\n return semver.satisfies(current.version, expected.version);\n}\n\n/**\n * Parse anchor/solana version from Anchor.toml file\n */\nexport function parseAnchorTomlVersion(cwd: string, name: 'anchor' | 'solana'): Version {\n const projectFolder = findParentDirectoryWithFile(cwd, 'Anchor.toml');\n\n if (projectFolder === null) {\n throw new Error('Anchor project not found');\n }\n\n const toml = fs.readFileSync(projectFolder.file, 'utf-8');\n\n const test = /^([a-z]+)(?:_version ?= ?\")((?:[0-9]+\\.?){3})(?:\")$/gm;\n\n let match;\n while ((match = test.exec(toml))) {\n const [, matchedName, version] = match;\n if (matchedName === name) {\n return { version };\n }\n }\n\n throw new Error(`${name} version not found in ${projectFolder.file}`);\n}\n\n/**\n * Find semantic version from string output\n */\nexport function findSemVersionFromString(input: string): Version {\n const match = input.match(/^(solana-cli|anchor-cli|aptos)\\s+(([0-9]+\\.?){3}).*?/m);\n if (match === null || match.length < 3) {\n throw new Error(`Invalid semver version: ${input}`);\n }\n\n return { version: match[2] };\n}\n\n/**\n * Validate if a tool version is in the supported versions list\n */\nexport function validateToolVersion(toolName: string, version: string): boolean {\n const supportedVersions = getToolSupportedVersions(toolName);\n return supportedVersions.includes(version);\n}\n"]}
package/dist/FLI6L2YX.cjs DELETED
@@ -1,48 +0,0 @@
1
- 'use strict';
2
-
3
- var VO65XOWD_cjs = require('./VO65XOWD.cjs');
4
-
5
- // src/display/formatters.ts
6
- VO65XOWD_cjs.init_cjs_shims();
7
- function formatVersionCombination(combination, isDefault) {
8
- const versionPairs = Object.entries(combination.versions).filter(([_, version]) => version !== void 0).map(([tool, version]) => `${tool}:${version}`).join(", ");
9
- const patchInfo = combination.patch ? ` [patch: ${combination.patch}]` : "";
10
- const badges = [];
11
- if (isDefault === true) badges.push("\u{1F3AF} Default");
12
- else if (combination.isRecommended === true) badges.push("\u2705 Stable");
13
- if (combination.description != null && combination.description !== "") badges.push(`\u{1F4DD} ${combination.description}`);
14
- const badgeStr = badges.length > 0 ? ` (${badges.join(", ")})` : "";
15
- return ` ${combination.id}: ${versionPairs}${patchInfo}${badgeStr}`;
16
- }
17
- VO65XOWD_cjs.__name(formatVersionCombination, "formatVersionCombination");
18
- function createUserFriendlyError(error, context) {
19
- let message = `\u274C ${error}
20
- `;
21
- if (context?.toolName != null && context.toolName !== "" && context.requestedVersion != null && context.requestedVersion !== "" && context.availableVersions != null) {
22
- message += `
23
- \u{1F4A1} Suggestions for ${context.toolName}:`;
24
- message += `
25
- Requested: ${context.requestedVersion}`;
26
- message += `
27
- Available: ${context.availableVersions.join(", ")}`;
28
- }
29
- if (context?.suggestedCombinations && context.suggestedCombinations.length > 0) {
30
- message += `
31
-
32
- \u{1F3AF} Suggested options:`;
33
- context.suggestedCombinations.forEach((combo) => {
34
- message += `
35
- ${combo}`;
36
- });
37
- }
38
- message += `
39
-
40
- \u{1F4DA} For more help: lz-tool --list-versions`;
41
- return message;
42
- }
43
- VO65XOWD_cjs.__name(createUserFriendlyError, "createUserFriendlyError");
44
-
45
- exports.createUserFriendlyError = createUserFriendlyError;
46
- exports.formatVersionCombination = formatVersionCombination;
47
- //# sourceMappingURL=FLI6L2YX.cjs.map
48
- //# sourceMappingURL=FLI6L2YX.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/display/formatters.ts"],"names":["init_cjs_shims","formatVersionCombination","combination","isDefault","versionPairs","Object","entries","versions","filter","_","version","undefined","map","tool","join","patchInfo","patch","badges","push","isRecommended","description","badgeStr","length","id","createUserFriendlyError","error","context","message","toolName","requestedVersion","availableVersions","suggestedCombinations","forEach","combo"],"mappings":";;;;;AAEAA,2BAAA,EAAA;AAGO,SAASC,wBAAAA,CACZC,aACAC,SAAAA,EAAmB;AAEnB,EAAA,MAAMC,YAAAA,GAAeC,MAAAA,CAAOC,OAAAA,CAAQJ,WAAAA,CAAYK,QAAQ,CAAA,CACnDC,MAAAA,CAAO,CAAC,CAACC,CAAAA,EAAGC,OAAAA,CAAAA,KAAaA,OAAAA,KAAYC,MAAAA,CAAAA,CACrCC,GAAAA,CAAI,CAAC,CAACC,IAAAA,EAAMH,OAAAA,CAAAA,KAAa,CAAA,EAAGG,IAAAA,CAAAA,CAAAA,EAAQH,OAAAA,CAAAA,CAAS,CAAA,CAC7CI,IAAAA,CAAK,IAAA,CAAA;AAEV,EAAA,MAAMC,YAAYb,WAAAA,CAAYc,KAAAA,GAAQ,CAAA,SAAA,EAAYd,WAAAA,CAAYc,KAAK,CAAA,CAAA,CAAA,GAAM,EAAA;AAEzE,EAAA,MAAMC,SAAS,EAAA;AACf,EAAA,IAAId,SAAAA,KAAc,IAAA,EAAMc,MAAAA,CAAOC,IAAAA,CAAK,mBAAA,CAAA;AAC3BhB,OAAAA,IAAAA,WAAAA,CAAYiB,aAAAA,KAAkB,IAAA,EAAMF,MAAAA,CAAOC,IAAAA,CAAK,eAAA,CAAA;AACzD,EAAA,IAAIhB,WAAAA,CAAYkB,WAAAA,IAAe,IAAA,IAAQlB,WAAAA,CAAYkB,WAAAA,KAAgB,EAAA,EAC/DH,MAAAA,CAAOC,IAAAA,CAAK,CAAA,UAAA,EAAMhB,WAAAA,CAAYkB,WAAW,CAAA,CAAE,CAAA;AAE/C,EAAA,MAAMC,QAAAA,GAAWJ,OAAOK,MAAAA,GAAS,CAAA,GAAI,KAAKL,MAAAA,CAAOH,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAA,CAAA,GAAW,EAAA;AACjE,EAAA,OAAO,CAAA,EAAA,EAAKZ,YAAYqB,EAAE,CAAA,EAAA,EAAKnB,YAAAA,CAAAA,EAAeW,SAAAA,GAAYM,QAAAA,CAAAA,CAAAA;AAC9D;AAnBgBpB,mBAAAA,CAAAA,wBAAAA,EAAAA,0BAAAA,CAAAA;AAwBT,SAASuB,uBAAAA,CACZC,OACAC,OAAAA,EAKC;AAED,EAAA,IAAIC,OAAAA,GAAU,UAAKF,KAAAA;;AAEnB,EAAA,IACIC,OAAAA,EAASE,QAAAA,IAAY,IAAA,IACrBF,OAAAA,CAAQE,aAAa,EAAA,IACrBF,OAAAA,CAAQG,gBAAAA,IAAoB,IAAA,IAC5BH,OAAAA,CAAQG,gBAAAA,KAAqB,EAAA,IAC7BH,OAAAA,CAAQI,qBAAqB,IAAA,EAC/B;AACEH,IAAAA,OAAAA,IAAW;AAAwBD,0BAAAA,EAAAA,OAAAA,CAAQE,QAAQ,CAAA,CAAA,CAAA;AACnDD,IAAAA,OAAAA,IAAW;AAAmBD,cAAAA,EAAAA,OAAAA,CAAQG,gBAAgB,CAAA,CAAA;AACtDF,IAAAA,OAAAA,IAAW;gBAAmBD,OAAAA,CAAQI,iBAAAA,CAAkBhB,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAA;AACjE,EAAA;AAEA,EAAA,IAAIY,OAAAA,EAASK,qBAAAA,IAAyBL,OAAAA,CAAQK,qBAAAA,CAAsBT,SAAS,CAAA,EAAG;AAC5EK,IAAAA,OAAAA,IAAW;;;AACXD,IAAAA,OAAAA,CAAQK,qBAAAA,CAAsBC,OAAAA,CAAQ,CAACC,KAAAA,KAAAA;AACnCN,MAAAA,OAAAA,IAAW;KAAQM,KAAAA,CAAAA,CAAAA;IACvB,CAAA,CAAA;AACJ,EAAA;AAEAN,EAAAA,OAAAA,IAAW;;;AAEX,EAAA,OAAOA,OAAAA;AACX;AAjCgBH,mBAAAA,CAAAA,uBAAAA,EAAAA,yBAAAA,CAAAA","file":"FLI6L2YX.cjs","sourcesContent":["import type { VersionCombination } from '../types/version';\n\n/**\n * Format version combinations for display\n */\nexport function formatVersionCombination(\n combination: VersionCombination,\n isDefault?: boolean,\n): string {\n const versionPairs = Object.entries(combination.versions)\n .filter(([_, version]) => version !== undefined)\n .map(([tool, version]) => `${tool}:${version}`)\n .join(', ');\n\n const patchInfo = combination.patch ? ` [patch: ${combination.patch}]` : '';\n\n const badges = [];\n if (isDefault === true) badges.push('🎯 Default');\n else if (combination.isRecommended === true) badges.push('✅ Stable');\n if (combination.description != null && combination.description !== '')\n badges.push(`📝 ${combination.description}`);\n\n const badgeStr = badges.length > 0 ? ` (${badges.join(', ')})` : '';\n return ` ${combination.id}: ${versionPairs}${patchInfo}${badgeStr}`;\n}\n\n/**\n * Enhanced error messages with helpful suggestions\n */\nexport function createUserFriendlyError(\n error: string,\n context?: {\n toolName?: string;\n requestedVersion?: string;\n availableVersions?: string[];\n suggestedCombinations?: string[];\n },\n): string {\n let message = `❌ ${error}\\n`;\n\n if (\n context?.toolName != null &&\n context.toolName !== '' &&\n context.requestedVersion != null &&\n context.requestedVersion !== '' &&\n context.availableVersions != null\n ) {\n message += `\\n💡 Suggestions for ${context.toolName}:`;\n message += `\\n Requested: ${context.requestedVersion}`;\n message += `\\n Available: ${context.availableVersions.join(', ')}`;\n }\n\n if (context?.suggestedCombinations && context.suggestedCombinations.length > 0) {\n message += `\\n\\n🎯 Suggested options:`;\n context.suggestedCombinations.forEach((combo) => {\n message += `\\n ${combo}`;\n });\n }\n\n message += `\\n\\n📚 For more help: lz-tool --list-versions`;\n\n return message;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/compatibility.ts"],"names":["findBestCompatibleCombination","userVersions","matrix","scoredCombinations","combinations","map","combo","matchScore","conflicts","tool","userVersion","Object","entries","comboVersion","versions","undefined","sort","a","b"],"mappings":";;;AAEA,cAAA,EAAA;AAGO,SAASA,6BAAAA,CACZC,cACAC,MAAAA,EAAyB;AAGzB,EAAA,MAAMC,kBAAAA,GAAqBD,MAAAA,CAAOE,YAAAA,CAAaC,GAAAA,CAAI,CAACC,KAAAA,KAAAA;AAChD,IAAA,IAAIC,UAAAA,GAAa,CAAA;AACjB,IAAA,IAAIC,SAAAA,GAAY,CAAA;AAEhB,IAAA,KAAA,MAAW,CAACC,IAAAA,EAAMC,WAAAA,KAAgBC,MAAAA,CAAOC,OAAAA,CAAQX,YAAAA,CAAAA,EAAe;AAC5D,MAAA,MAAMY,YAAAA,GAAeP,KAAAA,CAAMQ,QAAAA,CAASL,IAAAA,CAAAA;AACpC,MAAA,IAAII,iBAAiBE,MAAAA,EAAW;AAC5B,QAAA,IAAIF,iBAAiBH,WAAAA,EAAa;AAC9BH,UAAAA,UAAAA,EAAAA;QACJ,CAAA,MAAO;AACHC,UAAAA,SAAAA,EAAAA;AACJ,QAAA;AACJ,MAAA;AACJ,IAAA;AAEA,IAAA,OAAO;AAAEF,MAAAA,KAAAA;AAAOC,MAAAA,UAAAA;AAAYC,MAAAA;AAAU,KAAA;EAC1C,CAAA,CAAA;AAGAL,EAAAA,kBAAAA,CAAmBa,IAAAA,CAAK,CAACC,CAAAA,EAAGC,CAAAA,KAAAA;AACxB,IAAA,IAAID,CAAAA,CAAET,SAAAA,KAAcU,CAAAA,CAAEV,SAAAA,EAAW;AAC7B,MAAA,OAAOS,CAAAA,CAAET,YAAYU,CAAAA,CAAEV,SAAAA;AAC3B,IAAA;AACA,IAAA,OAAOU,CAAAA,CAAEX,aAAaU,CAAAA,CAAEV,UAAAA;EAC5B,CAAA,CAAA;AAEA,EAAA,OAAOJ,kBAAAA,CAAmB,CAAA,CAAA,EAAIG,KAAAA;AAClC;AAhCgBN,MAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA","file":"HR64SZQX.js","sourcesContent":["import type { ToolVersionMatrix, VersionCombination } from '../types';\n\n/**\n * Find the best compatible combination based on user-specified versions\n */\nexport function findBestCompatibleCombination(\n userVersions: { [key: string]: string },\n matrix: ToolVersionMatrix,\n): VersionCombination | undefined {\n // Find combinations that match as many user-specified versions as possible\n const scoredCombinations = matrix.combinations.map((combo) => {\n let matchScore = 0;\n let conflicts = 0;\n\n for (const [tool, userVersion] of Object.entries(userVersions)) {\n const comboVersion = combo.versions[tool];\n if (comboVersion !== undefined) {\n if (comboVersion === userVersion) {\n matchScore++;\n } else {\n conflicts++;\n }\n }\n }\n\n return { combo, matchScore, conflicts };\n });\n\n // Prefer combinations with highest match score and no conflicts\n scoredCombinations.sort((a, b) => {\n if (a.conflicts !== b.conflicts) {\n return a.conflicts - b.conflicts; // Fewer conflicts first\n }\n return b.matchScore - a.matchScore; // Higher match score first\n });\n\n return scoredCombinations[0]?.combo;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/compatibility.ts"],"names":["init_cjs_shims","findBestCompatibleCombination","userVersions","matrix","scoredCombinations","combinations","map","combo","matchScore","conflicts","tool","userVersion","Object","entries","comboVersion","versions","undefined","sort","a","b"],"mappings":";;;;;AAEAA,2BAAA,EAAA;AAGO,SAASC,6BAAAA,CACZC,cACAC,MAAAA,EAAyB;AAGzB,EAAA,MAAMC,kBAAAA,GAAqBD,MAAAA,CAAOE,YAAAA,CAAaC,GAAAA,CAAI,CAACC,KAAAA,KAAAA;AAChD,IAAA,IAAIC,UAAAA,GAAa,CAAA;AACjB,IAAA,IAAIC,SAAAA,GAAY,CAAA;AAEhB,IAAA,KAAA,MAAW,CAACC,IAAAA,EAAMC,WAAAA,KAAgBC,MAAAA,CAAOC,OAAAA,CAAQX,YAAAA,CAAAA,EAAe;AAC5D,MAAA,MAAMY,YAAAA,GAAeP,KAAAA,CAAMQ,QAAAA,CAASL,IAAAA,CAAAA;AACpC,MAAA,IAAII,iBAAiBE,MAAAA,EAAW;AAC5B,QAAA,IAAIF,iBAAiBH,WAAAA,EAAa;AAC9BH,UAAAA,UAAAA,EAAAA;QACJ,CAAA,MAAO;AACHC,UAAAA,SAAAA,EAAAA;AACJ,QAAA;AACJ,MAAA;AACJ,IAAA;AAEA,IAAA,OAAO;AAAEF,MAAAA,KAAAA;AAAOC,MAAAA,UAAAA;AAAYC,MAAAA;AAAU,KAAA;EAC1C,CAAA,CAAA;AAGAL,EAAAA,kBAAAA,CAAmBa,IAAAA,CAAK,CAACC,CAAAA,EAAGC,CAAAA,KAAAA;AACxB,IAAA,IAAID,CAAAA,CAAET,SAAAA,KAAcU,CAAAA,CAAEV,SAAAA,EAAW;AAC7B,MAAA,OAAOS,CAAAA,CAAET,YAAYU,CAAAA,CAAEV,SAAAA;AAC3B,IAAA;AACA,IAAA,OAAOU,CAAAA,CAAEX,aAAaU,CAAAA,CAAEV,UAAAA;EAC5B,CAAA,CAAA;AAEA,EAAA,OAAOJ,kBAAAA,CAAmB,CAAA,CAAA,EAAIG,KAAAA;AAClC;AAhCgBN,mBAAAA,CAAAA,6BAAAA,EAAAA,+BAAAA,CAAAA","file":"JJXZWB7K.cjs","sourcesContent":["import type { ToolVersionMatrix, VersionCombination } from '../types';\n\n/**\n * Find the best compatible combination based on user-specified versions\n */\nexport function findBestCompatibleCombination(\n userVersions: { [key: string]: string },\n matrix: ToolVersionMatrix,\n): VersionCombination | undefined {\n // Find combinations that match as many user-specified versions as possible\n const scoredCombinations = matrix.combinations.map((combo) => {\n let matchScore = 0;\n let conflicts = 0;\n\n for (const [tool, userVersion] of Object.entries(userVersions)) {\n const comboVersion = combo.versions[tool];\n if (comboVersion !== undefined) {\n if (comboVersion === userVersion) {\n matchScore++;\n } else {\n conflicts++;\n }\n }\n }\n\n return { combo, matchScore, conflicts };\n });\n\n // Prefer combinations with highest match score and no conflicts\n scoredCombinations.sort((a, b) => {\n if (a.conflicts !== b.conflicts) {\n return a.conflicts - b.conflicts; // Fewer conflicts first\n }\n return b.matchScore - a.matchScore; // Higher match score first\n });\n\n return scoredCombinations[0]?.combo;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/lock.ts"],"names":["init_cjs_shims","directory","join","homedir","defaultOptions","interval","timeout","signals","buildLockFilePath","__name","key","lock","run","options","path","packageName","process","env","npm_package_name","info","time","Date","now","unlock","rmSync","force","lockError","mkdir","recursive","open","constants","O_CREAT","O_EXCL","error","Error","message","delay","signal","addListener","console","log","removeListener","lockMany","keys","sort","reduce"],"mappings":"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","file":"NSZHKDNY.cjs","sourcesContent":["import { delay } from 'es-toolkit';\nimport { rmSync } from 'node:fs';\nimport { constants, mkdir, open } from 'node:fs/promises';\nimport { homedir } from 'node:os';\nimport { join } from 'node:path';\n\ninterface LockOptions {\n interval?: number;\n timeout?: number;\n}\n\nconst directory = join(homedir(), '.cache/vm-tooling/locks');\nconst defaultOptions = { interval: 1000, timeout: 300_000 };\nconst signals = ['SIGINT', 'SIGTERM', 'SIGHUP'] as const;\n\nexport const buildLockFilePath = (key: string): string => join(directory, key);\n\nexport const lock = async <T>(key: string, run: () => Promise<T>, options: LockOptions = {}) => {\n const { interval, timeout } = { ...defaultOptions, ...options };\n\n const path = buildLockFilePath(key);\n // eslint-disable-next-line turbo/no-undeclared-env-vars\n const packageName = process.env.npm_package_name;\n const info = [...(packageName ? ['for', packageName] : []), 'at', path].join(' ');\n\n const time = Date.now();\n const unlock = () => rmSync(path, { force: true });\n\n while (true) {\n let lockError;\n\n try {\n await mkdir(directory, { recursive: true });\n await open(path, constants.O_CREAT | constants.O_EXCL);\n break;\n } catch (error: unknown) {\n lockError = error as Error;\n }\n\n if (Date.now() - time > timeout) {\n // If the timeout is reached, we assume that the previous run is\n // in a bad state and recover automatically by removing the lock file\n // even when it is actually running still.\n unlock();\n throw new Error(`Timeout waiting for lock file ${info}: ${lockError.message}`);\n }\n\n await delay(interval);\n }\n\n for (const signal of signals) {\n process.addListener(signal, unlock);\n }\n\n console.log(`Acquired lock ${info}`);\n\n try {\n return await run();\n } finally {\n for (const signal of signals) {\n process.removeListener(signal, unlock);\n }\n\n unlock();\n\n console.log(`Released lock ${info}`);\n }\n};\n\nexport const lockMany = async <T>(keys: string[], run: () => Promise<T>): Promise<T> =>\n // Sort keys to avoid deadlocks.\n keys.sort().reduce((run, key) => () => lock(key, run), run)();\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/display/version-display.ts"],"names":["displayVersionCombinations","console","log","matrix","versionMatrices","typeTools","findToolsByType","toolType","length","toolNames","map","tool","name","join","toUpperCase","repeat","defaultCombination","findDefaultCombination","formatVersionCombination","combinations","forEach","combo","isDefault","id","displayToolVersionInfo","toolName","findToolByName","error","findMatrixByType","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","defaultVolumes","volume","volumeDesc","type","containerPath","hostPath","toolVersion","versions"],"mappings":"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","file":"OXHJXMDD.js","sourcesContent":["import { versionMatrices } from '../config';\nimport {\n findDefaultCombination,\n findMatrixByType,\n findToolByName,\n findToolsByType,\n getToolDefaultVersion,\n getToolSupportedVersions,\n} from '../utils/finder-utils';\nimport { formatVersionCombination } from './formatters';\n\n/**\n * Display all supported version combinations\n */\nexport function displayVersionCombinations(): void {\n console.log('\\n🚀 LayerZero VM Tool - Supported Version Combinations\\n');\n\n for (const matrix of versionMatrices) {\n const typeTools = findToolsByType(matrix.toolType);\n if (typeTools.length === 0) continue;\n\n const toolNames = typeTools.map((tool) => tool.name).join(', ');\n console.log(`📦 ${matrix.toolType.toUpperCase()} Type (tools: ${toolNames})`);\n console.log('─'.repeat(50));\n\n // Show default combination first\n const defaultCombination = findDefaultCombination(matrix);\n console.log('🎯 Default:');\n console.log(formatVersionCombination(defaultCombination, true));\n console.log();\n\n // Show all combinations\n console.log('📋 All supported combinations:');\n matrix.combinations.forEach((combo) => {\n const isDefault = combo.id === defaultCombination.id;\n console.log(formatVersionCombination(combo, isDefault));\n });\n console.log();\n }\n\n console.log('💡 Usage examples:');\n console.log(' lz-tool anchor --anchor-version 0.29.0 --solana-version 1.17.31 build');\n console.log(\n ' lz-tool anchor --anchor-version 0.30.0 build # Auto-selects compatible solana version',\n );\n console.log(' ANCHOR_VERSION=0.29.0 lz-tool anchor build # Using environment variables');\n console.log();\n}\n\n/**\n * Display tool-specific version information\n */\nexport function displayToolVersionInfo(toolName: string): void {\n const tool = findToolByName(toolName);\n if (!tool) {\n console.error(`❌ Tool '${toolName}' not found`);\n return;\n }\n\n const typeTools = findToolsByType(tool.toolType);\n const matrix = findMatrixByType(tool.toolType);\n const defaultVersion = getToolDefaultVersion(tool.name);\n const supportedVersions = getToolSupportedVersions(tool.name);\n\n console.log(`\\n🔧 ${tool.name.toUpperCase()} Version Information`);\n console.log('─'.repeat(40));\n console.log(`Type: ${tool.toolType}`);\n console.log(`Default version: ${defaultVersion}`);\n console.log(`Supported versions: ${supportedVersions.join(', ')}`);\n console.log();\n\n // Display default cache volumes\n if (tool.defaultVolumes && tool.defaultVolumes.length > 0) {\n console.log('📦 Default cache volumes:');\n tool.defaultVolumes.forEach((volume) => {\n const volumeDesc =\n volume.type === 'isolate'\n ? `${volume.name} → ${volume.containerPath}`\n : `${volume.hostPath} → ${volume.containerPath}`;\n console.log(` • ${volumeDesc}`);\n });\n console.log(' 💡 Use -v to override or add additional volumes');\n console.log();\n }\n\n if (matrix && typeTools.length > 1) {\n const defaultCombination = findDefaultCombination(matrix);\n console.log('🔗 Compatible combinations with other tools:');\n matrix.combinations.forEach((combo) => {\n const toolVersion = combo.versions[tool.name];\n if (toolVersion != null && toolVersion.length > 0) {\n const isDefault = combo.id === defaultCombination.id;\n console.log(formatVersionCombination(combo, isDefault));\n }\n });\n console.log();\n }\n\n console.log('📝 Version resolution priority:');\n console.log(' 1. Command line options (--{tool}-version)');\n console.log(` 2. Environment variables (${tool.name.toUpperCase()}_VERSION)`);\n console.log(' 3. .versions file');\n console.log(' 4. Default version');\n console.log();\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/version-resolver.ts"],"names":["init_cjs_shims","extractUserVersions","options","userVersions","tool","tools","versionKey","name","versionValue","resolveToolVersion","toolName","userSpecifiedVersions","cwd","findToolByName","Error","userVersion","envKey","toUpperCase","envVersion","process","env","parsedVersions","parseVersionFileContents","foundVersion","error","getToolDefaultVersion","resolveTypeVersions","type","matrix","findMatrixByType","typeTools","findToolsByType","length","resolvedVersions","usedDefaultFor","warnings","version","push","supportedVersions","getToolSupportedVersions","includes","join","matchedCombination","isCompatibleCombination","combo","combinations","matches","Object","entries","versions","every","compatibleCombo","findBestCompatibleCombination","adjusted","comboVersion","undefined","oldVersion","recommendedCombos","filter","c","isRecommended","map","id","description","console","info","combinationId"],"mappings":"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","file":"P6RMIIVK.cjs","sourcesContent":["import process from 'process';\n\nimport { tools } from '../config';\nimport type { ToolType, VersionCombination, VersionResolutionResult } from '../types';\nimport { parseVersionFileContents } from '../utils';\nimport {\n findMatrixByType,\n findToolByName,\n findToolsByType,\n getToolDefaultVersion,\n getToolSupportedVersions,\n} from '../utils/finder-utils';\nimport { findBestCompatibleCombination } from './compatibility';\n\n/**\n * Extract user-specified versions from command line options\n */\nexport function extractUserVersions(options: { [key: string]: any }): { [key: string]: string } {\n const userVersions: { [key: string]: string } = {};\n\n // Extract versions from command line options\n for (const tool of tools) {\n const versionKey = `${tool.name}Version`;\n const versionValue = options[versionKey] as unknown;\n if (typeof versionValue === 'string' && versionValue !== '') {\n userVersions[tool.name] = versionValue;\n }\n }\n\n return userVersions;\n}\n\n/**\n * Resolve version for a single tool following priority order:\n * 1. Command line options\n * 2. Environment variables\n * 3. .versions file\n * 4. Default version\n */\nexport function resolveToolVersion(\n toolName: string,\n userSpecifiedVersions: { [key: string]: string },\n options: { [key: string]: any },\n cwd: string,\n): string | null {\n const tool = findToolByName(toolName);\n if (!tool) {\n throw new Error(`Tool ${toolName} not found`);\n }\n\n // 1. Check command line options (highest priority)\n const userVersion = userSpecifiedVersions[toolName];\n if (typeof userVersion === 'string' && userVersion !== '') {\n return userVersion;\n }\n\n // 2. Check environment variables\n const envKey = `${tool.name.toUpperCase()}_VERSION`;\n const envVersion = process.env[envKey];\n if (typeof envVersion === 'string' && envVersion !== '') {\n return envVersion;\n }\n\n // 3. Check .versions file\n try {\n const parsedVersions = parseVersionFileContents(cwd);\n const versionKey = `${tool.name}_version`.toUpperCase();\n const foundVersion = parsedVersions[versionKey];\n\n if (typeof foundVersion === 'string' && foundVersion !== '') {\n return foundVersion;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (error) {\n // If .versions file doesn't exist or can't be parsed, continue to default\n }\n\n // 4. Use default version\n return getToolDefaultVersion(tool.name);\n}\n\n/**\n * Resolve versions for all tools in a type with compatibility checking\n */\nexport function resolveTypeVersions(\n type: ToolType,\n userSpecifiedVersions: { [key: string]: string },\n options: { [key: string]: any },\n cwd: string,\n): VersionResolutionResult {\n const matrix = findMatrixByType(type);\n const typeTools = findToolsByType(type);\n\n if (!matrix || typeTools.length === 0) {\n throw new Error(`Type ${type} not found or no version matrix available`);\n }\n\n // 1. Collect versions from all sources for each tool\n const resolvedVersions: { [key: string]: string } = {};\n const usedDefaultFor: string[] = [];\n const warnings: string[] = [];\n\n for (const tool of typeTools) {\n const version = resolveToolVersion(tool.name, userSpecifiedVersions, options, cwd);\n\n if (!version) {\n continue;\n }\n\n resolvedVersions[tool.name] = version;\n\n if (version === getToolDefaultVersion(tool.name)) {\n usedDefaultFor.push(tool.name);\n }\n\n // Validate user-specified version if not default\n if (version !== getToolDefaultVersion(tool.name)) {\n const supportedVersions = getToolSupportedVersions(tool.name);\n if (!supportedVersions.includes(version)) {\n warnings.push(\n `⚠️ Version ${version} for ${tool.name} is not in the supported list.\\n` +\n ` Supported versions: ${supportedVersions.join(', ')}\\n` +\n ` Continuing with Docker availability as final validation...`,\n );\n }\n }\n }\n\n // 2. Check if current combination matches any compatible combination\n let matchedCombination: VersionCombination | undefined;\n let isCompatibleCombination = false;\n\n for (const combo of matrix.combinations) {\n const matches = Object.entries(combo.versions).every(\n ([tool, version]) => resolvedVersions[tool] === version,\n );\n\n if (matches) {\n matchedCombination = combo;\n isCompatibleCombination = true;\n break;\n }\n }\n\n // 3. If not compatible and some tools used defaults, try to auto-adjust\n if (!isCompatibleCombination && usedDefaultFor.length > 0) {\n const compatibleCombo = findBestCompatibleCombination(resolvedVersions, matrix);\n\n if (compatibleCombo) {\n let adjusted = false;\n\n for (const toolName of usedDefaultFor) {\n const comboVersion = compatibleCombo.versions[toolName];\n if (comboVersion !== undefined && comboVersion !== resolvedVersions[toolName]) {\n const oldVersion = resolvedVersions[toolName];\n resolvedVersions[toolName] = comboVersion;\n warnings.push(\n `🔄 Auto-adjusted ${toolName}: ${oldVersion} → ${comboVersion} (for compatibility)`,\n );\n adjusted = true;\n }\n }\n\n if (adjusted) {\n matchedCombination = compatibleCombo;\n isCompatibleCombination = true;\n }\n }\n }\n\n // 4. Add compatibility warnings\n if (!isCompatibleCombination) {\n const recommendedCombos = matrix.combinations\n .filter((c) => c.isRecommended)\n .map((c) => c.id)\n .join(', ');\n\n warnings.push(\n `⚠️ Custom version combination detected - not officially tested.\\n` +\n ` 💡 Stable combinations: ${recommendedCombos}\\n` +\n ` 🔍 Use 'lz-tool --list-versions' to see all tested combinations.`,\n );\n } else if (matchedCombination?.description !== undefined) {\n console.info(`✅ ${matchedCombination.description} (${matchedCombination.id})`);\n }\n\n return {\n resolvedVersions,\n isCompatibleCombination,\n usedDefaultFor,\n warnings,\n combinationId: matchedCombination?.id,\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/lock.ts"],"names":["directory","join","homedir","defaultOptions","interval","timeout","signals","buildLockFilePath","key","lock","run","options","path","packageName","process","env","npm_package_name","info","time","Date","now","unlock","rmSync","force","lockError","mkdir","recursive","open","constants","O_CREAT","O_EXCL","error","Error","message","delay","signal","addListener","console","log","removeListener","lockMany","keys","sort","reduce"],"mappings":"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","file":"PDSRUQEX.js","sourcesContent":["import { delay } from 'es-toolkit';\nimport { rmSync } from 'node:fs';\nimport { constants, mkdir, open } from 'node:fs/promises';\nimport { homedir } from 'node:os';\nimport { join } from 'node:path';\n\ninterface LockOptions {\n interval?: number;\n timeout?: number;\n}\n\nconst directory = join(homedir(), '.cache/vm-tooling/locks');\nconst defaultOptions = { interval: 1000, timeout: 300_000 };\nconst signals = ['SIGINT', 'SIGTERM', 'SIGHUP'] as const;\n\nexport const buildLockFilePath = (key: string): string => join(directory, key);\n\nexport const lock = async <T>(key: string, run: () => Promise<T>, options: LockOptions = {}) => {\n const { interval, timeout } = { ...defaultOptions, ...options };\n\n const path = buildLockFilePath(key);\n // eslint-disable-next-line turbo/no-undeclared-env-vars\n const packageName = process.env.npm_package_name;\n const info = [...(packageName ? ['for', packageName] : []), 'at', path].join(' ');\n\n const time = Date.now();\n const unlock = () => rmSync(path, { force: true });\n\n while (true) {\n let lockError;\n\n try {\n await mkdir(directory, { recursive: true });\n await open(path, constants.O_CREAT | constants.O_EXCL);\n break;\n } catch (error: unknown) {\n lockError = error as Error;\n }\n\n if (Date.now() - time > timeout) {\n // If the timeout is reached, we assume that the previous run is\n // in a bad state and recover automatically by removing the lock file\n // even when it is actually running still.\n unlock();\n throw new Error(`Timeout waiting for lock file ${info}: ${lockError.message}`);\n }\n\n await delay(interval);\n }\n\n for (const signal of signals) {\n process.addListener(signal, unlock);\n }\n\n console.log(`Acquired lock ${info}`);\n\n try {\n return await run();\n } finally {\n for (const signal of signals) {\n process.removeListener(signal, unlock);\n }\n\n unlock();\n\n console.log(`Released lock ${info}`);\n }\n};\n\nexport const lockMany = async <T>(keys: string[], run: () => Promise<T>): Promise<T> =>\n // Sort keys to avoid deadlocks.\n keys.sort().reduce((run, key) => () => lock(key, run), run)();\n"]}