run() — astro Function Reference
Architecture documentation for the run() function in e2e.test.js from the astro codebase.
Entity Profile
Dependency Diagram
graph TD ead9f2ea_90eb_3593_45bc_8652f6ca9958["run()"] c2cbdc08_917f_15ae_0b84_48daf0cce747["e2e.test.js"] ead9f2ea_90eb_3593_45bc_8652f6ca9958 -->|defined in| c2cbdc08_917f_15ae_0b84_48daf0cce747 style ead9f2ea_90eb_3593_45bc_8652f6ca9958 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/astro/test/units/assets/fonts/e2e.test.js lines 36–119
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,
fontFetcher,
});
const systemFallbacksProvider = new RealSystemFallbacksProvider();
const { fontFamilyAssets, fontFileById } = await computeFontFamiliesAssets({
resolvedFamilies,
defaults,
bold,
logger,
stringMatcher,
fontResolver: await UnifontFontResolver.create({
families: resolvedFamilies,
hasher,
storage,
root,
}),
getOrCreateFontFamilyAssets: ({ family, fontFamilyAssetsByUniqueKey }) =>
getOrCreateFontFamilyAssets({
family,
fontFamilyAssetsByUniqueKey,
bold,
logger,
}),
filterAndTransformFontFaces: ({ family, fonts }) =>
filterAndTransformFontFaces({
family,
fonts,
fontFileIdGenerator,
fontTypeExtractor,
urlResolver,
}),
collectFontAssetsFromFaces: ({ collectedFontsIds, family, fontFilesIds, fonts }) =>
collectFontAssetsFromFaces({
collectedFontsIds,
family,
fontFilesIds,
fonts,
fontFileIdGenerator,
hasher,
defaults,
}),
});
const fontDataByCssVariable = collectFontData(fontFamilyAssets);
const componentDataByCssVariable = await collectComponentData({
cssRenderer,
defaults,
fontFamilyAssets,
optimizeFallbacks: ({ collectedFonts, fallbacks, family }) =>
optimizeFallbacks({
collectedFonts,
fallbacks,
family,
fontMetricsResolver,
systemFallbacksProvider,
}),
});
Domain
Subdomains
Source
Frequently Asked Questions
What does run() do?
run() is a function in the astro codebase, defined in packages/astro/test/units/assets/fonts/e2e.test.js.
Where is run() defined?
run() is defined in packages/astro/test/units/assets/fonts/e2e.test.js at line 36.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free