@layerzerolabs/vm-tooling 0.0.64 → 0.0.65

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 (70) hide show
  1. package/dist/{5KWSCPAS.cjs → 22KWM667.cjs} +12 -12
  2. package/dist/{5KWSCPAS.cjs.map → 22KWM667.cjs.map} +1 -1
  3. package/dist/{KNTO2HQA.js → 6YQKZHZ5.js} +25 -4
  4. package/dist/6YQKZHZ5.js.map +1 -0
  5. package/dist/{YNCUAY7W.cjs → 7PSRMQMS.cjs} +9 -9
  6. package/dist/{YNCUAY7W.cjs.map → 7PSRMQMS.cjs.map} +1 -1
  7. package/dist/{YPULSRCT.cjs → BG3MG6IF.cjs} +15 -15
  8. package/dist/{YPULSRCT.cjs.map → BG3MG6IF.cjs.map} +1 -1
  9. package/dist/{NX66I36H.js → DN5VBC3L.js} +17 -20
  10. package/dist/DN5VBC3L.js.map +1 -0
  11. package/dist/{ODBAKZ5L.cjs → ER722VGO.cjs} +14 -14
  12. package/dist/{ODBAKZ5L.cjs.map → ER722VGO.cjs.map} +1 -1
  13. package/dist/{W6FCPNQL.cjs → GERMNIDG.cjs} +26 -5
  14. package/dist/GERMNIDG.cjs.map +1 -0
  15. package/dist/{KHTL7IGX.js → JZHAF3IW.js} +5 -5
  16. package/dist/{KHTL7IGX.js.map → JZHAF3IW.js.map} +1 -1
  17. package/dist/{DWQZSSBG.js → KFXJIHI6.js} +3 -3
  18. package/dist/{DWQZSSBG.js.map → KFXJIHI6.js.map} +1 -1
  19. package/dist/{SWSAP2TA.cjs → KPYTMXHJ.cjs} +4 -4
  20. package/dist/{SWSAP2TA.cjs.map → KPYTMXHJ.cjs.map} +1 -1
  21. package/dist/{JLKKDVCL.cjs → Q3ORCLJH.cjs} +17 -20
  22. package/dist/Q3ORCLJH.cjs.map +1 -0
  23. package/dist/{QGMMPVDI.js → QPWLW7SN.js} +4 -4
  24. package/dist/{QGMMPVDI.js.map → QPWLW7SN.js.map} +1 -1
  25. package/dist/{OMGIMF55.js → R2U2WXP4.js} +4 -4
  26. package/dist/{OMGIMF55.js.map → R2U2WXP4.js.map} +1 -1
  27. package/dist/{CD3U3DU7.js → XYNAO6GV.js} +4 -4
  28. package/dist/{CD3U3DU7.js.map → XYNAO6GV.js.map} +1 -1
  29. package/dist/commands/sui/build.cjs +6 -6
  30. package/dist/commands/sui/build.js +5 -5
  31. package/dist/commands/sui/index.cjs +6 -6
  32. package/dist/commands/sui/index.js +5 -5
  33. package/dist/config/index.cjs +8 -8
  34. package/dist/config/index.js +2 -2
  35. package/dist/config/tools.cjs +4 -4
  36. package/dist/config/tools.d.ts.map +1 -1
  37. package/dist/config/tools.js +2 -2
  38. package/dist/config/version-matrices.cjs +2 -2
  39. package/dist/config/version-matrices.js +1 -1
  40. package/dist/core/index.cjs +8 -8
  41. package/dist/core/index.js +4 -4
  42. package/dist/core/tool-executor.cjs +5 -5
  43. package/dist/core/tool-executor.js +4 -4
  44. package/dist/core/version-resolver.cjs +6 -6
  45. package/dist/core/version-resolver.js +3 -3
  46. package/dist/display/formatters.cjs +4 -4
  47. package/dist/display/formatters.js +3 -3
  48. package/dist/display/index.cjs +7 -7
  49. package/dist/display/index.js +4 -4
  50. package/dist/display/version-display.cjs +6 -6
  51. package/dist/display/version-display.js +4 -4
  52. package/dist/index.cjs +15 -15
  53. package/dist/index.cjs.map +1 -1
  54. package/dist/index.js +7 -7
  55. package/dist/index.js.map +1 -1
  56. package/dist/scripts/generate-github-matrix.cjs +6 -6
  57. package/dist/scripts/generate-github-matrix.js +2 -2
  58. package/dist/utils/docker.cjs +4 -4
  59. package/dist/utils/docker.js +2 -2
  60. package/dist/utils/finder.cjs +11 -11
  61. package/dist/utils/finder.js +2 -2
  62. package/dist/utils/version.cjs +6 -6
  63. package/dist/utils/version.js +2 -2
  64. package/dist/utils.cjs +5 -5
  65. package/dist/utils.js +2 -2
  66. package/package.json +5 -5
  67. package/dist/JLKKDVCL.cjs.map +0 -1
  68. package/dist/KNTO2HQA.js.map +0 -1
  69. package/dist/NX66I36H.js.map +0 -1
  70. package/dist/W6FCPNQL.cjs.map +0 -1
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var YNMZEV5X_cjs = require('./YNMZEV5X.cjs');
4
- var YPULSRCT_cjs = require('./YPULSRCT.cjs');
5
- var W6FCPNQL_cjs = require('./W6FCPNQL.cjs');
4
+ var BG3MG6IF_cjs = require('./BG3MG6IF.cjs');
5
+ var GERMNIDG_cjs = require('./GERMNIDG.cjs');
6
6
  var TQMUPD75_cjs = require('./TQMUPD75.cjs');
7
7
  var U7VZULNU_cjs = require('./U7VZULNU.cjs');
8
8
  var fs = require('fs');
@@ -51,7 +51,7 @@ async function ensureDockerImage(imageURI) {
51
51
  ` - ECR image: ${imageURI} (pull failed)`,
52
52
  "",
53
53
  "\u{1F4A1} Solutions:",
54
- ` 1. Authenticate with ECR: aws ecr get-login-password --region ${W6FCPNQL_cjs.AWS_REGION} | docker login --username AWS --password-stdin ${W6FCPNQL_cjs.AWS_ACCOUNT_ID}.dkr.ecr.${W6FCPNQL_cjs.AWS_REGION}.amazonaws.com`,
54
+ ` 1. Authenticate with ECR: aws ecr get-login-password --region ${GERMNIDG_cjs.AWS_REGION} | docker login --username AWS --password-stdin ${GERMNIDG_cjs.AWS_ACCOUNT_ID}.dkr.ecr.${GERMNIDG_cjs.AWS_REGION}.amazonaws.com`,
55
55
  " 2. Check if the image tag exists in ECR."
56
56
  ].join("\n"));
57
57
  }
@@ -60,12 +60,12 @@ async function ensureDockerImage(imageURI) {
60
60
  U7VZULNU_cjs.__name(ensureDockerImage, "ensureDockerImage");
61
61
  async function executeToolCommand(command, args, options) {
62
62
  const { cwd, volumes: userVolumes, customEntrypoint: entrypoint, env: customEnvVars, script, publish } = options;
63
- const tool = W6FCPNQL_cjs.findToolByName(command);
64
- const type = W6FCPNQL_cjs.getChainTypeForTool(command);
63
+ const tool = GERMNIDG_cjs.findToolByName(command);
64
+ const type = GERMNIDG_cjs.getChainTypeForTool(command);
65
65
  if (type === void 0) {
66
66
  throw new Error([
67
67
  `Tool '${command}' not found or no type configuration available.`,
68
- `Available tools: ${W6FCPNQL_cjs.tools.map(({ name }) => name).join(", ")}`,
68
+ `Available tools: ${GERMNIDG_cjs.tools.map(({ name }) => name).join(", ")}`,
69
69
  `Try: lz-tool --list-versions to see all available tools`
70
70
  ].join("\n"));
71
71
  }
@@ -80,8 +80,8 @@ async function executeToolCommand(command, args, options) {
80
80
  }
81
81
  }
82
82
  }
83
- const userSpecifiedVersions = YPULSRCT_cjs.extractUserVersions(options);
84
- const versionResult = YPULSRCT_cjs.resolveTypeVersions(type, userSpecifiedVersions, options, cwd);
83
+ const userSpecifiedVersions = BG3MG6IF_cjs.extractUserVersions(options);
84
+ const versionResult = BG3MG6IF_cjs.resolveTypeVersions(type, userSpecifiedVersions, options, cwd);
85
85
  for (const warning of versionResult.warnings) {
86
86
  console.warn(warning);
87
87
  }
