@layerzerolabs/vm-tooling 0.0.75 → 0.2.6

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 (116) hide show
  1. package/dist/{UKPHRO5A.js → 2Z6XZCGO.js} +3 -3
  2. package/dist/{UKPHRO5A.js.map → 2Z6XZCGO.js.map} +1 -1
  3. package/dist/{F35TPZS3.js → 3ATC7U63.js} +7 -2
  4. package/dist/3ATC7U63.js.map +1 -0
  5. package/dist/{55HL3CFD.js → 3GTIKWKS.js} +5 -5
  6. package/dist/3GTIKWKS.js.map +1 -0
  7. package/dist/{KSZMBVFB.cjs → 6GRSDUV3.cjs} +12 -2
  8. package/dist/6GRSDUV3.cjs.map +1 -0
  9. package/dist/{FOFSZBOK.cjs → 6QJ3ATEV.cjs} +6 -6
  10. package/dist/{FOFSZBOK.cjs.map → 6QJ3ATEV.cjs.map} +1 -1
  11. package/dist/{FQUILSS5.js → 73CRCY4G.js} +4 -4
  12. package/dist/{FQUILSS5.js.map → 73CRCY4G.js.map} +1 -1
  13. package/dist/{PUL6NSHI.cjs → 7C3FV2XA.cjs} +7 -2
  14. package/dist/7C3FV2XA.cjs.map +1 -0
  15. package/dist/{H7LPHZJT.js → AUA3QPCB.js} +4 -4
  16. package/dist/{H7LPHZJT.js.map → AUA3QPCB.js.map} +1 -1
  17. package/dist/{Y27GTZ2Q.js → BQMGLKBO.js} +3 -3
  18. package/dist/{Y27GTZ2Q.js.map → BQMGLKBO.js.map} +1 -1
  19. package/dist/{ZD3LAY33.cjs → C4FRNVDY.cjs} +14 -14
  20. package/dist/{ZD3LAY33.cjs.map → C4FRNVDY.cjs.map} +1 -1
  21. package/dist/{X72XTEFE.js → CSLN223N.js} +4 -4
  22. package/dist/{X72XTEFE.js.map → CSLN223N.js.map} +1 -1
  23. package/dist/{6NIOUVPA.cjs → CXM3VA7N.cjs} +4 -3
  24. package/dist/CXM3VA7N.cjs.map +1 -0
  25. package/dist/{ACDTMA6Q.cjs → DBRVUBWJ.cjs} +11 -11
  26. package/dist/DBRVUBWJ.cjs.map +1 -0
  27. package/dist/{SV3LGPR3.js → EDE37TVE.js} +3 -3
  28. package/dist/{SV3LGPR3.js.map → EDE37TVE.js.map} +1 -1
  29. package/dist/{D3JHHTB6.js → GWPT4OMB.js} +12 -2
  30. package/dist/GWPT4OMB.js.map +1 -0
  31. package/dist/{GJ24YLYE.cjs → H626YBWD.cjs} +5 -5
  32. package/dist/{GJ24YLYE.cjs.map → H626YBWD.cjs.map} +1 -1
  33. package/dist/{L2LY6RIT.cjs → I4WZRP7G.cjs} +7 -7
  34. package/dist/{L2LY6RIT.cjs.map → I4WZRP7G.cjs.map} +1 -1
  35. package/dist/{BRSAP7LG.cjs → JSLAKJHB.cjs} +15 -15
  36. package/dist/{BRSAP7LG.cjs.map → JSLAKJHB.cjs.map} +1 -1
  37. package/dist/{HCY4ASBG.js → KOKBYHOJ.js} +6 -6
  38. package/dist/{HCY4ASBG.js.map → KOKBYHOJ.js.map} +1 -1
  39. package/dist/{3YHRHIKS.js → RP32HMV5.js} +5 -5
  40. package/dist/{3YHRHIKS.js.map → RP32HMV5.js.map} +1 -1
  41. package/dist/{362ZLRXL.js → TPWAEA6V.js} +4 -4
  42. package/dist/{362ZLRXL.js.map → TPWAEA6V.js.map} +1 -1
  43. package/dist/{QU36PNBP.cjs → U4QZYPBU.cjs} +5 -5
  44. package/dist/{QU36PNBP.cjs.map → U4QZYPBU.cjs.map} +1 -1
  45. package/dist/{36UU6CJU.cjs → VI6POZO4.cjs} +8 -8
  46. package/dist/{36UU6CJU.cjs.map → VI6POZO4.cjs.map} +1 -1
  47. package/dist/{FL2DFW3Y.js → W44XSMQX.js} +4 -3
  48. package/dist/W44XSMQX.js.map +1 -0
  49. package/dist/{M6KBN6B2.cjs → Z6M5WEHB.cjs} +5 -5
  50. package/dist/{M6KBN6B2.cjs.map → Z6M5WEHB.cjs.map} +1 -1
  51. package/dist/{VPSZX4TV.cjs → ZOJHQPHA.cjs} +4 -4
  52. package/dist/{VPSZX4TV.cjs.map → ZOJHQPHA.cjs.map} +1 -1
  53. package/dist/commands/aptos.cjs +9 -9
  54. package/dist/commands/aptos.js +8 -8
  55. package/dist/commands/iota.cjs +10 -10
  56. package/dist/commands/iota.js +9 -9
  57. package/dist/commands/sui.cjs +10 -10
  58. package/dist/commands/sui.js +9 -9
  59. package/dist/commands/utility/sui-like.cjs +9 -9
  60. package/dist/commands/utility/sui-like.js +8 -8
  61. package/dist/config/docker-images.cjs +2 -2
  62. package/dist/config/docker-images.d.ts +11 -0
  63. package/dist/config/docker-images.d.ts.map +1 -1
  64. package/dist/config/docker-images.js +1 -1
  65. package/dist/config/docker-images.test.cjs +6 -6
  66. package/dist/config/docker-images.test.cjs.map +1 -1
  67. package/dist/config/docker-images.test.js +4 -4
  68. package/dist/config/index.cjs +14 -14
  69. package/dist/config/index.js +3 -3
  70. package/dist/config/tools.cjs +6 -6
  71. package/dist/config/tools.js +3 -3
  72. package/dist/config/version-matrices.cjs +2 -2
  73. package/dist/config/version-matrices.d.ts.map +1 -1
  74. package/dist/config/version-matrices.js +1 -1
  75. package/dist/core/index.cjs +9 -9
  76. package/dist/core/index.js +7 -7
  77. package/dist/core/lock.cjs +4 -4
  78. package/dist/core/lock.d.ts.map +1 -1
  79. package/dist/core/lock.js +1 -1
  80. package/dist/core/lock.test.cjs +6 -6
  81. package/dist/core/lock.test.cjs.map +1 -1
  82. package/dist/core/lock.test.js +1 -1
  83. package/dist/core/tool-executor.cjs +8 -8
  84. package/dist/core/tool-executor.js +7 -7
  85. package/dist/core/version-resolver.cjs +5 -5
  86. package/dist/core/version-resolver.js +4 -4
  87. package/dist/display/formatters.cjs +5 -5
  88. package/dist/display/formatters.js +4 -4
  89. package/dist/display/index.cjs +8 -8
  90. package/dist/display/index.js +5 -5
  91. package/dist/display/version-display.cjs +7 -7
  92. package/dist/display/version-display.js +5 -5
  93. package/dist/index.cjs +27 -27
  94. package/dist/index.cjs.map +1 -1
  95. package/dist/index.js +14 -14
  96. package/dist/scripts/generate-github-matrix.cjs +11 -8
  97. package/dist/scripts/generate-github-matrix.cjs.map +1 -1
  98. package/dist/scripts/generate-github-matrix.js +8 -5
  99. package/dist/scripts/generate-github-matrix.js.map +1 -1
  100. package/dist/utils/docker.cjs +8 -8
  101. package/dist/utils/docker.js +4 -4
  102. package/dist/utils/finder.cjs +11 -11
  103. package/dist/utils/finder.js +3 -3
  104. package/dist/utils/version.cjs +7 -7
  105. package/dist/utils/version.js +3 -3
  106. package/dist/utils.cjs +5 -5
  107. package/dist/utils.js +3 -3
  108. package/package.json +6 -6
  109. package/dist/55HL3CFD.js.map +0 -1
  110. package/dist/6NIOUVPA.cjs.map +0 -1
  111. package/dist/ACDTMA6Q.cjs.map +0 -1
  112. package/dist/D3JHHTB6.js.map +0 -1
  113. package/dist/F35TPZS3.js.map +0 -1
  114. package/dist/FL2DFW3Y.js.map +0 -1
  115. package/dist/KSZMBVFB.cjs.map +0 -1
  116. package/dist/PUL6NSHI.cjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,25 +1,25 @@
