@layerzerolabs/vm-tooling 0.0.59 → 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.
- package/bin/lz-tool.js +3 -0
- package/dist/{TO3FUAEA.js → 2X4NOJJL.js} +6 -6
- package/dist/{TO3FUAEA.js.map → 2X4NOJJL.js.map} +1 -1
- package/dist/{PDSRUQEX.js → 3PEVFTZ5.js} +3 -3
- package/dist/3PEVFTZ5.js.map +1 -0
- package/dist/{VYFY2754.cjs → 4EYI4PYN.cjs} +135 -135
- package/dist/{VYFY2754.cjs.map → 4EYI4PYN.cjs.map} +1 -1
- package/dist/{IMNIF2OY.js → 4Q36MQI5.js} +3 -3
- package/dist/{IMNIF2OY.js.map → 4Q36MQI5.js.map} +1 -1
- package/dist/{JJXZWB7K.cjs → 64SMUTQJ.cjs} +4 -4
- package/dist/64SMUTQJ.cjs.map +1 -0
- package/dist/{H5GMZAIP.cjs → 6SVY3NVF.cjs} +21 -25
- package/dist/6SVY3NVF.cjs.map +1 -0
- package/dist/{YYBFDJRD.js → 72W2AKIC.js} +3 -3
- package/dist/{YYBFDJRD.js.map → 72W2AKIC.js.map} +1 -1
- package/dist/{7DH3URRX.js → 7BFNUKIW.js} +2 -2
- package/dist/7BFNUKIW.js.map +1 -0
- package/dist/{7G26DPK3.js → 7R7EZF6Z.js} +4 -4
- package/dist/{7G26DPK3.js.map → 7R7EZF6Z.js.map} +1 -1
- package/dist/{NSZHKDNY.cjs → ABGH4Z56.cjs} +3 -3
- package/dist/ABGH4Z56.cjs.map +1 -0
- package/dist/{CH3GQSOI.js → BI33BCZD.js} +3 -3
- package/dist/{CH3GQSOI.js.map → BI33BCZD.js.map} +1 -1
- package/dist/{TYZZ6CWY.js → BPGURM6D.js} +109 -85
- package/dist/BPGURM6D.js.map +1 -0
- package/dist/{L7FV6P64.js → CL6CDQMJ.js} +22 -32
- package/dist/CL6CDQMJ.js.map +1 -0
- package/dist/{RRJYWXRS.cjs → DK5YZCTB.cjs} +3 -3
- package/dist/{RRJYWXRS.cjs.map → DK5YZCTB.cjs.map} +1 -1
- package/dist/{Z7BVBO5K.cjs → F2ZPATQF.cjs} +5 -5
- package/dist/{Z7BVBO5K.cjs.map → F2ZPATQF.cjs.map} +1 -1
- package/dist/F46O4OAT.js +188 -0
- package/dist/F46O4OAT.js.map +1 -0
- package/dist/{HHS2B7YE.cjs → FUZCR6WN.cjs} +3 -3
- package/dist/{HHS2B7YE.cjs.map → FUZCR6WN.cjs.map} +1 -1
- package/dist/HI4NXK4T.cjs +127 -0
- package/dist/HI4NXK4T.cjs.map +1 -0
- package/dist/{PYQO5EUZ.cjs → IQXSRATS.cjs} +8 -8
- package/dist/{PYQO5EUZ.cjs.map → IQXSRATS.cjs.map} +1 -1
- package/dist/IWNVWC3I.js +9 -0
- package/dist/IWNVWC3I.js.map +1 -0
- package/dist/{4LRYG53T.js → IZVZ5TRG.js} +5 -5
- package/dist/{4LRYG53T.js.map → IZVZ5TRG.js.map} +1 -1
- package/dist/JGA7AJCX.js +125 -0
- package/dist/JGA7AJCX.js.map +1 -0
- package/dist/{DW3OZE6F.cjs → JWQN2QGP.cjs} +88 -88
- package/dist/{DW3OZE6F.cjs.map → JWQN2QGP.cjs.map} +1 -1
- package/dist/{2ASNEWIN.cjs → KS44PBXU.cjs} +31 -31
- package/dist/{2ASNEWIN.cjs.map → KS44PBXU.cjs.map} +1 -1
- package/dist/{4KPRGHDI.cjs → L5ENV2DK.cjs} +6 -6
- package/dist/{4KPRGHDI.cjs.map → L5ENV2DK.cjs.map} +1 -1
- package/dist/LJR3ILZB.cjs +196 -0
- package/dist/LJR3ILZB.cjs.map +1 -0
- package/dist/{EE3HP6UB.cjs → LUO6HP3P.cjs} +5 -5
- package/dist/{EE3HP6UB.cjs.map → LUO6HP3P.cjs.map} +1 -1
- package/dist/{NTYIDZH3.js → M5C4OTHX.js} +8 -8
- package/dist/{NTYIDZH3.js.map → M5C4OTHX.js.map} +1 -1
- package/dist/{L34TQNQN.cjs → M6YAIP2X.cjs} +4 -4
- package/dist/{L34TQNQN.cjs.map → M6YAIP2X.cjs.map} +1 -1
- package/dist/{Q4F544X2.cjs → NNE5MIRH.cjs} +96 -96
- package/dist/{Q4F544X2.cjs.map → NNE5MIRH.cjs.map} +1 -1
- package/dist/{2I5OW7DK.js → NUB3VR3D.js} +13 -17
- package/dist/NUB3VR3D.js.map +1 -0
- package/dist/{UL4OVG5P.js → OGU6CONG.js} +7 -7
- package/dist/{UL4OVG5P.js.map → OGU6CONG.js.map} +1 -1
- package/dist/{K7XFIMAS.cjs → OSR73KYW.cjs} +26 -36
- package/dist/OSR73KYW.cjs.map +1 -0
- package/dist/PSSBUABA.cjs +22 -0
- package/dist/PSSBUABA.cjs.map +1 -0
- package/dist/{HR64SZQX.js → PWDCAN6N.js} +4 -4
- package/dist/PWDCAN6N.js.map +1 -0
- package/dist/TC7EHVC2.cjs +11 -0
- package/dist/TC7EHVC2.cjs.map +1 -0
- package/dist/{IE5H7TSX.js → TNPXNMQM.js} +3 -3
- package/dist/{IE5H7TSX.js.map → TNPXNMQM.js.map} +1 -1
- package/dist/{VAAP26JC.js → W3N4CNDW.js} +6 -6
- package/dist/{VAAP26JC.js.map → W3N4CNDW.js.map} +1 -1
- package/dist/{PRVB7VA2.cjs → XOQZ3G2K.cjs} +118 -88
- package/dist/XOQZ3G2K.cjs.map +1 -0
- package/dist/{7PP2QA5H.cjs → YI6EL3AH.cjs} +2 -2
- package/dist/YI6EL3AH.cjs.map +1 -0
- package/dist/{CNLWPLWD.js → ZGTCJSBO.js} +4 -4
- package/dist/{CNLWPLWD.js.map → ZGTCJSBO.js.map} +1 -1
- package/dist/ZV7VZVS6.js +20 -0
- package/dist/ZV7VZVS6.js.map +1 -0
- package/dist/config/index.cjs +14 -7
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +2 -3
- package/dist/config/tools.cjs +3 -4
- package/dist/config/tools.d.ts.map +1 -1
- package/dist/config/tools.js +2 -3
- package/dist/config/version-matrices.cjs +2 -2
- package/dist/config/version-matrices.d.ts +3 -2
- package/dist/config/version-matrices.d.ts.map +1 -1
- package/dist/config/version-matrices.js +1 -1
- package/dist/core/compatibility.cjs +2 -2
- package/dist/core/compatibility.d.ts +2 -2
- package/dist/core/compatibility.d.ts.map +1 -1
- package/dist/core/compatibility.js +1 -1
- package/dist/core/index.cjs +12 -12
- package/dist/core/index.js +7 -7
- package/dist/core/lock.cjs +4 -4
- package/dist/core/lock.js +1 -1
- package/dist/core/lock.test.cjs +6 -6
- package/dist/core/lock.test.js +1 -1
- package/dist/core/tool-executor.cjs +8 -12
- package/dist/core/tool-executor.d.ts +1 -7
- package/dist/core/tool-executor.d.ts.map +1 -1
- package/dist/core/tool-executor.js +7 -7
- package/dist/core/version-resolver.cjs +7 -8
- package/dist/core/version-resolver.d.ts.map +1 -1
- package/dist/core/version-resolver.js +4 -5
- package/dist/display/formatters.cjs +4 -6
- package/dist/display/formatters.d.ts +0 -9
- package/dist/display/formatters.d.ts.map +1 -1
- package/dist/display/formatters.js +3 -1
- package/dist/display/index.cjs +8 -13
- package/dist/display/index.d.ts +1 -1
- package/dist/display/index.d.ts.map +1 -1
- package/dist/display/index.js +5 -6
- package/dist/display/version-display.cjs +6 -7
- package/dist/display/version-display.d.ts.map +1 -1
- package/dist/display/version-display.js +4 -5
- package/dist/index.cjs +38 -38
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -38
- package/dist/index.js.map +1 -1
- package/dist/scripts/generate-github-matrix.cjs +157 -165
- package/dist/scripts/generate-github-matrix.cjs.map +1 -1
- package/dist/scripts/generate-github-matrix.js +20 -28
- package/dist/scripts/generate-github-matrix.js.map +1 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/version.cjs.map +1 -1
- package/dist/types/version.d.ts +2 -12
- package/dist/types/version.d.ts.map +1 -1
- package/dist/types/version.js.map +1 -1
- package/dist/utils/docker.cjs +18 -0
- package/dist/utils/docker.cjs.map +1 -0
- package/dist/utils/docker.d.ts +4 -0
- package/dist/utils/docker.d.ts.map +1 -0
- package/dist/utils/docker.js +5 -0
- package/dist/utils/docker.js.map +1 -0
- package/dist/utils/error.cjs +13 -0
- package/dist/utils/error.cjs.map +1 -0
- package/dist/utils/error.d.ts +2 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +4 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/finder.cjs +46 -0
- package/dist/utils/{finder-utils.js.map → finder.cjs.map} +1 -1
- package/dist/utils/finder.d.ts +21 -0
- package/dist/utils/finder.d.ts.map +1 -0
- package/dist/utils/finder.js +5 -0
- package/dist/utils/{finder-utils.cjs.map → finder.js.map} +1 -1
- package/dist/utils/version.cjs +26 -0
- package/dist/utils/{version-utils.js.map → version.cjs.map} +1 -1
- package/dist/utils/{version-utils.d.ts → version.d.ts} +1 -1
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +5 -0
- package/dist/utils/{version-utils.cjs.map → version.js.map} +1 -1
- package/dist/utils.cjs +8 -3
- package/dist/utils.d.ts +2 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +2 -1
- package/package.json +9 -10
- package/bin/lz-tool.cjs +0 -18
- package/dist/2I5OW7DK.js.map +0 -1
- package/dist/3CLGGUZ6.js +0 -45
- package/dist/3CLGGUZ6.js.map +0 -1
- package/dist/435HEEZL.js +0 -169
- package/dist/435HEEZL.js.map +0 -1
- package/dist/5OKX3IYN.js +0 -45
- package/dist/5OKX3IYN.js.map +0 -1
- package/dist/5RAWDGJY.cjs +0 -53
- package/dist/5RAWDGJY.cjs.map +0 -1
- package/dist/7DH3URRX.js.map +0 -1
- package/dist/7LPKGDJK.cjs +0 -171
- package/dist/7LPKGDJK.cjs.map +0 -1
- package/dist/7PP2QA5H.cjs.map +0 -1
- package/dist/FLI6L2YX.cjs +0 -48
- package/dist/FLI6L2YX.cjs.map +0 -1
- package/dist/H5GMZAIP.cjs.map +0 -1
- package/dist/HNMWFWE6.cjs +0 -264
- package/dist/HNMWFWE6.cjs.map +0 -1
- package/dist/HR64SZQX.js.map +0 -1
- package/dist/JJXZWB7K.cjs.map +0 -1
- package/dist/K7XFIMAS.cjs.map +0 -1
- package/dist/L7FV6P64.js.map +0 -1
- package/dist/NSZHKDNY.cjs.map +0 -1
- package/dist/PDSRUQEX.js.map +0 -1
- package/dist/PRVB7VA2.cjs.map +0 -1
- package/dist/TYZZ6CWY.js.map +0 -1
- package/dist/VVYYMOE5.js +0 -255
- package/dist/VVYYMOE5.js.map +0 -1
- package/dist/utils/finder-utils.cjs +0 -51
- package/dist/utils/finder-utils.d.ts +0 -46
- package/dist/utils/finder-utils.d.ts.map +0 -1
- package/dist/utils/finder-utils.js +0 -6
- package/dist/utils/index.cjs +0 -56
- package/dist/utils/index.cjs.map +0 -1
- package/dist/utils/index.d.ts +0 -3
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -9
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/version-utils.cjs +0 -27
- package/dist/utils/version-utils.d.ts.map +0 -1
- package/dist/utils/version-utils.js +0 -6
package/dist/HNMWFWE6.cjs
DELETED
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var H5GMZAIP_cjs = require('./H5GMZAIP.cjs');
|
|
4
|
-
var PRVB7VA2_cjs = require('./PRVB7VA2.cjs');
|
|
5
|
-
var NSZHKDNY_cjs = require('./NSZHKDNY.cjs');
|
|
6
|
-
var VO65XOWD_cjs = require('./VO65XOWD.cjs');
|
|
7
|
-
var fs = require('fs');
|
|
8
|
-
var path = require('path');
|
|
9
|
-
var process = require('process');
|
|
10
|
-
var zx = require('zx');
|
|
11
|
-
var commonNodeUtils = require('@layerzerolabs/common-node-utils');
|
|
12
|
-
|
|
13
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
-
|
|
15
|
-
var fs__default = /*#__PURE__*/_interopDefault(fs);
|
|
16
|
-
var path__default = /*#__PURE__*/_interopDefault(path);
|
|
17
|
-
var process__default = /*#__PURE__*/_interopDefault(process);
|
|
18
|
-
|
|
19
|
-
// src/core/tool-executor.ts
|
|
20
|
-
VO65XOWD_cjs.init_cjs_shims();
|
|
21
|
-
zx.$.verbose = true;
|
|
22
|
-
zx.$.stdio = [
|
|
23
|
-
"inherit",
|
|
24
|
-
"pipe",
|
|
25
|
-
process__default.default.stderr
|
|
26
|
-
];
|
|
27
|
-
function mergeVolumes(defaultVolumes, userVolumes) {
|
|
28
|
-
const merged = [];
|
|
29
|
-
const userPaths = new Set(userVolumes.map((v) => v.containerPath));
|
|
30
|
-
merged.push(...userVolumes);
|
|
31
|
-
for (const defaultVolume of defaultVolumes) {
|
|
32
|
-
if (!userPaths.has(defaultVolume.containerPath)) {
|
|
33
|
-
merged.push(defaultVolume);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return merged;
|
|
37
|
-
}
|
|
38
|
-
VO65XOWD_cjs.__name(mergeVolumes, "mergeVolumes");
|
|
39
|
-
function getImageName(toolName, version) {
|
|
40
|
-
const repository = `${PRVB7VA2_cjs.AWS_ACCOUNT_ID}.dkr.ecr.${PRVB7VA2_cjs.AWS_REGION}.amazonaws.com/layerzerolabs`;
|
|
41
|
-
const matrix = PRVB7VA2_cjs.findMatrixForTool(toolName);
|
|
42
|
-
if (!matrix) {
|
|
43
|
-
throw new Error(`No version matrix found for tool ${toolName}`);
|
|
44
|
-
}
|
|
45
|
-
const imageName = PRVB7VA2_cjs.getDockerRepoName(toolName);
|
|
46
|
-
let foundCombination = null;
|
|
47
|
-
let foundPatch;
|
|
48
|
-
for (const combination of matrix.combinations) {
|
|
49
|
-
const toolVersion = combination.versions[toolName];
|
|
50
|
-
if (toolVersion === version) {
|
|
51
|
-
foundCombination = combination.versions;
|
|
52
|
-
foundPatch = combination.patch;
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
if (!foundCombination) {
|
|
57
|
-
throw new Error(`No version combination found for tool ${toolName} with version ${version}`);
|
|
58
|
-
}
|
|
59
|
-
const validVersions = {};
|
|
60
|
-
for (const [tool, toolVersion] of Object.entries(foundCombination)) {
|
|
61
|
-
if (typeof toolVersion === "string" && toolVersion.length > 0) {
|
|
62
|
-
validVersions[tool] = toolVersion;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const imageTag = getCombinationTag(validVersions, foundPatch);
|
|
66
|
-
const imageURI = `${repository}/${imageName}:${imageTag}`;
|
|
67
|
-
return {
|
|
68
|
-
imageURI,
|
|
69
|
-
imageTag
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
VO65XOWD_cjs.__name(getImageName, "getImageName");
|
|
73
|
-
function getCombinationTag(input, patch, separator = "_") {
|
|
74
|
-
return [
|
|
75
|
-
...Object.entries(input).filter(([_, value]) => value).sort().flat(),
|
|
76
|
-
...patch ? [
|
|
77
|
-
"patch",
|
|
78
|
-
patch
|
|
79
|
-
] : []
|
|
80
|
-
].join(separator);
|
|
81
|
-
}
|
|
82
|
-
VO65XOWD_cjs.__name(getCombinationTag, "getCombinationTag");
|
|
83
|
-
async function ensureDockerImage(imageURI, imageTag) {
|
|
84
|
-
try {
|
|
85
|
-
const checkResult = await zx.$`docker image ls ${imageURI}`.nothrow();
|
|
86
|
-
if (checkResult.stdout.includes(imageTag)) {
|
|
87
|
-
console.info(`\u2705 Using cached Docker image: ${imageURI}`);
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
console.info(`\u{1F4E5} Pulling Docker image from ECR: ${imageURI}`);
|
|
91
|
-
const pullResult = await zx.$`docker pull ${imageURI}`.nothrow();
|
|
92
|
-
if (pullResult.exitCode === 0) {
|
|
93
|
-
console.info(`\u2705 Successfully pulled: ${imageURI}`);
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
const localImageName = imageURI.split("/").pop()?.replace(/:.*$/, "") || "";
|
|
97
|
-
const localFallbackURI = `local-${localImageName}:latest`;
|
|
98
|
-
const localCheckResult = await zx.$`docker image ls ${localFallbackURI}`.nothrow();
|
|
99
|
-
if (localCheckResult.stdout.includes("local-")) {
|
|
100
|
-
console.info(`\u{1F3E0} ECR image not available, using local fallback: ${localFallbackURI}`);
|
|
101
|
-
await zx.$`docker tag ${localFallbackURI} ${imageURI}`;
|
|
102
|
-
console.info(`\u{1F3F7}\uFE0F Tagged local image as: ${imageURI}`);
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
throw new Error(`\u274C Docker image not available:
|
|
106
|
-
- ECR image: ${imageURI} (pull failed)
|
|
107
|
-
- Local fallback: ${localFallbackURI} (not found)
|
|
108
|
-
|
|
109
|
-
\u{1F4A1} Solutions:
|
|
110
|
-
1. Authenticate with ECR: aws ecr get-login-password --region ${PRVB7VA2_cjs.AWS_REGION} | docker login --username AWS --password-stdin ${PRVB7VA2_cjs.AWS_ACCOUNT_ID}.dkr.ecr.${PRVB7VA2_cjs.AWS_REGION}.amazonaws.com
|
|
111
|
-
2. Build local image: docker build -t ${localFallbackURI} <dockerfile-path>
|
|
112
|
-
3. Check if the image tag exists in ECR`);
|
|
113
|
-
} catch (error) {
|
|
114
|
-
if (error instanceof Error && error.message.includes("\u274C Docker image not available")) {
|
|
115
|
-
throw error;
|
|
116
|
-
}
|
|
117
|
-
throw new Error(`Failed to ensure Docker image ${imageURI}: ${error instanceof Error ? error.message : String(error)}`);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
VO65XOWD_cjs.__name(ensureDockerImage, "ensureDockerImage");
|
|
121
|
-
async function executeToolCommand(command, args, options) {
|
|
122
|
-
const { cwd, volumes: userVolumes, customEntrypoint: entrypoint, env: customEnvVars, script } = options;
|
|
123
|
-
const tool = PRVB7VA2_cjs.findToolByName(command);
|
|
124
|
-
const type = PRVB7VA2_cjs.getChainType(command);
|
|
125
|
-
if (!tool || type === void 0) {
|
|
126
|
-
const { tools } = await import('./config/index.cjs');
|
|
127
|
-
const availableTools = tools.map((t) => t.name).join(", ");
|
|
128
|
-
throw new Error(`\u274C Tool '${command}' not found or no type configuration available.
|
|
129
|
-
Available tools: ${availableTools}
|
|
130
|
-
Try: lz-tool --list-versions to see all available tools`);
|
|
131
|
-
}
|
|
132
|
-
const defaultVolumes = tool.defaultVolumes ?? [];
|
|
133
|
-
const volumes = mergeVolumes(defaultVolumes, userVolumes);
|
|
134
|
-
if (defaultVolumes.length > 0) {
|
|
135
|
-
console.info(`\u{1F4E6} Using ${defaultVolumes.length} default cache volume(s) for ${command}`);
|
|
136
|
-
if (userVolumes.length > 0) {
|
|
137
|
-
const overrides = userVolumes.filter((uv) => defaultVolumes.some((dv) => dv.containerPath === uv.containerPath));
|
|
138
|
-
if (overrides.length > 0) {
|
|
139
|
-
console.info(`\u{1F527} User volumes override ${overrides.length} default volume(s)`);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
const userSpecifiedVersions = H5GMZAIP_cjs.extractUserVersions(options);
|
|
144
|
-
const versionResult = H5GMZAIP_cjs.resolveTypeVersions(type, userSpecifiedVersions, options, cwd);
|
|
145
|
-
versionResult.warnings.forEach((warning) => {
|
|
146
|
-
console.warn(warning);
|
|
147
|
-
});
|
|
148
|
-
const resolvedVersion = versionResult.resolvedVersions[command];
|
|
149
|
-
if (typeof resolvedVersion !== "string" || resolvedVersion === "") {
|
|
150
|
-
throw new Error(`No version resolved for tool ${command}`);
|
|
151
|
-
}
|
|
152
|
-
console.info(`\u{1F527} ${command} version: ${resolvedVersion}`);
|
|
153
|
-
if (tool.getSecondaryVersionCheckValue) {
|
|
154
|
-
try {
|
|
155
|
-
const secondaryVersion = tool.getSecondaryVersionCheckValue({
|
|
156
|
-
cwd
|
|
157
|
-
});
|
|
158
|
-
const resolvedVersionObj = {
|
|
159
|
-
version: resolvedVersion
|
|
160
|
-
};
|
|
161
|
-
if (!PRVB7VA2_cjs.versionsSatisfied(secondaryVersion, resolvedVersionObj)) {
|
|
162
|
-
console.warn(`Warning: Local configuration version (${secondaryVersion.version}) differs from resolved version (${resolvedVersion})`);
|
|
163
|
-
}
|
|
164
|
-
} catch (error) {
|
|
165
|
-
console.warn(`Could not validate secondary version: ${error instanceof Error ? error.message : String(error)}`);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
let processOutput;
|
|
169
|
-
{
|
|
170
|
-
const { imageTag, imageURI } = getImageName(tool.name, resolvedVersion);
|
|
171
|
-
const workspaceRoot = await commonNodeUtils.getFullyQualifiedRepoRootPath();
|
|
172
|
-
const relPath = path__default.default.relative(workspaceRoot, cwd);
|
|
173
|
-
const privileged = tool.privileged ?? false;
|
|
174
|
-
await ensureDockerImage(imageURI, imageTag);
|
|
175
|
-
const volumeArgs = volumes.map((volume) => {
|
|
176
|
-
if (volume.type === "host") {
|
|
177
|
-
return [
|
|
178
|
-
"-v",
|
|
179
|
-
`${volume.hostPath}:${volume.containerPath}`
|
|
180
|
-
];
|
|
181
|
-
}
|
|
182
|
-
const components = [
|
|
183
|
-
"lz-tooling-cache",
|
|
184
|
-
volume.name
|
|
185
|
-
];
|
|
186
|
-
if (!volume.shared) {
|
|
187
|
-
const packageName = process__default.default.env.npm_package_name;
|
|
188
|
-
if (!packageName) {
|
|
189
|
-
throw new Error("npm_package_name environment variable not defined");
|
|
190
|
-
}
|
|
191
|
-
components.push(path__default.default.basename(packageName));
|
|
192
|
-
}
|
|
193
|
-
return [
|
|
194
|
-
"-v",
|
|
195
|
-
`${components.join("-")}:${volume.containerPath}`
|
|
196
|
-
];
|
|
197
|
-
}).flat();
|
|
198
|
-
if (entrypoint?.trim()) {
|
|
199
|
-
console.info(`\u{1F527} Using custom entrypoint: ${entrypoint}`);
|
|
200
|
-
}
|
|
201
|
-
const envArgs = customEnvVars.map((envVar) => [
|
|
202
|
-
"-e",
|
|
203
|
-
`${envVar.name}=${envVar.value}`
|
|
204
|
-
]).flat();
|
|
205
|
-
if (customEnvVars.length > 0) {
|
|
206
|
-
console.info(`\u{1F30D} Using ${customEnvVars.length} custom environment variable(s)`);
|
|
207
|
-
}
|
|
208
|
-
let finalArgs;
|
|
209
|
-
if (script !== void 0 && script.trim() !== "") {
|
|
210
|
-
console.info(`\u{1F4DC} Executing custom script: ${script}`);
|
|
211
|
-
finalArgs = [
|
|
212
|
-
"bash",
|
|
213
|
-
"-c",
|
|
214
|
-
script
|
|
215
|
-
];
|
|
216
|
-
} else {
|
|
217
|
-
finalArgs = entrypoint === void 0 ? [
|
|
218
|
-
tool.name,
|
|
219
|
-
...args
|
|
220
|
-
] : args;
|
|
221
|
-
}
|
|
222
|
-
const dockerArgs = [
|
|
223
|
-
"run",
|
|
224
|
-
...privileged ? [
|
|
225
|
-
"--privileged"
|
|
226
|
-
] : [],
|
|
227
|
-
"--rm",
|
|
228
|
-
...envArgs,
|
|
229
|
-
"-v",
|
|
230
|
-
`${workspaceRoot}:/workspace`,
|
|
231
|
-
"-w",
|
|
232
|
-
`/workspace/${relPath}`,
|
|
233
|
-
...volumeArgs,
|
|
234
|
-
...entrypoint === void 0 ? [] : [
|
|
235
|
-
"--entrypoint",
|
|
236
|
-
entrypoint
|
|
237
|
-
],
|
|
238
|
-
imageURI,
|
|
239
|
-
...finalArgs
|
|
240
|
-
];
|
|
241
|
-
processOutput = await NSZHKDNY_cjs.lockMany(volumes.flatMap((volume) => volume.type === "isolate" && volume.locked ? [
|
|
242
|
-
volume.name
|
|
243
|
-
] : []), () => zx.$`docker ${dockerArgs}`.nothrow());
|
|
244
|
-
saveAptosModulesOrder(command, processOutput, workspaceRoot, relPath);
|
|
245
|
-
}
|
|
246
|
-
const { exitCode } = processOutput;
|
|
247
|
-
if (exitCode !== 0) {
|
|
248
|
-
process__default.default.exit(exitCode ?? 1);
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
VO65XOWD_cjs.__name(executeToolCommand, "executeToolCommand");
|
|
252
|
-
function saveAptosModulesOrder(command, processOutput, workspaceRoot, relPath) {
|
|
253
|
-
if ("aptos" === command) {
|
|
254
|
-
const outputJson = processOutput.json();
|
|
255
|
-
const modules = outputJson.Result.map((item) => `${item.split("::")[1]}.mv`);
|
|
256
|
-
fs__default.default.writeFileSync(path__default.default.join(workspaceRoot, relPath, "modules.json"), JSON.stringify(modules, null, 2));
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
VO65XOWD_cjs.__name(saveAptosModulesOrder, "saveAptosModulesOrder");
|
|
260
|
-
|
|
261
|
-
exports.executeToolCommand = executeToolCommand;
|
|
262
|
-
exports.getCombinationTag = getCombinationTag;
|
|
263
|
-
//# sourceMappingURL=HNMWFWE6.cjs.map
|
|
264
|
-
//# sourceMappingURL=HNMWFWE6.cjs.map
|
package/dist/HNMWFWE6.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/tool-executor.ts"],"names":["init_cjs_shims","$","verbose","stdio","process","stderr","mergeVolumes","defaultVolumes","userVolumes","merged","userPaths","Set","map","v","containerPath","push","defaultVolume","has","getImageName","toolName","version","repository","AWS_ACCOUNT_ID","AWS_REGION","matrix","findMatrixForTool","Error","imageName","getDockerRepoName","foundCombination","foundPatch","combination","combinations","toolVersion","versions","patch","validVersions","tool","Object","entries","length","imageTag","getCombinationTag","imageURI","input","separator","filter","_","value","sort","flat","join","ensureDockerImage","checkResult","nothrow","stdout","includes","console","info","pullResult","exitCode","localImageName","split","pop","replace","localFallbackURI","localCheckResult","error","message","String","executeToolCommand","command","args","options","cwd","volumes","customEntrypoint","entrypoint","env","customEnvVars","script","findToolByName","type","getChainType","undefined","tools","availableTools","t","name","overrides","uv","some","dv","userSpecifiedVersions","extractUserVersions","versionResult","resolveTypeVersions","warnings","forEach","warning","warn","resolvedVersion","resolvedVersions","getSecondaryVersionCheckValue","secondaryVersion","resolvedVersionObj","versionsSatisfied","processOutput","workspaceRoot","getFullyQualifiedRepoRootPath","relPath","path","relative","privileged","volumeArgs","volume","hostPath","components","shared","packageName","npm_package_name","basename","trim","envArgs","envVar","finalArgs","dockerArgs","lockMany","flatMap","locked","saveAptosModulesOrder","exit","outputJson","json","modules","Result","item","fs","writeFileSync","JSON","stringify"],"mappings":"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","file":"HNMWFWE6.cjs","sourcesContent":["import fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\nimport { $, type ProcessOutput } from 'zx';\n\nimport { getFullyQualifiedRepoRootPath } from '@layerzerolabs/common-node-utils';\n\nimport { AWS_ACCOUNT_ID, AWS_REGION } from '../config';\nimport type { EnvironmentVariable, Version, VolumeMapping } from '../types';\nimport {\n findMatrixForTool,\n findToolByName,\n getChainType,\n getDockerRepoName,\n} from '../utils/finder-utils';\nimport { versionsSatisfied } from '../utils/version-utils';\nimport { lockMany } from './lock';\nimport { extractUserVersions, resolveTypeVersions } from './version-resolver';\n\n// Configure zx to inherit stdio by default (moved from original setup)\n$.verbose = true;\n$.stdio = ['inherit', 'pipe', process.stderr];\n\n/**\n * Merge default volumes with user-specified volumes\n * User volumes take precedence when containerPath conflicts\n */\nfunction mergeVolumes(\n defaultVolumes: VolumeMapping[],\n userVolumes: VolumeMapping[],\n): VolumeMapping[] {\n const merged: VolumeMapping[] = [];\n const userPaths = new Set(userVolumes.map((v) => v.containerPath));\n\n // Add user volumes first (highest priority)\n merged.push(...userVolumes);\n\n // Add default volumes that don't conflict with user volumes\n for (const defaultVolume of defaultVolumes) {\n if (!userPaths.has(defaultVolume.containerPath)) {\n merged.push(defaultVolume);\n }\n }\n\n return merged;\n}\n\n/**\n * Get Docker image name and tag for a specific tool and version\n */\nfunction getImageName(toolName: string, version: string): { imageURI: string; imageTag: string } {\n // const repository = 'ghcr.io/layerzero-labs';\n const repository = `${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com/layerzerolabs`;\n\n // Find the version matrix for this tool\n const matrix = findMatrixForTool(toolName);\n if (!matrix) {\n throw new Error(`No version matrix found for tool ${toolName}`);\n }\n\n // Get the Docker repository name for this tool\n const imageName = getDockerRepoName(toolName);\n\n // Find a combination that includes this tool with the specified version\n let foundCombination = null;\n let foundPatch: number | undefined;\n for (const combination of matrix.combinations) {\n const toolVersion = combination.versions[toolName];\n if (toolVersion === version) {\n foundCombination = combination.versions;\n foundPatch = combination.patch;\n break;\n }\n }\n\n if (!foundCombination) {\n throw new Error(\n `No version combination found for tool ${toolName} with version ${version}`,\n );\n }\n\n // Filter out undefined/empty values for tag generation\n const validVersions: { [key: string]: string } = {};\n for (const [tool, toolVersion] of Object.entries(foundCombination)) {\n if (typeof toolVersion === 'string' && toolVersion.length > 0) {\n validVersions[tool] = toolVersion;\n }\n }\n\n const imageTag = getCombinationTag(validVersions, foundPatch);\n const imageURI = `${repository}/${imageName}:${imageTag}`;\n\n return { imageURI, imageTag };\n}\n\n/**\n * Generate Docker image tag from version combination\n */\nexport function getCombinationTag(\n input: { [key: string]: string | undefined },\n patch?: number,\n separator: string = '_',\n): string {\n return [\n ...Object.entries(input)\n .filter(([_, value]) => value)\n .sort()\n .flat(),\n ...(patch ? ['patch', patch] : []),\n ].join(separator);\n}\n\n/**\n * Enhanced Docker image management with intelligent caching\n * Tries ECR first, falls back to local build if available, and caches locally\n */\nasync function ensureDockerImage(imageURI: string, imageTag: string): Promise<void> {\n try {\n // Check if image exists locally first\n const checkResult = await $`docker image ls ${imageURI}`.nothrow();\n\n if (checkResult.stdout.includes(imageTag)) {\n console.info(`✅ Using cached Docker image: ${imageURI}`);\n return;\n }\n\n // Try to pull from ECR\n console.info(`📥 Pulling Docker image from ECR: ${imageURI}`);\n const pullResult = await $`docker pull ${imageURI}`.nothrow();\n\n if (pullResult.exitCode === 0) {\n console.info(`✅ Successfully pulled: ${imageURI}`);\n return;\n }\n\n // If ECR pull fails, check for local fallback image\n const localImageName = imageURI.split('/').pop()?.replace(/:.*$/, '') || '';\n const localFallbackURI = `local-${localImageName}:latest`;\n\n const localCheckResult = await $`docker image ls ${localFallbackURI}`.nothrow();\n\n if (localCheckResult.stdout.includes('local-')) {\n console.info(`🏠 ECR image not available, using local fallback: ${localFallbackURI}`);\n\n // Tag the local image with the ECR URI for consistency\n await $`docker tag ${localFallbackURI} ${imageURI}`;\n console.info(`🏷️ Tagged local image as: ${imageURI}`);\n return;\n }\n\n // If all else fails, provide helpful error message\n throw new Error(\n `❌ Docker image not available:\\n` +\n ` - ECR image: ${imageURI} (pull failed)\\n` +\n ` - Local fallback: ${localFallbackURI} (not found)\\n` +\n `\\n💡 Solutions:\\n` +\n ` 1. Authenticate with ECR: aws ecr get-login-password --region ${AWS_REGION} | docker login --username AWS --password-stdin ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com\\n` +\n ` 2. Build local image: docker build -t ${localFallbackURI} <dockerfile-path>\\n` +\n ` 3. Check if the image tag exists in ECR`,\n );\n } catch (error) {\n if (error instanceof Error && error.message.includes('❌ Docker image not available')) {\n throw error;\n }\n throw new Error(\n `Failed to ensure Docker image ${imageURI}: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n}\n\n/**\n * Enhanced tool command execution using the new version compatibility matrix system\n */\nexport async function executeToolCommand(\n command: string,\n args: string[],\n options: {\n cwd: string;\n volumes: VolumeMapping[];\n customEntrypoint?: string;\n env: EnvironmentVariable[];\n script?: string;\n [key: string]: any;\n },\n): Promise<void> {\n const {\n cwd,\n volumes: userVolumes,\n customEntrypoint: entrypoint,\n env: customEnvVars,\n script,\n } = options;\n\n const tool = findToolByName(command);\n const type = getChainType(command);\n\n if (!tool || type === undefined) {\n const { tools } = await import('../config');\n const availableTools = tools.map((t) => t.name).join(', ');\n throw new Error(\n `❌ Tool '${command}' not found or no type configuration available.\\n` +\n `Available tools: ${availableTools}\\n` +\n `Try: lz-tool --list-versions to see all available tools`,\n );\n }\n\n // Merge default volumes with user-specified volumes\n const defaultVolumes = tool.defaultVolumes ?? [];\n const volumes = mergeVolumes(defaultVolumes, userVolumes);\n\n if (defaultVolumes.length > 0) {\n console.info(`📦 Using ${defaultVolumes.length} default cache volume(s) for ${command}`);\n if (userVolumes.length > 0) {\n const overrides = userVolumes.filter((uv) =>\n defaultVolumes.some((dv) => dv.containerPath === uv.containerPath),\n );\n if (overrides.length > 0) {\n console.info(`🔧 User volumes override ${overrides.length} default volume(s)`);\n }\n }\n }\n\n // Extract user-specified versions from command line options\n const userSpecifiedVersions = extractUserVersions(options);\n\n // Resolve versions for all tools in the type using compatibility matrix\n const versionResult = resolveTypeVersions(type, userSpecifiedVersions, options, cwd);\n\n // Display any warnings\n versionResult.warnings.forEach((warning) => {\n console.warn(warning);\n });\n\n // Get the resolved version for the current tool\n const resolvedVersion = versionResult.resolvedVersions[command];\n if (typeof resolvedVersion !== 'string' || resolvedVersion === '') {\n throw new Error(`No version resolved for tool ${command}`);\n }\n\n console.info(`🔧 ${command} version: ${resolvedVersion}`);\n\n // Check secondary version validation if available\n if (tool.getSecondaryVersionCheckValue) {\n try {\n const secondaryVersion = tool.getSecondaryVersionCheckValue({ cwd });\n const resolvedVersionObj: Version = { version: resolvedVersion };\n\n if (!versionsSatisfied(secondaryVersion, resolvedVersionObj)) {\n console.warn(\n `Warning: Local configuration version (${secondaryVersion.version}) differs from resolved version (${resolvedVersion})`,\n );\n }\n } catch (error) {\n // Secondary version check failed, but continue with resolved version\n console.warn(\n `Could not validate secondary version: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n }\n\n // Check if we should try to use local executable first\n let hasLocalExecutable = false;\n\n let processOutput: ProcessOutput;\n\n if (hasLocalExecutable) {\n // Execute command directly\n processOutput = await $`${command} ${args}`.nothrow();\n } else {\n // Use Docker image with merged volumes\n const { imageTag, imageURI } = getImageName(tool.name, resolvedVersion);\n const workspaceRoot = await getFullyQualifiedRepoRootPath();\n const relPath = path.relative(workspaceRoot, cwd);\n const privileged = tool.privileged ?? false;\n\n // Enhanced Docker image caching logic\n await ensureDockerImage(imageURI, imageTag);\n\n const volumeArgs = volumes\n .map((volume) => {\n if (volume.type === 'host') {\n return ['-v', `${volume.hostPath}:${volume.containerPath}`];\n }\n\n const components = ['lz-tooling-cache', volume.name];\n\n if (!volume.shared) {\n // This is the package name where the `lz-tool` command is executed.\n // eslint-disable-next-line turbo/no-undeclared-env-vars\n const packageName = process.env.npm_package_name;\n\n if (!packageName) {\n throw new Error('npm_package_name environment variable not defined');\n }\n\n components.push(path.basename(packageName));\n }\n\n return ['-v', `${components.join('-')}:${volume.containerPath}`];\n })\n .flat(); // Flatten the array to get ['-v', 'vol1', '-v', 'vol2', ...]\n\n if (entrypoint?.trim()) {\n console.info(`🔧 Using custom entrypoint: ${entrypoint}`);\n }\n\n // Build the Docker command with proper argument separation\n const envArgs = customEnvVars\n .map((envVar) => ['-e', `${envVar.name}=${envVar.value}`])\n .flat();\n\n if (customEnvVars.length > 0) {\n console.info(`🌍 Using ${customEnvVars.length} custom environment variable(s)`);\n }\n\n // Handle custom script execution\n let finalArgs: string[];\n if (script !== undefined && script.trim() !== '') {\n console.info(`📜 Executing custom script: ${script}`);\n finalArgs = ['bash', '-c', script];\n } else {\n finalArgs = entrypoint === undefined ? [tool.name, ...args] : args;\n }\n\n // Build the Docker command with proper argument separation\n const dockerArgs = [\n 'run',\n ...(privileged ? ['--privileged'] : []),\n '--rm',\n ...envArgs,\n '-v',\n `${workspaceRoot}:/workspace`,\n '-w',\n `/workspace/${relPath}`,\n ...volumeArgs,\n ...(entrypoint === undefined ? [] : ['--entrypoint', entrypoint]),\n imageURI,\n ...finalArgs,\n ];\n\n processOutput = await lockMany(\n volumes.flatMap((volume) =>\n volume.type === 'isolate' && volume.locked ? [volume.name] : [],\n ),\n () => $`docker ${dockerArgs}`.nothrow(),\n );\n saveAptosModulesOrder(command, processOutput, workspaceRoot, relPath);\n }\n\n // Handle the process completion\n const { exitCode } = processOutput;\n if (exitCode !== 0) {\n process.exit(exitCode ?? 1);\n }\n}\n\nfunction saveAptosModulesOrder(\n command: string,\n processOutput: ProcessOutput,\n workspaceRoot: string,\n relPath: string,\n): void {\n if ('aptos' === command) {\n const outputJson: { Result: string[] } = processOutput.json();\n const modules = outputJson.Result.map((item: string) => `${item.split('::')[1]}.mv`);\n fs.writeFileSync(\n path.join(workspaceRoot, relPath, 'modules.json'),\n JSON.stringify(modules, null, 2),\n );\n }\n}\n"]}
|
package/dist/HR64SZQX.js.map
DELETED
|
@@ -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"]}
|
package/dist/JJXZWB7K.cjs.map
DELETED
|
@@ -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"]}
|
package/dist/K7XFIMAS.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/display/version-display.ts"],"names":["init_cjs_shims","displayVersionCombinations","console","log","matrix","versionMatrices","toolNamesSet","Set","combo","combinations","Object","keys","versions","forEach","toolName","add","toolNames","Array","from","join","length","identifier","chainType","toUpperCase","repeat","defaultCombination","findDefaultCombination","formatVersionCombination","isDefault","id","displayToolVersionInfo","tool","findToolByName","error","typeTools","findToolsByType","findMatrixByType","defaultVersion","getToolDefaultVersion","name","supportedVersions","getToolSupportedVersions","defaultVolumes","volume","volumeDesc","type","containerPath","hostPath","toolVersion"],"mappings":"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","file":"K7XFIMAS.cjs","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 toolNamesSet = new Set<string>();\n for (const combo of matrix.combinations) {\n Object.keys(combo.versions).forEach((toolName) => toolNamesSet.add(toolName));\n }\n const toolNames = Array.from(toolNamesSet).join(', ');\n if (toolNames.length === 0) continue;\n\n const identifier = matrix.chainType;\n console.log(`📦 ${identifier.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.chainType);\n const matrix = findMatrixByType(tool.chainType);\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.chainType}`);\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"]}
|
package/dist/L7FV6P64.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/display/version-display.ts"],"names":["displayVersionCombinations","console","log","matrix","versionMatrices","toolNamesSet","Set","combo","combinations","Object","keys","versions","forEach","toolName","add","toolNames","Array","from","join","length","identifier","chainType","toUpperCase","repeat","defaultCombination","findDefaultCombination","formatVersionCombination","isDefault","id","displayToolVersionInfo","tool","findToolByName","error","typeTools","findToolsByType","findMatrixByType","defaultVersion","getToolDefaultVersion","name","supportedVersions","getToolSupportedVersions","defaultVolumes","volume","volumeDesc","type","containerPath","hostPath","toolVersion"],"mappings":"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","file":"L7FV6P64.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 toolNamesSet = new Set<string>();\n for (const combo of matrix.combinations) {\n Object.keys(combo.versions).forEach((toolName) => toolNamesSet.add(toolName));\n }\n const toolNames = Array.from(toolNamesSet).join(', ');\n if (toolNames.length === 0) continue;\n\n const identifier = matrix.chainType;\n console.log(`📦 ${identifier.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.chainType);\n const matrix = findMatrixByType(tool.chainType);\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.chainType}`);\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"]}
|
package/dist/NSZHKDNY.cjs.map
DELETED
|
@@ -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"]}
|
package/dist/PDSRUQEX.js.map
DELETED
|
@@ -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"]}
|
package/dist/PRVB7VA2.cjs.map
DELETED
|
@@ -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","chainType","ChainType","EVM","defaultVolumes","SOLANA","privileged","getSecondaryVersionCheckValue","__name","APTOSMOVE","TON","STARKNET","SUIMOVE","shared","locked","STELLAR","AWS_ACCOUNT_ID","AWS_REGION","findToolByName","find","tool","findToolsByType","filter","getChainType","chainTypeToDockerRepoBaseName","typeToDockerRepo","getDockerRepoName","matrix","findMatrixForTool","findMatrixByType","versionMatrices","combinations","some","combo","versions","findDefaultCombination","recommended","isRecommended","getToolDefaultVersion","defaultCombination","defaultVersion","console","warn","Set","combination","add","Array","from","sort"],"mappings":"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","file":"PRVB7VA2.cjs","sourcesContent":["import { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nimport { tools, versionMatrices } from '../config';\nimport type { Tool, 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: ChainType): Tool[] {\n return tools.filter((tool) => tool.chainType === type);\n}\n\n/**\n * Get the type for a specific tool\n */\nexport function getChainType(toolName: string): ChainType | undefined {\n const tool = findToolByName(toolName);\n return tool?.chainType;\n}\n\n/**\n * Convert ChainType to Docker repository base name\n * Maps chain types to their Docker repo base names (without -tooling suffix)\n */\nexport function chainTypeToDockerRepoBaseName(chainType: ChainType): string {\n const typeToDockerRepo: Partial<Record<ChainType, string>> = {\n [ChainType.APTOSMOVE]: 'aptos',\n [ChainType.SUIMOVE]: 'sui',\n };\n\n return typeToDockerRepo[chainType] ?? chainType;\n}\n\n/**\n * Get the Docker repository name for a tool\n * Maps tool names to their Docker repo names, falling back to matrix identifier\n */\nexport function getDockerRepoName(toolName: string): string {\n const matrix = findMatrixForTool(toolName);\n if (!matrix) {\n throw new Error(`No Docker repository name found for tool ${toolName}`);\n }\n\n return `${chainTypeToDockerRepoBaseName(matrix.chainType)}-tooling`;\n}\n\n/**\n * Find version matrix for a specific chain type\n */\nexport function findMatrixByType(type: ChainType): ToolVersionMatrix | undefined {\n return versionMatrices.find((matrix) => matrix.chainType === type);\n}\n\n/**\n * Find version matrix that contains a specific tool\n */\nexport function findMatrixForTool(toolName: string): ToolVersionMatrix | undefined {\n return versionMatrices.find((matrix) =>\n matrix.combinations.some((combo) => combo.versions[toolName] != null),\n );\n}\n\n/**\n * Find the default combination for a chain 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 '${matrix.chainType}'`);\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 = findMatrixForTool(toolName);\n if (!matrix) {\n throw new Error(`No version matrix found for tool '${toolName}'`);\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 = findMatrixForTool(toolName);\n if (!matrix) {\n throw new Error(`No version matrix found for tool '${toolName}'`);\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 { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nimport 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 chainType: ChainType.EVM,\n defaultVolumes: [],\n },\n {\n name: 'forge',\n chainType: ChainType.EVM,\n },\n {\n name: 'anchor',\n chainType: ChainType.SOLANA,\n privileged: true,\n defaultVolumes: solanaDefaultVolumes,\n getSecondaryVersionCheckValue: ({ cwd }: GetExpectedVersionParameter): Version => {\n return parseAnchorTomlVersion(cwd, 'anchor');\n },\n },\n {\n name: 'solana',\n chainType: ChainType.SOLANA,\n privileged: true,\n defaultVolumes: solanaDefaultVolumes,\n getSecondaryVersionCheckValue: ({ cwd }: GetExpectedVersionParameter): Version => {\n return parseAnchorTomlVersion(cwd, 'solana');\n },\n },\n {\n name: 'aptos',\n chainType: ChainType.APTOSMOVE,\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'aptos',\n },\n ],\n },\n {\n name: 'initiad',\n chainType: ChainType.APTOSMOVE,\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'initia',\n },\n ],\n },\n {\n name: 'blueprint',\n chainType: ChainType.TON,\n },\n {\n name: 'scarb',\n chainType: ChainType.STARKNET,\n },\n {\n name: 'sui',\n chainType: ChainType.SUIMOVE,\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 chainType: ChainType.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/TYZZ6CWY.js.map
DELETED
|
@@ -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":["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","chainType","ChainType","EVM","defaultVolumes","SOLANA","privileged","getSecondaryVersionCheckValue","APTOSMOVE","TON","STARKNET","SUIMOVE","shared","locked","STELLAR","AWS_ACCOUNT_ID","AWS_REGION","findToolByName","find","tool","findToolsByType","filter","getChainType","chainTypeToDockerRepoBaseName","typeToDockerRepo","getDockerRepoName","matrix","findMatrixForTool","findMatrixByType","versionMatrices","combinations","some","combo","versions","findDefaultCombination","recommended","isRecommended","getToolDefaultVersion","defaultCombination","defaultVersion","console","warn","Set","combination","add","Array","from","sort"],"mappings":"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","file":"TYZZ6CWY.js","sourcesContent":["import { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nimport { tools, versionMatrices } from '../config';\nimport type { Tool, 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: ChainType): Tool[] {\n return tools.filter((tool) => tool.chainType === type);\n}\n\n/**\n * Get the type for a specific tool\n */\nexport function getChainType(toolName: string): ChainType | undefined {\n const tool = findToolByName(toolName);\n return tool?.chainType;\n}\n\n/**\n * Convert ChainType to Docker repository base name\n * Maps chain types to their Docker repo base names (without -tooling suffix)\n */\nexport function chainTypeToDockerRepoBaseName(chainType: ChainType): string {\n const typeToDockerRepo: Partial<Record<ChainType, string>> = {\n [ChainType.APTOSMOVE]: 'aptos',\n [ChainType.SUIMOVE]: 'sui',\n };\n\n return typeToDockerRepo[chainType] ?? chainType;\n}\n\n/**\n * Get the Docker repository name for a tool\n * Maps tool names to their Docker repo names, falling back to matrix identifier\n */\nexport function getDockerRepoName(toolName: string): string {\n const matrix = findMatrixForTool(toolName);\n if (!matrix) {\n throw new Error(`No Docker repository name found for tool ${toolName}`);\n }\n\n return `${chainTypeToDockerRepoBaseName(matrix.chainType)}-tooling`;\n}\n\n/**\n * Find version matrix for a specific chain type\n */\nexport function findMatrixByType(type: ChainType): ToolVersionMatrix | undefined {\n return versionMatrices.find((matrix) => matrix.chainType === type);\n}\n\n/**\n * Find version matrix that contains a specific tool\n */\nexport function findMatrixForTool(toolName: string): ToolVersionMatrix | undefined {\n return versionMatrices.find((matrix) =>\n matrix.combinations.some((combo) => combo.versions[toolName] != null),\n );\n}\n\n/**\n * Find the default combination for a chain 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 '${matrix.chainType}'`);\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 = findMatrixForTool(toolName);\n if (!matrix) {\n throw new Error(`No version matrix found for tool '${toolName}'`);\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 = findMatrixForTool(toolName);\n if (!matrix) {\n throw new Error(`No version matrix found for tool '${toolName}'`);\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 { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nimport 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 chainType: ChainType.EVM,\n defaultVolumes: [],\n },\n {\n name: 'forge',\n chainType: ChainType.EVM,\n },\n {\n name: 'anchor',\n chainType: ChainType.SOLANA,\n privileged: true,\n defaultVolumes: solanaDefaultVolumes,\n getSecondaryVersionCheckValue: ({ cwd }: GetExpectedVersionParameter): Version => {\n return parseAnchorTomlVersion(cwd, 'anchor');\n },\n },\n {\n name: 'solana',\n chainType: ChainType.SOLANA,\n privileged: true,\n defaultVolumes: solanaDefaultVolumes,\n getSecondaryVersionCheckValue: ({ cwd }: GetExpectedVersionParameter): Version => {\n return parseAnchorTomlVersion(cwd, 'solana');\n },\n },\n {\n name: 'aptos',\n chainType: ChainType.APTOSMOVE,\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'aptos',\n },\n ],\n },\n {\n name: 'initiad',\n chainType: ChainType.APTOSMOVE,\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'initia',\n },\n ],\n },\n {\n name: 'blueprint',\n chainType: ChainType.TON,\n },\n {\n name: 'scarb',\n chainType: ChainType.STARKNET,\n },\n {\n name: 'sui',\n chainType: ChainType.SUIMOVE,\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 chainType: ChainType.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"]}
|