@@ -98,14 +98,14 @@ async function executeToolCommand(command, args, options) {
98
98
  const resolvedVersionObj = {
99
99
  version: resolvedVersion
100
100
  };
101
- if (!W6FCPNQL_cjs.versionsSatisfied(secondaryVersion, resolvedVersionObj)) {
101
+ if (!GERMNIDG_cjs.versionsSatisfied(secondaryVersion, resolvedVersionObj)) {
102
102
  console.warn(`Warning: Local configuration version (${secondaryVersion.version}) differs from resolved version (${resolvedVersion})`);
103
103
  }
104
104
  } catch (error) {
105
105
  console.warn("Could not validate secondary version:", YNMZEV5X_cjs.stringifyError(error));
106
106
  }
107
107
  }
108
- const imageURI = W6FCPNQL_cjs.getImageURI(tool.name, resolvedVersion);
108
+ const imageURI = GERMNIDG_cjs.getImageURI(tool.name, resolvedVersion);
109
109
  const workspaceRoot = await commonNodeUtils.getFullyQualifiedRepoRootPath();
110
110
  const relativePath = path__default.default.relative(workspaceRoot, cwd);
111
111
  await ensureDockerImage(imageURI);
@@ -196,5 +196,5 @@ function saveAptosModulesOrder(command, processOutput, workspaceRoot, relPath) {
196
196
  U7VZULNU_cjs.__name(saveAptosModulesOrder, "saveAptosModulesOrder");
197
197
 
198
198
  exports.executeToolCommand = executeToolCommand;
199
- //# sourceMappingURL=5KWSCPAS.cjs.map
200
- //# sourceMappingURL=5KWSCPAS.cjs.map
199
+ //# sourceMappingURL=22KWM667.cjs.map
200
+ //# sourceMappingURL=22KWM667.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/tool-executor.ts"],"names":["init_cjs_shims","$","verbose","stdio","process","stderr","mergeVolumes","__name","defaultVolumes","userVolumes","paths","Set","map","volume","containerPath","filter","has","ensureDockerImage","imageURI","output","nothrow","stdout","includes","split","console","info","error","Error","stringifyError","exitCode","AWS_REGION","AWS_ACCOUNT_ID","join","executeToolCommand","command","args","options","cwd","volumes","customEntrypoint","entrypoint","env","customEnvVars","script","publish","tool","findToolByName","type","getChainTypeForTool","undefined","tools","name","length","overrides","uv","some","dv","userSpecifiedVersions","extractUserVersions","versionResult","resolveTypeVersions","warning","warnings","warn","resolvedVersion","resolvedVersions","getSecondaryVersionCheckValue","secondaryVersion","resolvedVersionObj","version","versionsSatisfied","getImageURI","workspaceRoot","getFullyQualifiedRepoRootPath","relativePath","path","relative","volumeArgs","hostPath","components","shared","packageName","npm_package_name","push","basename","flatMap","trim","envArgs","envVar","value","flat","finalArgs","dockerArgs","privileged","lockMany","locked","saveAptosModulesOrder","exit","processOutput","relPath","outputJson","json","modules","Result","item","fs","writeFileSync","JSON","stringify"],"mappings":"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","file":"5KWSCPAS.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, tools } from '../config';\nimport type { EnvironmentVariable, Version, VolumeMapping } from '../types';\nimport { getImageURI } from '../utils/docker';\nimport { stringifyError } from '../utils/error';\nimport { findToolByName, getChainTypeForTool } from '../utils/finder';\nimport { versionsSatisfied } from '../utils/version';\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 */\nconst mergeVolumes = (\n defaultVolumes: readonly VolumeMapping[],\n userVolumes: readonly VolumeMapping[],\n): VolumeMapping[] => {\n const paths = new Set(userVolumes.map((volume) => volume.containerPath));\n\n return [...userVolumes, ...defaultVolumes.filter((volume) => !paths.has(volume.containerPath))];\n};\n\nasync function ensureDockerImage(imageURI: string): Promise<void> {\n let output: ProcessOutput;\n\n try {\n // Check local images first.\n output = await $`docker image ls ${imageURI}`.nothrow();\n\n if (output.stdout.includes(imageURI.split(':')[1])) {\n console.info(`✅ Using cached Docker image: ${imageURI}`);\n return;\n }\n\n console.info('📥 Pulling Docker image from ECR:', imageURI);\n output = await $`docker pull ${imageURI}`.nothrow();\n } catch (error: unknown) {\n throw new Error(`Failed to pull Docker image ${imageURI}: ${stringifyError(error)}`);\n }\n\n if (output.exitCode) {\n throw new Error(\n [\n 'Docker image not available:',\n ` - ECR image: ${imageURI} (pull failed)`,\n '',\n '💡 Solutions:',\n ` 1. Authenticate with ECR: aws ecr get-login-password --region ${AWS_REGION} | ` +\n `docker login --username AWS --password-stdin ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com`,\n ' 2. Check if the image tag exists in ECR.',\n ].join('\\n'),\n );\n }\n\n console.info(`✅ Successfully pulled: ${imageURI}`);\n}\n\nexport interface ToolCommandExecutionOptions {\n cwd: string;\n volumes: readonly VolumeMapping[];\n customEntrypoint?: string;\n env: EnvironmentVariable[];\n script?: string;\n [key: string]: unknown;\n publish?: string;\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: ToolCommandExecutionOptions,\n): Promise<void> {\n const {\n cwd,\n volumes: userVolumes,\n customEntrypoint: entrypoint,\n env: customEnvVars,\n script,\n publish,\n } = options;\n\n const tool = findToolByName(command);\n const type = getChainTypeForTool(command);\n\n if (type === undefined) {\n throw new Error(\n [\n `Tool '${command}' not found or no type configuration available.`,\n `Available tools: ${tools.map(({ name }) => name).join(', ')}`,\n `Try: lz-tool --list-versions to see all available tools`,\n ].join('\\n'),\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 for (const warning of versionResult.warnings) {\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('Could not validate secondary version:', stringifyError(error));\n }\n }\n\n // Use Docker image with merged volumes\n const imageURI = getImageURI(tool.name, resolvedVersion);\n const workspaceRoot = await getFullyQualifiedRepoRootPath();\n const relativePath = path.relative(workspaceRoot, cwd);\n\n await ensureDockerImage(imageURI);\n\n const volumeArgs = volumes\n .map((volume) => {\n if (volume.type === 'host') {\n return `${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 `${components.join('-')}:${volume.containerPath}`;\n })\n .flatMap((volume) => ['-v', volume]);\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.map((envVar) => ['-e', `${envVar.name}=${envVar.value}`]).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 && 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 ...(tool.privileged ? ['--privileged'] : []),\n '--rm',\n ...envArgs,\n '-v',\n `${workspaceRoot}:/workspace`,\n '-w',\n `/workspace/${relativePath}`,\n ...(publish ? ['-p', publish.trim()] : []),\n ...volumeArgs,\n ...(entrypoint ? ['--entrypoint', entrypoint] : []),\n imageURI,\n ...finalArgs,\n ];\n\n const output = await lockMany(\n volumes.flatMap((volume) =>\n volume.type === 'isolate' && volume.locked ? [volume.name] : [],\n ),\n () => $`docker ${dockerArgs}`.nothrow(),\n );\n saveAptosModulesOrder(command, output, workspaceRoot, relativePath);\n\n // Handle the process completion\n const { exitCode } = output;\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"]}
1
+ {"version":3,"sources":["../src/core/tool-executor.ts"],"names":["init_cjs_shims","$","verbose","stdio","process","stderr","mergeVolumes","__name","defaultVolumes","userVolumes","paths","Set","map","volume","containerPath","filter","has","ensureDockerImage","imageURI","output","nothrow","stdout","includes","split","console","info","error","Error","stringifyError","exitCode","AWS_REGION","AWS_ACCOUNT_ID","join","executeToolCommand","command","args","options","cwd","volumes","customEntrypoint","entrypoint","env","customEnvVars","script","publish","tool","findToolByName","type","getChainTypeForTool","undefined","tools","name","length","overrides","uv","some","dv","userSpecifiedVersions","extractUserVersions","versionResult","resolveTypeVersions","warning","warnings","warn","resolvedVersion","resolvedVersions","getSecondaryVersionCheckValue","secondaryVersion","resolvedVersionObj","version","versionsSatisfied","getImageURI","workspaceRoot","getFullyQualifiedRepoRootPath","relativePath","path","relative","volumeArgs","hostPath","components","shared","packageName","npm_package_name","push","basename","flatMap","trim","envArgs","envVar","value","flat","finalArgs","dockerArgs","privileged","lockMany","locked","saveAptosModulesOrder","exit","processOutput","relPath","outputJson","json","modules","Result","item","fs","writeFileSync","JSON","stringify"],"mappings":"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","file":"22KWM667.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, tools } from '../config';\nimport type { EnvironmentVariable, Version, VolumeMapping } from '../types';\nimport { getImageURI } from '../utils/docker';\nimport { stringifyError } from '../utils/error';\nimport { findToolByName, getChainTypeForTool } from '../utils/finder';\nimport { versionsSatisfied } from '../utils/version';\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 */\nconst mergeVolumes = (\n defaultVolumes: readonly VolumeMapping[],\n userVolumes: readonly VolumeMapping[],\n): VolumeMapping[] => {\n const paths = new Set(userVolumes.map((volume) => volume.containerPath));\n\n return [...userVolumes, ...defaultVolumes.filter((volume) => !paths.has(volume.containerPath))];\n};\n\nasync function ensureDockerImage(imageURI: string): Promise<void> {\n let output: ProcessOutput;\n\n try {\n // Check local images first.\n output = await $`docker image ls ${imageURI}`.nothrow();\n\n if (output.stdout.includes(imageURI.split(':')[1])) {\n console.info(`✅ Using cached Docker image: ${imageURI}`);\n return;\n }\n\n console.info('📥 Pulling Docker image from ECR:', imageURI);\n output = await $`docker pull ${imageURI}`.nothrow();\n } catch (error: unknown) {\n throw new Error(`Failed to pull Docker image ${imageURI}: ${stringifyError(error)}`);\n }\n\n if (output.exitCode) {\n throw new Error(\n [\n 'Docker image not available:',\n ` - ECR image: ${imageURI} (pull failed)`,\n '',\n '💡 Solutions:',\n ` 1. Authenticate with ECR: aws ecr get-login-password --region ${AWS_REGION} | ` +\n `docker login --username AWS --password-stdin ${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com`,\n ' 2. Check if the image tag exists in ECR.',\n ].join('\\n'),\n );\n }\n\n console.info(`✅ Successfully pulled: ${imageURI}`);\n}\n\nexport interface ToolCommandExecutionOptions {\n cwd: string;\n volumes: readonly VolumeMapping[];\n customEntrypoint?: string;\n env: EnvironmentVariable[];\n script?: string;\n [key: string]: unknown;\n publish?: string;\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: ToolCommandExecutionOptions,\n): Promise<void> {\n const {\n cwd,\n volumes: userVolumes,\n customEntrypoint: entrypoint,\n env: customEnvVars,\n script,\n publish,\n } = options;\n\n const tool = findToolByName(command);\n const type = getChainTypeForTool(command);\n\n if (type === undefined) {\n throw new Error(\n [\n `Tool '${command}' not found or no type configuration available.`,\n `Available tools: ${tools.map(({ name }) => name).join(', ')}`,\n `Try: lz-tool --list-versions to see all available tools`,\n ].join('\\n'),\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 for (const warning of versionResult.warnings) {\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('Could not validate secondary version:', stringifyError(error));\n }\n }\n\n // Use Docker image with merged volumes\n const imageURI = getImageURI(tool.name, resolvedVersion);\n const workspaceRoot = await getFullyQualifiedRepoRootPath();\n const relativePath = path.relative(workspaceRoot, cwd);\n\n await ensureDockerImage(imageURI);\n\n const volumeArgs = volumes\n .map((volume) => {\n if (volume.type === 'host') {\n return `${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 `${components.join('-')}:${volume.containerPath}`;\n })\n .flatMap((volume) => ['-v', volume]);\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.map((envVar) => ['-e', `${envVar.name}=${envVar.value}`]).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 && 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 ...(tool.privileged ? ['--privileged'] : []),\n '--rm',\n ...envArgs,\n '-v',\n `${workspaceRoot}:/workspace`,\n '-w',\n `/workspace/${relativePath}`,\n ...(publish ? ['-p', publish.trim()] : []),\n ...volumeArgs,\n ...(entrypoint ? ['--entrypoint', entrypoint] : []),\n imageURI,\n ...finalArgs,\n ];\n\n const output = await lockMany(\n volumes.flatMap((volume) =>\n volume.type === 'isolate' && volume.locked ? [volume.name] : [],\n ),\n () => $`docker ${dockerArgs}`.nothrow(),\n );\n saveAptosModulesOrder(command, output, workspaceRoot, relativePath);\n\n // Handle the process completion\n const { exitCode } = output;\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"]}
@@ -1,4 +1,4 @@
1
- import { versionMatrices } from './NX66I36H.js';
1
+ import { versionMatrices } from './DN5VBC3L.js';
2
2
  import { init_esm_shims, __name } from './4RNWLMHM.js';
