MCPcopy Create free account
hub / github.com/colbymchenry/codegraph / readOhpmFileDeps

Function readOhpmFileDeps

src/resolution/workspace-packages.ts:179–198  ·  view source on GitHub ↗

Parse one oh-package.json5's dependencies → [name, file-target] pairs.

(manifestAbs: string)

Source from the content-addressed store, hash-verified

177
178/** Parse one oh-package.json5's dependencies → [name, file-target] pairs. */
179function readOhpmFileDeps(manifestAbs: string): Array<[string, string]> {
180 const out: Array<[string, string]> = [];
181 let parsed: unknown;
182 try {
183 // JSON5 tolerates comments and trailing commas; jsonc-parser (already a
184 // dependency, used by the opencode installer target) handles both.
185 // eslint-disable-next-line @typescript-eslint/no-require-imports
186 parsed = require('jsonc-parser').parse(fs.readFileSync(manifestAbs, 'utf-8'));
187 } catch {
188 return out;
189 }
190 const deps = (parsed as { dependencies?: Record<string, unknown> } | null)?.dependencies;
191 if (!deps || typeof deps !== 'object') return out;
192 for (const [name, value] of Object.entries(deps)) {
193 if (typeof value !== 'string' || !value.startsWith('file:')) continue;
194 const target = value.slice('file:'.length).trim();
195 if (target) out.push([name, target]);
196 }
197 return out;
198}
199
200/**
201 * Rewrite a bare workspace import to a path relative to projectRoot,

Callers 1

collectOhpmFileDepsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected