@layerzerolabs/vm-tooling 0.0.43 → 0.0.44

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 (62) hide show
  1. package/dist/{YTUEW27V.js → 5KA4B3WL.js} +10 -3
  2. package/dist/5KA4B3WL.js.map +1 -0
  3. package/dist/{7ILXMMXL.cjs → 67EGQ6NV.cjs} +14 -14
  4. package/dist/{7ILXMMXL.cjs.map → 67EGQ6NV.cjs.map} +1 -1
  5. package/dist/{QSKQ7BQT.cjs → 7S3N6ZPY.cjs} +10 -3
  6. package/dist/7S3N6ZPY.cjs.map +1 -0
  7. package/dist/{LWFEVAEC.js → BQE33FG7.js} +7 -4
  8. package/dist/BQE33FG7.js.map +1 -0
  9. package/dist/{AQLGVUST.js → CFMPNPDE.js} +4 -4
  10. package/dist/{AQLGVUST.js.map → CFMPNPDE.js.map} +1 -1
  11. package/dist/{SW6HQVVH.js → CRLXMIJF.js} +13 -16
  12. package/dist/CRLXMIJF.js.map +1 -0
  13. package/dist/{MLFIQN3U.cjs → FTNN2BYM.cjs} +13 -13
  14. package/dist/{MLFIQN3U.cjs.map → FTNN2BYM.cjs.map} +1 -1
  15. package/dist/{XKCPVHEI.cjs → JSQ7H2ZH.cjs} +15 -12
  16. package/dist/JSQ7H2ZH.cjs.map +1 -0
  17. package/dist/{LUOR2YGF.js → N7J75JOO.js} +4 -4
  18. package/dist/{LUOR2YGF.js.map → N7J75JOO.js.map} +1 -1
  19. package/dist/{NVWCOJWR.cjs → RYB7HXPO.cjs} +14 -17
  20. package/dist/RYB7HXPO.cjs.map +1 -0
  21. package/dist/config/index.cjs +6 -6
  22. package/dist/config/index.js +2 -2
  23. package/dist/config/tools.cjs +3 -3
  24. package/dist/config/tools.d.ts.map +1 -1
  25. package/dist/config/tools.js +2 -2
  26. package/dist/config/version-matrices.cjs +2 -2
  27. package/dist/config/version-matrices.d.ts.map +1 -1
  28. package/dist/config/version-matrices.js +1 -1
  29. package/dist/core/index.cjs +9 -9
  30. package/dist/core/index.js +5 -5
  31. package/dist/core/tool-executor.cjs +6 -6
  32. package/dist/core/tool-executor.js +5 -5
  33. package/dist/core/version-resolver.cjs +7 -7
  34. package/dist/core/version-resolver.d.ts +1 -1
  35. package/dist/core/version-resolver.d.ts.map +1 -1
  36. package/dist/core/version-resolver.js +4 -4
  37. package/dist/display/index.cjs +6 -6
  38. package/dist/display/index.js +4 -4
  39. package/dist/display/version-display.cjs +6 -6
  40. package/dist/display/version-display.js +4 -4
  41. package/dist/index.cjs +16 -16
  42. package/dist/index.js +8 -8
  43. package/dist/scripts/generate-github-matrix.cjs +3 -2
  44. package/dist/scripts/generate-github-matrix.cjs.map +1 -1
  45. package/dist/scripts/generate-github-matrix.js +2 -1
  46. package/dist/scripts/generate-github-matrix.js.map +1 -1
  47. package/dist/types/tool.d.ts.map +1 -1
  48. package/dist/utils/finder-utils.cjs +9 -9
  49. package/dist/utils/finder-utils.d.ts +1 -1
  50. package/dist/utils/finder-utils.d.ts.map +1 -1
  51. package/dist/utils/finder-utils.js +2 -2
  52. package/dist/utils/index.cjs +13 -13
  53. package/dist/utils/index.js +2 -2
  54. package/dist/utils/version-utils.cjs +6 -6
  55. package/dist/utils/version-utils.js +2 -2
  56. package/package.json +5 -5
  57. package/dist/LWFEVAEC.js.map +0 -1
  58. package/dist/NVWCOJWR.cjs.map +0 -1
  59. package/dist/QSKQ7BQT.cjs.map +0 -1
  60. package/dist/SW6HQVVH.js.map +0 -1
  61. package/dist/XKCPVHEI.cjs.map +0 -1
  62. package/dist/YTUEW27V.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/types/tool.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAC5B,OAAO,GACP,eAAe,GACf,QAAQ,GACR,KAAK,GACL,KAAK,GACL,UAAU,GACV,KAAK,CAAC;AAGZ,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,CAAC;AAE1F,MAAM,WAAW,2BAA2B;IACxC,GAAG,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,sBAAsB,CAAC;IAGlC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IAGjC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IAChD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,4BAA4B,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3D,6BAA6B,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC;CAClF;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,OAAO,EAAE,MAAM,CAAC;CACnB;AAGD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/types/tool.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAC5B,OAAO,GACP,eAAe,GACf,QAAQ,GACR,KAAK,GACL,KAAK,GACL,UAAU,GACV,KAAK,CAAC;AAGZ,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,CAAC;AAE1F,MAAM,WAAW,2BAA2B;IACxC,GAAG,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,sBAAsB,CAAC;IAOlC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IAGjC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IAChD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,4BAA4B,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3D,6BAA6B,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,OAAO,CAAC;CAClF;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,OAAO,EAAE,MAAM,CAAC;CACnB;AAGD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