3
3
  import { ChainType } from '@layerzerolabs/layerzero-definitions';
4
4
  import fs2 from 'fs';
@@ -158,7 +158,15 @@ var solanaDefaultVolumes = [
158
158
  {
159
159
  type: "isolate",
160
160
  containerPath: "/usr/local/cargo",
161
- name: "solana-cargo"
161
+ name: "solana-cargo",
162
+ shared: true
163
+ },
164
+ {
165
+ // Rustup installs Rust toolchain binaries into the Cargo binary directory.
166
+ // Thus, we can share neither the directory nor its Docker volume.
167
+ type: "isolate",
168
+ containerPath: "/usr/local/cargo/bin",
169
+ name: "solana-cargo-bin"
162
170
  },
163
171
  {
164
172
  type: "isolate",
@@ -285,6 +293,19 @@ var tools = [
285
293
  locked: false
286
294
  }
287
295
  ]
296
+ },
297
+ {
298
+ name: "daml",
299
+ chainType: ChainType.CANTON,
300
+ defaultVolumes: [
301
+ {
302
+ type: "isolate",
303
+ containerPath: "/root/.daml",
304
+ name: "canton-daml-cache",
305
+ shared: true,
306
+ locked: false
307
+ }
308
+ ]
288
309
  }
289
310
  ];
290
311
 
@@ -295,5 +316,5 @@ var ECR_REGISTRY = `${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com`;
295
316
  var ECR_IMAGE_DIRECTORY = "layerzerolabs";
296
317
 
297
318
  export { AWS_ACCOUNT_ID, AWS_REGION, ECR_IMAGE_DIRECTORY, ECR_REGISTRY, findMatrixForTool, findParentDirectoryWithFile, findSemVersionFromString, findToolByName, findToolsByType, getChainTypeForTool, getCombinationId, getImageBasenameForType, getImageNameForTool, getImageNameForType, getImageTag, getImageURI, getToolDefaultVersion, getToolSupportedVersions, parseAnchorTomlVersion, parseVersionFileContents, suiDefaultVolumes, tools, validateToolVersion, versionsSatisfied };
