CliDebugInfoProvider Class — astro Architecture
Architecture documentation for the CliDebugInfoProvider class in cli-debug-info-provider.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD 40d0b18a_b117_e4fa_7678_ae7b5d773d5b["CliDebugInfoProvider"] ba2ed2e7_598d_d3c6_77bf_644cc65cf4d9["cli-debug-info-provider.ts"] 40d0b18a_b117_e4fa_7678_ae7b5d773d5b -->|defined in| ba2ed2e7_598d_d3c6_77bf_644cc65cf4d9 5c76bc65_2a5e_affb_eb5b_0345b6a693ba["constructor()"] 40d0b18a_b117_e4fa_7678_ae7b5d773d5b -->|method| 5c76bc65_2a5e_affb_eb5b_0345b6a693ba 127a0d56_15dd_ef1b_0d10_bcb23419ac98["get()"] 40d0b18a_b117_e4fa_7678_ae7b5d773d5b -->|method| 127a0d56_15dd_ef1b_0d10_bcb23419ac98
Relationship Graph
Source Code
packages/astro/src/cli/info/infra/cli-debug-info-provider.ts lines 14–76
export class CliDebugInfoProvider implements DebugInfoProvider {
readonly #config: Pick<AstroConfig, 'output' | 'adapter' | 'integrations'>;
readonly #astroVersionProvider: AstroVersionProvider;
readonly #packageManager: PackageManager;
readonly #operatingSystemProvider: OperatingSystemProvider;
readonly #nodeVersionProvider: NodeVersionProvider;
constructor({
config,
astroVersionProvider,
packageManager,
operatingSystemProvider,
nodeVersionProvider,
}: {
config: Pick<AstroConfig, 'output' | 'adapter' | 'integrations'>;
astroVersionProvider: AstroVersionProvider;
packageManager: PackageManager;
operatingSystemProvider: OperatingSystemProvider;
nodeVersionProvider: NodeVersionProvider;
}) {
this.#config = config;
this.#astroVersionProvider = astroVersionProvider;
this.#packageManager = packageManager;
this.#operatingSystemProvider = operatingSystemProvider;
this.#nodeVersionProvider = nodeVersionProvider;
}
async get(): Promise<DebugInfo> {
const debugInfo: DebugInfo = [
['Astro', `v${this.#astroVersionProvider.version}`],
['Node', this.#nodeVersionProvider.version],
['System', this.#operatingSystemProvider.displayName],
['Package Manager', this.#packageManager.name],
['Output', this.#config.output],
];
const viteVersion = await this.#packageManager.getPackageVersion('vite');
if (viteVersion) {
debugInfo.splice(1, 0, ['Vite', viteVersion]);
}
debugInfo.push([
'Adapter',
this.#config.adapter
? withVersion(
this.#config.adapter.name,
await this.#packageManager.getPackageVersion(this.#config.adapter.name),
)
: 'none',
]);
const integrations = await Promise.all(
this.#config.integrations.map(async ({ name }) =>
withVersion(name, await this.#packageManager.getPackageVersion(name)),
),
);
debugInfo.push(['Integrations', integrations.length > 0 ? integrations : 'none']);
return debugInfo;
}
}
Domain
Source
Frequently Asked Questions
What is the CliDebugInfoProvider class?
CliDebugInfoProvider is a class in the astro codebase, defined in packages/astro/src/cli/info/infra/cli-debug-info-provider.ts.
Where is CliDebugInfoProvider defined?
CliDebugInfoProvider is defined in packages/astro/src/cli/info/infra/cli-debug-info-provider.ts at line 14.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free