MCPcopy Create free account
hub / github.com/vercel/vercel / parseUvLock

Function parseUvLock

packages/python-analysis/src/manifest/uv-lock-parser.ts:63–87  ·  view source on GitHub ↗
(content: string, path?: string)

Source from the content-addressed store, hash-verified

61 * @param path - Optional path to the file for error reporting
62 */
63export function parseUvLock(content: string, path?: string): UvLockFile {
64 let parsed: UvLockToml;
65 try {
66 parsed = toml.parse(content) as UvLockToml;
67 } catch (error: unknown) {
68 throw new PythonAnalysisError({
69 message: `Could not parse uv.lock: ${error instanceof Error ? error.message : String(error)}`,
70 code: 'PYTHON_UV_LOCK_PARSE_ERROR',
71 path,
72 fileContent: content,
73 });
74 }
75
76 const packages: UvLockPackage[] = (parsed.package ?? [])
77 .filter(pkg => pkg.name && pkg.version)
78 .map(pkg => ({
79 name: pkg.name,
80 version: pkg.version,
81 source: pkg.source,
82 wheels: (pkg.wheels ?? []).map(w => ({ url: w.url })),
83 ...(pkg.dependencies ? { dependencies: pkg.dependencies } : {}),
84 }));
85
86 return { version: parsed.version, packages };
87}
88
89/**
90 * Known public PyPI registry URL patterns.

Callers 4

generateProjectManifestFunction · 0.90
generateBundleMethod · 0.90

Calls 2

filterMethod · 0.80
parseMethod · 0.45

Tested by

no test coverage detected