298
- //# sourceMappingURL=KNTO2HQA.js.map
299
- //# sourceMappingURL=KNTO2HQA.js.map
319
+ //# sourceMappingURL=6YQKZHZ5.js.map
320
+ //# sourceMappingURL=6YQKZHZ5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/config/index.ts","../src/config/tools.ts","../src/utils/version.ts","../src/utils.ts","../src/utils/docker.ts","../src/utils/finder.ts"],"names":["findToolByName","toolName","tool","tools","find","name","Error","findToolsByType","type","filter","chainType","getChainTypeForTool","typeToImageBasename","ChainType","APTOSMOVE","SUIMOVE","getImageBasenameForType","getImageNameForType","getImageNameForTool","findMatrixForTool","combinations","Object","values","versionMatrices","some","versions","getToolDefaultVersion","version","console","warn","getToolSupportedVersions","Set","map","Boolean","sort","getImageURI","combination","join","ECR_REGISTRY","ECR_IMAGE_DIRECTORY","getImageTag","patch","separator","entries","flat","findParentDirectoryWithFile","dir","filename","cur","filePath","path","fs","existsSync","directory","file","dirname","parseVersionFileContents","out","found","contents","readFileSync","parsed","dotenvParse","getCombinationId","versionsSatisfied","current","expected","satisfies","parseAnchorTomlVersion","cwd","projectFolder","toml","test","match","exec","matchedName","findSemVersionFromString","input","length","validateToolVersion","supportedVersions","includes","solanaDefaultVolumes","containerPath","shared","suiDefaultVolumes","EVM","defaultVolumes","SOLANA","privileged","getSecondaryVersionCheckValue","TON","STARKNET","STELLAR","locked","CANTON","AWS_ACCOUNT_ID","AWS_REGION"],"mappings":"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","file":"6YQKZHZ5.js","sourcesContent":["export { tools } from './tools';\nexport { versionMatrices } from './version-matrices';\n\nexport const AWS_ACCOUNT_ID = '438003944538';\nexport const AWS_REGION = 'us-east-1';\n\nexport const ECR_REGISTRY = `${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com`;\nexport const ECR_IMAGE_DIRECTORY = 'layerzerolabs';\n","import { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nimport type { GetExpectedVersionParameter, Tool, Version, VolumeMapping } from '../types';\nimport { parseAnchorTomlVersion } from '../utils/version';\n\nconst solanaDefaultVolumes: readonly VolumeMapping[] = [\n {\n type: 'isolate',\n containerPath: '/usr/local/cargo',\n name: 'solana-cargo',\n shared: true,\n },\n {\n // Rustup installs Rust toolchain binaries into the Cargo binary directory.\n // Thus, we can share neither the directory nor its Docker volume.\n type: 'isolate',\n containerPath: '/usr/local/cargo/bin',\n name: 'solana-cargo-bin',\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\nexport const suiDefaultVolumes: readonly VolumeMapping[] = [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'sui',\n shared: true,\n },\n {\n type: 'isolate',\n containerPath: '/root/.sui',\n name: 'sui-config',\n shared: true,\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: 'movement',\n chainType: ChainType.APTOSMOVE,\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.move',\n name: 'movement',\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: suiDefaultVolumes,\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 name: 'daml',\n chainType: ChainType.CANTON,\n defaultVolumes: [\n {\n type: 'isolate',\n containerPath: '/root/.daml',\n name: 'canton-daml-cache',\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';\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 { parse as dotenvParse } from 'dotenv';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nimport type { VersionCombination } from './types';\nimport { getImageTag } from './utils/docker';\n\nexport interface FoundDirectory {\n directory: string;\n file: string;\n}\n\nexport function findParentDirectoryWithFile(dir: string, filename: string): FoundDirectory | null {\n let cur = dir;\n\n while (cur !== '/') {\n const filePath = path.join(cur, filename);\n if (fs.existsSync(filePath)) {\n return { directory: cur, file: filePath };\n }\n\n cur = path.dirname(cur);\n }\n\n return null;\n}\n\nexport function parseVersionFileContents(dir: string): { [key: string]: string | undefined } {\n let out = {};\n\n let cur = dir;\n while (cur !== '/') {\n const found = findParentDirectoryWithFile(cur, '.versions');\n if (found === null) {\n break;\n }\n cur = path.dirname(found.directory);\n\n const contents = fs.readFileSync(found.file, 'utf-8');\n const parsed = dotenvParse(contents);\n\n out = {\n ...parsed,\n ...out,\n };\n }\n\n return out;\n}\n\nexport const getCombinationId = (combination: VersionCombination): string =>\n getImageTag(combination, '-');\n","import { join } from 'node:path';\n\nimport { ECR_IMAGE_DIRECTORY, ECR_REGISTRY } from '../config/index.js';\nimport type { VersionCombination } from '../types/version.js';\nimport { findMatrixForTool, getImageNameForTool } from './finder.js';\n\nexport const getImageURI = (toolName: string, version: string): string => {\n const combination = findMatrixForTool(toolName).find(\n ({ versions }) => versions[toolName] === version,\n );\n\n if (!combination) {\n throw new Error(\n `No version combination found for tool ${toolName} with version ${version}`,\n );\n }\n\n return join(\n ECR_REGISTRY,\n ECR_IMAGE_DIRECTORY,\n `${getImageNameForTool(toolName)}:${getImageTag(combination)}`,\n );\n};\n\nexport const getImageTag = (\n { versions, patch }: VersionCombination,\n separator: '_' | '-' = '_',\n): string =>\n [...Object.entries(versions).sort().flat(), ...(patch ? ['patch', patch] : [])].join(separator);\n","import { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nimport { tools, versionMatrices } from '../config';\nimport type { Tool, VersionCombination } from '../types';\n\nexport const findToolByName = (toolName: string): Tool => {\n const tool = tools.find((tool) => tool.name === toolName);\n\n if (!tool) {\n throw new Error(`Tool '${toolName}' not found`);\n }\n\n return tool;\n};\n\nexport const findToolsByType = (type: ChainType): Tool[] =>\n tools.filter((tool) => tool.chainType === type);\n\nexport const getChainTypeForTool = (toolName: string): ChainType =>\n findToolByName(toolName).chainType;\n\nconst typeToImageBasename: Partial<Record<ChainType, string>> = {\n [ChainType.APTOSMOVE]: 'aptos',\n [ChainType.SUIMOVE]: 'sui',\n};\n\nexport const getImageBasenameForType = (chainType: ChainType): string =>\n typeToImageBasename[chainType] ?? chainType;\n\nexport const getImageNameForType = (chainType: ChainType): string =>\n `${getImageBasenameForType(chainType)}-tooling`;\n\nexport const getImageNameForTool = (toolName: string): string =>\n getImageNameForType(getChainTypeForTool(toolName));\n\n/**\n * Find version matrix that contains a specific tool\n */\nexport const findMatrixForTool = (toolName: string): VersionCombination[] => {\n const combinations = Object.values(versionMatrices).find((combinations) =>\n combinations.some(({ versions }) => versions[toolName]),\n );\n\n if (!combinations) {\n throw new Error(`No version matrix found for tool '${toolName}'`);\n }\n\n return combinations;\n};\n\n/**\n * Get default version for a specific tool from version matrix\n */\nexport function getToolDefaultVersion(toolName: string): string | null {\n const version = findMatrixForTool(toolName)[0].versions[toolName];\n\n if (!version) {\n console.warn(`No default version found for tool '${toolName}' in matrix`);\n return null;\n }\n\n return version;\n}\n\n/**\n * Get supported versions for a specific tool from version matrix\n */\nexport const getToolSupportedVersions = (toolName: string): string[] =>\n [\n ...new Set(\n findMatrixForTool(toolName)\n .map(({ versions }) => versions[toolName])\n .filter(Boolean),\n ),\n ].sort();\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var _5KWSCPAS_cjs = require('./5KWSCPAS.cjs');
4
- var W6FCPNQL_cjs = require('./W6FCPNQL.cjs');
3
+ var _22KWM667_cjs = require('./22KWM667.cjs');
4
+ var GERMNIDG_cjs = require('./GERMNIDG.cjs');
5
5
  var U7VZULNU_cjs = require('./U7VZULNU.cjs');
6
6
 
7
7
  // src/commands/sui/build.ts
