@layerzerolabs/vm-tooling 1.2.26 → 1.2.29
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/{CUOSBYWX.js → 2GK3MDLX.js} +3 -3
- package/dist/{CUOSBYWX.js.map → 2GK3MDLX.js.map} +1 -1
- package/dist/{HLBKRZPQ.js → 5PX53N66.js} +3 -3
- package/dist/{HLBKRZPQ.js.map → 5PX53N66.js.map} +1 -1
- package/dist/{D2PLHUMA.js → 5SLPZRAL.js} +5 -5
- package/dist/{D2PLHUMA.js.map → 5SLPZRAL.js.map} +1 -1
- package/dist/{PK3K6QL5.js → 6M3XVMYE.js} +5 -5
- package/dist/{PK3K6QL5.js.map → 6M3XVMYE.js.map} +1 -1
- package/dist/{IESTLB2J.js → ADZG6QSC.js} +3 -3
- package/dist/{IESTLB2J.js.map → ADZG6QSC.js.map} +1 -1
- package/dist/BJVTHJLE.js +6 -0
- package/dist/{YWV524QA.js.map → BJVTHJLE.js.map} +1 -1
- package/dist/{HDEZ25XC.js → BVTEQOCW.js} +4 -4
- package/dist/{HDEZ25XC.js.map → BVTEQOCW.js.map} +1 -1
- package/dist/{HYQDYOEK.js → CYP6J4VH.js} +4 -4
- package/dist/{HYQDYOEK.js.map → CYP6J4VH.js.map} +1 -1
- package/dist/{VEHJE5IG.js → GBCVVX6B.js} +8 -8
- package/dist/{VEHJE5IG.js.map → GBCVVX6B.js.map} +1 -1
- package/dist/{OAIHLYVJ.js → GNAXYUMP.js} +5 -5
- package/dist/{OAIHLYVJ.js.map → GNAXYUMP.js.map} +1 -1
- package/dist/{CRI6J6O2.js → H4RUI4N2.js} +5 -5
- package/dist/{CRI6J6O2.js.map → H4RUI4N2.js.map} +1 -1
- package/dist/{YPEQAPKQ.js → H55JBB6F.js} +12 -12
- package/dist/{YPEQAPKQ.js.map → H55JBB6F.js.map} +1 -1
- package/dist/{3YEHUD34.js → HIFVOL6G.js} +7 -7
- package/dist/{3YEHUD34.js.map → HIFVOL6G.js.map} +1 -1
- package/dist/{RRGZUU2S.js → HMZV72VO.js} +5 -5
- package/dist/{RRGZUU2S.js.map → HMZV72VO.js.map} +1 -1
- package/dist/{KX44D2AO.js → IGFQKKDO.js} +5 -5
- package/dist/{KX44D2AO.js.map → IGFQKKDO.js.map} +1 -1
- package/dist/{YVZEMBYY.js → JWJXCZMP.js} +3 -3
- package/dist/JWJXCZMP.js.map +1 -0
- package/dist/{5U6IZE2R.js → LBCSKMFZ.js} +10 -10
- package/dist/{5U6IZE2R.js.map → LBCSKMFZ.js.map} +1 -1
- package/dist/{SOYY4ZEJ.js → N3I7SNFG.js} +3 -3
- package/dist/{SOYY4ZEJ.js.map → N3I7SNFG.js.map} +1 -1
- package/dist/{MRCCE7T6.js → P52CW6DK.js} +3 -3
- package/dist/{MRCCE7T6.js.map → P52CW6DK.js.map} +1 -1
- package/dist/{MMZFIEYT.js → RRKFUBOS.js} +5 -5
- package/dist/{MMZFIEYT.js.map → RRKFUBOS.js.map} +1 -1
- package/dist/{BQ7NG5SN.js → SWKTHNWT.js} +4 -4
- package/dist/{BQ7NG5SN.js.map → SWKTHNWT.js.map} +1 -1
- package/dist/{NZPJXCQB.js → TJ5HTUVM.js} +3 -3
- package/dist/{NZPJXCQB.js.map → TJ5HTUVM.js.map} +1 -1
- package/dist/{BW6522R3.js → VB2BOPPZ.js} +3 -3
- package/dist/{BW6522R3.js.map → VB2BOPPZ.js.map} +1 -1
- package/dist/{5CVFIVAF.js → XKW5QM54.js} +4 -4
- package/dist/{5CVFIVAF.js.map → XKW5QM54.js.map} +1 -1
- package/dist/{PPARVAQY.js → XMRVBPGX.js} +3 -3
- package/dist/{PPARVAQY.js.map → XMRVBPGX.js.map} +1 -1
- package/dist/{ZQNOS3RT.js → XOVO3JKY.js} +4 -4
- package/dist/{ZQNOS3RT.js.map → XOVO3JKY.js.map} +1 -1
- package/dist/ZWMRQU7D.js +6 -0
- package/dist/{RRH4TDQL.js.map → ZWMRQU7D.js.map} +1 -1
- package/dist/cli.js +22 -22
- package/dist/config.js +3 -3
- package/dist/context.js +1 -1
- package/dist/core/index.js +18 -18
- package/dist/core/local-executor.js +2 -2
- package/dist/core/local-executor.test.js +3 -3
- package/dist/core/lock.js +2 -2
- package/dist/core/lock.test.js +3 -3
- package/dist/core/tool-executor.js +17 -17
- package/dist/core/tool-executor.test.js +18 -18
- package/dist/core/version-resolver.js +4 -4
- package/dist/display/formatters.js +4 -4
- package/dist/display/index.js +6 -6
- package/dist/display/version-display.js +5 -5
- package/dist/environment.js +2 -2
- package/dist/github/index.js +7 -7
- package/dist/github/matrix.js +6 -6
- package/dist/index.js +25 -25
- package/dist/scoped-workspace/exclude-workspace-dependency-sources-pruner.js +2 -2
- package/dist/scoped-workspace/index.js +9 -9
- package/dist/scoped-workspace/node-modules.js +2 -2
- package/dist/scoped-workspace/tests/exclude-workspace-dependency-sources-pruner.test.js +3 -3
- package/dist/scoped-workspace/tests/scoped-workspace.test.js +10 -10
- package/dist/scoped-workspace/types.js +1 -1
- package/dist/scoped-workspace/workspace-dependency-graph.js +5 -5
- package/dist/scoped-workspace/workspace-source-copy.js +4 -4
- package/dist/test.js +6 -6
- package/dist/utils/docker.js +5 -5
- package/dist/utils/docker.test.js +6 -6
- package/dist/utils/error.js +2 -2
- package/dist/utils/finder.js +2 -2
- package/dist/utils/fs.js +2 -2
- package/dist/utils.js +3 -3
- package/package.json +5 -5
- package/dist/RRH4TDQL.js +0 -6
- package/dist/YVZEMBYY.js.map +0 -1
- package/dist/YWV524QA.js +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scoped-workspace/workspace-source-copy.ts"],"names":["DEFAULT_SOURCE_COPY_PATTERNS","DEFAULT_SOURCE_COPY_EXCLUDE_PATTERNS","DEFAULT_SOURCE_COPY_FALLBACK_PATTERNS","getPathSegments","relativePath","split","isInsideNodeModules","includes","partitionGlobPatterns","patterns","include","ignore","pattern","startsWith","push","slice","copySourceDirectory","sourceDir","destDir","copyPatterns","mkdir","recursive","globOptions","cwd","dot","follow","nodir","posix","entries","glob","limit","pLimit","COPY_CONCURRENCY","Promise","all","sort","map","sourcePath","join","destPath","stats","lstat","isDirectory","isSymbolicLink","dirname","symlink","readlink","error","code","undefined","existing","catch","intended","isFile","copyFile","getPackageSourceCopyPatterns","prunePatterns","packagePrunePatterns","packagePatterns","length","copyWorkspaceSources","options","scopedRoot","mkdtemp","tmpdir","copyPackageSource","absolutePath","isInside","dependencyGraph","repoRoot","Error","packageRelativePath","includedWorkspaceDependencies","dependency","safeRemove","packageRoot","copiedWorkspaceDependencies"],"mappings":"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","file":"D2PLHUMA.js","sourcesContent":["import { glob } from 'glob';\nimport { copyFile, lstat, mkdir, mkdtemp, readlink, symlink } from 'node:fs/promises';\nimport { tmpdir } from 'node:os';\nimport { dirname, join } from 'node:path';\nimport pLimit from 'p-limit';\n\nimport { isInside, safeRemove } from '../utils/fs';\nimport { COPY_CONCURRENCY } from './node-modules';\nimport type { WorkspaceSourceCopyOptions, WorkspaceSourceCopyResult } from './types';\n\nexport const DEFAULT_SOURCE_COPY_PATTERNS = ['**/*'] as const;\n\nexport const DEFAULT_SOURCE_COPY_EXCLUDE_PATTERNS = [\n '!**/.git/**',\n '!**/.next/**',\n '!**/.pnpm/**',\n '!**/.turbo/**',\n '!**/artifacts*/**',\n '!**/build/**',\n '!**/cache/**',\n '!**/dependencies/**',\n '!**/debug_info/**',\n '!**/hh-cache/**',\n '!**/out/**',\n '!**/target/**',\n '!**/typechain-types/**',\n] as const;\n\nconst DEFAULT_SOURCE_COPY_FALLBACK_PATTERNS = [\n ...DEFAULT_SOURCE_COPY_PATTERNS,\n ...DEFAULT_SOURCE_COPY_EXCLUDE_PATTERNS,\n] as const;\n\nconst getPathSegments = (relativePath: string): string[] =>\n relativePath ? relativePath.split('/') : [];\n\nconst isInsideNodeModules = (relativePath: string): boolean =>\n getPathSegments(relativePath).includes('node_modules');\n\nconst partitionGlobPatterns = (\n patterns: readonly string[],\n): { include: string[]; ignore: string[] } => {\n const include: string[] = [];\n const ignore: string[] = [];\n\n for (const pattern of patterns) {\n if (pattern.startsWith('!')) {\n ignore.push(pattern.slice(1));\n } else {\n include.push(pattern);\n }\n }\n\n return { include, ignore };\n};\n\nconst copySourceDirectory = async (\n sourceDir: string,\n destDir: string,\n copyPatterns: readonly string[],\n): Promise<void> => {\n await mkdir(destDir, { recursive: true });\n\n const { include, ignore } = partitionGlobPatterns(copyPatterns);\n const globOptions = {\n cwd: sourceDir,\n dot: true,\n follow: false,\n nodir: false,\n posix: true,\n };\n const entries = await glob(include, { ...globOptions, ignore });\n const limit = pLimit(COPY_CONCURRENCY);\n\n await Promise.all(\n entries.sort().map((relativePath) =>\n limit(async () => {\n const sourcePath = join(sourceDir, relativePath);\n const destPath = join(destDir, relativePath);\n const stats = await lstat(sourcePath);\n\n if (stats.isDirectory()) return;\n\n if (stats.isSymbolicLink()) {\n await mkdir(dirname(destPath), { recursive: true });\n try {\n await symlink(await readlink(sourcePath), destPath);\n } catch (error) {\n // A workspace package nested under another package root can be copied\n // twice (once via the parent tree, once as its own importer). Treat an\n // identical existing symlink as success.\n const code =\n typeof error === 'object' && error !== null\n ? (error as { code?: string }).code\n : undefined;\n if (code !== 'EEXIST') throw error;\n const existing = await readlink(destPath).catch(() => undefined);\n const intended = await readlink(sourcePath);\n if (existing !== intended) throw error;\n }\n return;\n }\n\n if (isInsideNodeModules(relativePath)) return;\n\n if (!stats.isFile()) return;\n\n await mkdir(dirname(destPath), { recursive: true });\n await copyFile(sourcePath, destPath);\n }),\n ),\n );\n};\n\n/**\n * Resolve copy patterns for one dependency package. Package-specific pruner globs are used as-is,\n * so a pruner can copy build outputs from dirs we usually skip, such as `target`. Packages without\n * specific globs use broader pruner globs or the default source-copy set.\n */\nconst getPackageSourceCopyPatterns = ({\n relativePath,\n prunePatterns,\n packagePrunePatterns,\n}: {\n relativePath: string;\n prunePatterns?: readonly string[];\n packagePrunePatterns?: Readonly<Record<string, readonly string[]>>;\n}): readonly string[] => {\n const packagePatterns = packagePrunePatterns?.[relativePath];\n\n if (packagePatterns) {\n return packagePatterns.length ? packagePatterns : DEFAULT_SOURCE_COPY_FALLBACK_PATTERNS;\n }\n if (prunePatterns?.length) return prunePatterns;\n\n return DEFAULT_SOURCE_COPY_FALLBACK_PATTERNS;\n};\n\n/**\n * Copy selected workspace dependency files into a repo-shaped scoped workspace.\n *\n * The current package itself is not copied. It is mounted from the host at the same repo-relative\n * path by the Docker executor so package-local build outputs such as `target`, `build`, and\n * `src/generated` land in the real package. Dependency files come from pruner patterns when\n * configured; otherwise we copy source-like files and skip generated artifacts/caches.\n * Package-local node_modules directories are copied as symlinks only, relying on the root `.pnpm`\n * virtual store mount for external package contents.\n */\nexport const copyWorkspaceSources = async (\n options: WorkspaceSourceCopyOptions,\n): Promise<WorkspaceSourceCopyResult> => {\n const scopedRoot = await mkdtemp(join(tmpdir(), 'lz-scoped-workspace-'));\n const { prunePatterns, packagePrunePatterns } = options;\n\n const copyPackageSource = async ({\n absolutePath,\n relativePath,\n }: {\n absolutePath: string;\n relativePath: string;\n }): Promise<void> => {\n if (!isInside(options.dependencyGraph.repoRoot, absolutePath)) {\n throw new Error(\n `Refusing to copy workspace package outside repository root: ${absolutePath}`,\n );\n }\n\n await copySourceDirectory(\n absolutePath,\n join(scopedRoot, relativePath),\n getPackageSourceCopyPatterns({\n relativePath,\n prunePatterns,\n packagePrunePatterns,\n }),\n );\n };\n\n try {\n await mkdir(dirname(join(scopedRoot, options.dependencyGraph.packageRelativePath)), {\n recursive: true,\n });\n\n const limit = pLimit(COPY_CONCURRENCY);\n await Promise.all(\n options.dependencyGraph.includedWorkspaceDependencies.map((dependency) =>\n limit(async () => {\n await copyPackageSource({\n absolutePath: dependency.absolutePath,\n relativePath: dependency.relativePath,\n });\n }),\n ),\n );\n } catch (error) {\n await safeRemove(scopedRoot);\n throw error;\n }\n\n return {\n repoRoot: options.dependencyGraph.repoRoot,\n packageRoot: options.dependencyGraph.packageRoot,\n scopedRoot,\n packageRelativePath: options.dependencyGraph.packageRelativePath,\n copiedWorkspaceDependencies: options.dependencyGraph.includedWorkspaceDependencies,\n };\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scoped-workspace/workspace-source-copy.ts"],"names":["DEFAULT_SOURCE_COPY_PATTERNS","DEFAULT_SOURCE_COPY_EXCLUDE_PATTERNS","DEFAULT_SOURCE_COPY_FALLBACK_PATTERNS","getPathSegments","relativePath","split","isInsideNodeModules","includes","partitionGlobPatterns","patterns","include","ignore","pattern","startsWith","push","slice","copySourceDirectory","sourceDir","destDir","copyPatterns","mkdir","recursive","globOptions","cwd","dot","follow","nodir","posix","entries","glob","limit","pLimit","COPY_CONCURRENCY","Promise","all","sort","map","sourcePath","join","destPath","stats","lstat","isDirectory","isSymbolicLink","dirname","symlink","readlink","error","code","undefined","existing","catch","intended","isFile","copyFile","getPackageSourceCopyPatterns","prunePatterns","packagePrunePatterns","packagePatterns","length","copyWorkspaceSources","options","scopedRoot","mkdtemp","tmpdir","copyPackageSource","absolutePath","isInside","dependencyGraph","repoRoot","Error","packageRelativePath","includedWorkspaceDependencies","dependency","safeRemove","packageRoot","copiedWorkspaceDependencies"],"mappings":"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","file":"5SLPZRAL.js","sourcesContent":["import { glob } from 'glob';\nimport { copyFile, lstat, mkdir, mkdtemp, readlink, symlink } from 'node:fs/promises';\nimport { tmpdir } from 'node:os';\nimport { dirname, join } from 'node:path';\nimport pLimit from 'p-limit';\n\nimport { isInside, safeRemove } from '../utils/fs';\nimport { COPY_CONCURRENCY } from './node-modules';\nimport type { WorkspaceSourceCopyOptions, WorkspaceSourceCopyResult } from './types';\n\nexport const DEFAULT_SOURCE_COPY_PATTERNS = ['**/*'] as const;\n\nexport const DEFAULT_SOURCE_COPY_EXCLUDE_PATTERNS = [\n '!**/.git/**',\n '!**/.next/**',\n '!**/.pnpm/**',\n '!**/.turbo/**',\n '!**/artifacts*/**',\n '!**/build/**',\n '!**/cache/**',\n '!**/dependencies/**',\n '!**/debug_info/**',\n '!**/hh-cache/**',\n '!**/out/**',\n '!**/target/**',\n '!**/typechain-types/**',\n] as const;\n\nconst DEFAULT_SOURCE_COPY_FALLBACK_PATTERNS = [\n ...DEFAULT_SOURCE_COPY_PATTERNS,\n ...DEFAULT_SOURCE_COPY_EXCLUDE_PATTERNS,\n] as const;\n\nconst getPathSegments = (relativePath: string): string[] =>\n relativePath ? relativePath.split('/') : [];\n\nconst isInsideNodeModules = (relativePath: string): boolean =>\n getPathSegments(relativePath).includes('node_modules');\n\nconst partitionGlobPatterns = (\n patterns: readonly string[],\n): { include: string[]; ignore: string[] } => {\n const include: string[] = [];\n const ignore: string[] = [];\n\n for (const pattern of patterns) {\n if (pattern.startsWith('!')) {\n ignore.push(pattern.slice(1));\n } else {\n include.push(pattern);\n }\n }\n\n return { include, ignore };\n};\n\nconst copySourceDirectory = async (\n sourceDir: string,\n destDir: string,\n copyPatterns: readonly string[],\n): Promise<void> => {\n await mkdir(destDir, { recursive: true });\n\n const { include, ignore } = partitionGlobPatterns(copyPatterns);\n const globOptions = {\n cwd: sourceDir,\n dot: true,\n follow: false,\n nodir: false,\n posix: true,\n };\n const entries = await glob(include, { ...globOptions, ignore });\n const limit = pLimit(COPY_CONCURRENCY);\n\n await Promise.all(\n entries.sort().map((relativePath) =>\n limit(async () => {\n const sourcePath = join(sourceDir, relativePath);\n const destPath = join(destDir, relativePath);\n const stats = await lstat(sourcePath);\n\n if (stats.isDirectory()) return;\n\n if (stats.isSymbolicLink()) {\n await mkdir(dirname(destPath), { recursive: true });\n try {\n await symlink(await readlink(sourcePath), destPath);\n } catch (error) {\n // A workspace package nested under another package root can be copied\n // twice (once via the parent tree, once as its own importer). Treat an\n // identical existing symlink as success.\n const code =\n typeof error === 'object' && error !== null\n ? (error as { code?: string }).code\n : undefined;\n if (code !== 'EEXIST') throw error;\n const existing = await readlink(destPath).catch(() => undefined);\n const intended = await readlink(sourcePath);\n if (existing !== intended) throw error;\n }\n return;\n }\n\n if (isInsideNodeModules(relativePath)) return;\n\n if (!stats.isFile()) return;\n\n await mkdir(dirname(destPath), { recursive: true });\n await copyFile(sourcePath, destPath);\n }),\n ),\n );\n};\n\n/**\n * Resolve copy patterns for one dependency package. Package-specific pruner globs are used as-is,\n * so a pruner can copy build outputs from dirs we usually skip, such as `target`. Packages without\n * specific globs use broader pruner globs or the default source-copy set.\n */\nconst getPackageSourceCopyPatterns = ({\n relativePath,\n prunePatterns,\n packagePrunePatterns,\n}: {\n relativePath: string;\n prunePatterns?: readonly string[];\n packagePrunePatterns?: Readonly<Record<string, readonly string[]>>;\n}): readonly string[] => {\n const packagePatterns = packagePrunePatterns?.[relativePath];\n\n if (packagePatterns) {\n return packagePatterns.length ? packagePatterns : DEFAULT_SOURCE_COPY_FALLBACK_PATTERNS;\n }\n if (prunePatterns?.length) return prunePatterns;\n\n return DEFAULT_SOURCE_COPY_FALLBACK_PATTERNS;\n};\n\n/**\n * Copy selected workspace dependency files into a repo-shaped scoped workspace.\n *\n * The current package itself is not copied. It is mounted from the host at the same repo-relative\n * path by the Docker executor so package-local build outputs such as `target`, `build`, and\n * `src/generated` land in the real package. Dependency files come from pruner patterns when\n * configured; otherwise we copy source-like files and skip generated artifacts/caches.\n * Package-local node_modules directories are copied as symlinks only, relying on the root `.pnpm`\n * virtual store mount for external package contents.\n */\nexport const copyWorkspaceSources = async (\n options: WorkspaceSourceCopyOptions,\n): Promise<WorkspaceSourceCopyResult> => {\n const scopedRoot = await mkdtemp(join(tmpdir(), 'lz-scoped-workspace-'));\n const { prunePatterns, packagePrunePatterns } = options;\n\n const copyPackageSource = async ({\n absolutePath,\n relativePath,\n }: {\n absolutePath: string;\n relativePath: string;\n }): Promise<void> => {\n if (!isInside(options.dependencyGraph.repoRoot, absolutePath)) {\n throw new Error(\n `Refusing to copy workspace package outside repository root: ${absolutePath}`,\n );\n }\n\n await copySourceDirectory(\n absolutePath,\n join(scopedRoot, relativePath),\n getPackageSourceCopyPatterns({\n relativePath,\n prunePatterns,\n packagePrunePatterns,\n }),\n );\n };\n\n try {\n await mkdir(dirname(join(scopedRoot, options.dependencyGraph.packageRelativePath)), {\n recursive: true,\n });\n\n const limit = pLimit(COPY_CONCURRENCY);\n await Promise.all(\n options.dependencyGraph.includedWorkspaceDependencies.map((dependency) =>\n limit(async () => {\n await copyPackageSource({\n absolutePath: dependency.absolutePath,\n relativePath: dependency.relativePath,\n });\n }),\n ),\n );\n } catch (error) {\n await safeRemove(scopedRoot);\n throw error;\n }\n\n return {\n repoRoot: options.dependencyGraph.repoRoot,\n packageRoot: options.dependencyGraph.packageRoot,\n scopedRoot,\n packageRelativePath: options.dependencyGraph.packageRelativePath,\n copiedWorkspaceDependencies: options.dependencyGraph.includedWorkspaceDependencies,\n };\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { getCombinationId } from './
|
|
2
|
-
import { getToolDefaultVersion, getToolSupportedVersions, findToolVersionsForCombination } from './
|
|
3
|
-
import { init_esm_shims, __name } from './
|
|
1
|
+
import { getCombinationId } from './CYP6J4VH.js';
|
|
2
|
+
import { getToolDefaultVersion, getToolSupportedVersions, findToolVersionsForCombination } from './N3I7SNFG.js';
|
|
3
|
+
import { init_esm_shims, __name } from './JWJXCZMP.js';
|
|
4
4
|
import * as console from 'console';
|
|
5
5
|
|
|
6
6
|
// src/core/version-resolver.ts
|
|
@@ -33,5 +33,5 @@ var resolveTypeVersions = /* @__PURE__ */ __name((context, userVersions) => {
|
|
|
33
33
|
}, "resolveTypeVersions");
|
|
34
34
|
|
|
35
35
|
export { resolveTypeVersions };
|
|
36
|
-
//# sourceMappingURL=
|
|
37
|
-
//# sourceMappingURL=
|
|
36
|
+
//# sourceMappingURL=6M3XVMYE.js.map
|
|
37
|
+
//# sourceMappingURL=6M3XVMYE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/version-resolver.ts"],"names":["resolveTypeVersions","context","userVersions","versions","tool","tools","defaultVersion","getToolDefaultVersion","name","version","supportedVersions","getToolSupportedVersions","includes","console","warn","join","combination","versionCombinations","find","Object","entries","findToolVersionsForCombination","every","Error","info","getCombinationId","description"],"mappings":";;;;;;AAAA,cAAA,EAAA;AAaO,IAAMA,mBAAAA,mBAAsB,MAAA,CAAA,CAC/BC,OAAAA,EACAC,YAAAA,KAAAA;AAGA,EAAA,MAAMC,WAAmC,EAAC;AAE1C,EAAA,KAAA,MAAWC,IAAAA,IAAQH,QAAQI,KAAAA,EAAO;AAC9B,IAAA,MAAMC,cAAAA,GAAiBC,qBAAAA,CAAsBN,OAAAA,EAASG,IAAAA,CAAKI,IAAI,CAAA;AAC/D,IAAA,MAAMC,OAAAA,GAAUP,YAAAA,CAAaE,IAAAA,CAAKI,IAAI,CAAA,IAAKF,cAAAA;AAE3C,IAAA,IAAI,CAACG,OAAAA,EAAS;AACV,MAAA;AACJ,IAAA;AAEAN,IAAAA,QAAAA,CAASC,IAAAA,CAAKI,IAAI,CAAA,GAAIC,OAAAA;AAEtB,IAAA,IAAIA,YAAYH,cAAAA,EAAgB;AAC5B,MAAA;AACJ,IAAA;AAGA,IAAA,MAAMI,iBAAAA,GAAoBC,wBAAAA,CAAyBV,OAAAA,EAASG,IAAAA,CAAKI,IAAI,CAAA;AAErE,IAAA,IAAI,CAACE,iBAAAA,CAAkBE,QAAAA,CAASH,OAAAA,CAAAA,EAAU;AACtCI,MAAQC,aAAK,CAAA,sBAAA,EAAeL,OAAAA,CAAAA,KAAAA,EAAeL,IAAAA,CAAKI,IAAI,CAAA,8BAAA,CAAgC,CAAA;AACpFK,MAAQC,aAAK,CAAA,uBAAA,EAA0BJ,iBAAAA,CAAkBK,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAO,CAAA;AACrEF,MAAQC,aAAK,CAAA,6DAAA,CAA+D,CAAA;AAChF,IAAA;AACJ,EAAA;AAGA,EAAA,MAAME,WAAAA,GAAcf,QAAQgB,mBAAAA,CAAoBC,IAAAA,CAAK,CAACF,YAAAA,KAClDG,MAAAA,CAAOC,OAAAA,CAAQC,8BAAAA,CAA+BpB,OAAAA,EAASe,YAAAA,CAAAA,CAAAA,CAAcM,KAAAA,CACjE,CAAC,CAAClB,IAAAA,EAAMK,OAAAA,MAAaN,QAAAA,CAASC,IAAAA,CAAAA,KAAUK,OAAAA,CAAAA,CAAAA;AAIhD,EAAA,IAAI,CAACO,WAAAA,EAAa;AACd,IAAA,MAAM,IAAIO,MAAM,mDAAA,CAAA;AACpB,EAAA;AAEAV,EAAQW,OAAAA,CAAAA,IAAAA,CACJ,CAAA,OAAA,EAAKC,gBAAAA,CAAiBxB,OAAAA,EAASe,WAAAA,CAAAA,CAAAA,CAAAA,EAAgBA,WAAAA,CAAYU,WAAAA,GAAc,CAAA,CAAA,EAAIV,WAAAA,CAAYU,WAAW,CAAA,CAAA,CAAA,GAAM,EAAA,CAAA,CAAI,CAAA;AAGlH,EAAA,OAAOvB,QAAAA;AACX,CAAA,EA/CmC,qBAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/core/version-resolver.ts"],"names":["resolveTypeVersions","context","userVersions","versions","tool","tools","defaultVersion","getToolDefaultVersion","name","version","supportedVersions","getToolSupportedVersions","includes","console","warn","join","combination","versionCombinations","find","Object","entries","findToolVersionsForCombination","every","Error","info","getCombinationId","description"],"mappings":";;;;;;AAAA,cAAA,EAAA;AAaO,IAAMA,mBAAAA,mBAAsB,MAAA,CAAA,CAC/BC,OAAAA,EACAC,YAAAA,KAAAA;AAGA,EAAA,MAAMC,WAAmC,EAAC;AAE1C,EAAA,KAAA,MAAWC,IAAAA,IAAQH,QAAQI,KAAAA,EAAO;AAC9B,IAAA,MAAMC,cAAAA,GAAiBC,qBAAAA,CAAsBN,OAAAA,EAASG,IAAAA,CAAKI,IAAI,CAAA;AAC/D,IAAA,MAAMC,OAAAA,GAAUP,YAAAA,CAAaE,IAAAA,CAAKI,IAAI,CAAA,IAAKF,cAAAA;AAE3C,IAAA,IAAI,CAACG,OAAAA,EAAS;AACV,MAAA;AACJ,IAAA;AAEAN,IAAAA,QAAAA,CAASC,IAAAA,CAAKI,IAAI,CAAA,GAAIC,OAAAA;AAEtB,IAAA,IAAIA,YAAYH,cAAAA,EAAgB;AAC5B,MAAA;AACJ,IAAA;AAGA,IAAA,MAAMI,iBAAAA,GAAoBC,wBAAAA,CAAyBV,OAAAA,EAASG,IAAAA,CAAKI,IAAI,CAAA;AAErE,IAAA,IAAI,CAACE,iBAAAA,CAAkBE,QAAAA,CAASH,OAAAA,CAAAA,EAAU;AACtCI,MAAQC,aAAK,CAAA,sBAAA,EAAeL,OAAAA,CAAAA,KAAAA,EAAeL,IAAAA,CAAKI,IAAI,CAAA,8BAAA,CAAgC,CAAA;AACpFK,MAAQC,aAAK,CAAA,uBAAA,EAA0BJ,iBAAAA,CAAkBK,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAO,CAAA;AACrEF,MAAQC,aAAK,CAAA,6DAAA,CAA+D,CAAA;AAChF,IAAA;AACJ,EAAA;AAGA,EAAA,MAAME,WAAAA,GAAcf,QAAQgB,mBAAAA,CAAoBC,IAAAA,CAAK,CAACF,YAAAA,KAClDG,MAAAA,CAAOC,OAAAA,CAAQC,8BAAAA,CAA+BpB,OAAAA,EAASe,YAAAA,CAAAA,CAAAA,CAAcM,KAAAA,CACjE,CAAC,CAAClB,IAAAA,EAAMK,OAAAA,MAAaN,QAAAA,CAASC,IAAAA,CAAAA,KAAUK,OAAAA,CAAAA,CAAAA;AAIhD,EAAA,IAAI,CAACO,WAAAA,EAAa;AACd,IAAA,MAAM,IAAIO,MAAM,mDAAA,CAAA;AACpB,EAAA;AAEAV,EAAQW,OAAAA,CAAAA,IAAAA,CACJ,CAAA,OAAA,EAAKC,gBAAAA,CAAiBxB,OAAAA,EAASe,WAAAA,CAAAA,CAAAA,CAAAA,EAAgBA,WAAAA,CAAYU,WAAAA,GAAc,CAAA,CAAA,EAAIV,WAAAA,CAAYU,WAAW,CAAA,CAAA,CAAA,GAAM,EAAA,CAAA,CAAI,CAAA;AAGlH,EAAA,OAAOvB,QAAAA;AACX,CAAA,EA/CmC,qBAAA","file":"6M3XVMYE.js","sourcesContent":["import * as console from 'node:console';\n\nimport type { ChainContext } from '../context';\nimport { getCombinationId } from '../utils';\nimport {\n findToolVersionsForCombination,\n getToolDefaultVersion,\n getToolSupportedVersions,\n} from '../utils/finder';\n\n/**\n * Resolve versions for all tools in a type with compatibility checking\n */\nexport const resolveTypeVersions = <TImageId extends string>(\n context: ChainContext<TImageId>,\n userVersions: Record<string, string>,\n): Record<string, string> => {\n // Collect versions from all sources for each tool\n const versions: Record<string, string> = {};\n\n for (const tool of context.tools) {\n const defaultVersion = getToolDefaultVersion(context, tool.name);\n const version = userVersions[tool.name] || defaultVersion;\n\n if (!version) {\n continue;\n }\n\n versions[tool.name] = version;\n\n if (version === defaultVersion) {\n continue;\n }\n\n // Validate the user-specified version if not default.\n const supportedVersions = getToolSupportedVersions(context, tool.name);\n\n if (!supportedVersions.includes(version)) {\n console.warn(`⚠️ Version ${version} for ${tool.name} is not in the supported list.`);\n console.warn(` Supported versions: ${supportedVersions.join(', ')}`);\n console.warn(` Continuing with Docker availability as final validation...`);\n }\n }\n\n // Check if current combination matches any compatible combination\n const combination = context.versionCombinations.find((combination) =>\n Object.entries(findToolVersionsForCombination(context, combination)).every(\n ([tool, version]) => versions[tool] === version,\n ),\n );\n\n if (!combination) {\n throw new Error('Compatible combination of tool versions not found');\n }\n\n console.info(\n `✅ ${getCombinationId(context, combination)} ${combination.description ? `(${combination.description})` : ''}`,\n );\n\n return versions;\n};\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { init_esm_shims, __name } from './
|
|
1
|
+
import { init_esm_shims, __name } from './JWJXCZMP.js';
|
|
2
2
|
|
|
3
3
|
// src/utils/error.ts
|
|
4
4
|
init_esm_shims();
|
|
5
5
|
var stringifyError = /* @__PURE__ */ __name((error) => error instanceof Error ? error.message : String(error), "stringifyError");
|
|
6
6
|
|
|
7
7
|
export { stringifyError };
|
|
8
|
-
//# sourceMappingURL=
|
|
9
|
-
//# sourceMappingURL=
|
|
8
|
+
//# sourceMappingURL=ADZG6QSC.js.map
|
|
9
|
+
//# sourceMappingURL=ADZG6QSC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/error.ts"],"names":["stringifyError","error","Error","message","String"],"mappings":";;;AAAA,cAAA,EAAA;AAAO,IAAMA,cAAAA,2BAAkBC,KAAAA,KAC3BA,KAAAA,YAAiBC,QAAQD,KAAAA,CAAME,OAAAA,GAAUC,MAAAA,CAAOH,KAAAA,CAAAA,EADtB,gBAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/utils/error.ts"],"names":["stringifyError","error","Error","message","String"],"mappings":";;;AAAA,cAAA,EAAA;AAAO,IAAMA,cAAAA,2BAAkBC,KAAAA,KAC3BA,KAAAA,YAAiBC,QAAQD,KAAAA,CAAME,OAAAA,GAAUC,MAAAA,CAAOH,KAAAA,CAAAA,EADtB,gBAAA","file":"ADZG6QSC.js","sourcesContent":["export const stringifyError = (error: unknown): string =>\n error instanceof Error ? error.message : String(error);\n"]}
|
package/dist/BJVTHJLE.js
ADDED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;AAAA,cAAA,EAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;AAAA,cAAA,EAAA","file":"BJVTHJLE.js","sourcesContent":["export * from './local-executor';\nexport * from './tool-executor';\nexport * from './version-resolver';\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getImageTag, getImageUri } from './
|
|
2
|
-
import { init_esm_shims, __name } from './
|
|
1
|
+
import { getImageTag, getImageUri } from './H4RUI4N2.js';
|
|
2
|
+
import { init_esm_shims, __name } from './JWJXCZMP.js';
|
|
3
3
|
import { execFile } from 'child_process';
|
|
4
4
|
import { promisify } from 'util';
|
|
5
5
|
|
|
@@ -62,5 +62,5 @@ var testTools = /* @__PURE__ */ __name(({ describe, expect, it, beforeAll }, ima
|
|
|
62
62
|
}, "testTools");
|
|
63
63
|
|
|
64
64
|
export { testTools };
|
|
65
|
-
//# sourceMappingURL=
|
|
66
|
-
//# sourceMappingURL=
|
|
65
|
+
//# sourceMappingURL=BVTEQOCW.js.map
|
|
66
|
+
//# sourceMappingURL=BVTEQOCW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/test.ts"],"names":["COMMAND_TIMEOUT","PULL_TIMEOUT","VERSION_TEST_TIMEOUT","runCommand","command","args","timeout","promisify","execFile","killSignal","stdout","trim","ensureDockerImageExists","imageUri","testTools","describe","expect","it","beforeAll","images","_versionCombinations","versionCommands","name","image","Object","entries","getImageTag","join","toBe","literalImage","values","getImageUri","tool","expectedVersion","versions","Array","Error","version","toContain"],"mappings":"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","file":"
|
|
1
|
+
{"version":3,"sources":["../src/test.ts"],"names":["COMMAND_TIMEOUT","PULL_TIMEOUT","VERSION_TEST_TIMEOUT","runCommand","command","args","timeout","promisify","execFile","killSignal","stdout","trim","ensureDockerImageExists","imageUri","testTools","describe","expect","it","beforeAll","images","_versionCombinations","versionCommands","name","image","Object","entries","getImageTag","join","toBe","literalImage","values","getImageUri","tool","expectedVersion","versions","Array","Error","version","toContain"],"mappings":"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","file":"BVTEQOCW.js","sourcesContent":["import { execFile } from 'node:child_process';\nimport { promisify } from 'node:util';\nimport type * as vitest from 'vitest';\n\nimport type { VersionCombination } from './config';\nimport { type Image } from './config';\nimport { getImageTag, getImageUri } from './utils/docker';\n\nconst COMMAND_TIMEOUT = 5 * 60_000;\nconst PULL_TIMEOUT = 10 * 60_000;\nconst VERSION_TEST_TIMEOUT = 15 * 60_000;\n\nconst runCommand = async (\n command: string,\n args: string[],\n timeout = COMMAND_TIMEOUT,\n): Promise<string> =>\n (\n await promisify(execFile)(command, args, {\n timeout,\n killSignal: 'SIGKILL', // Force kill if timeout\n })\n ).stdout.trim();\n\n/** Run a no-op command in the image to trigger a pull if it's not available locally. */\nconst ensureDockerImageExists = async (imageUri: string): Promise<void> => {\n await runCommand('docker', ['run', '--rm', '--entrypoint', 'true', imageUri], PULL_TIMEOUT);\n};\n\nexport const testTools = (\n { describe, expect, it, beforeAll }: typeof vitest,\n images: Record<string, Image>,\n _versionCombinations: VersionCombination<string>[],\n versionCommands: Record<string, string[]>,\n): void => {\n describe('Docker image IDs', () => {\n for (const [name, image] of Object.entries(images)) {\n it(`has an image ID of ${name}`, () => {\n expect([image.name, getImageTag(image)].join(':')).toBe(name);\n });\n }\n });\n\n describe('Tool versions', () => {\n for (const literalImage of Object.values(images)) {\n const image: Image = literalImage;\n\n describe(getImageTag(image), () => {\n let imageUri: string;\n\n beforeAll(async () => {\n imageUri = await getImageUri(image);\n await ensureDockerImageExists(imageUri);\n }, PULL_TIMEOUT);\n\n for (const [tool, expectedVersion] of Object.entries(image.versions)) {\n it(\n `should have ${tool} of version ${expectedVersion}`,\n async () => {\n if (!(versionCommands[tool] instanceof Array)) {\n throw new Error('Missing version command');\n }\n\n const version = await runCommand('docker', [\n 'run',\n '--rm',\n '--privileged',\n imageUri,\n ...versionCommands[tool],\n ]);\n\n expect(version).toContain(expectedVersion);\n },\n VERSION_TEST_TIMEOUT,\n );\n }\n });\n }\n });\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { findToolVersionsForCombination } from './
|
|
2
|
-
import { init_esm_shims, __name } from './
|
|
1
|
+
import { findToolVersionsForCombination } from './N3I7SNFG.js';
|
|
2
|
+
import { init_esm_shims, __name } from './JWJXCZMP.js';
|
|
3
3
|
import { access } from 'fs/promises';
|
|
4
4
|
import { dirname, join } from 'path';
|
|
5
5
|
|
|
@@ -20,5 +20,5 @@ var findFileInParentDirectory = /* @__PURE__ */ __name(async (directory, filenam
|
|
|
20
20
|
}, "findFileInParentDirectory");
|
|
21
21
|
|
|
22
22
|
export { findFileInParentDirectory, getCombinationId };
|
|
23
|
-
//# sourceMappingURL=
|
|
24
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=CYP6J4VH.js.map
|
|
24
|
+
//# sourceMappingURL=CYP6J4VH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils.ts"],"names":["getCombinationId","context","combination","Object","entries","findToolVersionsForCombination","toSorted","flat","join","findFileInParentDirectory","directory","filename","dirname","path","access","_"],"mappings":";;;;;;AAAA,cAAA,EAAA;AAOO,IAAMA,mCAAmB,MAAA,CAAA,CAC5BC,OAAAA,EACAC,WAAAA,KAEAC,MAAAA,CAAOC,QAAQC,8BAAAA,CAA+BJ,OAAAA,EAASC,WAAAA,CAAAA,EAClDI,QAAAA,EAAQ,CACRC,MAAI,CACJC,IAAAA,CAAK,GAAA,CAAA,EAPkB,kBAAA;AASzB,IAAMC,yBAAAA,mBAA4B,MAAA,CAAA,OACrCC,SAAAA,EACAC,QAAAA,KAAAA;AAEA,EAAA,OAAOD,SAAAA,KAAcE,OAAAA,CAAQF,SAAAA,CAAAA,EAAY;AACrC,IAAA,MAAMG,IAAAA,GAAOL,IAAAA,CAAKE,SAAAA,EAAWC,QAAAA,CAAAA;AAE7B,IAAA,IAAI;AACA,MAAA,MAAMG,OAAOD,IAAAA,CAAAA;AACb,MAAA,OAAOA,IAAAA;AACX,IAAA,CAAA,CAAA,OAASE,CAAAA,EAAG;AAAC,IAAA;AAEbL,IAAAA,SAAAA,GAAYE,QAAQF,SAAAA,CAAAA;AACxB,EAAA;AAEA,EAAA,OAAO,IAAA;AACX,CAAA,EAhByC,2BAAA","file":"
|
|
1
|
+
{"version":3,"sources":["../src/utils.ts"],"names":["getCombinationId","context","combination","Object","entries","findToolVersionsForCombination","toSorted","flat","join","findFileInParentDirectory","directory","filename","dirname","path","access","_"],"mappings":";;;;;;AAAA,cAAA,EAAA;AAOO,IAAMA,mCAAmB,MAAA,CAAA,CAC5BC,OAAAA,EACAC,WAAAA,KAEAC,MAAAA,CAAOC,QAAQC,8BAAAA,CAA+BJ,OAAAA,EAASC,WAAAA,CAAAA,EAClDI,QAAAA,EAAQ,CACRC,MAAI,CACJC,IAAAA,CAAK,GAAA,CAAA,EAPkB,kBAAA;AASzB,IAAMC,yBAAAA,mBAA4B,MAAA,CAAA,OACrCC,SAAAA,EACAC,QAAAA,KAAAA;AAEA,EAAA,OAAOD,SAAAA,KAAcE,OAAAA,CAAQF,SAAAA,CAAAA,EAAY;AACrC,IAAA,MAAMG,IAAAA,GAAOL,IAAAA,CAAKE,SAAAA,EAAWC,QAAAA,CAAAA;AAE7B,IAAA,IAAI;AACA,MAAA,MAAMG,OAAOD,IAAAA,CAAAA;AACb,MAAA,OAAOA,IAAAA;AACX,IAAA,CAAA,CAAA,OAASE,CAAAA,EAAG;AAAC,IAAA;AAEbL,IAAAA,SAAAA,GAAYE,QAAQF,SAAAA,CAAAA;AACxB,EAAA;AAEA,EAAA,OAAO,IAAA;AACX,CAAA,EAhByC,2BAAA","file":"CYP6J4VH.js","sourcesContent":["import { access } from 'node:fs/promises';\nimport { dirname, join } from 'node:path';\n\nimport type { VersionCombination } from './config';\nimport type { ChainContext } from './context';\nimport { findToolVersionsForCombination } from './utils/finder';\n\nexport const getCombinationId = <TImageId extends string>(\n context: ChainContext<TImageId>,\n combination: VersionCombination<TImageId>,\n): string =>\n Object.entries(findToolVersionsForCombination(context, combination))\n .toSorted()\n .flat()\n .join('-');\n\nexport const findFileInParentDirectory = async (\n directory: string,\n filename: string,\n): Promise<string | null> => {\n while (directory !== dirname(directory)) {\n const path = join(directory, filename);\n\n try {\n await access(path);\n return path;\n } catch (_) {}\n\n directory = dirname(directory);\n }\n\n return null;\n};\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { displayVersionCombinations, displayToolVersionInfo } from './
|
|
2
|
-
import { executeToolCommand } from './
|
|
3
|
-
import { volumeMappingSchema, DOCKER_PLATFORM_OVERRIDE_VALUES_DESCRIPTION, isDockerPlatformOverride } from './
|
|
4
|
-
import { local } from './
|
|
5
|
-
import { getToolDefaultVersion, getToolSupportedVersions } from './
|
|
6
|
-
import { init_esm_shims, __name } from './
|
|
1
|
+
import { displayVersionCombinations, displayToolVersionInfo } from './GNAXYUMP.js';
|
|
2
|
+
import { executeToolCommand } from './H55JBB6F.js';
|
|
3
|
+
import { volumeMappingSchema, DOCKER_PLATFORM_OVERRIDE_VALUES_DESCRIPTION, isDockerPlatformOverride } from './SWKTHNWT.js';
|
|
4
|
+
import { local } from './P52CW6DK.js';
|
|
5
|
+
import { getToolDefaultVersion, getToolSupportedVersions } from './N3I7SNFG.js';
|
|
6
|
+
import { init_esm_shims, __name } from './JWJXCZMP.js';
|
|
7
7
|
import { Command } from 'commander';
|
|
8
8
|
import { camelCase } from 'es-toolkit';
|
|
9
9
|
import fs from 'fs';
|
|
@@ -136,5 +136,5 @@ var runCli = /* @__PURE__ */ __name(async (config, registerExtraCommands) => {
|
|
|
136
136
|
}, "runCli");
|
|
137
137
|
|
|
138
138
|
export { runCli };
|
|
139
|
-
//# sourceMappingURL=
|
|
140
|
-
//# sourceMappingURL=
|
|
139
|
+
//# sourceMappingURL=GBCVVX6B.js.map
|
|
140
|
+
//# sourceMappingURL=GBCVVX6B.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli.ts"],"names":["parseDockerPlatformOverride","input","isDockerPlatformOverride","Error","String","DOCKER_PLATFORM_OVERRIDE_VALUES_DESCRIPTION","createCli","context","registerExtraCommands","tools","toolVersionOptions","Object","fromEntries","map","name","camelCase","parseGlobalOptions","command","cwd","volume","defaultVolumes","options","opts","resolvedCwd","process","cliVersions","entries","version","filter","tool","configVersions","getDefaultVersions","versions","volumes","defaultVolumesEnabled","local","program","Command","description","enablePositionalOptions","argv","includes","displayVersionCombinations","exit","option","path","isAbsolute","fs","existsSync","statSync","isDirectory","variables","valueParts","split","length","value","join","type","hostPath","containerPath","volumeMappingSchema","parse","previous","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","action","toolName","displayToolVersionInfo","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","executeToolCommand","runCli","config","parseAsync","error","console"],"mappings":"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","file":"VEHJE5IG.js","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 type { DockerPlatformOverride, EnvironmentVariable, VolumeMapping } from './config';\nimport {\n DOCKER_PLATFORM_OVERRIDE_VALUES_DESCRIPTION,\n isDockerPlatformOverride,\n volumeMappingSchema,\n} from './config';\nimport type { ChainContext } from './context';\nimport type { ToolCommandExecutionOptions } from './core';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport * as environment from './environment';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder';\n\ninterface GlobalOptions {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n publish?: string[];\n script?: string;\n customEntrypoint?: string;\n defaultVolumes: boolean;\n local?: boolean;\n dockerPlatform?: DockerPlatformOverride;\n}\n\ntype RegisterExtraCommands = (\n program: Command,\n parseGlobalOptions: (command: Command) => Promise<ToolCommandExecutionOptions>,\n) => void;\n\nconst parseDockerPlatformOverride = (input: unknown): DockerPlatformOverride => {\n if (isDockerPlatformOverride(input)) {\n return input;\n }\n\n throw new Error(\n `Invalid docker platform: ${String(input)}. Expected ${DOCKER_PLATFORM_OVERRIDE_VALUES_DESCRIPTION}.`,\n );\n};\n\nconst createCli = <TImageId extends string>(\n context: ChainContext<TImageId>,\n registerExtraCommands?: RegisterExtraCommands,\n): Command => {\n const { tools } = context;\n const toolVersionOptions = Object.fromEntries(\n tools.map(({ name }) => [`${camelCase(name)}Version`, name]),\n );\n\n const parseGlobalOptions = async (command: Command): Promise<ToolCommandExecutionOptions> => {\n const { cwd, volume, defaultVolumes, ...options } = command.opts<GlobalOptions>();\n const resolvedCwd = cwd ?? process.cwd();\n\n // CLI flags take precedence over project config versions\n const cliVersions = Object.fromEntries(\n Object.entries(options)\n .map(([name, version]) => [toolVersionOptions[name], version])\n .filter(([tool]) => tool),\n );\n\n // Read defaults from project config (e.g., Anchor.toml) if the chain provides a hook\n const configVersions = (await context.getDefaultVersions?.(resolvedCwd)) ?? {};\n const versions = { ...configVersions, ...cliVersions };\n\n return {\n ...options,\n cwd: resolvedCwd,\n volumes: volume,\n versions,\n defaultVolumesEnabled: defaultVolumes,\n local: options.local || environment.local,\n };\n };\n\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(context);\n process.exit(0);\n }\n\n // Add global options.\n program\n .option('-c, --cwd <path>', 'Current working directory', (input: string) => {\n if (typeof input !== 'string') {\n throw new Error('cwd flag must be a string');\n }\n\n if (!path.isAbsolute(input)) {\n throw new Error('cwd must be an absolute path if provided');\n }\n\n if (!fs.existsSync(input)) {\n throw new Error('cwd does not exist');\n }\n\n if (!fs.statSync(input).isDirectory()) {\n throw new Error('cwd must be a directory');\n }\n\n return input;\n })\n .option(\n '-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 (repeatable)\",\n (value: string, previous: string[]) => [...previous, value],\n [],\n )\n .option('--no-default-volumes', 'Disable default volumes for the tool')\n .option(\n '--docker-platform <platform>',\n `Override the Docker platform for this run (${DOCKER_PLATFORM_OVERRIDE_VALUES_DESCRIPTION})`,\n parseDockerPlatformOverride,\n )\n .option('--local', 'Run the tool from the host installation instead of Docker');\n\n // Add version options for each tool dynamically\n for (const tool of tools) {\n const defaultVersion = getToolDefaultVersion(context, tool.name);\n const supportedVersions = getToolSupportedVersions(context, tool.name);\n\n program.option(\n `--${tool.name}-version <version>`,\n `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(', ')})`,\n );\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(context, toolName));\n\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(\n context,\n tool.name,\n args,\n await parseGlobalOptions(program),\n );\n });\n }\n\n // Allow external registration of extra commands\n registerExtraCommands?.(program, parseGlobalOptions);\n\n return program;\n};\n\nexport const runCli = async <TImageId extends string>(\n config: ChainContext<TImageId>,\n registerExtraCommands?: RegisterExtraCommands,\n): Promise<void> => {\n try {\n await createCli<TImageId>(config, registerExtraCommands).parseAsync();\n } catch (error) {\n console.error('❌ VM tool execution failed', error);\n process.exit(1);\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/cli.ts"],"names":["parseDockerPlatformOverride","input","isDockerPlatformOverride","Error","String","DOCKER_PLATFORM_OVERRIDE_VALUES_DESCRIPTION","createCli","context","registerExtraCommands","tools","toolVersionOptions","Object","fromEntries","map","name","camelCase","parseGlobalOptions","command","cwd","volume","defaultVolumes","options","opts","resolvedCwd","process","cliVersions","entries","version","filter","tool","configVersions","getDefaultVersions","versions","volumes","defaultVolumesEnabled","local","program","Command","description","enablePositionalOptions","argv","includes","displayVersionCombinations","exit","option","path","isAbsolute","fs","existsSync","statSync","isDirectory","variables","valueParts","split","length","value","join","type","hostPath","containerPath","volumeMappingSchema","parse","previous","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","action","toolName","displayToolVersionInfo","isDefault","passThroughOptions","allowUnknownOption","helpOption","argument","args","executeToolCommand","runCli","config","parseAsync","error","console"],"mappings":"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","file":"GBCVVX6B.js","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 type { DockerPlatformOverride, EnvironmentVariable, VolumeMapping } from './config';\nimport {\n DOCKER_PLATFORM_OVERRIDE_VALUES_DESCRIPTION,\n isDockerPlatformOverride,\n volumeMappingSchema,\n} from './config';\nimport type { ChainContext } from './context';\nimport type { ToolCommandExecutionOptions } from './core';\nimport { executeToolCommand } from './core';\nimport { displayToolVersionInfo, displayVersionCombinations } from './display';\nimport * as environment from './environment';\nimport { getToolDefaultVersion, getToolSupportedVersions } from './utils/finder';\n\ninterface GlobalOptions {\n cwd?: string;\n volume: VolumeMapping[];\n env: EnvironmentVariable[];\n publish?: string[];\n script?: string;\n customEntrypoint?: string;\n defaultVolumes: boolean;\n local?: boolean;\n dockerPlatform?: DockerPlatformOverride;\n}\n\ntype RegisterExtraCommands = (\n program: Command,\n parseGlobalOptions: (command: Command) => Promise<ToolCommandExecutionOptions>,\n) => void;\n\nconst parseDockerPlatformOverride = (input: unknown): DockerPlatformOverride => {\n if (isDockerPlatformOverride(input)) {\n return input;\n }\n\n throw new Error(\n `Invalid docker platform: ${String(input)}. Expected ${DOCKER_PLATFORM_OVERRIDE_VALUES_DESCRIPTION}.`,\n );\n};\n\nconst createCli = <TImageId extends string>(\n context: ChainContext<TImageId>,\n registerExtraCommands?: RegisterExtraCommands,\n): Command => {\n const { tools } = context;\n const toolVersionOptions = Object.fromEntries(\n tools.map(({ name }) => [`${camelCase(name)}Version`, name]),\n );\n\n const parseGlobalOptions = async (command: Command): Promise<ToolCommandExecutionOptions> => {\n const { cwd, volume, defaultVolumes, ...options } = command.opts<GlobalOptions>();\n const resolvedCwd = cwd ?? process.cwd();\n\n // CLI flags take precedence over project config versions\n const cliVersions = Object.fromEntries(\n Object.entries(options)\n .map(([name, version]) => [toolVersionOptions[name], version])\n .filter(([tool]) => tool),\n );\n\n // Read defaults from project config (e.g., Anchor.toml) if the chain provides a hook\n const configVersions = (await context.getDefaultVersions?.(resolvedCwd)) ?? {};\n const versions = { ...configVersions, ...cliVersions };\n\n return {\n ...options,\n cwd: resolvedCwd,\n volumes: volume,\n versions,\n defaultVolumesEnabled: defaultVolumes,\n local: options.local || environment.local,\n };\n };\n\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(context);\n process.exit(0);\n }\n\n // Add global options.\n program\n .option('-c, --cwd <path>', 'Current working directory', (input: string) => {\n if (typeof input !== 'string') {\n throw new Error('cwd flag must be a string');\n }\n\n if (!path.isAbsolute(input)) {\n throw new Error('cwd must be an absolute path if provided');\n }\n\n if (!fs.existsSync(input)) {\n throw new Error('cwd does not exist');\n }\n\n if (!fs.statSync(input).isDirectory()) {\n throw new Error('cwd must be a directory');\n }\n\n return input;\n })\n .option(\n '-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 (repeatable)\",\n (value: string, previous: string[]) => [...previous, value],\n [],\n )\n .option('--no-default-volumes', 'Disable default volumes for the tool')\n .option(\n '--docker-platform <platform>',\n `Override the Docker platform for this run (${DOCKER_PLATFORM_OVERRIDE_VALUES_DESCRIPTION})`,\n parseDockerPlatformOverride,\n )\n .option('--local', 'Run the tool from the host installation instead of Docker');\n\n // Add version options for each tool dynamically\n for (const tool of tools) {\n const defaultVersion = getToolDefaultVersion(context, tool.name);\n const supportedVersions = getToolSupportedVersions(context, tool.name);\n\n program.option(\n `--${tool.name}-version <version>`,\n `Specify ${tool.name} version (default: ${defaultVersion}, supported: ${supportedVersions.join(', ')})`,\n );\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(context, toolName));\n\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(\n context,\n tool.name,\n args,\n await parseGlobalOptions(program),\n );\n });\n }\n\n // Allow external registration of extra commands\n registerExtraCommands?.(program, parseGlobalOptions);\n\n return program;\n};\n\nexport const runCli = async <TImageId extends string>(\n config: ChainContext<TImageId>,\n registerExtraCommands?: RegisterExtraCommands,\n): Promise<void> => {\n try {\n await createCli<TImageId>(config, registerExtraCommands).parseAsync();\n } catch (error) {\n console.error('❌ VM tool execution failed', error);\n process.exit(1);\n }\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { formatVersionCombination } from './
|
|
2
|
-
import { findToolByName, getToolDefaultVersion, getToolSupportedVersions } from './
|
|
3
|
-
import { init_esm_shims, __name } from './
|
|
1
|
+
import { formatVersionCombination } from './IGFQKKDO.js';
|
|
2
|
+
import { findToolByName, getToolDefaultVersion, getToolSupportedVersions } from './N3I7SNFG.js';
|
|
3
|
+
import { init_esm_shims, __name } from './JWJXCZMP.js';
|
|
4
4
|
|
|
5
5
|
// src/display/version-display.ts
|
|
6
6
|
init_esm_shims();
|
|
@@ -64,5 +64,5 @@ function displayToolVersionInfo(context, toolName) {
|
|
|
64
64
|
__name(displayToolVersionInfo, "displayToolVersionInfo");
|
|
65
65
|
|
|
66
66
|
export { displayToolVersionInfo, displayVersionCombinations };
|
|
67
|
-
//# sourceMappingURL=
|
|
68
|
-
//# sourceMappingURL=
|
|
67
|
+
//# sourceMappingURL=GNAXYUMP.js.map
|
|
68
|
+
//# sourceMappingURL=GNAXYUMP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/display/version-display.ts"],"names":["displayVersionCombinations","context","console","log","combinations","versionCombinations","toolNames","Set","flatMap","images","Object","keys","sort","join","repeat","formatVersionCombination","index","combination","entries","displayToolVersionInfo","toolName","tool","findToolByName","Error","name","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","toUpperCase","defaultVolumes","length","forEach","volume","volumeDesc","type","containerPath","hostPath"],"mappings":"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","file":"
|
|
1
|
+
{"version":3,"sources":["../src/display/version-display.ts"],"names":["displayVersionCombinations","context","console","log","combinations","versionCombinations","toolNames","Set","flatMap","images","Object","keys","sort","join","repeat","formatVersionCombination","index","combination","entries","displayToolVersionInfo","toolName","tool","findToolByName","Error","name","defaultVersion","getToolDefaultVersion","supportedVersions","getToolSupportedVersions","toUpperCase","defaultVolumes","length","forEach","volume","volumeDesc","type","containerPath","hostPath"],"mappings":";;;;;AACA,cAAA,EAAA;AAMO,SAASA,2BAA2BC,OAAAA,EAA6B;AACpEC,EAAAA,OAAAA,CAAQC,IAAI,kEAAA,CAAA;AAEZ,EAAA,MAAMC,eAAeH,OAAAA,CAAQI,mBAAAA;AAC7B,EAAA,MAAMC,SAAAA,GAAY;OAAI,IAAIC,GAAAA,CAAIH,YAAAA,CAAaI,OAAAA,CAAQ,CAAC,EAAEC,MAAAA,EAAM,KAAOC,MAAAA,CAAOC,IAAAA,CAAKF,MAAAA,CAAAA,CAAAA;IAC1EG,IAAAA,EAAI,CACJC,KAAK,IAAA,CAAA;AAEVX,EAAAA,OAAAA,CAAQC,GAAAA,CAAI,CAAA,iBAAA,EAAaG,SAAAA,CAAAA,CAAW,CAAA;AACpCJ,EAAAA,OAAAA,CAAQC,GAAAA,CAAI,QAAA,CAAIW,MAAAA,CAAO,EAAA,CAAA,CAAA;AAEvBZ,EAAAA,OAAAA,CAAQC,IAAI,oBAAA,CAAA;AACZD,EAAAA,OAAAA,CAAQC,IAAIY,wBAAAA,CAAyBd,OAAAA,EAASG,aAAa,CAAA,CAAA,EAAI,IAAA,CAAA,CAAA;AAC/DF,EAAAA,OAAAA,CAAQC,GAAAA,EAAG;AAGXD,EAAAA,OAAAA,CAAQC,IAAI,uCAAA,CAAA;AACZ,EAAA,KAAA,MAAW,CAACa,KAAAA,EAAOC,WAAAA,CAAAA,IAAgBb,YAAAA,CAAac,SAAO,EAAI;AACvDhB,IAAAA,OAAAA,CAAQC,IAAIY,wBAAAA,CAAyBd,OAAAA,EAASgB,WAAAA,EAAa,CAACD,KAAAA,CAAAA,CAAAA;AAChE,EAAA;AACAd,EAAAA,OAAAA,CAAQC,GAAAA,EAAG;AAEXD,EAAAA,OAAAA,CAAQC,IAAI,2BAAA,CAAA;AACZD,EAAAA,OAAAA,CAAQC,IAAI,yEAAA,CAAA;AACZD,EAAAA,OAAAA,CAAQC,IACJ,0FAAA,CAAA;AAEJD,EAAAA,OAAAA,CAAQC,GAAAA,EAAG;AACf;AA5BgBH,MAAAA,CAAAA,0BAAAA,EAAAA,4BAAAA,CAAAA;AAiCT,SAASmB,sBAAAA,CACZlB,SACAmB,QAAAA,EAAgB;AAEhB,EAAA,MAAMC,IAAAA,GAAOC,cAAAA,CAAerB,OAAAA,EAASmB,QAAAA,CAAAA;AACrC,EAAA,MAAMhB,eAAeH,OAAAA,CAAQI,mBAAAA;AAE7B,EAAA,IAAI,CAACD,YAAAA,EAAc;AACf,IAAA,MAAM,IAAImB,KAAAA,CAAM,CAAA,kCAAA,EAAqCF,IAAAA,CAAKG,IAAI,CAAA,CAAE,CAAA;AACpE,EAAA;AAEA,EAAA,MAAMC,cAAAA,GAAiBC,qBAAAA,CAAsBzB,OAAAA,EAASoB,IAAAA,CAAKG,IAAI,CAAA;AAC/D,EAAA,MAAMG,iBAAAA,GAAoBC,wBAAAA,CAAyB3B,OAAAA,EAASoB,IAAAA,CAAKG,IAAI,CAAA;AAErEtB,EAAAA,OAAAA,CAAQC,GAAAA,CAAI;YAAQkB,IAAAA,CAAKG,IAAAA,CAAKK,WAAAA,EAAW,CAAA,oBAAA,CAAwB,CAAA;AACjE3B,EAAAA,OAAAA,CAAQC,GAAAA,CAAI,QAAA,CAAIW,MAAAA,CAAO,EAAA,CAAA,CAAA;AACvBZ,EAAAA,OAAAA,CAAQC,GAAAA,CAAI,CAAA,iBAAA,EAAoBsB,cAAAA,CAAAA,CAAgB,CAAA;AAChDvB,EAAAA,OAAAA,CAAQC,IAAI,CAAA,oBAAA,EAAuBwB,iBAAAA,CAAkBd,IAAAA,CAAK,IAAA,CAAA,CAAA,CAAO,CAAA;AACjEX,EAAAA,OAAAA,CAAQC,GAAAA,EAAG;AAGX,EAAA,IAAIkB,IAAAA,CAAKS,cAAAA,IAAkBT,IAAAA,CAAKS,cAAAA,CAAeC,SAAS,CAAA,EAAG;AACvD7B,IAAAA,OAAAA,CAAQC,IAAI,kCAAA,CAAA;AACZkB,IAAAA,IAAAA,CAAKS,cAAAA,CAAeE,OAAAA,CAAQ,CAACC,MAAAA,KAAAA;AACzB,MAAA,MAAMC,aACFD,MAAAA,CAAOE,IAAAA,KAAS,SAAA,GACV,CAAA,EAAGF,OAAOT,IAAI,CAAA,QAAA,EAAMS,MAAAA,CAAOG,aAAa,KACxC,CAAA,EAAGH,MAAAA,CAAOI,QAAQ,CAAA,QAAA,EAAMJ,OAAOG,aAAa,CAAA,CAAA;AACtDlC,MAAAA,OAAAA,CAAQC,GAAAA,CAAI,CAAA,SAAA,EAAO+B,UAAAA,CAAAA,CAAY,CAAA;IACnC,CAAA,CAAA;AACAhC,IAAAA,OAAAA,CAAQC,IAAI,0DAAA,CAAA;AACZD,IAAAA,OAAAA,CAAQC,GAAAA,EAAG;AACf,EAAA;AAEAD,EAAAA,OAAAA,CAAQC,IAAI,qDAAA,CAAA;AACZ,EAAA,KAAA,MAAW,CAACa,KAAAA,EAAOC,WAAAA,CAAAA,IAAgBb,YAAAA,CAAac,SAAO,EAAI;AACvD,IAAA,IAAID,WAAAA,CAAYR,MAAAA,CAAOY,IAAAA,CAAKG,IAAI,CAAA,EAAG;AAC/BtB,MAAAA,OAAAA,CAAQC,IAAIY,wBAAAA,CAAyBd,OAAAA,EAASgB,WAAAA,EAAa,CAACD,KAAAA,CAAAA,CAAAA;AAChE,IAAA;AACJ,EAAA;AACAd,EAAAA,OAAAA,CAAQC,GAAAA,EAAG;AAEXD,EAAAA,OAAAA,CAAQC,IAAI,wCAAA,CAAA;AACZD,EAAAA,OAAAA,CAAQC,IAAI,8CAAA,CAAA;AACZD,EAAAA,OAAAA,CAAQC,IAAI,sBAAA,CAAA;AACZD,EAAAA,OAAAA,CAAQC,GAAAA,EAAG;AACf;AA9CgBgB,MAAAA,CAAAA,sBAAAA,EAAAA,wBAAAA,CAAAA","file":"GNAXYUMP.js","sourcesContent":["import type { ChainContext } from '../context';\nimport { findToolByName, getToolDefaultVersion, getToolSupportedVersions } from '../utils/finder';\nimport { formatVersionCombination } from './formatters';\n\n/**\n * Display all supported version combinations\n */\nexport function displayVersionCombinations(context: ChainContext<string>): void {\n console.log('\\n🚀 LayerZero VM Tool - Supported Version Combinations\\n');\n\n const combinations = context.versionCombinations;\n const toolNames = [...new Set(combinations.flatMap(({ images }) => Object.keys(images)))]\n .sort()\n .join(', ');\n\n console.log(`📦 Tools: ${toolNames}`);\n console.log('─'.repeat(50));\n\n console.log('🎯 Default:');\n console.log(formatVersionCombination(context, combinations[0], true));\n console.log();\n\n // Show all combinations\n console.log('📋 All supported combinations:');\n for (const [index, combination] of combinations.entries()) {\n console.log(formatVersionCombination(context, combination, !index));\n }\n console.log();\n\n console.log('💡 Usage examples:');\n console.log(' lz-tool anchor --anchor-version 0.29.0 --solana-version 1.17.31 build');\n console.log(\n ' lz-tool anchor --anchor-version 0.31.1 build # Auto-selects compatible solana version',\n );\n console.log();\n}\n\n/**\n * Display tool-specific version information\n */\nexport function displayToolVersionInfo<TImageId extends string>(\n context: ChainContext<TImageId>,\n toolName: string,\n): void {\n const tool = findToolByName(context, toolName);\n const combinations = context.versionCombinations;\n\n if (!combinations) {\n throw new Error(`No version matrix found for tool: ${tool.name}`);\n }\n\n const defaultVersion = getToolDefaultVersion(context, tool.name);\n const supportedVersions = getToolSupportedVersions(context, tool.name);\n\n console.log(`\\n🔧 ${tool.name.toUpperCase()} Version Information`);\n console.log('─'.repeat(40));\n console.log(`Default version: ${defaultVersion}`);\n console.log(`Supported versions: ${supportedVersions.join(', ')}`);\n console.log();\n\n // Display default volumes\n if (tool.defaultVolumes && tool.defaultVolumes.length > 0) {\n console.log('📦 Default cache volumes:');\n tool.defaultVolumes.forEach((volume) => {\n const volumeDesc =\n volume.type === 'isolate'\n ? `${volume.name} → ${volume.containerPath}`\n : `${volume.hostPath} → ${volume.containerPath}`;\n console.log(` • ${volumeDesc}`);\n });\n console.log(' 💡 Use -v to override or add additional volumes');\n console.log();\n }\n\n console.log('🔗 Compatible combinations with other tools:');\n for (const [index, combination] of combinations.entries()) {\n if (combination.images[tool.name]) {\n console.log(formatVersionCombination(context, combination, !index));\n }\n }\n console.log();\n\n console.log('📝 Version resolution priority:');\n console.log(' 1. Command line options (--{tool}-version)');\n console.log(' 2. Default version');\n console.log();\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DOCKER_PLATFORM_NATIVE, getRegistry, getImageDirectory } from './
|
|
2
|
-
import { findToolVersionsForCombination, getImageName } from './
|
|
3
|
-
import { init_esm_shims, __name } from './
|
|
1
|
+
import { DOCKER_PLATFORM_NATIVE, getRegistry, getImageDirectory } from './SWKTHNWT.js';
|
|
2
|
+
import { findToolVersionsForCombination, getImageName } from './N3I7SNFG.js';
|
|
3
|
+
import { init_esm_shims, __name } from './JWJXCZMP.js';
|
|
4
4
|
import { join, basename } from 'path';
|
|
5
5
|
import { env } from 'process';
|
|
6
6
|
|
|
@@ -103,5 +103,5 @@ var qualifyVolumeName = /* @__PURE__ */ __name((volume, { cacheKey, dockerPlatfo
|
|
|
103
103
|
}, "qualifyVolumeName");
|
|
104
104
|
|
|
105
105
|
export { findImageForTool, getImageTag, getImageUri, qualifyVolumeName, resolveDockerPlatform, resolveDockerPlatformExecution, resolveEffectiveDockerPlatformValue };
|
|
106
|
-
//# sourceMappingURL=
|
|
107
|
-
//# sourceMappingURL=
|
|
106
|
+
//# sourceMappingURL=H4RUI4N2.js.map
|
|
107
|
+
//# sourceMappingURL=H4RUI4N2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/docker.ts"],"names":["resolveDockerPlatform","dockerPlatform","undefined","archSegment","split","arch","value","namespace","replace","resolveEffectiveDockerPlatformValue","toolDockerPlatform","envDockerPlatform","env","DOCKER_DEFAULT_PLATFORM","DOCKER_PLATFORM_NATIVE","resolveDockerPlatformExecution","options","_dockerDefaultPlatform","processEnv","args","volumeNameOptions","platform","findImageForTool","context","toolName","version","image","versionCombinations","flatMap","combination","imageId","images","findToolVersionsForCombination","Error","getImageUri","join","getRegistry","getImageDirectory","getImageName","name","getImageTag","versions","patch","Object","entries","sort","flat","qualifyVolumeName","volume","cacheKey","type","components","shared","toolchainKeyed","push","packageName","npm_package_name","basename","architectureIndependent"],"mappings":"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","file":"
|
|
1
|
+
{"version":3,"sources":["../src/utils/docker.ts"],"names":["resolveDockerPlatform","dockerPlatform","undefined","archSegment","split","arch","value","namespace","replace","resolveEffectiveDockerPlatformValue","toolDockerPlatform","envDockerPlatform","env","DOCKER_DEFAULT_PLATFORM","DOCKER_PLATFORM_NATIVE","resolveDockerPlatformExecution","options","_dockerDefaultPlatform","processEnv","args","volumeNameOptions","platform","findImageForTool","context","toolName","version","image","versionCombinations","flatMap","combination","imageId","images","findToolVersionsForCombination","Error","getImageUri","join","getRegistry","getImageDirectory","getImageName","name","getImageTag","versions","patch","Object","entries","sort","flat","qualifyVolumeName","volume","cacheKey","type","components","shared","toolchainKeyed","push","packageName","npm_package_name","basename","architectureIndependent"],"mappings":"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","file":"H4RUI4N2.js","sourcesContent":["import { basename, join } from 'node:path';\nimport { env } from 'node:process';\n\nimport type { DockerPlatformOverride, DockerPlatformValue, Image, VolumeMapping } from '../config';\nimport { DOCKER_PLATFORM_NATIVE, getImageDirectory, getRegistry } from '../config';\nimport type { ChainContext } from '../context';\nimport { findToolVersionsForCombination, getImageName } from './finder';\n\nexport interface DockerPlatform {\n /** Raw value, e.g. `linux/amd64`, for Docker `--platform`. */\n value: string;\n /** Filesystem-safe token for cache volume names, e.g. `linux-amd64`. */\n namespace: string;\n /** Architecture as `docker inspect --format {{.Architecture}}` reports it, e.g. `amd64`. */\n arch: string;\n}\n\nexport type DockerProcessEnv = Record<string, string | undefined>;\n\nexport interface QualifyVolumeNameOptions {\n cacheKey?: string;\n dockerPlatform?: string;\n}\n\nexport interface DockerPlatformResolutionOptions {\n dockerPlatform?: DockerPlatformOverride;\n toolDockerPlatform?: DockerPlatformValue;\n envDockerPlatform?: string;\n}\n\nexport interface DockerPlatformExecution {\n platform?: DockerPlatform;\n args: string[];\n processEnv?: DockerProcessEnv;\n volumeNameOptions: QualifyVolumeNameOptions;\n}\n\nexport const resolveDockerPlatform = (dockerPlatform?: string): DockerPlatform | undefined => {\n if (!dockerPlatform) {\n return undefined;\n }\n\n const [, archSegment] = dockerPlatform.split('/');\n const arch = archSegment || dockerPlatform;\n\n return {\n value: dockerPlatform,\n namespace: dockerPlatform.replace(/\\//g, '-'),\n arch,\n };\n};\n\n// Platform precedence is intentional: CLI override > tool default > DOCKER_DEFAULT_PLATFORM.\n// A tool default is an explicit choice made by the tool config (for example Anchor's amd64 pin),\n// so a user's shell env should not override it by accident. DOCKER_DEFAULT_PLATFORM only applies\n// when the tool does not declare a platform.\n// `native` is an escape hatch from forced platform selection: it resolves to no\n// platform value, so Docker commands run without `--platform`.\nexport const resolveEffectiveDockerPlatformValue = ({\n dockerPlatform,\n toolDockerPlatform,\n envDockerPlatform = env.DOCKER_DEFAULT_PLATFORM,\n}: DockerPlatformResolutionOptions): string | undefined => {\n if (dockerPlatform === DOCKER_PLATFORM_NATIVE) {\n return undefined;\n }\n\n return dockerPlatform ?? toolDockerPlatform ?? envDockerPlatform;\n};\n\nexport const resolveDockerPlatformExecution = (\n options: DockerPlatformResolutionOptions,\n): DockerPlatformExecution => {\n if (options.dockerPlatform === DOCKER_PLATFORM_NATIVE) {\n // Clear DOCKER_DEFAULT_PLATFORM as well, otherwise Docker would still be forced\n // to use that platform even though this run requested native execution.\n const { DOCKER_DEFAULT_PLATFORM: _dockerDefaultPlatform, ...processEnv } = env;\n\n return {\n args: [],\n processEnv,\n volumeNameOptions: { dockerPlatform: undefined },\n };\n }\n\n const platform = resolveDockerPlatform(resolveEffectiveDockerPlatformValue(options));\n\n return {\n platform,\n args: platform ? ['--platform', platform.value] : [],\n volumeNameOptions: { dockerPlatform: platform?.value },\n };\n};\n\nexport const findImageForTool = <TImageId extends string>(\n context: ChainContext<TImageId>,\n toolName: string,\n version: string,\n): Image => {\n const [image] = context.versionCombinations.flatMap((combination) => {\n const imageId = combination.images[toolName];\n\n if (!imageId) {\n return [];\n }\n\n const image = context.images[imageId];\n\n return image && findToolVersionsForCombination(context, combination)[toolName] === version\n ? [image]\n : [];\n });\n\n if (!image) {\n throw new Error(\n `No version combination found for tool ${toolName} with version ${version}`,\n );\n }\n\n return image;\n};\n\nexport const getImageUri = async (image: Image): Promise<string> =>\n join(\n await getRegistry(),\n await getImageDirectory(),\n `${getImageName(image.name)}:${getImageTag(image)}`,\n );\n\nexport const getImageTag = ({ versions, patch }: Image): string =>\n [...Object.entries(versions).sort().flat(), ...(patch ? ['patch', patch] : [])].join('-');\n\nexport const qualifyVolumeName = (\n volume: VolumeMapping,\n { cacheKey, dockerPlatform }: QualifyVolumeNameOptions = {\n dockerPlatform: env.DOCKER_DEFAULT_PLATFORM,\n },\n): VolumeMapping => {\n if (volume.type !== 'isolate') {\n return volume;\n }\n\n const components = ['lz-tooling-cache', volume.name];\n\n if (!volume.shared) {\n // Opted-in volumes key on the toolchain (image tag) so same-toolchain packages share one\n // cache; the rest stay package-private. Falls back to package-private without a cacheKey.\n if (volume.toolchainKeyed && cacheKey) {\n components.push(cacheKey);\n } else {\n const packageName = env.npm_package_name;\n\n if (!packageName) {\n throw new Error('npm_package_name environment variable not defined');\n }\n\n components.push(basename(packageName));\n }\n }\n\n const platform = resolveDockerPlatform(dockerPlatform);\n if (platform && !volume.architectureIndependent) {\n components.push(platform.namespace);\n }\n\n return { ...volume, name: components.join('-') };\n};\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { stringifyError } from './
|
|
2
|
-
import { createScopedWorkspace } from './
|
|
3
|
-
import { safeRemove } from './
|
|
4
|
-
import { executeLocally } from './
|
|
5
|
-
import { lockMany } from './
|
|
6
|
-
import { resolveTypeVersions } from './
|
|
7
|
-
import { resolveDockerPlatformExecution, findImageForTool, getImageUri, getImageTag, qualifyVolumeName } from './
|
|
8
|
-
import { CARGO_TARGET_CACHE_PATH } from './
|
|
9
|
-
import { findToolByName } from './
|
|
10
|
-
import { init_esm_shims, __name } from './
|
|
1
|
+
import { stringifyError } from './ADZG6QSC.js';
|
|
2
|
+
import { createScopedWorkspace } from './HIFVOL6G.js';
|
|
3
|
+
import { safeRemove } from './XMRVBPGX.js';
|
|
4
|
+
import { executeLocally } from './VB2BOPPZ.js';
|
|
5
|
+
import { lockMany } from './XOVO3JKY.js';
|
|
6
|
+
import { resolveTypeVersions } from './6M3XVMYE.js';
|
|
7
|
+
import { resolveDockerPlatformExecution, findImageForTool, getImageUri, getImageTag, qualifyVolumeName } from './H4RUI4N2.js';
|
|
8
|
+
import { CARGO_TARGET_CACHE_PATH } from './SWKTHNWT.js';
|
|
9
|
+
import { findToolByName } from './N3I7SNFG.js';
|
|
10
|
+
import { init_esm_shims, __name } from './JWJXCZMP.js';
|
|
11
11
|
import { uniqBy } from 'es-toolkit';
|
|
12
12
|
import { realpath } from 'fs/promises';
|
|
13
13
|
import os from 'os';
|
|
@@ -345,5 +345,5 @@ ${stdout}` : ""}`);
|
|
|
345
345
|
__name(executeToolCommand, "executeToolCommand");
|
|
346
346
|
|
|
347
347
|
export { executeToolCommand, mergeToolEnv, resolveCargoCacheEnv };
|
|
348
|
-
//# sourceMappingURL=
|
|
349
|
-
//# sourceMappingURL=
|
|
348
|
+
//# sourceMappingURL=H55JBB6F.js.map
|
|
349
|
+
//# sourceMappingURL=H55JBB6F.js.map
|