Home / File/ info.test.js — astro Source File

info.test.js — astro Source File

Architecture documentation for info.test.js, a javascript file in the astro codebase. 21 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c["info.test.js"]
  1f4164a2_9045_780b_d31d_bb77812727f1["../../../dist/cli/info/core/get-package-manager.js"]
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c --> 1f4164a2_9045_780b_d31d_bb77812727f1
  82806e9d_e754_9ae4_6fe8_34d10ae65b7f["../../../dist/cli/info/core/info.js"]
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c --> 82806e9d_e754_9ae4_6fe8_34d10ae65b7f
  7638e047_a728_6dfe_ec44_9fdfb2efbf4b["../../../dist/cli/info/infra/cli-clipboard.js"]
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c --> 7638e047_a728_6dfe_ec44_9fdfb2efbf4b
  4279214e_4f85_13e4_265d_3dc1d3bd88a0["../../../dist/cli/info/infra/cli-debug-info-provider.js"]
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c --> 4279214e_4f85_13e4_265d_3dc1d3bd88a0
  483078de_8a72_ed26_2da5_b91bece1ca8b["../../../dist/cli/info/infra/dev-debug-info-provider.js"]
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c --> 483078de_8a72_ed26_2da5_b91bece1ca8b
  85c47ac3_dd3f_95bb_c963_50862bb082c3["../../../dist/cli/info/infra/process-node-version-provider.js"]
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c --> 85c47ac3_dd3f_95bb_c963_50862bb082c3
  3f5d3ec4_d26a_a6e7_8720_6d1f5bed2ec4["../../../dist/cli/info/infra/process-package-manager-user-agent-provider.js"]
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c --> 3f5d3ec4_d26a_a6e7_8720_6d1f5bed2ec4
  b0be4d0c_86b6_a283_f2af_003189bfd572["test-utils.js"]
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c --> b0be4d0c_86b6_a283_f2af_003189bfd572
  e6d936de_adfc_6f29_c26b_58af0a66adc5["SpyLogger"]
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c --> e6d936de_adfc_6f29_c26b_58af0a66adc5
  dc38b823_10e6_0080_9a8c_08dc7cc3e0eb["utils.js"]
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c --> dc38b823_10e6_0080_9a8c_08dc7cc3e0eb
  b1804279_9a3b_87e5_cf71_6df4888a386a["FakeAstroVersionProvider"]
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c --> b1804279_9a3b_87e5_cf71_6df4888a386a
  c7767a9d_667e_94e3_52ec_ac8fc4973e6a["FakeDebugInfoProvider"]
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c --> c7767a9d_667e_94e3_52ec_ac8fc4973e6a
  66042c8b_a111_5aeb_3340_4098586f4028["FakeNodeVersionProvider"]
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c --> 66042c8b_a111_5aeb_3340_4098586f4028
  4c44a7e7_d557_5a60_a2f4_42bf0e95a9b8["FakeOperatingSystemProvider"]
  d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c --> 4c44a7e7_d557_5a60_a2f4_42bf0e95a9b8
  style d2404ffb_8d8c_7a4d_ed8e_c7be3b51b00c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

// @ts-check
import assert from 'node:assert/strict';
import { describe, it } from 'node:test';
import { getPackageManager } from '../../../dist/cli/info/core/get-package-manager.js';
import { infoCommand } from '../../../dist/cli/info/core/info.js';
import { CliClipboard } from '../../../dist/cli/info/infra/cli-clipboard.js';
import { CliDebugInfoProvider } from '../../../dist/cli/info/infra/cli-debug-info-provider.js';
import { DevDebugInfoProvider } from '../../../dist/cli/info/infra/dev-debug-info-provider.js';
import { ProcessNodeVersionProvider } from '../../../dist/cli/info/infra/process-node-version-provider.js';
import { ProcessPackageManagerUserAgentProvider } from '../../../dist/cli/info/infra/process-package-manager-user-agent-provider.js';
import { SpyLogger } from '../test-utils.js';
import {
	FakeAstroVersionProvider,
	FakeDebugInfoProvider,
	FakeNodeVersionProvider,
	FakeOperatingSystemProvider,
	FakePackageManagerUserAgentProvider,
	FakePrompt,
	PassthroughCommandRunner,
	SpyClipboard,
	SpyCommandExecutor,
} from './utils.js';

describe('CLI info', () => {
	describe('core', () => {
		describe('infoCommand', () => {
			it('logs pretty debug info', async () => {
				const logger = new SpyLogger();
				const runner = new PassthroughCommandRunner();
				const debugInfoProvider = new FakeDebugInfoProvider([['foo', 'bar']]);
				const clipboard = new SpyClipboard();

				await runner.run(infoCommand, {
					debugInfoProvider,
					getDebugInfoFormatter: ({ pretty }) => ({
						format: (debugInfo) => `${pretty}-${JSON.stringify(debugInfo)}`,
					}),
					clipboard,
					logger,
				});

				assert.equal(logger.logs[0].type, 'info');
				assert.equal(logger.logs[0].message, 'true-[["foo","bar"]]');
			});

			it('copies raw debug info', async () => {
				const logger = new SpyLogger();
				const runner = new PassthroughCommandRunner();
				const debugInfoProvider = new FakeDebugInfoProvider([['foo', 'bar']]);
				const clipboard = new SpyClipboard();

				await runner.run(infoCommand, {
					debugInfoProvider,
					getDebugInfoFormatter: ({ pretty }) => ({
						format: (debugInfo) => `${pretty}-${JSON.stringify(debugInfo)}`,
					}),
					clipboard,
					logger,
				});

// ... (530 more lines)

Dependencies

Frequently Asked Questions

What does info.test.js do?
info.test.js is a source file in the astro codebase, written in javascript. It belongs to the IntegrationAdapters domain.
What does info.test.js depend on?
info.test.js imports 21 module(s): ../../../dist/cli/info/core/get-package-manager.js, ../../../dist/cli/info/core/info.js, ../../../dist/cli/info/infra/cli-clipboard.js, ../../../dist/cli/info/infra/cli-debug-info-provider.js, ../../../dist/cli/info/infra/dev-debug-info-provider.js, ../../../dist/cli/info/infra/process-node-version-provider.js, ../../../dist/cli/info/infra/process-package-manager-user-agent-provider.js, FakeAstroVersionProvider, and 13 more.
Where is info.test.js in the architecture?
info.test.js is located at packages/astro/test/units/cli/info.test.js (domain: IntegrationAdapters, directory: packages/astro/test/units/cli).

Analyze Your Own Codebase

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

Try Supermodel Free