@layerzerolabs/vm-tooling 0.0.44 → 0.0.45

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 (55) hide show
  1. package/dist/{BQE33FG7.js → 27HYHTXW.js} +3 -3
  2. package/dist/{BQE33FG7.js.map → 27HYHTXW.js.map} +1 -1
  3. package/dist/{5KA4B3WL.js → 3772Y3PC.js} +20 -12
  4. package/dist/3772Y3PC.js.map +1 -0
  5. package/dist/{7S3N6ZPY.cjs → 377FOBYP.cjs} +20 -12
  6. package/dist/377FOBYP.cjs.map +1 -0
  7. package/dist/{N7J75JOO.js → 42O3V7X5.js} +4 -4
  8. package/dist/{N7J75JOO.js.map → 42O3V7X5.js.map} +1 -1
  9. package/dist/{RYB7HXPO.cjs → BVCDSSHB.cjs} +6 -6
  10. package/dist/{RYB7HXPO.cjs.map → BVCDSSHB.cjs.map} +1 -1
  11. package/dist/{67EGQ6NV.cjs → BZPGQCXP.cjs} +14 -14
  12. package/dist/{67EGQ6NV.cjs.map → BZPGQCXP.cjs.map} +1 -1
  13. package/dist/{CRLXMIJF.js → ODR3PEGR.js} +5 -5
  14. package/dist/{CRLXMIJF.js.map → ODR3PEGR.js.map} +1 -1
  15. package/dist/{CFMPNPDE.js → POABMLRA.js} +4 -4
  16. package/dist/{CFMPNPDE.js.map → POABMLRA.js.map} +1 -1
  17. package/dist/{FTNN2BYM.cjs → UCOWJND6.cjs} +13 -13
  18. package/dist/{FTNN2BYM.cjs.map → UCOWJND6.cjs.map} +1 -1
  19. package/dist/{JSQ7H2ZH.cjs → Z3UDKF22.cjs} +11 -11
  20. package/dist/{JSQ7H2ZH.cjs.map → Z3UDKF22.cjs.map} +1 -1
  21. package/dist/config/index.cjs +6 -6
  22. package/dist/config/index.js +2 -2
  23. package/dist/config/tools.cjs +3 -3
  24. package/dist/config/tools.js +2 -2
  25. package/dist/config/version-matrices.cjs +2 -2
  26. package/dist/config/version-matrices.d.ts.map +1 -1
  27. package/dist/config/version-matrices.js +1 -1
  28. package/dist/core/index.cjs +8 -8
  29. package/dist/core/index.js +4 -4
  30. package/dist/core/tool-executor.cjs +5 -5
  31. package/dist/core/tool-executor.js +4 -4
  32. package/dist/core/version-resolver.cjs +6 -6
  33. package/dist/core/version-resolver.js +3 -3
  34. package/dist/display/index.cjs +5 -5
  35. package/dist/display/index.js +3 -3
  36. package/dist/display/version-display.cjs +5 -5
  37. package/dist/display/version-display.js +3 -3
  38. package/dist/index.cjs +13 -13
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.js +5 -5
  41. package/dist/scripts/generate-github-matrix.cjs +4 -3
  42. package/dist/scripts/generate-github-matrix.cjs.map +1 -1
  43. package/dist/scripts/generate-github-matrix.js +3 -2
  44. package/dist/scripts/generate-github-matrix.js.map +1 -1
  45. package/dist/types/tool.d.ts +1 -1
  46. package/dist/types/tool.d.ts.map +1 -1
  47. package/dist/utils/finder-utils.cjs +9 -9
  48. package/dist/utils/finder-utils.js +2 -2
  49. package/dist/utils/index.cjs +13 -13
  50. package/dist/utils/index.js +2 -2
  51. package/dist/utils/version-utils.cjs +6 -6
  52. package/dist/utils/version-utils.js +2 -2
  53. package/package.json +4 -4
  54. package/dist/5KA4B3WL.js.map +0 -1
  55. package/dist/7S3N6ZPY.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/version-resolver.ts"],"names":["extractUserVersions","options","userVersions","tool","tools","versionKey","name","versionValue","resolveToolVersion","toolName","userSpecifiedVersions","cwd","findToolByName","Error","userVersion","envKey","toUpperCase","envVersion","process","env","parsedVersions","parseVersionFileContents","foundVersion","error","getToolDefaultVersion","resolveTypeVersions","type","matrix","findMatrixByType","typeTools","findToolsByType","length","resolvedVersions","usedDefaultFor","warnings","version","push","supportedVersions","getToolSupportedVersions","includes","join","matchedCombination","isCompatibleCombination","combo","combinations","matches","Object","entries","versions","every","compatibleCombo","findBestCompatibleCombination","adjusted","comboVersion","undefined","oldVersion","recommendedCombos","filter","c","isRecommended","map","id","description","console","info","combinationId"],"mappings":"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","file":"JSQ7H2ZH.cjs","sourcesContent":["import process from 'process';\n\nimport { tools } from '../config';\nimport type { ToolType, VersionCombination, VersionResolutionResult } from '../types';\nimport { parseVersionFileContents } from '../utils';\nimport {\n findMatrixByType,\n findToolByName,\n findToolsByType,\n getToolDefaultVersion,\n getToolSupportedVersions,\n} from '../utils/finder-utils';\nimport { findBestCompatibleCombination } from './compatibility';\n\n/**\n * Extract user-specified versions from command line options\n */\nexport function extractUserVersions(options: { [key: string]: any }): { [key: string]: string } {\n const userVersions: { [key: string]: string } = {};\n\n // Extract versions from command line options\n for (const tool of tools) {\n const versionKey = `${tool.name}Version`;\n const versionValue = options[versionKey] as unknown;\n if (typeof versionValue === 'string' && versionValue !== '') {\n userVersions[tool.name] = versionValue;\n }\n }\n\n return userVersions;\n}\n\n/**\n * Resolve version for a single tool following priority order:\n * 1. Command line options\n * 2. Environment variables\n * 3. .versions file\n * 4. Default version\n */\nexport function resolveToolVersion(\n toolName: string,\n userSpecifiedVersions: { [key: string]: string },\n options: { [key: string]: any },\n cwd: string,\n): string | null {\n const tool = findToolByName(toolName);\n if (!tool) {\n throw new Error(`Tool ${toolName} not found`);\n }\n\n // 1. Check command line options (highest priority)\n const userVersion = userSpecifiedVersions[toolName];\n if (typeof userVersion === 'string' && userVersion !== '') {\n return userVersion;\n }\n\n // 2. Check environment variables\n const envKey = `${tool.name.toUpperCase()}_VERSION`;\n const envVersion = process.env[envKey];\n if (typeof envVersion === 'string' && envVersion !== '') {\n return envVersion;\n }\n\n // 3. Check .versions file\n try {\n const parsedVersions = parseVersionFileContents(cwd);\n const versionKey = `${tool.name}_version`.toUpperCase();\n const foundVersion = parsedVersions[versionKey];\n\n if (typeof foundVersion === 'string' && foundVersion !== '') {\n return foundVersion;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (error) {\n // If .versions file doesn't exist or can't be parsed, continue to default\n }\n\n // 4. Use default version\n return getToolDefaultVersion(tool.name);\n}\n\n/**\n * Resolve versions for all tools in a type with compatibility checking\n */\nexport function resolveTypeVersions(\n type: ToolType,\n userSpecifiedVersions: { [key: string]: string },\n options: { [key: string]: any },\n cwd: string,\n): VersionResolutionResult {\n const matrix = findMatrixByType(type);\n const typeTools = findToolsByType(type);\n\n if (!matrix || typeTools.length === 0) {\n throw new Error(`Type ${type} not found or no version matrix available`);\n }\n\n // 1. Collect versions from all sources for each tool\n const resolvedVersions: { [key: string]: string } = {};\n const usedDefaultFor: string[] = [];\n const warnings: string[] = [];\n\n for (const tool of typeTools) {\n const version = resolveToolVersion(tool.name, userSpecifiedVersions, options, cwd);\n\n if (!version) {\n continue;\n }\n\n resolvedVersions[tool.name] = version;\n\n if (version === getToolDefaultVersion(tool.name)) {\n usedDefaultFor.push(tool.name);\n }\n\n // Validate user-specified version if not default\n if (version !== getToolDefaultVersion(tool.name)) {\n const supportedVersions = getToolSupportedVersions(tool.name);\n if (!supportedVersions.includes(version)) {\n warnings.push(\n `⚠️ Version ${version} for ${tool.name} is not in the supported list.\\n` +\n ` Supported versions: ${supportedVersions.join(', ')}\\n` +\n ` Continuing with Docker availability as final validation...`,\n );\n }\n }\n }\n\n // 2. Check if current combination matches any compatible combination\n let matchedCombination: VersionCombination | undefined;\n let isCompatibleCombination = false;\n\n for (const combo of matrix.combinations) {\n const matches = Object.entries(combo.versions).every(\n ([tool, version]) => resolvedVersions[tool] === version,\n );\n\n if (matches) {\n matchedCombination = combo;\n isCompatibleCombination = true;\n break;\n }\n }\n\n // 3. If not compatible and some tools used defaults, try to auto-adjust\n if (!isCompatibleCombination && usedDefaultFor.length > 0) {\n const compatibleCombo = findBestCompatibleCombination(resolvedVersions, matrix);\n\n if (compatibleCombo) {\n let adjusted = false;\n\n for (const toolName of usedDefaultFor) {\n const comboVersion = compatibleCombo.versions[toolName];\n if (comboVersion !== undefined && comboVersion !== resolvedVersions[toolName]) {\n const oldVersion = resolvedVersions[toolName];\n resolvedVersions[toolName] = comboVersion;\n warnings.push(\n `🔄 Auto-adjusted ${toolName}: ${oldVersion} → ${comboVersion} (for compatibility)`,\n );\n adjusted = true;\n }\n }\n\n if (adjusted) {\n matchedCombination = compatibleCombo;\n isCompatibleCombination = true;\n }\n }\n }\n\n // 4. Add compatibility warnings\n if (!isCompatibleCombination) {\n const recommendedCombos = matrix.combinations\n .filter((c) => c.isRecommended)\n .map((c) => c.id)\n .join(', ');\n\n warnings.push(\n `⚠️ Custom version combination detected - not officially tested.\\n` +\n ` 💡 Stable combinations: ${recommendedCombos}\\n` +\n ` 🔍 Use 'lz-tool --list-versions' to see all tested combinations.`,\n );\n } else if (matchedCombination?.description !== undefined) {\n console.info(`✅ ${matchedCombination.description} (${matchedCombination.id})`);\n }\n\n return {\n resolvedVersions,\n isCompatibleCombination,\n usedDefaultFor,\n warnings,\n combinationId: matchedCombination?.id,\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/core/version-resolver.ts"],"names":["extractUserVersions","options","userVersions","tool","tools","versionKey","name","versionValue","resolveToolVersion","toolName","userSpecifiedVersions","cwd","findToolByName","Error","userVersion","envKey","toUpperCase","envVersion","process","env","parsedVersions","parseVersionFileContents","foundVersion","error","getToolDefaultVersion","resolveTypeVersions","type","matrix","findMatrixByType","typeTools","findToolsByType","length","resolvedVersions","usedDefaultFor","warnings","version","push","supportedVersions","getToolSupportedVersions","includes","join","matchedCombination","isCompatibleCombination","combo","combinations","matches","Object","entries","versions","every","compatibleCombo","findBestCompatibleCombination","adjusted","comboVersion","undefined","oldVersion","recommendedCombos","filter","c","isRecommended","map","id","description","console","info","combinationId"],"mappings":"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","file":"Z3UDKF22.cjs","sourcesContent":["import process from 'process';\n\nimport { tools } from '../config';\nimport type { ToolType, VersionCombination, VersionResolutionResult } from '../types';\nimport { parseVersionFileContents } from '../utils';\nimport {\n findMatrixByType,\n findToolByName,\n findToolsByType,\n getToolDefaultVersion,\n getToolSupportedVersions,\n} from '../utils/finder-utils';\nimport { findBestCompatibleCombination } from './compatibility';\n\n/**\n * Extract user-specified versions from command line options\n */\nexport function extractUserVersions(options: { [key: string]: any }): { [key: string]: string } {\n const userVersions: { [key: string]: string } = {};\n\n // Extract versions from command line options\n for (const tool of tools) {\n const versionKey = `${tool.name}Version`;\n const versionValue = options[versionKey] as unknown;\n if (typeof versionValue === 'string' && versionValue !== '') {\n userVersions[tool.name] = versionValue;\n }\n }\n\n return userVersions;\n}\n\n/**\n * Resolve version for a single tool following priority order:\n * 1. Command line options\n * 2. Environment variables\n * 3. .versions file\n * 4. Default version\n */\nexport function resolveToolVersion(\n toolName: string,\n userSpecifiedVersions: { [key: string]: string },\n options: { [key: string]: any },\n cwd: string,\n): string | null {\n const tool = findToolByName(toolName);\n if (!tool) {\n throw new Error(`Tool ${toolName} not found`);\n }\n\n // 1. Check command line options (highest priority)\n const userVersion = userSpecifiedVersions[toolName];\n if (typeof userVersion === 'string' && userVersion !== '') {\n return userVersion;\n }\n\n // 2. Check environment variables\n const envKey = `${tool.name.toUpperCase()}_VERSION`;\n const envVersion = process.env[envKey];\n if (typeof envVersion === 'string' && envVersion !== '') {\n return envVersion;\n }\n\n // 3. Check .versions file\n try {\n const parsedVersions = parseVersionFileContents(cwd);\n const versionKey = `${tool.name}_version`.toUpperCase();\n const foundVersion = parsedVersions[versionKey];\n\n if (typeof foundVersion === 'string' && foundVersion !== '') {\n return foundVersion;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (error) {\n // If .versions file doesn't exist or can't be parsed, continue to default\n }\n\n // 4. Use default version\n return getToolDefaultVersion(tool.name);\n}\n\n/**\n * Resolve versions for all tools in a type with compatibility checking\n */\nexport function resolveTypeVersions(\n type: ToolType,\n userSpecifiedVersions: { [key: string]: string },\n options: { [key: string]: any },\n cwd: string,\n): VersionResolutionResult {\n const matrix = findMatrixByType(type);\n const typeTools = findToolsByType(type);\n\n if (!matrix || typeTools.length === 0) {\n throw new Error(`Type ${type} not found or no version matrix available`);\n }\n\n // 1. Collect versions from all sources for each tool\n const resolvedVersions: { [key: string]: string } = {};\n const usedDefaultFor: string[] = [];\n const warnings: string[] = [];\n\n for (const tool of typeTools) {\n const version = resolveToolVersion(tool.name, userSpecifiedVersions, options, cwd);\n\n if (!version) {\n continue;\n }\n\n resolvedVersions[tool.name] = version;\n\n if (version === getToolDefaultVersion(tool.name)) {\n usedDefaultFor.push(tool.name);\n }\n\n // Validate user-specified version if not default\n if (version !== getToolDefaultVersion(tool.name)) {\n const supportedVersions = getToolSupportedVersions(tool.name);\n if (!supportedVersions.includes(version)) {\n warnings.push(\n `⚠️ Version ${version} for ${tool.name} is not in the supported list.\\n` +\n ` Supported versions: ${supportedVersions.join(', ')}\\n` +\n ` Continuing with Docker availability as final validation...`,\n );\n }\n }\n }\n\n // 2. Check if current combination matches any compatible combination\n let matchedCombination: VersionCombination | undefined;\n let isCompatibleCombination = false;\n\n for (const combo of matrix.combinations) {\n const matches = Object.entries(combo.versions).every(\n ([tool, version]) => resolvedVersions[tool] === version,\n );\n\n if (matches) {\n matchedCombination = combo;\n isCompatibleCombination = true;\n break;\n }\n }\n\n // 3. If not compatible and some tools used defaults, try to auto-adjust\n if (!isCompatibleCombination && usedDefaultFor.length > 0) {\n const compatibleCombo = findBestCompatibleCombination(resolvedVersions, matrix);\n\n if (compatibleCombo) {\n let adjusted = false;\n\n for (const toolName of usedDefaultFor) {\n const comboVersion = compatibleCombo.versions[toolName];\n if (comboVersion !== undefined && comboVersion !== resolvedVersions[toolName]) {\n const oldVersion = resolvedVersions[toolName];\n resolvedVersions[toolName] = comboVersion;\n warnings.push(\n `🔄 Auto-adjusted ${toolName}: ${oldVersion} → ${comboVersion} (for compatibility)`,\n );\n adjusted = true;\n }\n }\n\n if (adjusted) {\n matchedCombination = compatibleCombo;\n isCompatibleCombination = true;\n }\n }\n }\n\n // 4. Add compatibility warnings\n if (!isCompatibleCombination) {\n const recommendedCombos = matrix.combinations\n .filter((c) => c.isRecommended)\n .map((c) => c.id)\n .join(', ');\n\n warnings.push(\n `⚠️ Custom version combination detected - not officially tested.\\n` +\n ` 💡 Stable combinations: ${recommendedCombos}\\n` +\n ` 🔍 Use 'lz-tool --list-versions' to see all tested combinations.`,\n );\n } else if (matchedCombination?.description !== undefined) {\n console.info(`✅ ${matchedCombination.description} (${matchedCombination.id})`);\n }\n\n return {\n resolvedVersions,\n isCompatibleCombination,\n usedDefaultFor,\n warnings,\n combinationId: matchedCombination?.id,\n };\n}\n"]}
@@ -1,27 +1,27 @@
1
1
  'use strict';
2
2
 
3
- var RYB7HXPO_cjs = require('../RYB7HXPO.cjs');
3
+ var BVCDSSHB_cjs = require('../BVCDSSHB.cjs');
4
4
  require('../3EOFF6NK.cjs');
5
- var _7S3N6ZPY_cjs = require('../7S3N6ZPY.cjs');
5
+ var _377FOBYP_cjs = require('../377FOBYP.cjs');
6
6
  require('../NX4KBEWA.cjs');
7
7
 
8
8
 
9
9
 
10
10
  Object.defineProperty(exports, "AWS_ACCOUNT_ID", {
11
11
  enumerable: true,
12
- get: function () { return RYB7HXPO_cjs.AWS_ACCOUNT_ID; }
12
+ get: function () { return BVCDSSHB_cjs.AWS_ACCOUNT_ID; }
13
13
  });
14
14
  Object.defineProperty(exports, "AWS_REGION", {
15
15
  enumerable: true,
16
- get: function () { return RYB7HXPO_cjs.AWS_REGION; }
16
+ get: function () { return BVCDSSHB_cjs.AWS_REGION; }
17
17
  });
18
18
  Object.defineProperty(exports, "tools", {
19
19
  enumerable: true,
20
- get: function () { return RYB7HXPO_cjs.tools; }
20
+ get: function () { return BVCDSSHB_cjs.tools; }
21
21
  });
22
22
  Object.defineProperty(exports, "versionMatrices", {
23
23
  enumerable: true,
24
- get: function () { return _7S3N6ZPY_cjs.versionMatrices; }
24
+ get: function () { return _377FOBYP_cjs.versionMatrices; }
25
25
  });
26
26
  //# sourceMappingURL=index.cjs.map
27
27
  //# sourceMappingURL=index.cjs.map
@@ -1,6 +1,6 @@
1
- export { AWS_ACCOUNT_ID, AWS_REGION, tools } from '../CRLXMIJF.js';
1
+ export { AWS_ACCOUNT_ID, AWS_REGION, tools } from '../ODR3PEGR.js';
2
2
  import '../BA2LAHMY.js';
3
- export { versionMatrices } from '../5KA4B3WL.js';
3
+ export { versionMatrices } from '../3772Y3PC.js';
4
4
  import '../VUOMXK5T.js';
5
5
  //# sourceMappingURL=index.js.map
6
6
  //# sourceMappingURL=index.js.map
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var RYB7HXPO_cjs = require('../RYB7HXPO.cjs');
3
+ var BVCDSSHB_cjs = require('../BVCDSSHB.cjs');
4
4
  require('../3EOFF6NK.cjs');
5
- require('../7S3N6ZPY.cjs');
5
+ require('../377FOBYP.cjs');
6
6
  require('../NX4KBEWA.cjs');
7
7
 
8
8
 
9
9
 
10
10
  Object.defineProperty(exports, "tools", {
11
11
  enumerable: true,
12
- get: function () { return RYB7HXPO_cjs.tools; }
12
+ get: function () { return BVCDSSHB_cjs.tools; }
13
13
  });
14
14
  //# sourceMappingURL=tools.cjs.map
15
15
  //# sourceMappingURL=tools.cjs.map
@@ -1,6 +1,6 @@
1
- export { tools } from '../CRLXMIJF.js';
1
+ export { tools } from '../ODR3PEGR.js';
2
2
  import '../BA2LAHMY.js';
3
- import '../5KA4B3WL.js';
3
+ import '../3772Y3PC.js';
4
4
  import '../VUOMXK5T.js';
5
5
  //# sourceMappingURL=tools.js.map
6
6
  //# sourceMappingURL=tools.js.map
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var _7S3N6ZPY_cjs = require('../7S3N6ZPY.cjs');
3
+ var _377FOBYP_cjs = require('../377FOBYP.cjs');
4
4
  require('../NX4KBEWA.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "versionMatrices", {
9
9
  enumerable: true,
10
- get: function () { return _7S3N6ZPY_cjs.versionMatrices; }
10
+ get: function () { return _377FOBYP_cjs.versionMatrices; }
11
11
  });