@@ -15,28 +15,28 @@ var build = /* @__PURE__ */ U7VZULNU_cjs.__name(async (args, options) => {
15
15
  if (options.volumes.length) {
16
16
  throw new Error("Volume option is not supported by the Sui build wrapper");
17
17
  }
18
- await _5KWSCPAS_cjs.executeToolCommand("sui", [
18
+ await _22KWM667_cjs.executeToolCommand("sui", [
19
19
  "move",
20
20
  "build",
21
21
  "--fetch-deps-only"
22
22
  ], {
23
23
  ...options,
24
- volumes: W6FCPNQL_cjs.suiDefaultVolumes.map((volume) => ({
24
+ volumes: GERMNIDG_cjs.suiDefaultVolumes.map((volume) => ({
25
25
  ...volume,
26
26
  locked: true
27
27
  }))
28
28
  });
29
- await _5KWSCPAS_cjs.executeToolCommand("sui", [
29
+ await _22KWM667_cjs.executeToolCommand("sui", [
30
30
  "move",
31
31
  "build",
32
32
  "--skip-fetch-latest-git-deps",
33
33
  ...args
34
34
  ], {
35
35
  ...options,
36
- volumes: W6FCPNQL_cjs.suiDefaultVolumes
36
+ volumes: GERMNIDG_cjs.suiDefaultVolumes
37
37
  });
38
38
  for (const script of permissionFixScripts) {
39
- await _5KWSCPAS_cjs.executeToolCommand("sui", [
39
+ await _22KWM667_cjs.executeToolCommand("sui", [
40
40
  "-c",
41
41
  script
42
42
  ], {
@@ -47,5 +47,5 @@ var build = /* @__PURE__ */ U7VZULNU_cjs.__name(async (args, options) => {
47
47
  }, "build");
48
48
 
49
49
  exports.build = build;
50
- //# sourceMappingURL=YNCUAY7W.cjs.map
51
- //# sourceMappingURL=YNCUAY7W.cjs.map
50
+ //# sourceMappingURL=7PSRMQMS.cjs.map
51
+ //# sourceMappingURL=7PSRMQMS.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/sui/build.ts"],"names":["init_cjs_shims","permissionFixScripts","build","__name","args","options","volumes","length","Error","executeToolCommand","suiDefaultVolumes","map","volume","locked","script","customEntrypoint"],"mappings":";;;;;;;AAAAA,2BAAA,EAAA;AAQA,IAAMC,oBAAAA,GAAuB;AACzB,EAAA,oBAAA;AACA,EAAA,yCAAA;AACA,EAAA;;AAGG,IAAMC,KAAAA,mBAAQC,mBAAA,CAAA,OACjBC,IAAAA,EACAC,OAAAA,KAAAA;AAEA,EAAA,IAAIA,OAAAA,CAAQC,QAAQC,MAAAA,EAAQ;AACxB,IAAA,MAAM,IAAIC,MAAM,yDAAA,CAAA;AACpB,EAAA;AAGA,EAAA,MAAMC,iCAAmB,KAAA,EAAO;AAAC,IAAA,MAAA;AAAQ,IAAA,OAAA;AAAS,IAAA;AAAsB,GAAA,EAAA;IACpE,GAAGJ,OAAAA;IACHC,OAAAA,EAASI,8BAAAA,CAAkBC,GAAAA,CAAI,CAACC,MAAAA,MAAY;MAAE,GAAGA,MAAAA;MAAQC,MAAAA,EAAQ;KAAK,CAAA;GAC1E,CAAA;AAEA,EAAA,MAAMJ,iCAAmB,KAAA,EAAO;AAAC,IAAA,MAAA;AAAQ,IAAA,OAAA;AAAS,IAAA,8BAAA;AAAmCL,IAAAA,GAAAA;AAAO,GAAA,EAAA;IACxF,GAAGC,OAAAA;IACHC,OAAAA,EAASI;GACb,CAAA;AAEA,EAAA,KAAA,MAAWI,UAAUb,oBAAAA,EAAsB;AACvC,IAAA,MAAMQ,iCAAmB,KAAA,EAAO;AAAC,MAAA,IAAA;AAAMK,MAAAA;AAAS,KAAA,EAAA;MAC5C,GAAGT,OAAAA;MACHU,gBAAAA,EAAkB;KACtB,CAAA;AACJ,EAAA;AACJ,CAAA,EAzBqB,OAAA","file":"YNCUAY7W.cjs","sourcesContent":["import { suiDefaultVolumes } from '../../config/tools';\nimport type { ToolCommandExecutionOptions } from '../../core/tool-executor';\nimport { executeToolCommand } from '../../core/tool-executor';\n\n// Fix permissions for Turbo cache; make build outputs readable by all.\n// This ensures Turbo can properly cache the build artifacts.\n//\n// Also, Move.lock files can be created with restrictive permissions during build.\nconst permissionFixScripts = [\n 'chmod -R 777 build',\n 'find build -type f -exec chmod 644 {} +',\n 'chmod 644 Move.lock',\n];\n\nexport const build = async (\n args: string[],\n options: ToolCommandExecutionOptions,\n): Promise<void> => {\n if (options.volumes.length) {\n throw new Error('Volume option is not supported by the Sui build wrapper');\n }\n\n // Fetch dependencies into the shared Docker volume with a lock.\n await executeToolCommand('sui', ['move', 'build', '--fetch-deps-only'], {\n ...options,\n volumes: suiDefaultVolumes.map((volume) => ({ ...volume, locked: true })),\n });\n // Build contracts skipping dependency downloads that have completed in the previous step.\n await executeToolCommand('sui', ['move', 'build', '--skip-fetch-latest-git-deps', ...args], {\n ...options,\n volumes: suiDefaultVolumes,\n });\n\n for (const script of permissionFixScripts) {\n await executeToolCommand('sui', ['-c', script], {\n ...options,\n customEntrypoint: '/bin/sh',\n });\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/commands/sui/build.ts"],"names":["init_cjs_shims","permissionFixScripts","build","__name","args","options","volumes","length","Error","executeToolCommand","suiDefaultVolumes","map","volume","locked","script","customEntrypoint"],"mappings":";;;;;;;AAAAA,2BAAA,EAAA;AAQA,IAAMC,oBAAAA,GAAuB;AACzB,EAAA,oBAAA;AACA,EAAA,yCAAA;AACA,EAAA;;AAGG,IAAMC,KAAAA,mBAAQC,mBAAA,CAAA,OACjBC,IAAAA,EACAC,OAAAA,KAAAA;AAEA,EAAA,IAAIA,OAAAA,CAAQC,QAAQC,MAAAA,EAAQ;AACxB,IAAA,MAAM,IAAIC,MAAM,yDAAA,CAAA;AACpB,EAAA;AAGA,EAAA,MAAMC,iCAAmB,KAAA,EAAO;AAAC,IAAA,MAAA;AAAQ,IAAA,OAAA;AAAS,IAAA;AAAsB,GAAA,EAAA;IACpE,GAAGJ,OAAAA;IACHC,OAAAA,EAASI,8BAAAA,CAAkBC,GAAAA,CAAI,CAACC,MAAAA,MAAY;MAAE,GAAGA,MAAAA;MAAQC,MAAAA,EAAQ;KAAK,CAAA;GAC1E,CAAA;AAEA,EAAA,MAAMJ,iCAAmB,KAAA,EAAO;AAAC,IAAA,MAAA;AAAQ,IAAA,OAAA;AAAS,IAAA,8BAAA;AAAmCL,IAAAA,GAAAA;AAAO,GAAA,EAAA;IACxF,GAAGC,OAAAA;IACHC,OAAAA,EAASI;GACb,CAAA;AAEA,EAAA,KAAA,MAAWI,UAAUb,oBAAAA,EAAsB;AACvC,IAAA,MAAMQ,iCAAmB,KAAA,EAAO;AAAC,MAAA,IAAA;AAAMK,MAAAA;AAAS,KAAA,EAAA;MAC5C,GAAGT,OAAAA;MACHU,gBAAAA,EAAkB;KACtB,CAAA;AACJ,EAAA;AACJ,CAAA,EAzBqB,OAAA","file":"7PSRMQMS.cjs","sourcesContent":["import { suiDefaultVolumes } from '../../config/tools';\nimport type { ToolCommandExecutionOptions } from '../../core/tool-executor';\nimport { executeToolCommand } from '../../core/tool-executor';\n\n// Fix permissions for Turbo cache; make build outputs readable by all.\n// This ensures Turbo can properly cache the build artifacts.\n//\n// Also, Move.lock files can be created with restrictive permissions during build.\nconst permissionFixScripts = [\n 'chmod -R 777 build',\n 'find build -type f -exec chmod 644 {} +',\n 'chmod 644 Move.lock',\n];\n\nexport const build = async (\n args: string[],\n options: ToolCommandExecutionOptions,\n): Promise<void> => {\n if (options.volumes.length) {\n throw new Error('Volume option is not supported by the Sui build wrapper');\n }\n\n // Fetch dependencies into the shared Docker volume with a lock.\n await executeToolCommand('sui', ['move', 'build', '--fetch-deps-only'], {\n ...options,\n volumes: suiDefaultVolumes.map((volume) => ({ ...volume, locked: true })),\n });\n // Build contracts skipping dependency downloads that have completed in the previous step.\n await executeToolCommand('sui', ['move', 'build', '--skip-fetch-latest-git-deps', ...args], {\n ...options,\n volumes: suiDefaultVolumes,\n });\n\n for (const script of permissionFixScripts) {\n await executeToolCommand('sui', ['-c', script], {\n ...options,\n customEntrypoint: '/bin/sh',\n });\n }\n};\n"]}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var W6FCPNQL_cjs = require('./W6FCPNQL.cjs');
4
- var JLKKDVCL_cjs = require('./JLKKDVCL.cjs');
3
+ var GERMNIDG_cjs = require('./GERMNIDG.cjs');
4
+ var Q3ORCLJH_cjs = require('./Q3ORCLJH.cjs');
5
5
  var QYB5VPZE_cjs = require('./QYB5VPZE.cjs');
6
6
  var U7VZULNU_cjs = require('./U7VZULNU.cjs');
7
7
  var process = require('process');
@@ -14,7 +14,7 @@ var process__default = /*#__PURE__*/_interopDefault(process);
14
14
  U7VZULNU_cjs.init_cjs_shims();
15
15
  function extractUserVersions(options) {
16
16
  const userVersions = {};
17
- for (const tool of W6FCPNQL_cjs.tools) {
17
+ for (const tool of GERMNIDG_cjs.tools) {
18
18
  const versionKey = `${tool.name}Version`;
19
19
  const versionValue = options[versionKey];
20
20
  if (typeof versionValue === "string" && versionValue !== "") {
@@ -25,7 +25,7 @@ function extractUserVersions(options) {
25
25
  }
26
26
  U7VZULNU_cjs.__name(extractUserVersions, "extractUserVersions");
27
27
  function resolveToolVersion(toolName, userSpecifiedVersions, options, cwd) {
28
- const tool = W6FCPNQL_cjs.findToolByName(toolName);
28
+ const tool = GERMNIDG_cjs.findToolByName(toolName);
29
29
  const userVersion = userSpecifiedVersions[toolName];
30
30
  if (typeof userVersion === "string" && userVersion !== "") {
31
31
  return userVersion;
@@ -36,7 +36,7 @@ function resolveToolVersion(toolName, userSpecifiedVersions, options, cwd) {
36
36
  return envVersion;
37
37
  }
38
38
  try {
39
- const parsedVersions = W6FCPNQL_cjs.parseVersionFileContents(cwd);
39
+ const parsedVersions = GERMNIDG_cjs.parseVersionFileContents(cwd);
40
40
  const versionKey = `${tool.name}_version`.toUpperCase();
41
41
  const foundVersion = parsedVersions[versionKey];
42
42
  if (typeof foundVersion === "string" && foundVersion !== "") {
@@ -44,11 +44,11 @@ function resolveToolVersion(toolName, userSpecifiedVersions, options, cwd) {
44
44
  }
45
45
  } catch (error) {
46
46
  }
47
- return W6FCPNQL_cjs.getToolDefaultVersion(tool.name);
47
+ return GERMNIDG_cjs.getToolDefaultVersion(tool.name);
48
48
  }
49
49
  U7VZULNU_cjs.__name(resolveToolVersion, "resolveToolVersion");
50
50
  function resolveTypeVersions(type, userSpecifiedVersions, options, cwd) {
51
- const typeTools = W6FCPNQL_cjs.findToolsByType(type);
51
+ const typeTools = GERMNIDG_cjs.findToolsByType(type);
52
52
  if (!typeTools.length) {
53
53
  throw new Error(`Type ${type} not found or no tools available`);
54
54
  }
@@ -61,11 +61,11 @@ function resolveTypeVersions(type, userSpecifiedVersions, options, cwd) {
61
61
  continue;
62
62
  }
63
63
  resolvedVersions[tool.name] = version;
64
- if (version === W6FCPNQL_cjs.getToolDefaultVersion(tool.name)) {
64
+ if (version === GERMNIDG_cjs.getToolDefaultVersion(tool.name)) {
65
65
  usedDefaultFor.push(tool.name);
66
66
  }
67
- if (version !== W6FCPNQL_cjs.getToolDefaultVersion(tool.name)) {
68
- const supportedVersions = W6FCPNQL_cjs.getToolSupportedVersions(tool.name);
67
+ if (version !== GERMNIDG_cjs.getToolDefaultVersion(tool.name)) {
68
+ const supportedVersions = GERMNIDG_cjs.getToolSupportedVersions(tool.name);
69
69
  if (!supportedVersions.includes(version)) {
70
70
  warnings.push(`\u26A0\uFE0F Version ${version} for ${tool.name} is not in the supported list.
71
71
  Supported versions: ${supportedVersions.join(", ")}
@@ -73,7 +73,7 @@ function resolveTypeVersions(type, userSpecifiedVersions, options, cwd) {
73
73
  }
74
74
  }
75
75
  }
76
- const combinations = JLKKDVCL_cjs.versionMatrices[type];
76
+ const combinations = Q3ORCLJH_cjs.versionMatrices[type];
77
77
  let matchedCombination;
78
78
  let isCompatibleCombination = false;
79
79
  for (const combo of combinations) {
@@ -104,12 +104,12 @@ function resolveTypeVersions(type, userSpecifiedVersions, options, cwd) {
104
104
  }
105
105
  }
106
106
  if (!isCompatibleCombination) {
107
- const stableCombinations = combinations.filter(({ stable }) => stable).map((combination) => W6FCPNQL_cjs.getCombinationId(combination)).join(", ");
107
+ const stableCombinations = combinations.filter(({ stable }) => stable).map((combination) => GERMNIDG_cjs.getCombinationId(combination)).join(", ");
108
108
  warnings.push(`\u26A0\uFE0F Custom version combination detected - not officially tested.
109
109
  \u{1F4A1} Stable combinations: ${stableCombinations}
110
110
  \u{1F50D} Use 'lz-tool --list-versions' to see all tested combinations.`);
111
111
  } else if (matchedCombination?.description !== void 0) {
112
- console.info(`\u2705 ${matchedCombination.description} (${W6FCPNQL_cjs.getCombinationId(matchedCombination)})`);
112
+ console.info(`\u2705 ${matchedCombination.description} (${GERMNIDG_cjs.getCombinationId(matchedCombination)})`);
113
113
  }
114
114
  return {
115
115
  resolvedVersions,
@@ -123,5 +123,5 @@ U7VZULNU_cjs.__name(resolveTypeVersions, "resolveTypeVersions");
123
123
  exports.extractUserVersions = extractUserVersions;
124
124
  exports.resolveToolVersion = resolveToolVersion;
125
125
  exports.resolveTypeVersions = resolveTypeVersions;
126
- //# sourceMappingURL=YPULSRCT.cjs.map
127
- //# sourceMappingURL=YPULSRCT.cjs.map
126
+ //# sourceMappingURL=BG3MG6IF.cjs.map
127
+ //# sourceMappingURL=BG3MG6IF.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/version-resolver.ts"],"names":["init_cjs_shims","extractUserVersions","options","userVersions","tool","tools","versionKey","name","versionValue","resolveToolVersion","toolName","userSpecifiedVersions","cwd","findToolByName","userVersion","envKey","toUpperCase","envVersion","process","env","parsedVersions","parseVersionFileContents","foundVersion","error","getToolDefaultVersion","resolveTypeVersions","type","typeTools","findToolsByType","length","Error","resolvedVersions","usedDefaultFor","warnings","version","push","supportedVersions","getToolSupportedVersions","includes","join","combinations","versionMatrices","matchedCombination","isCompatibleCombination","combo","matches","Object","entries","versions","every","compatibleCombo","findBestCompatibleCombination","adjusted","comboVersion","undefined","oldVersion","stableCombinations","filter","stable","map","combination","getCombinationId","description","console","info"],"mappings":"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","file":"YPULSRCT.cjs","sourcesContent":["import process from 'process';\n\nimport type { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nimport { tools, versionMatrices } from '../config';\nimport type { VersionCombination, VersionResolutionResult } from '../types';\nimport { getCombinationId, parseVersionFileContents } from '../utils';\nimport {\n findToolByName,\n findToolsByType,\n getToolDefaultVersion,\n getToolSupportedVersions,\n} from '../utils/finder';\nimport { findBestCompatibleCombination } from './compatibility';\n\n/**\n * Extract user-specified versions from command line options\n */\nexport function extractUserVersions(options: { [key: string]: any }): { [key: string]: string } {\n const userVersions: { [key: string]: string } = {};\n\n // Extract versions from command line options\n for (const tool of tools) {\n const versionKey = `${tool.name}Version`;\n const versionValue = options[versionKey] as unknown;\n if (typeof versionValue === 'string' && versionValue !== '') {\n userVersions[tool.name] = versionValue;\n }\n }\n\n return userVersions;\n}\n\n/**\n * Resolve version for a single tool following priority order:\n * 1. Command line options\n * 2. Environment variables\n * 3. .versions file\n * 4. Default version\n */\nexport function resolveToolVersion(\n toolName: string,\n userSpecifiedVersions: { [key: string]: string },\n options: { [key: string]: any },\n cwd: string,\n): string | null {\n const tool = findToolByName(toolName);\n\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: ChainType,\n userSpecifiedVersions: { [key: string]: string },\n options: { [key: string]: any },\n cwd: string,\n): VersionResolutionResult {\n const typeTools = findToolsByType(type);\n\n if (!typeTools.length) {\n throw new Error(`Type ${type} not found or no tools available`);\n }\n\n // 1. Collect versions from all sources for each tool\n const resolvedVersions: { [key: string]: string } = {};\n const usedDefaultFor: string[] = [];\n const warnings: string[] = [];\n\n for (const tool of typeTools) {\n const version = resolveToolVersion(tool.name, userSpecifiedVersions, options, cwd);\n\n if (!version) {\n continue;\n }\n\n resolvedVersions[tool.name] = version;\n\n if (version === getToolDefaultVersion(tool.name)) {\n usedDefaultFor.push(tool.name);\n }\n\n // Validate user-specified version if not default\n if (version !== getToolDefaultVersion(tool.name)) {\n const supportedVersions = getToolSupportedVersions(tool.name);\n if (!supportedVersions.includes(version)) {\n warnings.push(\n `⚠️ Version ${version} for ${tool.name} is not in the supported list.\\n` +\n ` Supported versions: ${supportedVersions.join(', ')}\\n` +\n ` Continuing with Docker availability as final validation...`,\n );\n }\n }\n }\n\n // 2. Check if current combination matches any compatible combination\n const combinations = versionMatrices[type];\n let matchedCombination: VersionCombination | undefined;\n let isCompatibleCombination = false;\n\n for (const combo of 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, combinations);\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 stableCombinations = combinations\n .filter(({ stable }) => stable)\n .map((combination) => getCombinationId(combination))\n .join(', ');\n\n warnings.push(\n `⚠️ Custom version combination detected - not officially tested.\\n` +\n ` 💡 Stable combinations: ${stableCombinations}\\n` +\n ` 🔍 Use 'lz-tool --list-versions' to see all tested combinations.`,\n );\n } else if (matchedCombination?.description !== undefined) {\n console.info(\n `✅ ${matchedCombination.description} (${getCombinationId(matchedCombination)})`,\n );\n }\n\n return {\n resolvedVersions,\n isCompatibleCombination,\n usedDefaultFor,\n warnings,\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/core/version-resolver.ts"],"names":["init_cjs_shims","extractUserVersions","options","userVersions","tool","tools","versionKey","name","versionValue","resolveToolVersion","toolName","userSpecifiedVersions","cwd","findToolByName","userVersion","envKey","toUpperCase","envVersion","process","env","parsedVersions","parseVersionFileContents","foundVersion","error","getToolDefaultVersion","resolveTypeVersions","type","typeTools","findToolsByType","length","Error","resolvedVersions","usedDefaultFor","warnings","version","push","supportedVersions","getToolSupportedVersions","includes","join","combinations","versionMatrices","matchedCombination","isCompatibleCombination","combo","matches","Object","entries","versions","every","compatibleCombo","findBestCompatibleCombination","adjusted","comboVersion","undefined","oldVersion","stableCombinations","filter","stable","map","combination","getCombinationId","description","console","info"],"mappings":"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","file":"BG3MG6IF.cjs","sourcesContent":["import process from 'process';\n\nimport type { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nimport { tools, versionMatrices } from '../config';\nimport type { VersionCombination, VersionResolutionResult } from '../types';\nimport { getCombinationId, parseVersionFileContents } from '../utils';\nimport {\n findToolByName,\n findToolsByType,\n getToolDefaultVersion,\n getToolSupportedVersions,\n} from '../utils/finder';\nimport { findBestCompatibleCombination } from './compatibility';\n\n/**\n * Extract user-specified versions from command line options\n */\nexport function extractUserVersions(options: { [key: string]: any }): { [key: string]: string } {\n const userVersions: { [key: string]: string } = {};\n\n // Extract versions from command line options\n for (const tool of tools) {\n const versionKey = `${tool.name}Version`;\n const versionValue = options[versionKey] as unknown;\n if (typeof versionValue === 'string' && versionValue !== '') {\n userVersions[tool.name] = versionValue;\n }\n }\n\n return userVersions;\n}\n\n/**\n * Resolve version for a single tool following priority order:\n * 1. Command line options\n * 2. Environment variables\n * 3. .versions file\n * 4. Default version\n */\nexport function resolveToolVersion(\n toolName: string,\n userSpecifiedVersions: { [key: string]: string },\n options: { [key: string]: any },\n cwd: string,\n): string | null {\n const tool = findToolByName(toolName);\n\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: ChainType,\n userSpecifiedVersions: { [key: string]: string },\n options: { [key: string]: any },\n cwd: string,\n): VersionResolutionResult {\n const typeTools = findToolsByType(type);\n\n if (!typeTools.length) {\n throw new Error(`Type ${type} not found or no tools available`);\n }\n\n // 1. Collect versions from all sources for each tool\n const resolvedVersions: { [key: string]: string } = {};\n const usedDefaultFor: string[] = [];\n const warnings: string[] = [];\n\n for (const tool of typeTools) {\n const version = resolveToolVersion(tool.name, userSpecifiedVersions, options, cwd);\n\n if (!version) {\n continue;\n }\n\n resolvedVersions[tool.name] = version;\n\n if (version === getToolDefaultVersion(tool.name)) {\n usedDefaultFor.push(tool.name);\n }\n\n // Validate user-specified version if not default\n if (version !== getToolDefaultVersion(tool.name)) {\n const supportedVersions = getToolSupportedVersions(tool.name);\n if (!supportedVersions.includes(version)) {\n warnings.push(\n `⚠️ Version ${version} for ${tool.name} is not in the supported list.\\n` +\n ` Supported versions: ${supportedVersions.join(', ')}\\n` +\n ` Continuing with Docker availability as final validation...`,\n );\n }\n }\n }\n\n // 2. Check if current combination matches any compatible combination\n const combinations = versionMatrices[type];\n let matchedCombination: VersionCombination | undefined;\n let isCompatibleCombination = false;\n\n for (const combo of 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, combinations);\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 stableCombinations = combinations\n .filter(({ stable }) => stable)\n .map((combination) => getCombinationId(combination))\n .join(', ');\n\n warnings.push(\n `⚠️ Custom version combination detected - not officially tested.\\n` +\n ` 💡 Stable combinations: ${stableCombinations}\\n` +\n ` 🔍 Use 'lz-tool --list-versions' to see all tested combinations.`,\n );\n } else if (matchedCombination?.description !== undefined) {\n console.info(\n `✅ ${matchedCombination.description} (${getCombinationId(matchedCombination)})`,\n );\n }\n\n return {\n resolvedVersions,\n isCompatibleCombination,\n usedDefaultFor,\n warnings,\n };\n}\n"]}
@@ -13,12 +13,6 @@ var versionMatrices = {
13
13
  patch: 1,
14
14
  stable: true
15
15
  },
16
- {
17
- versions: {
18
- forge: "1.3.6",
19
- hardhat: "2.26.3"
20
- }
21
- },
22
16
  {
23
17
  // Built in the old `monorepo` repository.
24
18
  versions: {
@@ -45,13 +39,6 @@ var versionMatrices = {
45
39
  }
46
40
  ],
47
41
  [ChainType.APTOSMOVE]: [
48
- {
49
- versions: {
50
- aptos: "4.7.0",
51
- initiad: "0.6.3"
52
- },
53
- stable: true
54
- },
55
42
  {
56
43
  versions: {
57
44
  aptos: "4.7.0",
@@ -61,8 +48,10 @@ var versionMatrices = {
61
48
  },
62
49
  {
63
50
  versions: {
64
- aptos: "4.7.0"
65
- }
51
+ aptos: "4.7.0",
52
+ initiad: "0.6.3"
53
+ },
54
+ stable: true
66
55
  },
67
56
  {
68
57
  // Built in the old `monorepo` repository.
@@ -89,14 +78,14 @@ var versionMatrices = {
89
78
  versions: {
90
79
  scarb: "2.12.0"
91
80
  },
92
- patch: 3,
93
- stable: true
81
+ patch: 4
94
82
  },
95
83
  {
96
84
  versions: {
97
85
  scarb: "2.12.0"
98
86
  },
99
- patch: 4
87
+ patch: 3,
88
+ stable: true
100
89
  }
101
90
  ],
102
91
  [ChainType.SUIMOVE]: [
@@ -123,9 +112,17 @@ var versionMatrices = {
123
112
  description: "Latest stable Stellar CLI release",
124
113
  stable: true
125
114
  }
115
+ ],
116
+ [ChainType.CANTON]: [
117
+ {
118
+ versions: {
119
+ daml: "3.3.0-snapshot.20250507.0"
120
+ },
121
+ patch: 1
122
+ }
126
123
  ]
127
124
  };
128
125
 
129
126
  export { versionMatrices };
130
- //# sourceMappingURL=NX66I36H.js.map
131
- //# sourceMappingURL=NX66I36H.js.map
127
+ //# sourceMappingURL=DN5VBC3L.js.map
128
+ //# sourceMappingURL=DN5VBC3L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/config/version-matrices.ts"],"names":["versionMatrices","ChainType","EVM","versions","forge","hardhat","patch","stable","SOLANA","solana","anchor","description","APTOSMOVE","aptos","initiad","movement","TON","blueprint","STARKNET","scarb","SUIMOVE","sui","STELLAR","stellar","CANTON","daml"],"mappings":";;;;AAAA,cAAA,EAAA;AAQO,IAAMA,eAAAA,GAAoF;EAC7F,CAACC,SAAAA,CAAUC,GAAG,GAAG;AACb,IAAA;MACIC,QAAAA,EAAU;QAAEC,KAAAA,EAAO,OAAA;QAASC,OAAAA,EAAS;AAAS,OAAA;MAC9CC,KAAAA,EAAO,CAAA;MACPC,MAAAA,EAAQ;AACZ,KAAA;AACA,IAAA;;MAEIJ,QAAAA,EAAU;QAAEE,OAAAA,EAAS;AAAS;AAClC;;EAEJ,CAACJ,SAAAA,CAAUO,MAAM,GAAG;AAChB,IAAA;;MAEIL,QAAAA,EAAU;QAAEM,MAAAA,EAAQ,SAAA;QAAWC,MAAAA,EAAQ;AAAS,OAAA;MAChDC,WAAAA,EAAa,wBAAA;MACbJ,MAAAA,EAAQ;AACZ,KAAA;AACA,IAAA;MACIJ,QAAAA,EAAU;QAAEM,MAAAA,EAAQ,QAAA;QAAUC,MAAAA,EAAQ;AAAS,OAAA;MAC/CC,WAAAA,EAAa;AACjB;;EAEJ,CAACV,SAAAA,CAAUW,SAAS,GAAG;AACnB,IAAA;MACIT,QAAAA,EAAU;QAAEU,KAAAA,EAAO,OAAA;QAASC,OAAAA,EAAS,OAAA;QAASC,QAAAA,EAAU;AAAQ;AACpE,KAAA;AACA,IAAA;MACIZ,QAAAA,EAAU;QAAEU,KAAAA,EAAO,OAAA;QAASC,OAAAA,EAAS;AAAQ,OAAA;MAC7CP,MAAAA,EAAQ;AACZ,KAAA;AACA,IAAA;;MAEIJ,QAAAA,EAAU;QAAEU,KAAAA,EAAO;AAAQ;AAC/B;;EAEJ,CAACZ,SAAAA,CAAUe,GAAG,GAAG;AACb,IAAA;;;;;MAKIb,QAAAA,EAAU;QAAEc,SAAAA,EAAW;AAAgB,OAAA;MACvCX,KAAAA,EAAO,CAAA;MACPC,MAAAA,EAAQ;AACZ;;EAEJ,CAACN,SAAAA,CAAUiB,QAAQ,GAAG;AAClB,IAAA;MACIf,QAAAA,EAAU;QAAEgB,KAAAA,EAAO;AAAS,OAAA;MAC5Bb,KAAAA,EAAO;AACX,KAAA;AACA,IAAA;MACIH,QAAAA,EAAU;QAAEgB,KAAAA,EAAO;AAAS,OAAA;MAC5Bb,KAAAA,EAAO,CAAA;MACPC,MAAAA,EAAQ;AACZ;;EAEJ,CAACN,SAAAA,CAAUmB,OAAO,GAAG;AACjB,IAAA;;MAEIjB,QAAAA,EAAU;QAAEkB,GAAAA,EAAK;AAAgB,OAAA;MACjCd,MAAAA,EAAQ;AACZ,KAAA;AACA,IAAA;;MAEIJ,QAAAA,EAAU;QAAEkB,GAAAA,EAAK;AAAS,OAAA;MAC1Bf,KAAAA,EAAO;AACX;;EAEJ,CAACL,SAAAA,CAAUqB,OAAO,GAAG;AACjB,IAAA;MACInB,QAAAA,EAAU;QAAEoB,OAAAA,EAAS;AAAS,OAAA;MAC9BZ,WAAAA,EAAa,mCAAA;MACbJ,MAAAA,EAAQ;AACZ;;EAEJ,CAACN,SAAAA,CAAUuB,MAAM,GAAG;AAChB,IAAA;MACIrB,QAAAA,EAAU;QAAEsB,IAAAA,EAAM;AAA4B,OAAA;MAC9CnB,KAAAA,EAAO;AACX;;AAER","file":"DN5VBC3L.js","sourcesContent":["import { ChainType } from '@layerzerolabs/layerzero-definitions';\n\nimport type { VersionCombination } 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: Record<ChainType, [VersionCombination, ...VersionCombination[]]> = {\n [ChainType.EVM]: [\n {\n versions: { forge: '1.3.6', hardhat: '2.26.3' },\n patch: 1,\n stable: true,\n },\n {\n // Built in the old `monorepo` repository.\n versions: { hardhat: '2.19.3' },\n },\n ],\n [ChainType.SOLANA]: [\n {\n // Built in the old `monorepo` repository.\n versions: { solana: '1.17.31', anchor: '0.29.0' },\n description: 'Stable and well-tested',\n stable: true,\n },\n {\n versions: { solana: '2.2.20', anchor: '0.31.1' },\n description: 'Latest stable release',\n },\n ],\n [ChainType.APTOSMOVE]: [\n {\n versions: { aptos: '4.7.0', initiad: '0.6.3', movement: '3.5.0' },\n },\n {\n versions: { aptos: '4.7.0', initiad: '0.6.3' },\n stable: true,\n },\n {\n // Built in the old `monorepo` repository.\n versions: { aptos: '4.6.0' },\n },\n ],\n [ChainType.TON]: [\n {\n // In TON's offchain SDK, we derive contract addresses dynamically from their\n // bytecode and initial state even for contracts deployed already.\n // Therefore, we cannot update the compiler version even when the minor version is the same\n // since it would change the resulting bytecode and thus the contract address.\n versions: { blueprint: '0.25.0-beta.1' },\n patch: 2,\n stable: true,\n },\n ],\n [ChainType.STARKNET]: [\n {\n versions: { scarb: '2.12.0' },\n patch: 4,\n },\n {\n versions: { scarb: '2.12.0' },\n patch: 3,\n stable: true,\n },\n ],\n [ChainType.SUIMOVE]: [\n {\n // Built in the old `monorepo` repository.\n versions: { sui: '1.54.1-beta.0' },\n stable: true,\n },\n {\n // Test building from monorepo-internal\n versions: { sui: '1.54.1' },\n patch: 1,\n },\n ],\n [ChainType.STELLAR]: [\n {\n versions: { stellar: '23.1.4' },\n description: 'Latest stable Stellar CLI release',\n stable: true,\n },\n ],\n [ChainType.CANTON]: [\n {\n versions: { daml: '3.3.0-snapshot.20250507.0' },\n patch: 1,\n },\n ],\n};\n"]}