Home / Class/ DevDebugInfoProvider Class — astro Architecture

DevDebugInfoProvider Class — astro Architecture

Architecture documentation for the DevDebugInfoProvider class in dev-debug-info-provider.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  d0aaa393_599f_6fc5_be07_51872e02dd9d["DevDebugInfoProvider"]
  7a3a9020_f42d_ba8c_b998_323b90da9215["dev-debug-info-provider.ts"]
  d0aaa393_599f_6fc5_be07_51872e02dd9d -->|defined in| 7a3a9020_f42d_ba8c_b998_323b90da9215
  619f68eb_9add_ce49_a2ce_0c25bf2ac64b["constructor()"]
  d0aaa393_599f_6fc5_be07_51872e02dd9d -->|method| 619f68eb_9add_ce49_a2ce_0c25bf2ac64b
  d2f77837_1605_f6d6_b812_6e92f2ee9974["get()"]
  d0aaa393_599f_6fc5_be07_51872e02dd9d -->|method| d2f77837_1605_f6d6_b812_6e92f2ee9974

Relationship Graph

Source Code

packages/astro/src/cli/info/infra/dev-debug-info-provider.ts lines 9–52

export class DevDebugInfoProvider 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],
			['Adapter', this.#config.adapter?.name ?? 'none'],
		];

		const integrations = this.#config.integrations.map((integration) => integration.name);

		debugInfo.push(['Integrations', integrations.length > 0 ? integrations : 'none']);

		return debugInfo;
	}
}

Domain

Frequently Asked Questions

What is the DevDebugInfoProvider class?
DevDebugInfoProvider is a class in the astro codebase, defined in packages/astro/src/cli/info/infra/dev-debug-info-provider.ts.
Where is DevDebugInfoProvider defined?
DevDebugInfoProvider is defined in packages/astro/src/cli/info/infra/dev-debug-info-provider.ts at line 9.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free