12
12
  //# sourceMappingURL=version-matrices.cjs.map
13
13
  //# sourceMappingURL=version-matrices.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version-matrices.d.ts","sourceRoot":"","sources":["../../src/config/version-matrices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,EA0F9C,CAAC"}
1
+ {"version":3,"file":"version-matrices.d.ts","sourceRoot":"","sources":["../../src/config/version-matrices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,iBAAiB,EA8F9C,CAAC"}
@@ -1,4 +1,4 @@
1
- export { versionMatrices } from '../5KA4B3WL.js';
1
+ export { versionMatrices } from '../3772Y3PC.js';
2
2
  import '../VUOMXK5T.js';
3
3
  //# sourceMappingURL=version-matrices.js.map
4
4
  //# sourceMappingURL=version-matrices.js.map
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  require('../5N3Q6FCT.cjs');
4
- var _67EGQ6NV_cjs = require('../67EGQ6NV.cjs');
5
- var JSQ7H2ZH_cjs = require('../JSQ7H2ZH.cjs');
6
- require('../RYB7HXPO.cjs');
4
+ var BZPGQCXP_cjs = require('../BZPGQCXP.cjs');
5
+ var Z3UDKF22_cjs = require('../Z3UDKF22.cjs');
6
+ require('../BVCDSSHB.cjs');
7
7
  require('../3EOFF6NK.cjs');
8
- require('../7S3N6ZPY.cjs');
8
+ require('../377FOBYP.cjs');
9
9
  var _4NINFZK7_cjs = require('../4NINFZK7.cjs');
10
10
  require('../NX4KBEWA.cjs');
11
11
 
@@ -13,19 +13,19 @@ require('../NX4KBEWA.cjs');
13
13
 
14
14
  Object.defineProperty(exports, "executeToolCommand", {
15
15
  enumerable: true,
16
- get: function () { return _67EGQ6NV_cjs.executeToolCommand; }
16
+ get: function () { return BZPGQCXP_cjs.executeToolCommand; }
17
17
  });
18
18
  Object.defineProperty(exports, "extractUserVersions", {
19
19
  enumerable: true,
20
- get: function () { return JSQ7H2ZH_cjs.extractUserVersions; }
20
+ get: function () { return Z3UDKF22_cjs.extractUserVersions; }
21
21
  });
22
22
  Object.defineProperty(exports, "resolveToolVersion", {
23
23
  enumerable: true,
24
- get: function () { return JSQ7H2ZH_cjs.resolveToolVersion; }
24
+ get: function () { return Z3UDKF22_cjs.resolveToolVersion; }
25
25
  });
26
26
  Object.defineProperty(exports, "resolveTypeVersions", {
27
27
  enumerable: true,
28
- get: function () { return JSQ7H2ZH_cjs.resolveTypeVersions; }
28
+ get: function () { return Z3UDKF22_cjs.resolveTypeVersions; }
29
29
  });
30
30
  Object.defineProperty(exports, "findBestCompatibleCombination", {
31
31
  enumerable: true,
@@ -1,9 +1,9 @@
1
1
  import '../ZEW74YLA.js';
2
- export { executeToolCommand } from '../CFMPNPDE.js';
3
- export { extractUserVersions, resolveToolVersion, resolveTypeVersions } from '../BQE33FG7.js';
4
- import '../CRLXMIJF.js';
2
+ export { executeToolCommand } from '../POABMLRA.js';
3
+ export { extractUserVersions, resolveToolVersion, resolveTypeVersions } from '../27HYHTXW.js';
4
+ import '../ODR3PEGR.js';
5
5
  import '../BA2LAHMY.js';
6
- import '../5KA4B3WL.js';
6
+ import '../3772Y3PC.js';
7
7
  export { findBestCompatibleCombination } from '../GAZMRBLT.js';
8
8
  import '../VUOMXK5T.js';
9
9
  //# sourceMappingURL=index.js.map
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var _67EGQ6NV_cjs = require('../67EGQ6NV.cjs');
4
- require('../JSQ7H2ZH.cjs');
5
- require('../RYB7HXPO.cjs');
3
+ var BZPGQCXP_cjs = require('../BZPGQCXP.cjs');
4
+ require('../Z3UDKF22.cjs');
5
+ require('../BVCDSSHB.cjs');
6
6
  require('../3EOFF6NK.cjs');
7
- require('../7S3N6ZPY.cjs');
7
+ require('../377FOBYP.cjs');
8
8
  require('../4NINFZK7.cjs');
9
9
  require('../NX4KBEWA.cjs');
10
10
 
@@ -12,7 +12,7 @@ require('../NX4KBEWA.cjs');
12
12
 
13
13
  Object.defineProperty(exports, "executeToolCommand", {
14
14
  enumerable: true,
15
- get: function () { return _67EGQ6NV_cjs.executeToolCommand; }
15
+ get: function () { return BZPGQCXP_cjs.executeToolCommand; }
16
16
  });
17
17
  //# sourceMappingURL=tool-executor.cjs.map
18
18
  //# sourceMappingURL=tool-executor.cjs.map
@@ -1,8 +1,8 @@
1
- export { executeToolCommand } from '../CFMPNPDE.js';
2
- import '../BQE33FG7.js';
3
- import '../CRLXMIJF.js';
1
+ export { executeToolCommand } from '../POABMLRA.js';
2
+ import '../27HYHTXW.js';
3
+ import '../ODR3PEGR.js';
4
4
  import '../BA2LAHMY.js';
5
- import '../5KA4B3WL.js';
5
+ import '../3772Y3PC.js';
6
6
  import '../GAZMRBLT.js';
7
7
  import '../VUOMXK5T.js';
8
8
  //# sourceMappingURL=tool-executor.js.map
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var JSQ7H2ZH_cjs = require('../JSQ7H2ZH.cjs');
4
- require('../RYB7HXPO.cjs');
3
+ var Z3UDKF22_cjs = require('../Z3UDKF22.cjs');
4
+ require('../BVCDSSHB.cjs');
5
5
  require('../3EOFF6NK.cjs');
6
- require('../7S3N6ZPY.cjs');
6
+ require('../377FOBYP.cjs');
7
7
  require('../4NINFZK7.cjs');
8
8
  require('../NX4KBEWA.cjs');
9
9
 
@@ -11,15 +11,15 @@ require('../NX4KBEWA.cjs');
11
11
 
12
12
  Object.defineProperty(exports, "extractUserVersions", {
13
13
  enumerable: true,
14
- get: function () { return JSQ7H2ZH_cjs.extractUserVersions; }
14
+ get: function () { return Z3UDKF22_cjs.extractUserVersions; }
15
15
  });
16
16
  Object.defineProperty(exports, "resolveToolVersion", {
17
17
  enumerable: true,
18
- get: function () { return JSQ7H2ZH_cjs.resolveToolVersion; }
18
+ get: function () { return Z3UDKF22_cjs.resolveToolVersion; }
19
19
  });
20
20
  Object.defineProperty(exports, "resolveTypeVersions", {
21
21
  enumerable: true,
22
- get: function () { return JSQ7H2ZH_cjs.resolveTypeVersions; }
22
+ get: function () { return Z3UDKF22_cjs.resolveTypeVersions; }
23
23
  });
24
24
  //# sourceMappingURL=version-resolver.cjs.map
25
25
  //# sourceMappingURL=version-resolver.cjs.map
@@ -1,7 +1,7 @@
1
- export { extractUserVersions, resolveToolVersion, resolveTypeVersions } from '../BQE33FG7.js';
2
- import '../CRLXMIJF.js';
1
+ export { extractUserVersions, resolveToolVersion, resolveTypeVersions } from '../27HYHTXW.js';
2
+ import '../ODR3PEGR.js';
3
3
  import '../BA2LAHMY.js';
4
- import '../5KA4B3WL.js';
4
+ import '../3772Y3PC.js';
5
5
  import '../GAZMRBLT.js';
6
6
  import '../VUOMXK5T.js';
7
7
  //# sourceMappingURL=version-resolver.js.map
@@ -1,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
3
  require('../RLUL6JFM.cjs');
4
- var FTNN2BYM_cjs = require('../FTNN2BYM.cjs');
4
+ var UCOWJND6_cjs = require('../UCOWJND6.cjs');
5
5
  var LBQPL6VK_cjs = require('../LBQPL6VK.cjs');
6
- require('../RYB7HXPO.cjs');
6
+ require('../BVCDSSHB.cjs');
7
7
  require('../3EOFF6NK.cjs');
8
- require('../7S3N6ZPY.cjs');
8
+ require('../377FOBYP.cjs');
9
9
  require('../NX4KBEWA.cjs');
10
10
 
11
11
 
12
12
 
13
13
  Object.defineProperty(exports, "displayToolVersionInfo", {
14
14
  enumerable: true,
15
- get: function () { return FTNN2BYM_cjs.displayToolVersionInfo; }
15
+ get: function () { return UCOWJND6_cjs.displayToolVersionInfo; }
16
16
  });
17
17
  Object.defineProperty(exports, "displayVersionCombinations", {
18
18
  enumerable: true,
19
- get: function () { return FTNN2BYM_cjs.displayVersionCombinations; }
19
+ get: function () { return UCOWJND6_cjs.displayVersionCombinations; }
20
20
  });
21
21
  Object.defineProperty(exports, "createUserFriendlyError", {
22
22
  enumerable: true,
@@ -1,9 +1,9 @@
1
1
  import '../EKUFNO5X.js';
2
- export { displayToolVersionInfo, displayVersionCombinations } from '../N7J75JOO.js';
2
+ export { displayToolVersionInfo, displayVersionCombinations } from '../42O3V7X5.js';
3
3
  export { createUserFriendlyError, formatVersionCombination } from '../QNKHVJNZ.js';
4
- import '../CRLXMIJF.js';
4
+ import '../ODR3PEGR.js';
5
5
  import '../BA2LAHMY.js';
6
- import '../5KA4B3WL.js';
6
+ import '../3772Y3PC.js';
7
7
  import '../VUOMXK5T.js';
8
8
  //# sourceMappingURL=index.js.map
9
9
  //# sourceMappingURL=index.js.map
@@ -1,21 +1,21 @@
1
1
  'use strict';
2
2
 
3
- var FTNN2BYM_cjs = require('../FTNN2BYM.cjs');
3
+ var UCOWJND6_cjs = require('../UCOWJND6.cjs');
4
4
  require('../LBQPL6VK.cjs');
5
- require('../RYB7HXPO.cjs');
5
+ require('../BVCDSSHB.cjs');
6
6
  require('../3EOFF6NK.cjs');
7
- require('../7S3N6ZPY.cjs');
7
+ require('../377FOBYP.cjs');
8
8
  require('../NX4KBEWA.cjs');
9
9
 
10
10
 
11
11
 
12
12
  Object.defineProperty(exports, "displayToolVersionInfo", {
13
13
  enumerable: true,
14
- get: function () { return FTNN2BYM_cjs.displayToolVersionInfo; }
14
+ get: function () { return UCOWJND6_cjs.displayToolVersionInfo; }
15
15
  });
16
16
  Object.defineProperty(exports, "displayVersionCombinations", {
17
17
  enumerable: true,
18
- get: function () { return FTNN2BYM_cjs.displayVersionCombinations; }
18
+ get: function () { return UCOWJND6_cjs.displayVersionCombinations; }
19
19
  });
20
20
  //# sourceMappingURL=version-display.cjs.map
21
21
  //# sourceMappingURL=version-display.cjs.map
@@ -1,8 +1,8 @@
1
- export { displayToolVersionInfo, displayVersionCombinations } from '../N7J75JOO.js';
1
+ export { displayToolVersionInfo, displayVersionCombinations } from '../42O3V7X5.js';
2
2
  import '../QNKHVJNZ.js';
3
- import '../CRLXMIJF.js';
3
+ import '../ODR3PEGR.js';
4
4
  import '../BA2LAHMY.js';
5
- import '../5KA4B3WL.js';
5
+ import '../3772Y3PC.js';
6
6
  import '../VUOMXK5T.js';
7
7
  //# sourceMappingURL=version-display.js.map
8
8
  //# sourceMappingURL=version-display.js.map
package/dist/index.cjs CHANGED
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  require('./RLUL6JFM.cjs');
4
- var FTNN2BYM_cjs = require('./FTNN2BYM.cjs');
4
+ var UCOWJND6_cjs = require('./UCOWJND6.cjs');
5
5
  require('./LBQPL6VK.cjs');
6
6
  require('./5N3Q6FCT.cjs');
7
- var _67EGQ6NV_cjs = require('./67EGQ6NV.cjs');
8
- require('./JSQ7H2ZH.cjs');
9
- var RYB7HXPO_cjs = require('./RYB7HXPO.cjs');
7
+ var BZPGQCXP_cjs = require('./BZPGQCXP.cjs');
8
+ require('./Z3UDKF22.cjs');
9
+ var BVCDSSHB_cjs = require('./BVCDSSHB.cjs');
10
10
  require('./3EOFF6NK.cjs');
11
- require('./7S3N6ZPY.cjs');
11
+ require('./377FOBYP.cjs');
12
12
  require('./4NINFZK7.cjs');
13
13
  var NX4KBEWA_cjs = require('./NX4KBEWA.cjs');
14
14
  var commander = require('commander');
@@ -26,7 +26,7 @@ async function main() {
26
26
  const program = new commander.Command();
27
27
  program.name("lz-tool").description("\u{1F680} LayerZero VM tooling with intelligent version management").version("1.0.0");
28
28
  if (process__default.default.argv.includes("--list-versions")) {
29
- FTNN2BYM_cjs.displayVersionCombinations();
29
+ UCOWJND6_cjs.displayVersionCombinations();
30
30
  process__default.default.exit(0);
31
31
  }
32
32
  program.option("-c, --cwd <path>", "Current working directory", (input) => {
@@ -73,22 +73,22 @@ async function main() {
73
73
  });
74
74
  return previous;
75
75
  }, []);
76
- RYB7HXPO_cjs.tools.forEach((tool) => {
76
+ BVCDSSHB_cjs.tools.forEach((tool) => {
77
77
  const optionFlag = `--${tool.name}-version <version>`;
78
- const defaultVersion = RYB7HXPO_cjs.getToolDefaultVersion(tool.name);
79
- const supportedVersions = RYB7HXPO_cjs.getToolSupportedVersions(tool.name);
78
+ const defaultVersion = BVCDSSHB_cjs.getToolDefaultVersion(tool.name);
79
+ const supportedVersions = BVCDSSHB_cjs.getToolSupportedVersions(tool.name);
80
80
  const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(", ")})`;
81
81
  program.option(optionFlag, description);
82
82
  });
83
83
  program.option("--list-versions", "Display all supported version combinations and exit");
84
84
  program.command("version-info <tool>").description("Display detailed version information for a specific tool").action((toolName) => {
85
- FTNN2BYM_cjs.displayToolVersionInfo(toolName);
85
+ UCOWJND6_cjs.displayToolVersionInfo(toolName);
86
86
  });
87
- RYB7HXPO_cjs.tools.forEach((tool) => {
87
+ BVCDSSHB_cjs.tools.forEach((tool) => {
88
88
  const toolCmd = program.command(tool.name, {
89
89
  isDefault: false
90
90
  }).description(`Run ${tool.name} with version checking`).allowUnknownOption().argument("[args...]", "Arguments to pass to the tool");
91
- RYB7HXPO_cjs.tools.forEach((toolOption) => {
91
+ BVCDSSHB_cjs.tools.forEach((toolOption) => {
92
92
  const optionFlag = `--${toolOption.name}-version <version>`;
93
93
  const description = `Specify ${toolOption.name} version for this execution`;
94
94
  toolCmd.option(optionFlag, description);
@@ -103,7 +103,7 @@ async function main() {
103
103
  };
104
104
  const cwd = mergedOptions.cwd ?? process__default.default.cwd();
105
105
  try {
106
- await _67EGQ6NV_cjs.executeToolCommand(tool.name, args, {
106
+ await BZPGQCXP_cjs.executeToolCommand(tool.name, args, {
107
107
  cwd,
108
108
  volumes: mergedOptions.volume,
109
109
  ...mergedOptions
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["main","program","Command","name","description","version","process","argv","includes","displayVersionCombinations","exit","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tools","forEach","tool","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","toolCmd","isDefault","allowUnknownOption","argument","toolOption","args","globalOptions","opts","commandOptions","mergedOptions","cwd","executeToolCommand","volumes","volume","error","console","message","String","parseAsync"],"mappings":"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","file":"index.cjs","sourcesContent":["import { Command } from 'commander';\nimport fs from 'fs';\nimport path from 'path';\nimport process from 'process';\n\nimport { tools } from './config';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport type { EnvironmentVariable, VolumeMapping } from './types';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder-utils';\n\nasync function main(): Promise<void> {\n const program = new Command();\n\n program\n .name('lz-tool')\n .description('🚀 LayerZero VM tooling with intelligent version management')\n .version('1.0.0');\n\n // Check for --list-versions before parsing to avoid help display\n if (process.argv.includes('--list-versions')) {\n displayVersionCombinations();\n process.exit(0);\n }\n\n // Add global options\n program\n .option('-c, --cwd <path>', 'Current working directory', (input: string) => {\n if (typeof input !== 'string') {\n throw new Error('cwd flag must be a string');\n }\n\n if (!path.isAbsolute(input)) {\n throw new Error('cwd must be an absolute path if provided');\n }\n\n if (!fs.existsSync(input)) {\n throw new Error('cwd does not exist');\n }\n\n if (!fs.statSync(input).isDirectory()) {\n throw new Error('cwd must be a directory');\n }\n\n return input;\n })\n .option(\n '-d, --force-docker',\n 'Force using Docker image instead of local installation',\n false,\n )\n .option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for the tool',\n )\n .option(\n '--script <script>',\n 'Execute a custom script using bash -c in the Docker container (e.g., --script \"npm install && npm test\")',\n )\n .option(\n '--env <name=value>',\n 'Set environment variables for Docker container (e.g., --env NODE_ENV=production)',\n (input: string, previous: EnvironmentVariable[]) => {\n const [name, ...valueParts] = input.split('=');\n if (name === '' || valueParts.length === 0) {\n throw new Error(\n `Invalid environment variable format: ${input}. Use --env NAME=VALUE`,\n );\n }\n const value = valueParts.join('='); // Handle values that contain '='\n previous.push({ name, value } satisfies EnvironmentVariable);\n return previous;\n },\n [],\n )\n .option(\n '-v, --volume <type:hostPath:containerPath[:name]>',\n 'Volume mappings in the format type:hostPath:containerPath[:name] (e.g., host:/host/path:/container/path or isolate::/container/path:volumeName)',\n (input: string, previous: VolumeMapping[]) => {\n const [type, hostPath, containerPath, name] = input.split(':');\n if (type !== 'host' && type !== 'isolate') {\n throw new Error(`Invalid volume type: ${type}`);\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (containerPath === undefined || containerPath === '') {\n throw new Error(`Container path is required`);\n }\n previous.push({ type, hostPath, containerPath, name } satisfies VolumeMapping);\n return previous;\n },\n [],\n );\n\n // Add version options for each tool dynamically\n tools.forEach((tool) => {\n const optionFlag = `--${tool.name}-version <version>`;\n const defaultVersion = getToolDefaultVersion(tool.name);\n const supportedVersions = getToolSupportedVersions(tool.name);\n const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(', ')})`;\n\n program.option(optionFlag, description);\n });\n\n // Add utility options\n program.option('--list-versions', 'Display all supported version combinations and exit');\n\n // Add version info command\n program\n .command('version-info <tool>')\n .description('Display detailed version information for a specific tool')\n .action((toolName: string) => {\n displayToolVersionInfo(toolName);\n });\n\n // Dynamically add commands for each supported tool\n tools.forEach((tool) => {\n const toolCmd = program\n .command(tool.name, { isDefault: false })\n .description(`Run ${tool.name} with version checking`)\n .allowUnknownOption()\n .argument('[args...]', 'Arguments to pass to the tool');\n\n // Add tool-specific version options to each command as well\n tools.forEach((toolOption) => {\n const optionFlag = `--${toolOption.name}-version <version>`;\n const description = `Specify ${toolOption.name} version for this execution`;\n toolCmd.option(optionFlag, description);\n });\n\n // Add custom entrypoint option to each command\n toolCmd.option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for this tool',\n );\n\n toolCmd.action(async (args: string[]) => {\n // Get both global and command-specific options\n const globalOptions: {\n cwd?: string;\n forceDocker: boolean;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n } = program.opts();\n const commandOptions = toolCmd.opts();\n\n // Merge options, with command-specific taking precedence\n const mergedOptions = { ...globalOptions, ...commandOptions };\n\n const cwd = mergedOptions.cwd ?? process.cwd();\n\n try {\n await executeToolCommand(tool.name, args, {\n cwd,\n volumes: mergedOptions.volume,\n ...mergedOptions,\n });\n } catch (error) {\n console.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n });\n });\n\n await program.parseAsync();\n}\n\n// Start the program\nvoid main();\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["main","program","Command","name","description","version","process","argv","includes","displayVersionCombinations","exit","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tools","forEach","tool","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","toolCmd","isDefault","allowUnknownOption","argument","toolOption","args","globalOptions","opts","commandOptions","mergedOptions","cwd","executeToolCommand","volumes","volume","error","console","message","String","parseAsync"],"mappings":"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","file":"index.cjs","sourcesContent":["import { Command } from 'commander';\nimport fs from 'fs';\nimport path from 'path';\nimport process from 'process';\n\nimport { tools } from './config';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport type { EnvironmentVariable, VolumeMapping } from './types';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder-utils';\n\nasync function main(): Promise<void> {\n const program = new Command();\n\n program\n .name('lz-tool')\n .description('🚀 LayerZero VM tooling with intelligent version management')\n .version('1.0.0');\n\n // Check for --list-versions before parsing to avoid help display\n if (process.argv.includes('--list-versions')) {\n displayVersionCombinations();\n process.exit(0);\n }\n\n // Add global options\n program\n .option('-c, --cwd <path>', 'Current working directory', (input: string) => {\n if (typeof input !== 'string') {\n throw new Error('cwd flag must be a string');\n }\n\n if (!path.isAbsolute(input)) {\n throw new Error('cwd must be an absolute path if provided');\n }\n\n if (!fs.existsSync(input)) {\n throw new Error('cwd does not exist');\n }\n\n if (!fs.statSync(input).isDirectory()) {\n throw new Error('cwd must be a directory');\n }\n\n return input;\n })\n .option(\n '-d, --force-docker',\n 'Force using Docker image instead of local installation',\n false,\n )\n .option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for the tool',\n )\n .option(\n '--script <script>',\n 'Execute a custom script using bash -c in the Docker container (e.g., --script \"npm install && npm test\")',\n )\n .option(\n '--env <name=value>',\n 'Set environment variables for Docker container (e.g., --env NODE_ENV=production)',\n (input: string, previous: EnvironmentVariable[]) => {\n const [name, ...valueParts] = input.split('=');\n if (name === '' || valueParts.length === 0) {\n throw new Error(\n `Invalid environment variable format: ${input}. Use --env NAME=VALUE`,\n );\n }\n const value = valueParts.join('='); // Handle values that contain '='\n previous.push({ name, value } satisfies EnvironmentVariable);\n return previous;\n },\n [],\n )\n .option(\n '-v, --volume <type:hostPath:containerPath[:name]>',\n 'Volume mappings in the format type:hostPath:containerPath[:name] (e.g., host:/host/path:/container/path or isolate::/container/path:volumeName)',\n (input: string, previous: VolumeMapping[]) => {\n const [type, hostPath, containerPath, name] = input.split(':');\n if (type !== 'host' && type !== 'isolate') {\n throw new Error(`Invalid volume type: ${type}`);\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (containerPath === undefined || containerPath === '') {\n throw new Error(`Container path is required`);\n }\n previous.push({ type, hostPath, containerPath, name } satisfies VolumeMapping);\n return previous;\n },\n [],\n );\n\n // Add version options for each tool dynamically\n tools.forEach((tool) => {\n const optionFlag = `--${tool.name}-version <version>`;\n const defaultVersion = getToolDefaultVersion(tool.name);\n const supportedVersions = getToolSupportedVersions(tool.name);\n const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(', ')})`;\n\n program.option(optionFlag, description);\n });\n\n // Add utility options\n program.option('--list-versions', 'Display all supported version combinations and exit');\n\n // Add version info command\n program\n .command('version-info <tool>')\n .description('Display detailed version information for a specific tool')\n .action((toolName: string) => {\n displayToolVersionInfo(toolName);\n });\n\n // Dynamically add commands for each supported tool\n tools.forEach((tool) => {\n const toolCmd = program\n .command(tool.name, { isDefault: false })\n .description(`Run ${tool.name} with version checking`)\n .allowUnknownOption()\n .argument('[args...]', 'Arguments to pass to the tool');\n\n // Add tool-specific version options to each command as well\n tools.forEach((toolOption) => {\n const optionFlag = `--${toolOption.name}-version <version>`;\n const description = `Specify ${toolOption.name} version for this execution`;\n toolCmd.option(optionFlag, description);\n });\n\n // Add custom entrypoint option to each command\n toolCmd.option(\n '-e, --custom-entrypoint <entrypoint>',\n 'Override the default Docker entrypoint for this tool',\n );\n\n toolCmd.action(async (args: string[]) => {\n // Get both global and command-specific options\n const globalOptions: {\n cwd?: string;\n forceDocker: boolean;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n } = program.opts();\n const commandOptions = toolCmd.opts();\n\n // Merge options, with command-specific taking precedence\n const mergedOptions = { ...globalOptions, ...commandOptions };\n\n const cwd = mergedOptions.cwd ?? process.cwd();\n\n try {\n await executeToolCommand(tool.name, args, {\n cwd,\n volumes: mergedOptions.volume,\n ...mergedOptions,\n });\n } catch (error) {\n console.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n });\n });\n\n await program.parseAsync();\n}\n\n// Start the program\nvoid main();\n"]}
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import './EKUFNO5X.js';
2
- import { displayVersionCombinations, displayToolVersionInfo } from './N7J75JOO.js';
2
+ import { displayVersionCombinations, displayToolVersionInfo } from './42O3V7X5.js';
3
3
  import './QNKHVJNZ.js';
4
4
  import './ZEW74YLA.js';
5
- import { executeToolCommand } from './CFMPNPDE.js';
6
- import './BQE33FG7.js';
7
- import { tools, getToolDefaultVersion, getToolSupportedVersions } from './CRLXMIJF.js';
5
+ import { executeToolCommand } from './POABMLRA.js';
6
+ import './27HYHTXW.js';
7
+ import { tools, getToolDefaultVersion, getToolSupportedVersions } from './ODR3PEGR.js';
8
8
  import './BA2LAHMY.js';
9
- import './5KA4B3WL.js';
9
+ import './3772Y3PC.js';
10
10
  import './GAZMRBLT.js';
11
11
  import { __name } from './VUOMXK5T.js';
12
12
  import { Command } from 'commander';
@@ -10,7 +10,7 @@ var _5MIIPWV7_cjs = require('../5MIIPWV7.cjs');
10
10
  require('../3BKFBGX3.cjs');
11
11
  require('../XH4FQTBY.cjs');
12
12
  var VDH76SF6_cjs = require('../VDH76SF6.cjs');
13
- var _7S3N6ZPY_cjs = require('../7S3N6ZPY.cjs');
13
+ var _377FOBYP_cjs = require('../377FOBYP.cjs');
14
14
  var NX4KBEWA_cjs = require('../NX4KBEWA.cjs');
15
15
  var commander = require('commander');
16
16
  var process$1 = require('process');
@@ -1891,7 +1891,8 @@ var toolTypeWhitelist = [
1891
1891
  "aptos",
1892
1892
  "evm",
1893
1893
  "starknet",
1894
- "sui"
1894
+ "sui",
1895
+ "solana"
1895
1896
  ];
1896
1897
  var ecrClient = new ECRClient();
1897
1898
  var command = new commander.Command().name("generate-github-matrix").requiredOption("--registry <registry>").parse();
@@ -1931,7 +1932,7 @@ var compileVersionMatrix = /* @__PURE__ */ NX4KBEWA_cjs.__name(async ({ toolType
1931
1932
  })).filter(({ tags }) => !tags.some((tag) => existingTags.has(tag.split(":").at(-1))));
1932
1933
  }, "compileVersionMatrix");
1933
1934
  var main = /* @__PURE__ */ NX4KBEWA_cjs.__name(async () => {
1934
- const entries = (await Promise.all(_7S3N6ZPY_cjs.versionMatrices.filter(({ toolType }) => toolTypeWhitelist.includes(toolType)).map(compileVersionMatrix))).flat();
1935
+ const entries = (await Promise.all(_377FOBYP_cjs.versionMatrices.filter(({ toolType }) => toolTypeWhitelist.includes(toolType)).map(compileVersionMatrix))).flat();
1935
1936
  console.error("GitHub Action matrix generated:", entries);
1936
1937
  process$1.stdout.write(JSON.stringify({
1937
1938
  toolchain: entries