1
1
  'use strict';
2
2
 
3
+ require('./CYUSPBTH.cjs');
4
+ var C4FRNVDY_cjs = require('./C4FRNVDY.cjs');
5
+ require('./Z6M5WEHB.cjs');
3
6
  require('./IDMMHZJ3.cjs');
4
7
  var LNCARCBD_cjs = require('./LNCARCBD.cjs');
5
8
  require('./S3PHE6F2.cjs');
6
- require('./CYUSPBTH.cjs');
7
- var ZD3LAY33_cjs = require('./ZD3LAY33.cjs');
8
- require('./M6KBN6B2.cjs');
9
- var VPSZX4TV_cjs = require('./VPSZX4TV.cjs');
10
- var GJ24YLYE_cjs = require('./GJ24YLYE.cjs');
9
+ var ZOJHQPHA_cjs = require('./ZOJHQPHA.cjs');
10
+ var H626YBWD_cjs = require('./H626YBWD.cjs');
11
11
  var DB5GRF5K_cjs = require('./DB5GRF5K.cjs');
12
- var QU36PNBP_cjs = require('./QU36PNBP.cjs');
13
- require('./L2LY6RIT.cjs');
12
+ var U4QZYPBU_cjs = require('./U4QZYPBU.cjs');
13
+ require('./I4WZRP7G.cjs');
14
14
  require('./Z253B63X.cjs');
