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

e2e.test.js — astro Source File

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

Entity Profile

Dependency Diagram

graph LR
  c2cbdc08_917f_15ae_0b84_48daf0cce747["e2e.test.js"]
  7ba6b925_c4e3_9655_93d8_aef20d60a4f9["../../../../dist/assets/fonts/constants.js"]
  c2cbdc08_917f_15ae_0b84_48daf0cce747 --> 7ba6b925_c4e3_9655_93d8_aef20d60a4f9
  e90bdc3a_92a6_a967_11f8_a684e9308361["../../../../dist/assets/fonts/core/collect-component-data.js"]
  c2cbdc08_917f_15ae_0b84_48daf0cce747 --> e90bdc3a_92a6_a967_11f8_a684e9308361
  cecabc1c_fd4e_769a_e1f0_6e5ea96e2f41["../../../../dist/assets/fonts/core/collect-font-assets-from-faces.js"]
  c2cbdc08_917f_15ae_0b84_48daf0cce747 --> cecabc1c_fd4e_769a_e1f0_6e5ea96e2f41
  baf309e7_9809_cc55_88c6_10366d139330["../../../../dist/assets/fonts/core/collect-font-data.js"]
  c2cbdc08_917f_15ae_0b84_48daf0cce747 --> baf309e7_9809_cc55_88c6_10366d139330
  344273c3_88cd_079e_aa89_96414b550cca["../../../../dist/assets/fonts/core/compute-font-families-assets.js"]
  c2cbdc08_917f_15ae_0b84_48daf0cce747 --> 344273c3_88cd_079e_aa89_96414b550cca
  13277805_8864_ff30_f876_008b680279ec["../../../../dist/assets/fonts/core/filter-and-transform-font-faces.js"]
  c2cbdc08_917f_15ae_0b84_48daf0cce747 --> 13277805_8864_ff30_f876_008b680279ec
  9a2613e5_be43_dd9e_5050_b98e031f7929["../../../../dist/assets/fonts/core/get-or-create-font-family-assets.js"]
  c2cbdc08_917f_15ae_0b84_48daf0cce747 --> 9a2613e5_be43_dd9e_5050_b98e031f7929
  cf8881e1_7feb_cad8_8756_08fd107d2b6a["../../../../dist/assets/fonts/core/optimize-fallbacks.js"]
  c2cbdc08_917f_15ae_0b84_48daf0cce747 --> cf8881e1_7feb_cad8_8756_08fd107d2b6a
  4f990e99_aaa1_fa7e_f7dd_496bf9d09b24["../../../../dist/assets/fonts/core/resolve-family.js"]
  c2cbdc08_917f_15ae_0b84_48daf0cce747 --> 4f990e99_aaa1_fa7e_f7dd_496bf9d09b24
  3e254307_56d8_2c85_3049_1301fac1b65a["../../../../dist/assets/fonts/infra/cached-font-fetcher.js"]
  c2cbdc08_917f_15ae_0b84_48daf0cce747 --> 3e254307_56d8_2c85_3049_1301fac1b65a
  e738322e_51c4_624c_0c15_78a8cc48982b["../../../../dist/assets/fonts/infra/capsize-font-metrics-resolver.js"]
  c2cbdc08_917f_15ae_0b84_48daf0cce747 --> e738322e_51c4_624c_0c15_78a8cc48982b
  963961c8_d596_d2c3_b432_3b59c436cdf9["../../../../dist/assets/fonts/infra/dev-font-file-id-generator.js"]
  c2cbdc08_917f_15ae_0b84_48daf0cce747 --> 963961c8_d596_d2c3_b432_3b59c436cdf9
  1e8b0554_b1c7_9a5a_0af7_d916da00d5e1["../../../../dist/assets/fonts/infra/dev-url-resolver.js"]
  c2cbdc08_917f_15ae_0b84_48daf0cce747 --> 1e8b0554_b1c7_9a5a_0af7_d916da00d5e1
  1813a5c9_f67d_80a7_f733_f88dc16fbd48["../../../../dist/assets/fonts/infra/fs-font-file-content-resolver.js"]
  c2cbdc08_917f_15ae_0b84_48daf0cce747 --> 1813a5c9_f67d_80a7_f733_f88dc16fbd48
  style c2cbdc08_917f_15ae_0b84_48daf0cce747 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

