getPackageVersion() — astro Function Reference
Architecture documentation for the getPackageVersion() function in pnpm-package-manager.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 3ea329e9_8342_912a_0889_ba8ee25da467["getPackageVersion()"] 14d9faaa_2947_8b30_11ed_1493b5e0d8cf["PnpmPackageManager"] 3ea329e9_8342_912a_0889_ba8ee25da467 -->|defined in| 14d9faaa_2947_8b30_11ed_1493b5e0d8cf 3944172f_8e8b_08f3_ab5d_dc54d9ff8324["formatPnpmVersionOutput()"] 3ea329e9_8342_912a_0889_ba8ee25da467 -->|calls| 3944172f_8e8b_08f3_ab5d_dc54d9ff8324 style 3ea329e9_8342_912a_0889_ba8ee25da467 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/src/cli/info/infra/pnpm-package-manager.ts lines 21–47
async getPackageVersion(name: string): Promise<string | undefined> {
try {
// https://pnpm.io/cli/why
const { stdout } = await this.#commandExecutor.execute('pnpm', ['why', name, '--json'], {
shell: true,
});
const parsedOutput = JSON.parse(stdout) as Array<BareNpmLikeVersionOutput>;
const deps = parsedOutput[0].dependencies;
if (parsedOutput.length === 0 || !deps) {
return undefined;
}
const userProvidedDependency = deps[name];
if (userProvidedDependency) {
return formatPnpmVersionOutput(userProvidedDependency.version);
}
const astroDependency = deps.astro?.dependencies[name];
return astroDependency ? formatPnpmVersionOutput(astroDependency.version) : undefined;
} catch {
return undefined;
}
}
Domain
Subdomains
Source
Frequently Asked Questions
What does getPackageVersion() do?
getPackageVersion() is a function in the astro codebase, defined in packages/astro/src/cli/info/infra/pnpm-package-manager.ts.
Where is getPackageVersion() defined?
getPackageVersion() is defined in packages/astro/src/cli/info/infra/pnpm-package-manager.ts at line 21.
What does getPackageVersion() call?
getPackageVersion() calls 1 function(s): formatPnpmVersionOutput.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free