15
- var BRSAP7LG_cjs = require('./BRSAP7LG.cjs');
15
+ var JSLAKJHB_cjs = require('./JSLAKJHB.cjs');
16
16
  require('./YNMZEV5X.cjs');
17
- require('./ACDTMA6Q.cjs');
18
- require('./6NIOUVPA.cjs');
19
- require('./36UU6CJU.cjs');
20
- var FOFSZBOK_cjs = require('./FOFSZBOK.cjs');
21
- require('./PUL6NSHI.cjs');
22
- require('./KSZMBVFB.cjs');
17
+ require('./DBRVUBWJ.cjs');
18
+ require('./VI6POZO4.cjs');
19
+ var _6QJ3ATEV_cjs = require('./6QJ3ATEV.cjs');
20
+ require('./6GRSDUV3.cjs');
21
+ require('./7C3FV2XA.cjs');
22
+ require('./CXM3VA7N.cjs');
23
23
  var U7VZULNU_cjs = require('./U7VZULNU.cjs');
24
24
  var commander = require('commander');
25
25
  var esToolkit = require('es-toolkit');
@@ -35,7 +35,7 @@ var process__default = /*#__PURE__*/_interopDefault(process);
35
35
 
36
36
  // src/index.ts
37
37
  U7VZULNU_cjs.init_cjs_shims();