// @ts-check
import assert from 'node:assert/strict';
import { readFileSync } from 'node:fs';
import { readFile, rm } from 'node:fs/promises';
import { describe, it } from 'node:test';
import { fileURLToPath } from 'node:url';
import colors from 'piccolore';
import { DEFAULTS } from '../../../../dist/assets/fonts/constants.js';
import { collectComponentData } from '../../../../dist/assets/fonts/core/collect-component-data.js';
import { collectFontAssetsFromFaces } from '../../../../dist/assets/fonts/core/collect-font-assets-from-faces.js';
import { collectFontData } from '../../../../dist/assets/fonts/core/collect-font-data.js';
import { computeFontFamiliesAssets } from '../../../../dist/assets/fonts/core/compute-font-families-assets.js';
import { filterAndTransformFontFaces } from '../../../../dist/assets/fonts/core/filter-and-transform-font-faces.js';
import { getOrCreateFontFamilyAssets } from '../../../../dist/assets/fonts/core/get-or-create-font-family-assets.js';
import { optimizeFallbacks } from '../../../../dist/assets/fonts/core/optimize-fallbacks.js';
import { resolveFamily } from '../../../../dist/assets/fonts/core/resolve-family.js';
import { CachedFontFetcher } from '../../../../dist/assets/fonts/infra/cached-font-fetcher.js';
import { CapsizeFontMetricsResolver } from '../../../../dist/assets/fonts/infra/capsize-font-metrics-resolver.js';
import { DevFontFileIdGenerator } from '../../../../dist/assets/fonts/infra/dev-font-file-id-generator.js';
import { DevUrlResolver } from '../../../../dist/assets/fonts/infra/dev-url-resolver.js';
import { FsFontFileContentResolver } from '../../../../dist/assets/fonts/infra/fs-font-file-content-resolver.js';
import { LevenshteinStringMatcher } from '../../../../dist/assets/fonts/infra/levenshtein-string-matcher.js';
import { MinifiableCssRenderer } from '../../../../dist/assets/fonts/infra/minifiable-css-renderer.js';
import { NodeFontTypeExtractor } from '../../../../dist/assets/fonts/infra/node-font-type-extractor.js';
import { RealSystemFallbacksProvider } from '../../../../dist/assets/fonts/infra/system-fallbacks-provider.js';
import { UnifontFontResolver } from '../../../../dist/assets/fonts/infra/unifont-font-resolver.js';
import { UnstorageFsStorage } from '../../../../dist/assets/fonts/infra/unstorage-fs-storage.js';
import { XxhashHasher } from '../../../../dist/assets/fonts/infra/xxhash-hasher.js';
import { fontProviders } from '../../../../dist/assets/fonts/providers/index.js';
import { Logger } from '../../../../dist/core/logger/core.js';
import { nodeLogDestination } from '../../../../dist/core/logger/node.js';

/**
 * @param {{ fonts: Array<import('../../../../dist/assets/fonts/types.js').FontFamily> }} param0
 */