@@ -1,39 +1,39 @@
1
1
  'use strict';
2
2
 
3
- var NVWCOJWR_cjs = require('../NVWCOJWR.cjs');
4
- require('../QSKQ7BQT.cjs');
3
+ var RYB7HXPO_cjs = require('../RYB7HXPO.cjs');
5
4
  require('../3EOFF6NK.cjs');
5
+ require('../7S3N6ZPY.cjs');
6
6
  require('../NX4KBEWA.cjs');
7
7
 
8
8
 
9
9
 
10
10
  Object.defineProperty(exports, "findDefaultCombination", {
11
11
  enumerable: true,
12
- get: function () { return NVWCOJWR_cjs.findDefaultCombination; }
12
+ get: function () { return RYB7HXPO_cjs.findDefaultCombination; }
13
13
  });
14
14
  Object.defineProperty(exports, "findMatrixByType", {
15
15
  enumerable: true,
16
- get: function () { return NVWCOJWR_cjs.findMatrixByType; }
16
+ get: function () { return RYB7HXPO_cjs.findMatrixByType; }
17
17
  });
18
18
  Object.defineProperty(exports, "findToolByName", {
19
19
  enumerable: true,
20
- get: function () { return NVWCOJWR_cjs.findToolByName; }
20
+ get: function () { return RYB7HXPO_cjs.findToolByName; }
21
21
  });
22
22
  Object.defineProperty(exports, "findToolsByType", {
23
23
  enumerable: true,
24
- get: function () { return NVWCOJWR_cjs.findToolsByType; }
24
+ get: function () { return RYB7HXPO_cjs.findToolsByType; }
25
25
  });
26
26
  Object.defineProperty(exports, "getToolDefaultVersion", {
27
27
  enumerable: true,
28
- get: function () { return NVWCOJWR_cjs.getToolDefaultVersion; }
28
+ get: function () { return RYB7HXPO_cjs.getToolDefaultVersion; }
29
29
  });
30
30
  Object.defineProperty(exports, "getToolSupportedVersions", {
31
31
  enumerable: true,
32
- get: function () { return NVWCOJWR_cjs.getToolSupportedVersions; }
32
+ get: function () { return RYB7HXPO_cjs.getToolSupportedVersions; }
33
33
  });
34
34
  Object.defineProperty(exports, "getToolType", {
35
35
  enumerable: true,
36
- get: function () { return NVWCOJWR_cjs.getToolType; }
36
+ get: function () { return RYB7HXPO_cjs.getToolType; }
37
37
  });
38
38
  //# sourceMappingURL=finder-utils.cjs.map
39
39
  //# sourceMappingURL=finder-utils.cjs.map
@@ -23,7 +23,7 @@ export declare function findDefaultCombination(matrix: ToolVersionMatrix): Versi
23
23
  /**
24
24
  * Get default version for a specific tool from version matrix
25
25
  */
26
- export declare function getToolDefaultVersion(toolName: string): string;
26
+ export declare function getToolDefaultVersion(toolName: string): string | null;
27
27
  /**
28
28
  * Get supported versions for a specific tool from version matrix
29
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"finder-utils.d.ts","sourceRoot":"","sources":["../../src/utils/finder-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEtF;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAEjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,CAEtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAGlE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,iBAAiB,GAAG,SAAS,CAE9E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,CAapF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAkB9D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBnE"}
1
+ {"version":3,"file":"finder-utils.d.ts","sourceRoot":"","sources":["../../src/utils/finder-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEtF;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAEjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,CAEtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAGlE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,iBAAiB,GAAG,SAAS,CAE9E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,CAapF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmBrE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBnE"}
@@ -1,6 +1,6 @@
1
- export { findDefaultCombination, findMatrixByType, findToolByName, findToolsByType, getToolDefaultVersion, getToolSupportedVersions, getToolType } from '../SW6HQVVH.js';
2
- import '../YTUEW27V.js';
1
+ export { findDefaultCombination, findMatrixByType, findToolByName, findToolsByType, getToolDefaultVersion, getToolSupportedVersions, getToolType } from '../CRLXMIJF.js';
3
2
  import '../BA2LAHMY.js';
3
+ import '../5KA4B3WL.js';
4
4
  import '../VUOMXK5T.js';
5
5
  //# sourceMappingURL=finder-utils.js.map
6
6
  //# sourceMappingURL=finder-utils.js.map
@@ -1,55 +1,55 @@
1
1
  'use strict';
2
2
 
3
- var NVWCOJWR_cjs = require('../NVWCOJWR.cjs');
4
- require('../QSKQ7BQT.cjs');
3
+ var RYB7HXPO_cjs = require('../RYB7HXPO.cjs');
5
4
  require('../3EOFF6NK.cjs');
5
+ require('../7S3N6ZPY.cjs');
6
6
  require('../NX4KBEWA.cjs');
7
7
 
8
8
 
9
9
 
10
10
  Object.defineProperty(exports, "findDefaultCombination", {
11
11
  enumerable: true,
12
- get: function () { return NVWCOJWR_cjs.findDefaultCombination; }
12
+ get: function () { return RYB7HXPO_cjs.findDefaultCombination; }
13
13
  });
14
14
  Object.defineProperty(exports, "findMatrixByType", {
15
15
  enumerable: true,
16
- get: function () { return NVWCOJWR_cjs.findMatrixByType; }
16
+ get: function () { return RYB7HXPO_cjs.findMatrixByType; }
17
17
  });
18
18
  Object.defineProperty(exports, "findSemVersionFromString", {
19
19
  enumerable: true,
20
- get: function () { return NVWCOJWR_cjs.findSemVersionFromString; }
20
+ get: function () { return RYB7HXPO_cjs.findSemVersionFromString; }
21
21
  });
22
22
  Object.defineProperty(exports, "findToolByName", {
23
23
  enumerable: true,
24
- get: function () { return NVWCOJWR_cjs.findToolByName; }
24
+ get: function () { return RYB7HXPO_cjs.findToolByName; }
25
25
  });
26
26
  Object.defineProperty(exports, "findToolsByType", {
27
27
  enumerable: true,
28
- get: function () { return NVWCOJWR_cjs.findToolsByType; }
28
+ get: function () { return RYB7HXPO_cjs.findToolsByType; }
29
29
  });
30
30
  Object.defineProperty(exports, "getToolDefaultVersion", {
31
31
  enumerable: true,
32
- get: function () { return NVWCOJWR_cjs.getToolDefaultVersion; }
32
+ get: function () { return RYB7HXPO_cjs.getToolDefaultVersion; }
33
33
  });
34
34
  Object.defineProperty(exports, "getToolSupportedVersions", {
35
35
  enumerable: true,
36
- get: function () { return NVWCOJWR_cjs.getToolSupportedVersions; }
36
+ get: function () { return RYB7HXPO_cjs.getToolSupportedVersions; }
37
37
  });
38
38
  Object.defineProperty(exports, "getToolType", {
39
39
  enumerable: true,
40
- get: function () { return NVWCOJWR_cjs.getToolType; }
40
+ get: function () { return RYB7HXPO_cjs.getToolType; }
41
41
  });
42
42
  Object.defineProperty(exports, "parseAnchorTomlVersion", {
43
43
  enumerable: true,
44
- get: function () { return NVWCOJWR_cjs.parseAnchorTomlVersion; }
44
+ get: function () { return RYB7HXPO_cjs.parseAnchorTomlVersion; }
45
45
  });
46
46
  Object.defineProperty(exports, "validateToolVersion", {
47
47
  enumerable: true,
48
- get: function () { return NVWCOJWR_cjs.validateToolVersion; }
48
+ get: function () { return RYB7HXPO_cjs.validateToolVersion; }
49
49
  });
50
50
  Object.defineProperty(exports, "versionsSatisfied", {
51
51
  enumerable: true,
52
- get: function () { return NVWCOJWR_cjs.versionsSatisfied; }
52
+ get: function () { return RYB7HXPO_cjs.versionsSatisfied; }
53
53
  });
54
54
  //# sourceMappingURL=index.cjs.map
55
55
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
- export { findDefaultCombination, findMatrixByType, findSemVersionFromString, findToolByName, findToolsByType, getToolDefaultVersion, getToolSupportedVersions, getToolType, parseAnchorTomlVersion, validateToolVersion, versionsSatisfied } from '../SW6HQVVH.js';
2
- import '../YTUEW27V.js';
1
+ export { findDefaultCombination, findMatrixByType, findSemVersionFromString, findToolByName, findToolsByType, getToolDefaultVersion, getToolSupportedVersions, getToolType, parseAnchorTomlVersion, validateToolVersion, versionsSatisfied } from '../CRLXMIJF.js';
3
2
  import '../BA2LAHMY.js';
3
+ import '../5KA4B3WL.js';
4
4
  import '../VUOMXK5T.js';
5
5
  //# sourceMappingURL=index.js.map
6
6
  //# sourceMappingURL=index.js.map
@@ -1,27 +1,27 @@
1
1
  'use strict';
2
2
 
3
- var NVWCOJWR_cjs = require('../NVWCOJWR.cjs');
4
- require('../QSKQ7BQT.cjs');
3
+ var RYB7HXPO_cjs = require('../RYB7HXPO.cjs');
5
4
  require('../3EOFF6NK.cjs');
5
+ require('../7S3N6ZPY.cjs');
6
6
  require('../NX4KBEWA.cjs');
7
7
 
8
8
 
9
9
 
10
10
  Object.defineProperty(exports, "findSemVersionFromString", {
11
11
  enumerable: true,
12
- get: function () { return NVWCOJWR_cjs.findSemVersionFromString; }
12
+ get: function () { return RYB7HXPO_cjs.findSemVersionFromString; }
13
13
  });
14
14
  Object.defineProperty(exports, "parseAnchorTomlVersion", {
15
15
  enumerable: true,
16
- get: function () { return NVWCOJWR_cjs.parseAnchorTomlVersion; }
16
+ get: function () { return RYB7HXPO_cjs.parseAnchorTomlVersion; }
17
17
  });
18
18
  Object.defineProperty(exports, "validateToolVersion", {
19
19
  enumerable: true,
20
- get: function () { return NVWCOJWR_cjs.validateToolVersion; }
20
+ get: function () { return RYB7HXPO_cjs.validateToolVersion; }
21
21
  });
22
22
  Object.defineProperty(exports, "versionsSatisfied", {
23
23
  enumerable: true,
24
- get: function () { return NVWCOJWR_cjs.versionsSatisfied; }
24
+ get: function () { return RYB7HXPO_cjs.versionsSatisfied; }
25
25
  });
26
26
  //# sourceMappingURL=version-utils.cjs.map
27
27
  //# sourceMappingURL=version-utils.cjs.map
@@ -1,6 +1,6 @@
1
- export { findSemVersionFromString, parseAnchorTomlVersion, validateToolVersion, versionsSatisfied } from '../SW6HQVVH.js';
2
- import '../YTUEW27V.js';
1
+ export { findSemVersionFromString, parseAnchorTomlVersion, validateToolVersion, versionsSatisfied } from '../CRLXMIJF.js';
3
2
  import '../BA2LAHMY.js';
3
+ import '../5KA4B3WL.js';
4
4
  import '../VUOMXK5T.js';
5
5
  //# sourceMappingURL=version-utils.js.map
6
6
  //# sourceMappingURL=version-utils.js.map
package/package.json CHANGED
@@ -24,7 +24,7 @@
24
24
  "dotenv": "16.4.5",
25
25
  "semver": "^7.5.4",
26
26
  "zx": "^8.1.3",
27
- "@layerzerolabs/common-node-utils": "0.0.43"
27
+ "@layerzerolabs/common-node-utils": "0.0.44"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@aws-sdk/client-ecr": "3.879.0",
@@ -36,18 +36,18 @@
36
36
  "tsup": "^8.4.0",
37
37
  "tsx": "^4.19.3",
38
38
  "typescript": "^5.8.2",
39
- "@layerzerolabs/tsup-configuration": "0.0.43",
40
- "@layerzerolabs/typescript-configuration": "0.0.43"
39
+ "@layerzerolabs/typescript-configuration": "0.0.44",
40
+ "@layerzerolabs/tsup-configuration": "0.0.44"
41
41
  },
42
42
  "publishConfig": {
43
43
  "access": "restricted",
44
44
  "registry": "https://registry.npmjs.org/"
45
45
  },
46
- "version": "0.0.43",
46
+ "version": "0.0.44",
47
47
  "scripts": {
48
48
  "prebuild": "chmod +x bin/lz-tool.cjs || true",
49
49
  "build": "tsup",
50
- "checkdeps": "pnpm --filter @layerzerolabs/depcheck run depcheck validate --catalog --missing-dependencies --only $npm_package_name",
50
+ "checkdeps": "pnpm --filter @layerzerolabs/depcheck run depcheck validate --catalog --missing-dependencies --ignore-patterns 'docker/**' --only $npm_package_name",
51
51
  "clean": "rm -rf ./node_modules .turbo ./dist",
52
52
  "dev": "tsup --watch",
53
53
  "generate-github-matrix": "tsx src/scripts/generate-github-matrix.ts",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/version-resolver.ts"],"names":["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":"LWFEVAEC.js","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 {\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 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/utils/version-utils.ts","../src/config/tools.ts","../src/config/index.ts","../src/utils/finder-utils.ts"],"names":["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","entryPoint","defaultVolumes","parseVersionCliVersionOutput","output","console","log","versionCliArguments","privileged","getSecondaryVersionCheckValue","__name","AWS_ACCOUNT_ID","AWS_REGION","findToolByName","find","tool","findToolsByType","filter","getToolType","findMatrixByType","versionMatrices","matrix","findDefaultCombination","recommended","combinations","combo","isRecommended","getToolDefaultVersion","defaultCombination","defaultVersion","versions","Set","combination","add","Array","from","sort"],"mappings":"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","file":"NVWCOJWR.cjs","sourcesContent":["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","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: 'lz-tooling-cargo-cache',\n },\n {\n type: 'isolate',\n containerPath: '/usr/local/rustup',\n name: 'lz-tooling-rustup-cache',\n },\n {\n type: 'isolate',\n containerPath: '/var/lib/docker',\n name: 'lz-tooling-docker-cache',\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 entryPoint: '/usr/local/lib/node_modules/hardhat/internal/cli/bootstrap.js',\n defaultVolumes: [],\n parseVersionCliVersionOutput: (output: string): Version => {\n console.log('output', output);\n // TODO: parse the output\n return { version: '2.19.3' };\n },\n versionCliArguments: ['--version'],\n },\n {\n name: 'anchor',\n toolType: 'solana',\n fromImage: 'solana-anchor',\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-anchor',\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: 'lz-tooling-aptos-cache',\n },\n ],\n versionCliArguments: ['--version'],\n },\n {\n name: 'initiad',\n toolType: 'initia',\n fromImage: 'initia',\n entryPoint: 'initiad', // Explicitly set the same as name for clarity\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'lz-tooling-initia-cache',\n },\n ],\n versionCliArguments: ['--version'],\n },\n {\n name: 'blueprint',\n toolType: 'ton',\n fromImage: 'ton',\n defaultVolumes: [],\n },\n {\n name: 'scarb',\n toolType: 'starknet',\n fromImage: 'starknet',\n defaultVolumes: [],\n },\n {\n name: 'sui',\n toolType: 'sui',\n fromImage: 'sui',\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'lz-tooling-sui-cache',\n },\n ],\n versionCliArguments: ['--version'],\n },\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 { 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 {\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 == null || defaultVersion.length === 0) {\n throw new Error(`No default version found for tool '${toolName}' in matrix`);\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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/config/version-matrices.ts"],"names":["versionMatrices","toolType","combinations","id","versions","hardhat","isRecommended","solana","anchor","description","aptos","initiad","blueprint","scarb","patch","sui"],"mappings":";;;AAMO,IAAMA,eAAAA,GAAuC;AAChD,EAAA;IACIC,QAAAA,EAAU,KAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,oBAAA;QACJC,QAAAA,EAAU;UAAEC,OAAAA,EAAS;AAAS,SAAA;QAC9BC,aAAAA,EAAe;AACnB;;AAER,GAAA;AACA,EAAA;IACIL,QAAAA,EAAU,QAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,8BAAA;QACJC,QAAAA,EAAU;UAAEG,MAAAA,EAAQ,SAAA;UAAWC,MAAAA,EAAQ;AAAS,SAAA;QAChDF,aAAAA,EAAe,IAAA;QACfG,WAAAA,EAAa;AACjB,OAAA;AACA,MAAA;QACIN,EAAAA,EAAI,8BAAA;QACJC,QAAAA,EAAU;UAAEG,MAAAA,EAAQ,SAAA;UAAWC,MAAAA,EAAQ;AAAS;AACpD,OAAA;AACA,MAAA;QACIL,EAAAA,EAAI,8BAAA;QACJC,QAAAA,EAAU;UAAEG,MAAAA,EAAQ,SAAA;UAAWC,MAAAA,EAAQ;AAAS,SAAA;QAChDC,WAAAA,EAAa;AACjB;;AAER,GAAA;AACA,EAAA;IACIR,QAAAA,EAAU,OAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,aAAA;QACJC,QAAAA,EAAU;UAAEM,KAAAA,EAAO;AAAQ,SAAA;QAC3BJ,aAAAA,EAAe;AACnB;;AAOR,GAAA;AACA,EAAA;IACIL,QAAAA,EAAU,QAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,cAAA;QACJC,QAAAA,EAAU;UAAEO,OAAAA,EAAS;AAAQ,SAAA;QAC7BL,aAAAA,EAAe;AACnB;;AAER,GAAA;AACA,EAAA;IACIL,QAAAA,EAAU,KAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,mBAAA;QACJC,QAAAA,EAAU;UAAEQ,SAAAA,EAAW;AAAgB,SAAA;QACvCN,aAAAA,EAAe;AACnB;;AAER,GAAA;AACA,EAAA;IACIL,QAAAA,EAAU,UAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,cAAA;QACJC,QAAAA,EAAU;UAAES,KAAAA,EAAO,QAAA;UAAUC,KAAAA,EAAO;AAAI,SAAA;QACxCR,aAAAA,EAAe;AACnB;;AAER,GAAA;AACA,EAAA;IACIL,QAAAA,EAAU,KAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,YAAA;QACJC,QAAAA,EAAU;UAAEW,GAAAA,EAAK;AAAgB,SAAA;QACjCT,aAAAA,EAAe;AACnB;;AAER","file":"QSKQ7BQT.cjs","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 id: 'evm_hardhat_2.19.3',\n versions: { hardhat: '2.19.3' },\n isRecommended: true,\n },\n ],\n },\n {\n toolType: 'solana',\n combinations: [\n {\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_1.18.16_anchor_0.30.0',\n versions: { solana: '1.18.16', anchor: '0.30.0' },\n },\n {\n id: 'solana_1.18.16_anchor_0.31.0',\n versions: { solana: '1.18.16', anchor: '0.31.0' },\n description: 'Latest stable release',\n },\n ],\n },\n {\n toolType: 'aptos',\n combinations: [\n {\n id: 'aptos_4.6.0',\n versions: { aptos: '4.6.0' },\n isRecommended: true,\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 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 id: 'ton_0.25.0-beta.1',\n versions: { blueprint: '0.25.0-beta.1' },\n isRecommended: true,\n },\n ],\n },\n {\n toolType: 'starknet',\n combinations: [\n {\n id: 'scarb_2.12.0',\n versions: { scarb: '2.12.0', patch: '1' },\n isRecommended: true,\n },\n ],\n },\n {\n toolType: 'sui',\n combinations: [\n {\n id: 'sui_1.54.1',\n versions: { sui: '1.54.1-beta.0' },\n isRecommended: true,\n },\n ],\n },\n];\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/utils/version-utils.ts","../src/config/tools.ts","../src/config/index.ts","../src/utils/finder-utils.ts"],"names":["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","entryPoint","defaultVolumes","parseVersionCliVersionOutput","output","console","log","versionCliArguments","privileged","getSecondaryVersionCheckValue","AWS_ACCOUNT_ID","AWS_REGION","findToolByName","find","tool","findToolsByType","filter","getToolType","findMatrixByType","versionMatrices","matrix","findDefaultCombination","recommended","combinations","combo","isRecommended","getToolDefaultVersion","defaultCombination","defaultVersion","versions","Set","combination","add","Array","from","sort"],"mappings":"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","file":"SW6HQVVH.js","sourcesContent":["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","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: 'lz-tooling-cargo-cache',\n },\n {\n type: 'isolate',\n containerPath: '/usr/local/rustup',\n name: 'lz-tooling-rustup-cache',\n },\n {\n type: 'isolate',\n containerPath: '/var/lib/docker',\n name: 'lz-tooling-docker-cache',\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 entryPoint: '/usr/local/lib/node_modules/hardhat/internal/cli/bootstrap.js',\n defaultVolumes: [],\n parseVersionCliVersionOutput: (output: string): Version => {\n console.log('output', output);\n // TODO: parse the output\n return { version: '2.19.3' };\n },\n versionCliArguments: ['--version'],\n },\n {\n name: 'anchor',\n toolType: 'solana',\n fromImage: 'solana-anchor',\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-anchor',\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: 'lz-tooling-aptos-cache',\n },\n ],\n versionCliArguments: ['--version'],\n },\n {\n name: 'initiad',\n toolType: 'initia',\n fromImage: 'initia',\n entryPoint: 'initiad', // Explicitly set the same as name for clarity\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'lz-tooling-initia-cache',\n },\n ],\n versionCliArguments: ['--version'],\n },\n {\n name: 'blueprint',\n toolType: 'ton',\n fromImage: 'ton',\n defaultVolumes: [],\n },\n {\n name: 'scarb',\n toolType: 'starknet',\n fromImage: 'starknet',\n defaultVolumes: [],\n },\n {\n name: 'sui',\n toolType: 'sui',\n fromImage: 'sui',\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'lz-tooling-sui-cache',\n },\n ],\n versionCliArguments: ['--version'],\n },\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 { 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 {\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 == null || defaultVersion.length === 0) {\n throw new Error(`No default version found for tool '${toolName}' in matrix`);\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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/version-resolver.ts"],"names":["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":"XKCPVHEI.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 {\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 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/config/version-matrices.ts"],"names":["versionMatrices","toolType","combinations","id","versions","hardhat","isRecommended","solana","anchor","description","aptos","initiad","blueprint","scarb","patch","sui"],"mappings":";AAMO,IAAMA,eAAAA,GAAuC;AAChD,EAAA;IACIC,QAAAA,EAAU,KAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,oBAAA;QACJC,QAAAA,EAAU;UAAEC,OAAAA,EAAS;AAAS,SAAA;QAC9BC,aAAAA,EAAe;AACnB;;AAER,GAAA;AACA,EAAA;IACIL,QAAAA,EAAU,QAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,8BAAA;QACJC,QAAAA,EAAU;UAAEG,MAAAA,EAAQ,SAAA;UAAWC,MAAAA,EAAQ;AAAS,SAAA;QAChDF,aAAAA,EAAe,IAAA;QACfG,WAAAA,EAAa;AACjB,OAAA;AACA,MAAA;QACIN,EAAAA,EAAI,8BAAA;QACJC,QAAAA,EAAU;UAAEG,MAAAA,EAAQ,SAAA;UAAWC,MAAAA,EAAQ;AAAS;AACpD,OAAA;AACA,MAAA;QACIL,EAAAA,EAAI,8BAAA;QACJC,QAAAA,EAAU;UAAEG,MAAAA,EAAQ,SAAA;UAAWC,MAAAA,EAAQ;AAAS,SAAA;QAChDC,WAAAA,EAAa;AACjB;;AAER,GAAA;AACA,EAAA;IACIR,QAAAA,EAAU,OAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,aAAA;QACJC,QAAAA,EAAU;UAAEM,KAAAA,EAAO;AAAQ,SAAA;QAC3BJ,aAAAA,EAAe;AACnB;;AAOR,GAAA;AACA,EAAA;IACIL,QAAAA,EAAU,QAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,cAAA;QACJC,QAAAA,EAAU;UAAEO,OAAAA,EAAS;AAAQ,SAAA;QAC7BL,aAAAA,EAAe;AACnB;;AAER,GAAA;AACA,EAAA;IACIL,QAAAA,EAAU,KAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,mBAAA;QACJC,QAAAA,EAAU;UAAEQ,SAAAA,EAAW;AAAgB,SAAA;QACvCN,aAAAA,EAAe;AACnB;;AAER,GAAA;AACA,EAAA;IACIL,QAAAA,EAAU,UAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,cAAA;QACJC,QAAAA,EAAU;UAAES,KAAAA,EAAO,QAAA;UAAUC,KAAAA,EAAO;AAAI,SAAA;QACxCR,aAAAA,EAAe;AACnB;;AAER,GAAA;AACA,EAAA;IACIL,QAAAA,EAAU,KAAA;IACVC,YAAAA,EAAc;AACV,MAAA;QACIC,EAAAA,EAAI,YAAA;QACJC,QAAAA,EAAU;UAAEW,GAAAA,EAAK;AAAgB,SAAA;QACjCT,aAAAA,EAAe;AACnB;;AAER","file":"YTUEW27V.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 id: 'evm_hardhat_2.19.3',\n versions: { hardhat: '2.19.3' },\n isRecommended: true,\n },\n ],\n },\n {\n toolType: 'solana',\n combinations: [\n {\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_1.18.16_anchor_0.30.0',\n versions: { solana: '1.18.16', anchor: '0.30.0' },\n },\n {\n id: 'solana_1.18.16_anchor_0.31.0',\n versions: { solana: '1.18.16', anchor: '0.31.0' },\n description: 'Latest stable release',\n },\n ],\n },\n {\n toolType: 'aptos',\n combinations: [\n {\n id: 'aptos_4.6.0',\n versions: { aptos: '4.6.0' },\n isRecommended: true,\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 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 id: 'ton_0.25.0-beta.1',\n versions: { blueprint: '0.25.0-beta.1' },\n isRecommended: true,\n },\n ],\n },\n {\n toolType: 'starknet',\n combinations: [\n {\n id: 'scarb_2.12.0',\n versions: { scarb: '2.12.0', patch: '1' },\n isRecommended: true,\n },\n ],\n },\n {\n toolType: 'sui',\n combinations: [\n {\n id: 'sui_1.54.1',\n versions: { sui: '1.54.1-beta.0' },\n isRecommended: true,\n },\n ],\n },\n];\n"]}