38
- var toolVersionOptions = Object.fromEntries(FOFSZBOK_cjs.tools.map(({ name }) => [
38
+ var toolVersionOptions = Object.fromEntries(_6QJ3ATEV_cjs.tools.map(({ name }) => [
39
39
  `${esToolkit.camelCase(name)}Version`,
40
40
  name
41
41
  ]));
@@ -55,7 +55,7 @@ async function run() {
55
55
  const program = new commander.Command();
56
56
  program.name("lz-tool").description("\u{1F680} LayerZero VM tooling with intelligent version management\n\nUsage pattern:\n lz-tool [global-options] <tool> [tool-args...]\n\nExamples:\n lz-tool -e bash sui --help\n lz-tool --sui-version 1.38.0 sui client\n\nNote: All lz-tool options must appear BEFORE the tool name.").version("1.0.0").enablePositionalOptions();
57
57
  if (process__default.default.argv.includes("--list-versions")) {
58
- ZD3LAY33_cjs.displayVersionCombinations();
58
+ C4FRNVDY_cjs.displayVersionCombinations();
59
59
  return;
60
60
  }
61
61
  program.option("-c, --cwd <path>", "Current working directory", (input) => {
@@ -113,32 +113,32 @@ async function run() {
113
113
  })
114
114
  ];
115
115
  }, []).option("-p, --publish <host_port:container_port>", "Publish a container's port(s) to the host");
116
- for (const tool of FOFSZBOK_cjs.tools) {
116
+ for (const tool of _6QJ3ATEV_cjs.tools) {
117
117
  const optionFlag = `--${tool.name}-version <version>`;
118
- const defaultVersion = FOFSZBOK_cjs.getToolDefaultVersion(tool.name);
119
- const supportedVersions = FOFSZBOK_cjs.getToolSupportedVersions(tool.name);
118
+ const defaultVersion = _6QJ3ATEV_cjs.getToolDefaultVersion(tool.name);
119
+ const supportedVersions = _6QJ3ATEV_cjs.getToolSupportedVersions(tool.name);
120
120
  const description = `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(", ")})`;
121
121
  program.option(optionFlag, description);
122
122
  }
123
123
  program.option("--list-versions", "Display all supported version combinations and exit");
124
- program.command("version-info <tool>").description("Display detailed version information for a specific tool").action((toolName) => ZD3LAY33_cjs.displayToolVersionInfo(toolName));
125
- for (const tool of FOFSZBOK_cjs.tools) {
124
+ program.command("version-info <tool>").description("Display detailed version information for a specific tool").action((toolName) => C4FRNVDY_cjs.displayToolVersionInfo(toolName));
125
+ for (const tool of _6QJ3ATEV_cjs.tools) {
126
126
  program.command(tool.name, {
127
127
  isDefault: false
128
128
  }).description(`Run ${tool.name} with version checking`).passThroughOptions(true).allowUnknownOption().helpOption(false).argument("[args...]", "Arguments to pass to the tool").action(async (args) => {
129
- await BRSAP7LG_cjs.executeToolCommand(tool.name, args, parseGlobalOptions(program));
129
+ await JSLAKJHB_cjs.executeToolCommand(tool.name, args, parseGlobalOptions(program));
130
130
  });
131
131
  }
132
132
  const extra = program.command("extra").description("Extra commands for VM tooling");
133
133
  extra.command("starknet").command("build-typescript-sdk").description("Generate TypeScript SDK for Starknet").argument("<package-name>", "Scarb package name").argument("<target-directory>", "Scarb target directory").argument("<src-directory>", "TypeScript source directory").action(DB5GRF5K_cjs.buildTypescriptSdk);
134
134
  const aptos = extra.command("aptos");
135
- aptos.command("compile").description("Compile Aptos contracts and generate the module order file").argument("[args...]", "Arguments to pass to `aptos move compile` command").passThroughOptions(true).allowUnknownOption().action((args) => VPSZX4TV_cjs.compile(args, parseGlobalOptions(program)));
135
+ aptos.command("compile").description("Compile Aptos contracts and generate the module order file").argument("[args...]", "Arguments to pass to `aptos move compile` command").passThroughOptions(true).allowUnknownOption().action((args) => ZOJHQPHA_cjs.compile(args, parseGlobalOptions(program)));
136
136
  const iota = extra.command("iota");
137
- iota.command("build").description("Build IOTA contracts with shared dependency and configuration Docker volumes").argument("[args...]", "Arguments to pass to `iota move build` command").passThroughOptions(true).allowUnknownOption().action((args) => GJ24YLYE_cjs.iotaWrapper.run("build", args, parseGlobalOptions(program)));
138
- iota.command("test").description("Test IOTA contracts with shared dependency and configuration Docker volumes").argument("[args...]", "Arguments to pass to `iota move test` command").passThroughOptions(true).allowUnknownOption().action((args) => GJ24YLYE_cjs.iotaWrapper.run("test", args, parseGlobalOptions(program)));
137
+ iota.command("build").description("Build IOTA contracts with shared dependency and configuration Docker volumes").argument("[args...]", "Arguments to pass to `iota move build` command").passThroughOptions(true).allowUnknownOption().action((args) => H626YBWD_cjs.iotaWrapper.run("build", args, parseGlobalOptions(program)));
138
+ iota.command("test").description("Test IOTA contracts with shared dependency and configuration Docker volumes").argument("[args...]", "Arguments to pass to `iota move test` command").passThroughOptions(true).allowUnknownOption().action((args) => H626YBWD_cjs.iotaWrapper.run("test", args, parseGlobalOptions(program)));
139
139
  const sui = extra.command("sui");
140
- sui.command("build").description("Build Sui contracts with shared dependency and configuration Docker volumes").argument("[args...]", "Arguments to pass to `sui move build` command").passThroughOptions(true).allowUnknownOption().action((args) => QU36PNBP_cjs.suiWrapper.run("build", args, parseGlobalOptions(program)));
141
- sui.command("test").description("Test Sui contracts with shared dependency and configuration Docker volumes").argument("[args...]", "Arguments to pass to `sui move test` command").passThroughOptions(true).allowUnknownOption().action((args) => QU36PNBP_cjs.suiWrapper.run("test", args, parseGlobalOptions(program)));
140
+ sui.command("build").description("Build Sui contracts with shared dependency and configuration Docker volumes").argument("[args...]", "Arguments to pass to `sui move build` command").passThroughOptions(true).allowUnknownOption().action((args) => U4QZYPBU_cjs.suiWrapper.run("build", args, parseGlobalOptions(program)));
141
+ sui.command("test").description("Test Sui contracts with shared dependency and configuration Docker volumes").argument("[args...]", "Arguments to pass to `sui move test` command").passThroughOptions(true).allowUnknownOption().action((args) => U4QZYPBU_cjs.suiWrapper.run("test", args, parseGlobalOptions(program)));
142
142
  await program.parseAsync();
143
143
  }
144
144
  U7VZULNU_cjs.__name(run, "run");
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["init_cjs_shims","toolVersionOptions","Object","fromEntries","tools","map","name","camelCase","parseGlobalOptions","command","cwd","volume","options","opts","process","volumes","versions","entries","version","filter","tool","run","program","Command","description","enablePositionalOptions","argv","includes","displayVersionCombinations","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","variables","valueParts","split","length","value","join","type","hostPath","containerPath","volumeMappingSchema","parse","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","action","toolName","displayToolVersionInfo","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","executeToolCommand","extra","buildTypescriptSdk","aptos","compile","iota","iotaWrapper","sui","suiWrapper","parseAsync","main","__name","error","console","exit"],"mappings":"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","file":"index.cjs","sourcesContent":["import { Command } from 'commander';\nimport { camelCase } from 'es-toolkit';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\n\nimport * as aptosCommands from './commands/aptos';\nimport { iotaWrapper } from './commands/iota';\nimport * as starknetCommands from './commands/starknet';\nimport { suiWrapper } from './commands/sui';\nimport { tools } from './config';\nimport type { ToolCommandExecutionOptions } from './core';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport type { EnvironmentVariable, VolumeMapping } from './types';\nimport { volumeMappingSchema } from './types';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder';\n\ninterface GlobalOptions {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\n}\n\nconst toolVersionOptions = Object.fromEntries(\n tools.map(({ name }) => [`${camelCase(name)}Version`, name]),\n);\n\nconst parseGlobalOptions = (command: Command): ToolCommandExecutionOptions => {\n const { cwd, volume, ...options } = command.opts<GlobalOptions>();\n\n return {\n ...options,\n cwd: cwd ?? process.cwd(),\n volumes: volume,\n versions: Object.fromEntries(\n Object.entries(options)\n .map(([name, version]) => [toolVersionOptions[name], version])\n .filter(([tool]) => tool),\n ),\n };\n};\n\nasync function run(): Promise<void> {\n const program = new Command();\n\n program\n .name('lz-tool')\n .description(\n '🚀 LayerZero VM tooling with intelligent version management\\n' +\n '\\n' +\n 'Usage pattern:\\n' +\n ' lz-tool [global-options] <tool> [tool-args...]\\n' +\n '\\n' +\n 'Examples:\\n' +\n ' lz-tool -e bash sui --help\\n' +\n ' lz-tool --sui-version 1.38.0 sui client\\n' +\n '\\n' +\n 'Note: All lz-tool options must appear BEFORE the tool name.',\n )\n .version('1.0.0')\n .enablePositionalOptions(); // Required for passThroughOptions to work\n\n // Check for --list-versions before parsing to avoid help display\n if (process.argv.includes('--list-versions')) {\n displayVersionCombinations();\n return;\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 '-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, variables: EnvironmentVariable[]) => {\n const [name, ...valueParts] = input.split('=');\n\n if (!name || !valueParts.length) {\n throw new Error(\n `Invalid environment variable format: ${input}. Use --env NAME=VALUE`,\n );\n }\n\n return [...variables, { name, value: valueParts.join('=') }];\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, volumes: VolumeMapping[]) => {\n const [type, hostPath, containerPath, name] = input.split(':');\n\n switch (type) {\n case 'host':\n if (!hostPath) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n break;\n case 'isolate':\n if (!name) {\n throw new Error(`Name is required for volume type 'isolate'`);\n }\n break;\n default:\n throw new Error(`Invalid volume type: ${type}`);\n }\n\n if (!containerPath) {\n throw new Error(`Container path is required`);\n }\n\n return [\n ...volumes,\n volumeMappingSchema.parse({ type, hostPath, containerPath, name }),\n ];\n },\n [],\n )\n .option(\n '-p, --publish <host_port:container_port>',\n \"Publish a container's port(s) to the host\",\n );\n\n // Add version options for each tool dynamically\n for (const tool of tools) {\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) => displayToolVersionInfo(toolName));\n\n // Dynamically add commands for each supported tool\n for (const tool of tools) {\n // Don't add any options to the subcommand level.\n // All lz-tool options must be specified before the subcommand.\n program\n .command(tool.name, { isDefault: false })\n .description(`Run ${tool.name} with version checking`)\n .passThroughOptions(true) // Pass through all options after the subcommand\n .allowUnknownOption()\n .helpOption(false) // Disable automatic help option to pass --help to the tool\n .argument('[args...]', 'Arguments to pass to the tool')\n .action(async (args: string[]) => {\n await executeToolCommand(tool.name, args, parseGlobalOptions(program));\n });\n }\n\n const extra = program.command('extra').description('Extra commands for VM tooling');\n\n extra\n .command('starknet')\n .command('build-typescript-sdk')\n .description('Generate TypeScript SDK for Starknet')\n .argument('<package-name>', 'Scarb package name')\n .argument('<target-directory>', 'Scarb target directory')\n .argument('<src-directory>', 'TypeScript source directory')\n .action(starknetCommands.buildTypescriptSdk);\n\n const aptos = extra.command('aptos');\n\n aptos\n .command('compile')\n .description('Compile Aptos contracts and generate the module order file')\n .argument('[args...]', 'Arguments to pass to `aptos move compile` command')\n .passThroughOptions(true)\n .allowUnknownOption()\n .action((args: string[]) => aptosCommands.compile(args, parseGlobalOptions(program)));\n\n const iota = extra.command('iota');\n\n iota.command('build')\n .description('Build IOTA contracts with shared dependency and configuration Docker volumes')\n .argument('[args...]', 'Arguments to pass to `iota move build` command')\n .passThroughOptions(true)\n .allowUnknownOption()\n .action((args: string[]) => iotaWrapper.run('build', args, parseGlobalOptions(program)));\n\n iota.command('test')\n .description('Test IOTA contracts with shared dependency and configuration Docker volumes')\n .argument('[args...]', 'Arguments to pass to `iota move test` command')\n .passThroughOptions(true)\n .allowUnknownOption()\n .action((args: string[]) => iotaWrapper.run('test', args, parseGlobalOptions(program)));\n\n const sui = extra.command('sui');\n\n sui.command('build')\n .description('Build Sui contracts with shared dependency and configuration Docker volumes')\n .argument('[args...]', 'Arguments to pass to `sui move build` command')\n .passThroughOptions(true)\n .allowUnknownOption()\n .action((args: string[]) => suiWrapper.run('build', args, parseGlobalOptions(program)));\n\n sui.command('test')\n .description('Test Sui contracts with shared dependency and configuration Docker volumes')\n .argument('[args...]', 'Arguments to pass to `sui move test` command')\n .passThroughOptions(true)\n .allowUnknownOption()\n .action((args: string[]) => suiWrapper.run('test', args, parseGlobalOptions(program)));\n\n await program.parseAsync();\n}\n\nexport const main = async (): Promise<void> => {\n try {\n await run();\n } catch (error) {\n console.error('❌ VM tool execution failed', error);\n process.exit(1);\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["init_cjs_shims","toolVersionOptions","Object","fromEntries","tools","map","name","camelCase","parseGlobalOptions","command","cwd","volume","options","opts","process","volumes","versions","entries","version","filter","tool","run","program","Command","description","enablePositionalOptions","argv","includes","displayVersionCombinations","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","variables","valueParts","split","length","value","join","type","hostPath","containerPath","volumeMappingSchema","parse","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","action","toolName","displayToolVersionInfo","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","executeToolCommand","extra","buildTypescriptSdk","aptos","compile","iota","iotaWrapper","sui","suiWrapper","parseAsync","main","__name","error","console","exit"],"mappings":"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","file":"index.cjs","sourcesContent":["import { Command } from 'commander';\nimport { camelCase } from 'es-toolkit';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\n\nimport * as aptosCommands from './commands/aptos';\nimport { iotaWrapper } from './commands/iota';\nimport * as starknetCommands from './commands/starknet';\nimport { suiWrapper } from './commands/sui';\nimport { tools } from './config';\nimport type { ToolCommandExecutionOptions } from './core';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport type { EnvironmentVariable, VolumeMapping } from './types';\nimport { volumeMappingSchema } from './types';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder';\n\ninterface GlobalOptions {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\n}\n\nconst toolVersionOptions = Object.fromEntries(\n tools.map(({ name }) => [`${camelCase(name)}Version`, name]),\n);\n\nconst parseGlobalOptions = (command: Command): ToolCommandExecutionOptions => {\n const { cwd, volume, ...options } = command.opts<GlobalOptions>();\n\n return {\n ...options,\n cwd: cwd ?? process.cwd(),\n volumes: volume,\n versions: Object.fromEntries(\n Object.entries(options)\n .map(([name, version]) => [toolVersionOptions[name], version])\n .filter(([tool]) => tool),\n ),\n };\n};\n\nasync function run(): Promise<void> {\n const program = new Command();\n\n program\n .name('lz-tool')\n .description(\n '🚀 LayerZero VM tooling with intelligent version management\\n' +\n '\\n' +\n 'Usage pattern:\\n' +\n ' lz-tool [global-options] <tool> [tool-args...]\\n' +\n '\\n' +\n 'Examples:\\n' +\n ' lz-tool -e bash sui --help\\n' +\n ' lz-tool --sui-version 1.38.0 sui client\\n' +\n '\\n' +\n 'Note: All lz-tool options must appear BEFORE the tool name.',\n )\n .version('1.0.0')\n .enablePositionalOptions(); // Required for passThroughOptions to work\n\n // Check for --list-versions before parsing to avoid help display\n if (process.argv.includes('--list-versions')) {\n displayVersionCombinations();\n return;\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 '-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, variables: EnvironmentVariable[]) => {\n const [name, ...valueParts] = input.split('=');\n\n if (!name || !valueParts.length) {\n throw new Error(\n `Invalid environment variable format: ${input}. Use --env NAME=VALUE`,\n );\n }\n\n return [...variables, { name, value: valueParts.join('=') }];\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, volumes: VolumeMapping[]) => {\n const [type, hostPath, containerPath, name] = input.split(':');\n\n switch (type) {\n case 'host':\n if (!hostPath) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n break;\n case 'isolate':\n if (!name) {\n throw new Error(`Name is required for volume type 'isolate'`);\n }\n break;\n default:\n throw new Error(`Invalid volume type: ${type}`);\n }\n\n if (!containerPath) {\n throw new Error(`Container path is required`);\n }\n\n return [\n ...volumes,\n volumeMappingSchema.parse({ type, hostPath, containerPath, name }),\n ];\n },\n [],\n )\n .option(\n '-p, --publish <host_port:container_port>',\n \"Publish a container's port(s) to the host\",\n );\n\n // Add version options for each tool dynamically\n for (const tool of tools) {\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) => displayToolVersionInfo(toolName));\n\n // Dynamically add commands for each supported tool\n for (const tool of tools) {\n // Don't add any options to the subcommand level.\n // All lz-tool options must be specified before the subcommand.\n program\n .command(tool.name, { isDefault: false })\n .description(`Run ${tool.name} with version checking`)\n .passThroughOptions(true) // Pass through all options after the subcommand\n .allowUnknownOption()\n .helpOption(false) // Disable automatic help option to pass --help to the tool\n .argument('[args...]', 'Arguments to pass to the tool')\n .action(async (args: string[]) => {\n await executeToolCommand(tool.name, args, parseGlobalOptions(program));\n });\n }\n\n const extra = program.command('extra').description('Extra commands for VM tooling');\n\n extra\n .command('starknet')\n .command('build-typescript-sdk')\n .description('Generate TypeScript SDK for Starknet')\n .argument('<package-name>', 'Scarb package name')\n .argument('<target-directory>', 'Scarb target directory')\n .argument('<src-directory>', 'TypeScript source directory')\n .action(starknetCommands.buildTypescriptSdk);\n\n const aptos = extra.command('aptos');\n\n aptos\n .command('compile')\n .description('Compile Aptos contracts and generate the module order file')\n .argument('[args...]', 'Arguments to pass to `aptos move compile` command')\n .passThroughOptions(true)\n .allowUnknownOption()\n .action((args: string[]) => aptosCommands.compile(args, parseGlobalOptions(program)));\n\n const iota = extra.command('iota');\n\n iota.command('build')\n .description('Build IOTA contracts with shared dependency and configuration Docker volumes')\n .argument('[args...]', 'Arguments to pass to `iota move build` command')\n .passThroughOptions(true)\n .allowUnknownOption()\n .action((args: string[]) => iotaWrapper.run('build', args, parseGlobalOptions(program)));\n\n iota.command('test')\n .description('Test IOTA contracts with shared dependency and configuration Docker volumes')\n .argument('[args...]', 'Arguments to pass to `iota move test` command')\n .passThroughOptions(true)\n .allowUnknownOption()\n .action((args: string[]) => iotaWrapper.run('test', args, parseGlobalOptions(program)));\n\n const sui = extra.command('sui');\n\n sui.command('build')\n .description('Build Sui contracts with shared dependency and configuration Docker volumes')\n .argument('[args...]', 'Arguments to pass to `sui move build` command')\n .passThroughOptions(true)\n .allowUnknownOption()\n .action((args: string[]) => suiWrapper.run('build', args, parseGlobalOptions(program)));\n\n sui.command('test')\n .description('Test Sui contracts with shared dependency and configuration Docker volumes')\n .argument('[args...]', 'Arguments to pass to `sui move test` command')\n .passThroughOptions(true)\n .allowUnknownOption()\n .action((args: string[]) => suiWrapper.run('test', args, parseGlobalOptions(program)));\n\n await program.parseAsync();\n}\n\nexport const main = async (): Promise<void> => {\n try {\n await run();\n } catch (error) {\n console.error('❌ VM tool execution failed', error);\n process.exit(1);\n }\n};\n"]}
package/dist/index.js CHANGED
@@ -1,23 +1,23 @@
1
+ import './7BFNUKIW.js';
2
+ import { displayVersionCombinations, displayToolVersionInfo } from './RP32HMV5.js';
3
+ import './BQMGLKBO.js';
1
4
  import './GIS4KMDM.js';
2
5
  import { volumeMappingSchema } from './ORWR6LWW.js';
3
6
  import './6YTOLRHQ.js';
4
- import './7BFNUKIW.js';
5
- import { displayVersionCombinations, displayToolVersionInfo } from './3YHRHIKS.js';
6
- import './Y27GTZ2Q.js';
7
- import { compile } from './SV3LGPR3.js';
8
- import { iotaWrapper } from './X72XTEFE.js';
7
+ import { compile } from './EDE37TVE.js';
8
+ import { iotaWrapper } from './CSLN223N.js';
9
9
  import { buildTypescriptSdk } from './BTXB2LKA.js';
10
- import { suiWrapper } from './362ZLRXL.js';
11
- import './UKPHRO5A.js';
10
+ import { suiWrapper } from './TPWAEA6V.js';
11
+ import './2Z6XZCGO.js';
12
12
  import './6QZPR4XG.js';
13
- import { executeToolCommand } from './HCY4ASBG.js';
13
+ import { executeToolCommand } from './KOKBYHOJ.js';
14
14
  import './IWNVWC3I.js';
15
- import './55HL3CFD.js';
16
- import './FL2DFW3Y.js';
17
- import './FQUILSS5.js';
18
- import { tools, getToolDefaultVersion, getToolSupportedVersions } from './H7LPHZJT.js';
19
- import './F35TPZS3.js';
20
- import './D3JHHTB6.js';
15
+ import './3GTIKWKS.js';
16
+ import './73CRCY4G.js';
17
+ import { tools, getToolDefaultVersion, getToolSupportedVersions } from './AUA3QPCB.js';
18
+ import './GWPT4OMB.js';
19
+ import './3ATC7U63.js';
20
+ import './W44XSMQX.js';
21
21
  import { init_esm_shims, __name } from './4RNWLMHM.js';
22
22
  import { Command } from 'commander';
23
23
  import { camelCase } from 'es-toolkit';
@@ -10,10 +10,10 @@ var F7OAIAEX_cjs = require('../F7OAIAEX.cjs');
10
10
  var P5BPMTGP_cjs = require('../P5BPMTGP.cjs');
11
11
  require('../WDSPHVPJ.cjs');
12
12
  var JGLHYXTW_cjs = require('../JGLHYXTW.cjs');
13
- var _36UU6CJU_cjs = require('../36UU6CJU.cjs');
14
- var FOFSZBOK_cjs = require('../FOFSZBOK.cjs');
15
- require('../PUL6NSHI.cjs');
16
- var KSZMBVFB_cjs = require('../KSZMBVFB.cjs');
13
+ var VI6POZO4_cjs = require('../VI6POZO4.cjs');
14
+ var _6QJ3ATEV_cjs = require('../6QJ3ATEV.cjs');
15
+ var _6GRSDUV3_cjs = require('../6GRSDUV3.cjs');
16
+ require('../7C3FV2XA.cjs');
17
17
  var U7VZULNU_cjs = require('../U7VZULNU.cjs');
18
18
  var commander = require('commander');
19
19
  var path = require('path');
@@ -1929,7 +1929,7 @@ var ecrClient = new ECRClient();
1929
1929
  var command = new commander.Command().name("generate-github-matrix").requiredOption("--registry <registry>").parse();
1930
1930
  var { registry } = command.opts();
1931
1931
  var compileImage = /* @__PURE__ */ U7VZULNU_cjs.__name(async (image) => {
1932
- const repository = path.join(FOFSZBOK_cjs.ECR_IMAGE_DIRECTORY, FOFSZBOK_cjs.getImageName(image.name));
1932
+ const repository = path.join(_6QJ3ATEV_cjs.ECR_IMAGE_DIRECTORY, _6QJ3ATEV_cjs.getImageName(image.name));
1933
1933
  let existingTags = /* @__PURE__ */ new Set();
1934
1934
  try {
1935
1935
  const imageIds = [];
@@ -1955,20 +1955,23 @@ var compileImage = /* @__PURE__ */ U7VZULNU_cjs.__name(async (image) => {
1955
1955
  console.warn(`Existing tags for ${repository}:`, [
1956
1956
  ...existingTags
1957
1957
  ]);
1958
- const tags = tagSeparators.map((separator) => `${registry}/${repository}:${_36UU6CJU_cjs.getImageTag(image, separator)}`);
1958
+ const tags = tagSeparators.map((separator) => `${registry}/${repository}:${VI6POZO4_cjs.getImageTag(image, separator)}`);
1959
1959
  if (tags.some((tag) => existingTags.has(tag.split(":").at(-1)))) {
1960
1960
  return null;
1961
1961
  }
1962
1962
  return {
1963
1963
  name: image.name,
1964
- build_args: Object.entries(image.versions).sort().map(([key, value]) => `${key.replaceAll("-", "_").toUpperCase()}_VERSION=${value}`),
1964
+ build_args: Object.entries({
1965
+ ...image.versions,
1966
+ ...image.dependencies
1967
+ }).sort().map(([key, value]) => `${key.replaceAll("-", "_").toUpperCase()}_VERSION=${value}`),
1965
1968
  directory: path.join("tools/vm-tooling/docker", image.name),
1966
1969
  repository,
1967
1970
  tags
1968
1971
  };
1969
1972
  }, "compileImage");
1970
1973
  var main = /* @__PURE__ */ U7VZULNU_cjs.__name(async () => {
1971
- const entries = (await Promise.all(Object.values(KSZMBVFB_cjs.images).map(compileImage))).filter((entry) => !!entry);
1974
+ const entries = (await Promise.all(Object.values(_6GRSDUV3_cjs.images).map(compileImage))).filter((entry) => !!entry);
1972
1975
  console.warn("GitHub Action matrix generated:", entries);
1973
1976
  process$1.stdout.write(JSON.stringify(entries));
1974
1977
  }, "main");