async function run({ fonts: _fonts }) {
	const hasher = await XxhashHasher.create();
	const resolvedFamilies = _fonts.map((family) => resolveFamily({ family, hasher }));
	const defaults = DEFAULTS;
	const { bold } = colors;
	const logger = new Logger({
		level: 'silent',
		dest: nodeLogDestination,
	});
	const stringMatcher = new LevenshteinStringMatcher();
	const base = new URL('./data/cache/', import.meta.url);
	// Clear cache
	await rm(base, { recursive: true, force: true });
	const storage = new UnstorageFsStorage({ base });
	const root = new URL('./data/fonts/', import.meta.url);
	const contentResolver = new FsFontFileContentResolver({
		readFileSync: (path) => readFileSync(path, 'utf-8'),
	});
	const fontFileIdGenerator = new DevFontFileIdGenerator({ contentResolver, hasher });
	const fontTypeExtractor = new NodeFontTypeExtractor();
	const urlResolver = new DevUrlResolver({ base: '/', searchParams: new URLSearchParams() });
	const cssRenderer = new MinifiableCssRenderer({ minify: true });
	const fontFetcher = new CachedFontFetcher({ fetch, readFile, storage });
	const fontMetricsResolver = new CapsizeFontMetricsResolver({
		cssRenderer,
// ... (329 more lines)

Subdomains

Functions

Dependencies

  • ../../../../dist/assets/fonts/constants.js
  • ../../../../dist/assets/fonts/core/collect-component-data.js
  • ../../../../dist/assets/fonts/core/collect-font-assets-from-faces.js
  • ../../../../dist/assets/fonts/core/collect-font-data.js
  • ../../../../dist/assets/fonts/core/compute-font-families-assets.js
  • ../../../../dist/assets/fonts/core/filter-and-transform-font-faces.js
  • ../../../../dist/assets/fonts/core/get-or-create-font-family-assets.js
  • ../../../../dist/assets/fonts/core/optimize-fallbacks.js
  • ../../../../dist/assets/fonts/core/resolve-family.js
  • ../../../../dist/assets/fonts/infra/cached-font-fetcher.js
  • ../../../../dist/assets/fonts/infra/capsize-font-metrics-resolver.js
  • ../../../../dist/assets/fonts/infra/dev-font-file-id-generator.js
  • ../../../../dist/assets/fonts/infra/dev-url-resolver.js
  • ../../../../dist/assets/fonts/infra/fs-font-file-content-resolver.js
  • ../../../../dist/assets/fonts/infra/levenshtein-string-matcher.js
  • ../../../../dist/assets/fonts/infra/minifiable-css-renderer.js
  • ../../../../dist/assets/fonts/infra/node-font-type-extractor.js
  • ../../../../dist/assets/fonts/infra/system-fallbacks-provider.js
  • ../../../../dist/assets/fonts/infra/unifont-font-resolver.js
  • ../../../../dist/assets/fonts/infra/unstorage-fs-storage.js
  • ../../../../dist/assets/fonts/infra/xxhash-hasher.js
  • ../../../dist/assets/fonts/providers/index.js
  • ../../dist/core/logger/core.js
  • ../../dist/core/logger/node.js
  • node:fs
  • node:test
  • node:url
  • piccolore
  • promises
  • strict

Frequently Asked Questions

What does e2e.test.js do?
e2e.test.js is a source file in the astro codebase, written in javascript. It belongs to the IntegrationAdapters domain, SsrAdapters subdomain.
What functions are defined in e2e.test.js?
e2e.test.js defines 1 function(s): run.
What does e2e.test.js depend on?
e2e.test.js imports 30 module(s): ../../../../dist/assets/fonts/constants.js, ../../../../dist/assets/fonts/core/collect-component-data.js, ../../../../dist/assets/fonts/core/collect-font-assets-from-faces.js, ../../../../dist/assets/fonts/core/collect-font-data.js, ../../../../dist/assets/fonts/core/compute-font-families-assets.js, ../../../../dist/assets/fonts/core/filter-and-transform-font-faces.js, ../../../../dist/assets/fonts/core/get-or-create-font-family-assets.js, ../../../../dist/assets/fonts/core/optimize-fallbacks.js, and 22 more.
Where is e2e.test.js in the architecture?
e2e.test.js is located at packages/astro/test/units/assets/fonts/e2e.test.js (domain: IntegrationAdapters, subdomain: SsrAdapters, directory: packages/astro/test/units/assets/fonts).

Analyze Your Own Codebase

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

Try Supermodel Free