@layerzerolabs/vm-tooling 0.0.64 → 0.0.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{5KWSCPAS.cjs → 22KWM667.cjs} +12 -12
- package/dist/{5KWSCPAS.cjs.map → 22KWM667.cjs.map} +1 -1
- package/dist/{KNTO2HQA.js → 6YQKZHZ5.js} +25 -4
- package/dist/6YQKZHZ5.js.map +1 -0
- package/dist/{YNCUAY7W.cjs → 7PSRMQMS.cjs} +9 -9
- package/dist/{YNCUAY7W.cjs.map → 7PSRMQMS.cjs.map} +1 -1
- package/dist/{YPULSRCT.cjs → BG3MG6IF.cjs} +15 -15
- package/dist/{YPULSRCT.cjs.map → BG3MG6IF.cjs.map} +1 -1
- package/dist/{NX66I36H.js → DN5VBC3L.js} +17 -20
- package/dist/DN5VBC3L.js.map +1 -0
- package/dist/{ODBAKZ5L.cjs → ER722VGO.cjs} +14 -14
- package/dist/{ODBAKZ5L.cjs.map → ER722VGO.cjs.map} +1 -1
- package/dist/{W6FCPNQL.cjs → GERMNIDG.cjs} +26 -5
- package/dist/GERMNIDG.cjs.map +1 -0
- package/dist/{KHTL7IGX.js → JZHAF3IW.js} +5 -5
- package/dist/{KHTL7IGX.js.map → JZHAF3IW.js.map} +1 -1
- package/dist/{DWQZSSBG.js → KFXJIHI6.js} +3 -3
- package/dist/{DWQZSSBG.js.map → KFXJIHI6.js.map} +1 -1
- package/dist/{SWSAP2TA.cjs → KPYTMXHJ.cjs} +4 -4
- package/dist/{SWSAP2TA.cjs.map → KPYTMXHJ.cjs.map} +1 -1
- package/dist/{JLKKDVCL.cjs → Q3ORCLJH.cjs} +17 -20
- package/dist/Q3ORCLJH.cjs.map +1 -0
- package/dist/{QGMMPVDI.js → QPWLW7SN.js} +4 -4
- package/dist/{QGMMPVDI.js.map → QPWLW7SN.js.map} +1 -1
- package/dist/{OMGIMF55.js → R2U2WXP4.js} +4 -4
- package/dist/{OMGIMF55.js.map → R2U2WXP4.js.map} +1 -1
- package/dist/{CD3U3DU7.js → XYNAO6GV.js} +4 -4
- package/dist/{CD3U3DU7.js.map → XYNAO6GV.js.map} +1 -1
- package/dist/commands/sui/build.cjs +6 -6
- package/dist/commands/sui/build.js +5 -5
- package/dist/commands/sui/index.cjs +6 -6
- package/dist/commands/sui/index.js +5 -5
- package/dist/config/index.cjs +8 -8
- package/dist/config/index.js +2 -2
- package/dist/config/tools.cjs +4 -4
- package/dist/config/tools.d.ts.map +1 -1
- package/dist/config/tools.js +2 -2
- package/dist/config/version-matrices.cjs +2 -2
- package/dist/config/version-matrices.js +1 -1
- package/dist/core/index.cjs +8 -8
- package/dist/core/index.js +4 -4
- package/dist/core/tool-executor.cjs +5 -5
- package/dist/core/tool-executor.js +4 -4
- package/dist/core/version-resolver.cjs +6 -6
- package/dist/core/version-resolver.js +3 -3
- package/dist/display/formatters.cjs +4 -4
- package/dist/display/formatters.js +3 -3
- package/dist/display/index.cjs +7 -7
- package/dist/display/index.js +4 -4
- package/dist/display/version-display.cjs +6 -6
- package/dist/display/version-display.js +4 -4
- package/dist/index.cjs +15 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/scripts/generate-github-matrix.cjs +6 -6
- package/dist/scripts/generate-github-matrix.js +2 -2
- package/dist/utils/docker.cjs +4 -4
- package/dist/utils/docker.js +2 -2
- package/dist/utils/finder.cjs +11 -11
- package/dist/utils/finder.js +2 -2
- package/dist/utils/version.cjs +6 -6
- package/dist/utils/version.js +2 -2
- package/dist/utils.cjs +5 -5
- package/dist/utils.js +2 -2
- package/package.json +5 -5
- package/dist/JLKKDVCL.cjs.map +0 -1
- package/dist/KNTO2HQA.js.map +0 -1
- package/dist/NX66I36H.js.map +0 -1
- package/dist/W6FCPNQL.cjs.map +0 -1
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["init_cjs_shims","run","program","Command","name","description","version","enablePositionalOptions","process","argv","includes","displayVersionCombinations","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tool","tools","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","globalOptions","opts","executeToolCommand","cwd","volumes","volume","extra","buildTypescriptSdk","options","build","parseAsync","main","__name","error","console","exit"],"mappings":"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","file":"index.cjs","sourcesContent":["import { Command } from 'commander';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\n\nimport * as starknet from './commands/starknet';\nimport * as sui from './commands/sui';\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';\n\ninterface GlobalOptions {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\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, 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\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n\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 .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 // Get global options (specified before the subcommand)\n const globalOptions = program.opts<GlobalOptions>();\n\n await executeToolCommand(tool.name, args, {\n cwd: globalOptions.cwd ?? process.cwd(),\n volumes: globalOptions.volume,\n ...globalOptions,\n });\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(starknet.buildTypescriptSdk);\n\n extra\n .command('sui')\n .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(async (args: string[]) => {\n const options = program.opts<GlobalOptions>();\n\n await sui.build(args, {\n ...options,\n cwd: options.cwd ?? process.cwd(),\n volumes: options.volume,\n });\n });\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","run","program","Command","name","description","version","enablePositionalOptions","process","argv","includes","displayVersionCombinations","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tool","tools","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","globalOptions","opts","executeToolCommand","cwd","volumes","volume","extra","buildTypescriptSdk","options","build","parseAsync","main","__name","error","console","exit"],"mappings":"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","file":"index.cjs","sourcesContent":["import { Command } from 'commander';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\n\nimport * as starknet from './commands/starknet';\nimport * as sui from './commands/sui';\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';\n\ninterface GlobalOptions {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\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, 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\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n\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 .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 // Get global options (specified before the subcommand)\n const globalOptions = program.opts<GlobalOptions>();\n\n await executeToolCommand(tool.name, args, {\n cwd: globalOptions.cwd ?? process.cwd(),\n volumes: globalOptions.volume,\n ...globalOptions,\n });\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(starknet.buildTypescriptSdk);\n\n extra\n .command('sui')\n .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(async (args: string[]) => {\n const options = program.opts<GlobalOptions>();\n\n await sui.build(args, {\n ...options,\n cwd: options.cwd ?? process.cwd(),\n volumes: options.volume,\n });\n });\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,16 +1,16 @@
|
|
|
1
1
|
import './M4PGJV5D.js';
|
|
2
2
|
import './3H446V2K.js';
|
|
3
|
-
import { build } from './
|
|
3
|
+
import { build } from './R2U2WXP4.js';
|
|
4
4
|
import { buildTypescriptSdk } from './MMIV5S36.js';
|
|
5
5
|
import './7BFNUKIW.js';
|
|
6
|
-
import { displayVersionCombinations, displayToolVersionInfo } from './
|
|
7
|
-
import './
|
|
6
|
+
import { displayVersionCombinations, displayToolVersionInfo } from './JZHAF3IW.js';
|
|
7
|
+
import './KFXJIHI6.js';
|
|
8
8
|
import './OAO7CCJW.js';
|
|
9
|
-
import { executeToolCommand } from './
|
|
9
|
+
import { executeToolCommand } from './QPWLW7SN.js';
|
|
10
10
|
import './IWNVWC3I.js';
|
|
11
|
-
import './
|
|
12
|
-
import { tools, getToolDefaultVersion, getToolSupportedVersions } from './
|
|
13
|
-
import './
|
|
11
|
+
import './XYNAO6GV.js';
|
|
12
|
+
import { tools, getToolDefaultVersion, getToolSupportedVersions } from './6YQKZHZ5.js';
|
|
13
|
+
import './DN5VBC3L.js';
|
|
14
14
|
import './PWDCAN6N.js';
|
|
15
15
|
import './3PEVFTZ5.js';
|
|
16
16
|
import { init_esm_shims, __name } from './4RNWLMHM.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["run","program","Command","name","description","version","enablePositionalOptions","process","argv","includes","displayVersionCombinations","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tool","tools","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","globalOptions","opts","executeToolCommand","cwd","volumes","volume","extra","buildTypescriptSdk","options","build","parseAsync","main","error","console","exit"],"mappings":"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","file":"index.js","sourcesContent":["import { Command } from 'commander';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\n\nimport * as starknet from './commands/starknet';\nimport * as sui from './commands/sui';\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';\n\ninterface GlobalOptions {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\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, 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\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n\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 .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 // Get global options (specified before the subcommand)\n const globalOptions = program.opts<GlobalOptions>();\n\n await executeToolCommand(tool.name, args, {\n cwd: globalOptions.cwd ?? process.cwd(),\n volumes: globalOptions.volume,\n ...globalOptions,\n });\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(starknet.buildTypescriptSdk);\n\n extra\n .command('sui')\n .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(async (args: string[]) => {\n const options = program.opts<GlobalOptions>();\n\n await sui.build(args, {\n ...options,\n cwd: options.cwd ?? process.cwd(),\n volumes: options.volume,\n });\n });\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":["run","program","Command","name","description","version","enablePositionalOptions","process","argv","includes","displayVersionCombinations","option","input","Error","path","isAbsolute","fs","existsSync","statSync","isDirectory","previous","valueParts","split","length","value","join","push","type","hostPath","containerPath","undefined","tool","tools","optionFlag","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","command","action","toolName","displayToolVersionInfo","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","globalOptions","opts","executeToolCommand","cwd","volumes","volume","extra","buildTypescriptSdk","options","build","parseAsync","main","error","console","exit"],"mappings":"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","file":"index.js","sourcesContent":["import { Command } from 'commander';\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport process from 'node:process';\n\nimport * as starknet from './commands/starknet';\nimport * as sui from './commands/sui';\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';\n\ninterface GlobalOptions {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n script?: string;\n customEntrypoint?: string;\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, 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\n if (type === 'host' && (hostPath === undefined || hostPath === '')) {\n throw new Error(`Host path is required for volume type 'host'`);\n }\n\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 .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 // Get global options (specified before the subcommand)\n const globalOptions = program.opts<GlobalOptions>();\n\n await executeToolCommand(tool.name, args, {\n cwd: globalOptions.cwd ?? process.cwd(),\n volumes: globalOptions.volume,\n ...globalOptions,\n });\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(starknet.buildTypescriptSdk);\n\n extra\n .command('sui')\n .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(async (args: string[]) => {\n const options = program.opts<GlobalOptions>();\n\n await sui.build(args, {\n ...options,\n cwd: options.cwd ?? process.cwd(),\n volumes: options.volume,\n });\n });\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"]}
|
|
@@ -10,8 +10,8 @@ var OWTMHDOF_cjs = require('../OWTMHDOF.cjs');
|
|
|
10
10
|
require('../7WVEMAKW.cjs');
|
|
11
11
|
require('../WDSPHVPJ.cjs');
|
|
12
12
|
var JGLHYXTW_cjs = require('../JGLHYXTW.cjs');
|
|
13
|
-
var
|
|
14
|
-
var
|
|
13
|
+
var GERMNIDG_cjs = require('../GERMNIDG.cjs');
|
|
14
|
+
var Q3ORCLJH_cjs = require('../Q3ORCLJH.cjs');
|
|
15
15
|
var U7VZULNU_cjs = require('../U7VZULNU.cjs');
|
|
16
16
|
var commander = require('commander');
|
|
17
17
|
var path = require('path');
|
|
@@ -1927,7 +1927,7 @@ var ecrClient = new ECRClient();
|
|
|
1927
1927
|
var command = new commander.Command().name("generate-github-matrix").requiredOption("--registry <registry>").parse();
|
|
1928
1928
|
var { registry } = command.opts();
|
|
1929
1929
|
var compileVersionCombinations = /* @__PURE__ */ U7VZULNU_cjs.__name(async (chainType, combinations) => {
|
|
1930
|
-
const repository = path.join(
|
|
1930
|
+
const repository = path.join(GERMNIDG_cjs.ECR_IMAGE_DIRECTORY, GERMNIDG_cjs.getImageNameForType(chainType));
|
|
1931
1931
|
let existingTags = /* @__PURE__ */ new Set();
|
|
1932
1932
|
try {
|
|
1933
1933
|
const imageIds = [];
|
|
@@ -1956,13 +1956,13 @@ var compileVersionCombinations = /* @__PURE__ */ U7VZULNU_cjs.__name(async (chai
|
|
|
1956
1956
|
return combinations.map((combination) => ({
|
|
1957
1957
|
name: chainType,
|
|
1958
1958
|
build_args: Object.entries(combination.versions).sort().map(([key, value]) => `${key.toUpperCase()}_VERSION=${value}`),
|
|
1959
|
-
directory: path.join("tools/vm-tooling/docker",
|
|
1959
|
+
directory: path.join("tools/vm-tooling/docker", GERMNIDG_cjs.getImageBasenameForType(chainType)),
|
|
1960
1960
|
repository,
|
|
1961
|
-
tags: tagSeparators.map((separator) => `${registry}/${repository}:${
|
|
1961
|
+
tags: tagSeparators.map((separator) => `${registry}/${repository}:${GERMNIDG_cjs.getImageTag(combination, separator)}`)
|
|
1962
1962
|
})).filter(({ tags }) => !tags.some((tag) => existingTags.has(tag.split(":").at(-1))));
|
|
1963
1963
|
}, "compileVersionCombinations");
|
|
1964
1964
|
var main = /* @__PURE__ */ U7VZULNU_cjs.__name(async () => {
|
|
1965
|
-
const entries = (await Promise.all(Object.entries(
|
|
1965
|
+
const entries = (await Promise.all(Object.entries(Q3ORCLJH_cjs.versionMatrices).map(([chainType, combinations]) => compileVersionCombinations(chainType, combinations)))).flat();
|
|
1966
1966
|
console.error("GitHub Action matrix generated:", entries);
|
|
1967
1967
|
process$1.stdout.write(JSON.stringify(entries));
|
|
1968
1968
|
}, "main");
|
|
@@ -8,8 +8,8 @@ import { toUtf8, fromUtf8 } from '../LMCIXUBF.js';
|
|
|
8
8
|
import '../NDUVZQ7S.js';
|
|
9
9
|
import '../OH4A2VLX.js';
|
|
10
10
|
import { memoize, chain, CredentialsProviderError } from '../TTKDG2NN.js';
|
|
11
|
-
import { ECR_IMAGE_DIRECTORY, getImageNameForType, getImageTag, getImageBasenameForType } from '../
|
|
12
|
-
import { versionMatrices } from '../
|
|
11
|
+
import { ECR_IMAGE_DIRECTORY, getImageNameForType, getImageTag, getImageBasenameForType } from '../6YQKZHZ5.js';
|
|
12
|
+
import { versionMatrices } from '../DN5VBC3L.js';
|
|
13
13
|
import { init_esm_shims, __name } from '../4RNWLMHM.js';
|
|
14
14
|
import { Command as Command$1 } from 'commander';
|
|
15
15
|
import { join } from 'node:path';
|
package/dist/utils/docker.cjs
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../
|
|
3
|
+
var GERMNIDG_cjs = require('../GERMNIDG.cjs');
|
|
4
|
+
require('../Q3ORCLJH.cjs');
|
|
5
5
|
require('../U7VZULNU.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "getImageTag", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return GERMNIDG_cjs.getImageTag; }
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "getImageURI", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return GERMNIDG_cjs.getImageURI; }
|
|
16
16
|
});
|
|
17
17
|
//# sourceMappingURL=docker.cjs.map
|
|
18
18
|
//# sourceMappingURL=docker.cjs.map
|
package/dist/utils/docker.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { getImageTag, getImageURI } from '../
|
|
2
|
-
import '../
|
|
1
|
+
export { getImageTag, getImageURI } from '../6YQKZHZ5.js';
|
|
2
|
+
import '../DN5VBC3L.js';
|
|
3
3
|
import '../4RNWLMHM.js';
|
|
4
4
|
//# sourceMappingURL=docker.js.map
|
|
5
5
|
//# sourceMappingURL=docker.js.map
|
package/dist/utils/finder.cjs
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../
|
|
3
|
+
var GERMNIDG_cjs = require('../GERMNIDG.cjs');
|
|
4
|
+
require('../Q3ORCLJH.cjs');
|
|
5
5
|
require('../U7VZULNU.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "findMatrixForTool", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return GERMNIDG_cjs.findMatrixForTool; }
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "findToolByName", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return GERMNIDG_cjs.findToolByName; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "findToolsByType", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return GERMNIDG_cjs.findToolsByType; }
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(exports, "getChainTypeForTool", {
|
|
22
22
|
enumerable: true,
|
|
23
|
-
get: function () { return
|
|
23
|
+
get: function () { return GERMNIDG_cjs.getChainTypeForTool; }
|
|
24
24
|
});
|
|
25
25
|
Object.defineProperty(exports, "getImageBasenameForType", {
|
|
26
26
|
enumerable: true,
|
|
27
|
-
get: function () { return
|
|
27
|
+
get: function () { return GERMNIDG_cjs.getImageBasenameForType; }
|
|
28
28
|
});
|
|
29
29
|
Object.defineProperty(exports, "getImageNameForTool", {
|
|
30
30
|
enumerable: true,
|
|
31
|
-
get: function () { return
|
|
31
|
+
get: function () { return GERMNIDG_cjs.getImageNameForTool; }
|
|
32
32
|
});
|
|
33
33
|
Object.defineProperty(exports, "getImageNameForType", {
|
|
34
34
|
enumerable: true,
|
|
35
|
-
get: function () { return
|
|
35
|
+
get: function () { return GERMNIDG_cjs.getImageNameForType; }
|
|
36
36
|
});
|
|
37
37
|
Object.defineProperty(exports, "getToolDefaultVersion", {
|
|
38
38
|
enumerable: true,
|
|
39
|
-
get: function () { return
|
|
39
|
+
get: function () { return GERMNIDG_cjs.getToolDefaultVersion; }
|
|
40
40
|
});
|
|
41
41
|
Object.defineProperty(exports, "getToolSupportedVersions", {
|
|
42
42
|
enumerable: true,
|
|
43
|
-
get: function () { return
|
|
43
|
+
get: function () { return GERMNIDG_cjs.getToolSupportedVersions; }
|
|
44
44
|
});
|
|
45
45
|
//# sourceMappingURL=finder.cjs.map
|
|
46
46
|
//# sourceMappingURL=finder.cjs.map
|
package/dist/utils/finder.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { findMatrixForTool, findToolByName, findToolsByType, getChainTypeForTool, getImageBasenameForType, getImageNameForTool, getImageNameForType, getToolDefaultVersion, getToolSupportedVersions } from '../
|
|
2
|
-
import '../
|
|
1
|
+
export { findMatrixForTool, findToolByName, findToolsByType, getChainTypeForTool, getImageBasenameForType, getImageNameForTool, getImageNameForType, getToolDefaultVersion, getToolSupportedVersions } from '../6YQKZHZ5.js';
|
|
2
|
+
import '../DN5VBC3L.js';
|
|
3
3
|
import '../4RNWLMHM.js';
|
|
4
4
|
//# sourceMappingURL=finder.js.map
|
|
5
5
|
//# sourceMappingURL=finder.js.map
|
package/dist/utils/version.cjs
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../
|
|
3
|
+
var GERMNIDG_cjs = require('../GERMNIDG.cjs');
|
|
4
|
+
require('../Q3ORCLJH.cjs');
|
|
5
5
|
require('../U7VZULNU.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "findSemVersionFromString", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return GERMNIDG_cjs.findSemVersionFromString; }
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "parseAnchorTomlVersion", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return GERMNIDG_cjs.parseAnchorTomlVersion; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "validateToolVersion", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return GERMNIDG_cjs.validateToolVersion; }
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(exports, "versionsSatisfied", {
|
|
22
22
|
enumerable: true,
|
|
23
|
-
get: function () { return
|
|
23
|
+
get: function () { return GERMNIDG_cjs.versionsSatisfied; }
|
|
24
24
|
});
|
|
25
25
|
//# sourceMappingURL=version.cjs.map
|
|
26
26
|
//# sourceMappingURL=version.cjs.map
|
package/dist/utils/version.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { findSemVersionFromString, parseAnchorTomlVersion, validateToolVersion, versionsSatisfied } from '../
|
|
2
|
-
import '../
|
|
1
|
+
export { findSemVersionFromString, parseAnchorTomlVersion, validateToolVersion, versionsSatisfied } from '../6YQKZHZ5.js';
|
|
2
|
+
import '../DN5VBC3L.js';
|
|
3
3
|
import '../4RNWLMHM.js';
|
|
4
4
|
//# sourceMappingURL=version.js.map
|
|
5
5
|
//# sourceMappingURL=version.js.map
|
package/dist/utils.cjs
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./
|
|
3
|
+
var GERMNIDG_cjs = require('./GERMNIDG.cjs');
|
|
4
|
+
require('./Q3ORCLJH.cjs');
|
|
5
5
|
require('./U7VZULNU.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "findParentDirectoryWithFile", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return GERMNIDG_cjs.findParentDirectoryWithFile; }
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "getCombinationId", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return GERMNIDG_cjs.getCombinationId; }
|
|
16
16
|
});
|
|
17
17
|
Object.defineProperty(exports, "parseVersionFileContents", {
|
|
18
18
|
enumerable: true,
|
|
19
|
-
get: function () { return
|
|
19
|
+
get: function () { return GERMNIDG_cjs.parseVersionFileContents; }
|
|
20
20
|
});
|
|
21
21
|
//# sourceMappingURL=utils.cjs.map
|
|
22
22
|
//# sourceMappingURL=utils.cjs.map
|
package/dist/utils.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { findParentDirectoryWithFile, getCombinationId, parseVersionFileContents } from './
|
|
2
|
-
import './
|
|
1
|
+
export { findParentDirectoryWithFile, getCombinationId, parseVersionFileContents } from './6YQKZHZ5.js';
|
|
2
|
+
import './DN5VBC3L.js';
|
|
3
3
|
import './4RNWLMHM.js';
|
|
4
4
|
//# sourceMappingURL=utils.js.map
|
|
5
5
|
//# sourceMappingURL=utils.js.map
|
package/package.json
CHANGED
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"semver": "^7.5.4",
|
|
27
27
|
"zod": "3.25.56",
|
|
28
28
|
"zx": "^8.1.3",
|
|
29
|
-
"@layerzerolabs/common-node-utils": "0.0.
|
|
30
|
-
"@layerzerolabs/layerzero-definitions": "0.0.
|
|
29
|
+
"@layerzerolabs/common-node-utils": "0.0.66",
|
|
30
|
+
"@layerzerolabs/layerzero-definitions": "0.0.66"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@aws-sdk/client-ecr": "3.879.0",
|
|
@@ -40,14 +40,14 @@
|
|
|
40
40
|
"tsx": "^4.19.3",
|
|
41
41
|
"typescript": "^5.8.2",
|
|
42
42
|
"vitest": "^3.2.3",
|
|
43
|
-
"@layerzerolabs/
|
|
44
|
-
"@layerzerolabs/
|
|
43
|
+
"@layerzerolabs/typescript-configuration": "0.0.66",
|
|
44
|
+
"@layerzerolabs/tsup-configuration": "0.0.66"
|
|
45
45
|
},
|
|
46
46
|
"publishConfig": {
|
|
47
47
|
"access": "restricted",
|
|
48
48
|
"registry": "https://registry.npmjs.org/"
|
|
49
49
|
},
|
|
50
|
-
"version": "0.0.
|
|
50
|
+
"version": "0.0.66",
|
|
51
51
|
"scripts": {
|
|
52
52
|
"prebuild": "chmod +x bin/lz-tool.js",
|
|
53
53
|
"build": "tsup",
|
package/dist/JLKKDVCL.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/config/version-matrices.ts"],"names":["init_cjs_shims","versionMatrices","ChainType","EVM","versions","forge","hardhat","patch","stable","SOLANA","solana","anchor","description","APTOSMOVE","aptos","initiad","movement","TON","blueprint","STARKNET","scarb","SUIMOVE","sui","STELLAR","stellar"],"mappings":";;;;;;AAAAA,2BAAA,EAAA;AAQO,IAAMC,eAAAA,GAAoF;EAC7F,CAACC,8BAAAA,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;MACIJ,QAAAA,EAAU;QAAEC,KAAAA,EAAO,OAAA;QAASC,OAAAA,EAAS;AAAS;AAClD,KAAA;AACA,IAAA;;MAEIF,QAAAA,EAAU;QAAEE,OAAAA,EAAS;AAAS;AAClC;;EAEJ,CAACJ,8BAAAA,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,8BAAAA,CAAUW,SAAS,GAAG;AACnB,IAAA;MACIT,QAAAA,EAAU;QAAEU,KAAAA,EAAO,OAAA;QAASC,OAAAA,EAAS;AAAQ,OAAA;MAC7CP,MAAAA,EAAQ;AACZ,KAAA;AACA,IAAA;MACIJ,QAAAA,EAAU;QAAEU,KAAAA,EAAO,OAAA;QAASC,OAAAA,EAAS,OAAA;QAASC,QAAAA,EAAU;AAAQ;AACpE,KAAA;AACA,IAAA;MACIZ,QAAAA,EAAU;QAAEU,KAAAA,EAAO;AAAQ;AAC/B,KAAA;AACA,IAAA;;MAEIV,QAAAA,EAAU;QAAEU,KAAAA,EAAO;AAAQ;AAC/B;;EAEJ,CAACZ,8BAAAA,CAAUe,GAAG,GAAG;AACb,IAAA;;;;;MAKIb,QAAAA,EAAU;QAAEc,SAAAA,EAAW;AAAgB,OAAA;MACvCX,KAAAA,EAAO,CAAA;MACPC,MAAAA,EAAQ;AACZ;;EAEJ,CAACN,8BAAAA,CAAUiB,QAAQ,GAAG;AAClB,IAAA;MACIf,QAAAA,EAAU;QAAEgB,KAAAA,EAAO;AAAS,OAAA;MAC5Bb,KAAAA,EAAO,CAAA;MACPC,MAAAA,EAAQ;AACZ,KAAA;AACA,IAAA;MACIJ,QAAAA,EAAU;QAAEgB,KAAAA,EAAO;AAAS,OAAA;MAC5Bb,KAAAA,EAAO;AACX;;EAEJ,CAACL,8BAAAA,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,8BAAAA,CAAUqB,OAAO,GAAG;AACjB,IAAA;MACInB,QAAAA,EAAU;QAAEoB,OAAAA,EAAS;AAAS,OAAA;MAC9BZ,WAAAA,EAAa,mCAAA;MACbJ,MAAAA,EAAQ;AACZ;;AAER","file":"JLKKDVCL.cjs","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 versions: { forge: '1.3.6', hardhat: '2.26.3' },\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' },\n stable: true,\n },\n {\n versions: { aptos: '4.7.0', initiad: '0.6.3', movement: '3.5.0' },\n },\n {\n versions: { aptos: '4.7.0' },\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: 3,\n stable: true,\n },\n {\n versions: { scarb: '2.12.0' },\n patch: 4,\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};\n"]}
|
package/dist/KNTO2HQA.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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","suiDefaultVolumes","shared","EVM","defaultVolumes","SOLANA","privileged","getSecondaryVersionCheckValue","TON","STARKNET","STELLAR","locked","AWS_ACCOUNT_ID","AWS_REGION"],"mappings":"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","file":"KNTO2HQA.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 },\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","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"]}
|
package/dist/NX66I36H.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"],"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;MACIJ,QAAAA,EAAU;QAAEC,KAAAA,EAAO,OAAA;QAASC,OAAAA,EAAS;AAAS;AAClD,KAAA;AACA,IAAA;;MAEIF,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;AAAQ,OAAA;MAC7CP,MAAAA,EAAQ;AACZ,KAAA;AACA,IAAA;MACIJ,QAAAA,EAAU;QAAEU,KAAAA,EAAO,OAAA;QAASC,OAAAA,EAAS,OAAA;QAASC,QAAAA,EAAU;AAAQ;AACpE,KAAA;AACA,IAAA;MACIZ,QAAAA,EAAU;QAAEU,KAAAA,EAAO;AAAQ;AAC/B,KAAA;AACA,IAAA;;MAEIV,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,CAAA;MACPC,MAAAA,EAAQ;AACZ,KAAA;AACA,IAAA;MACIJ,QAAAA,EAAU;QAAEgB,KAAAA,EAAO;AAAS,OAAA;MAC5Bb,KAAAA,EAAO;AACX;;EAEJ,CAACL,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;;AAER","file":"NX66I36H.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 versions: { forge: '1.3.6', hardhat: '2.26.3' },\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' },\n stable: true,\n },\n {\n versions: { aptos: '4.7.0', initiad: '0.6.3', movement: '3.5.0' },\n },\n {\n versions: { aptos: '4.7.0' },\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: 3,\n stable: true,\n },\n {\n versions: { scarb: '2.12.0' },\n patch: 4,\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};\n"]}
|
package/dist/W6FCPNQL.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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":["init_cjs_shims","findToolByName","toolName","tool","tools","find","name","Error","findToolsByType","__name","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","suiDefaultVolumes","shared","EVM","defaultVolumes","SOLANA","privileged","getSecondaryVersionCheckValue","TON","STARKNET","STELLAR","locked","AWS_ACCOUNT_ID","AWS_REGION"],"mappings":"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","file":"W6FCPNQL.cjs","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 },\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","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"]}
|