vite-plugin-fonts.ts — astro Source File
Architecture documentation for vite-plugin-fonts.ts, a typescript file in the astro codebase. 39 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 2ba9f2da_4496_f3c2_ba41_537f99208811["vite-plugin-fonts.ts"] 6fe92471_5113_a0cf_c232_c87e5712a05f["../core/csp/common.js"] 2ba9f2da_4496_f3c2_ba41_537f99208811 --> 6fe92471_5113_a0cf_c232_c87e5712a05f dd2fe7bd_2244_3ff4_38ec_5e07763d1492["../core/encryption.js"] 2ba9f2da_4496_f3c2_ba41_537f99208811 --> dd2fe7bd_2244_3ff4_38ec_5e07763d1492 5c1f16d1_f599_2e31_eb17_4c8b8189d4ed["../errors/dev/utils.js"] 2ba9f2da_4496_f3c2_ba41_537f99208811 --> 5c1f16d1_f599_2e31_eb17_4c8b8189d4ed ef8a1e3f_e350_75a6_b92d_62a8566d8db9["../core/errors/index.js"] 2ba9f2da_4496_f3c2_ba41_537f99208811 --> ef8a1e3f_e350_75a6_b92d_62a8566d8db9 d3861967_b647_84d2_ff48_15013353bd56["../core/logger/core.js"] 2ba9f2da_4496_f3c2_ba41_537f99208811 --> d3861967_b647_84d2_ff48_15013353bd56 8db17b08_b9e5_db7e_cd39_46be76c6d5ad["../core/messages.js"] 2ba9f2da_4496_f3c2_ba41_537f99208811 --> 8db17b08_b9e5_db7e_cd39_46be76c6d5ad 7e4494c0_5563_4329_1bff_a84be66e1bc2["../core/path.js"] 2ba9f2da_4496_f3c2_ba41_537f99208811 --> 7e4494c0_5563_4329_1bff_a84be66e1bc2 8651c206_171a_4a48_b04b_b47f5573b5da["../prerender/utils.js"] 2ba9f2da_4496_f3c2_ba41_537f99208811 --> 8651c206_171a_4a48_b04b_b47f5573b5da e9b74c5a_8d34_34a7_e196_5e41b87214aa["../types/astro.js"] 2ba9f2da_4496_f3c2_ba41_537f99208811 --> e9b74c5a_8d34_34a7_e196_5e41b87214aa a2fc192c_cdf9_df62_81bf_9c18a80b317e["./fonts/constants.js"] 2ba9f2da_4496_f3c2_ba41_537f99208811 --> a2fc192c_cdf9_df62_81bf_9c18a80b317e 6ac49b87_ab30_fb6c_073c_5d6a0ce1b7e7["./core/collect-component-data.js"] 2ba9f2da_4496_f3c2_ba41_537f99208811 --> 6ac49b87_ab30_fb6c_073c_5d6a0ce1b7e7 28685c73_a9d0_3d9e_e6a1_3d0209745c56["./core/collect-font-assets-from-faces.js"] 2ba9f2da_4496_f3c2_ba41_537f99208811 --> 28685c73_a9d0_3d9e_e6a1_3d0209745c56 dbabe631_501d_036d_5f52_6bdef790c6ae["./core/collect-font-data.js"] 2ba9f2da_4496_f3c2_ba41_537f99208811 --> dbabe631_501d_036d_5f52_6bdef790c6ae 3de03553_bf93_5052_c7dc_ac72f15d979d["./core/compute-font-families-assets.js"] 2ba9f2da_4496_f3c2_ba41_537f99208811 --> 3de03553_bf93_5052_c7dc_ac72f15d979d style 2ba9f2da_4496_f3c2_ba41_537f99208811 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
import { readFile } from 'node:fs/promises';
import { isAbsolute } from 'node:path';
import colors from 'piccolore';
import type { Plugin } from 'vite';
import { getAlgorithm, shouldTrackCspHashes } from '../../core/csp/common.js';
import { generateCspDigest } from '../../core/encryption.js';
import { collectErrorMetadata } from '../../core/errors/dev/utils.js';
import { AstroError, AstroErrorData, isAstroError } from '../../core/errors/index.js';
import type { Logger } from '../../core/logger/core.js';
import { formatErrorMessage } from '../../core/messages.js';
import { appendForwardSlash, joinPaths, prependForwardSlash } from '../../core/path.js';
import { getClientOutputDirectory } from '../../prerender/utils.js';
import type { AstroSettings } from '../../types/astro.js';
import {
ASSETS_DIR,
CACHE_DIR,
DEFAULTS,
RESOLVED_RUNTIME_VIRTUAL_MODULE_ID,
RESOLVED_VIRTUAL_MODULE_ID,
RUNTIME_VIRTUAL_MODULE_ID,
VIRTUAL_MODULE_ID,
} from './constants.js';
import { collectComponentData } from './core/collect-component-data.js';
import { collectFontAssetsFromFaces } from './core/collect-font-assets-from-faces.js';
import { collectFontData } from './core/collect-font-data.js';
import { computeFontFamiliesAssets } from './core/compute-font-families-assets.js';
import { filterAndTransformFontFaces } from './core/filter-and-transform-font-faces.js';
import { getOrCreateFontFamilyAssets } from './core/get-or-create-font-family-assets.js';
import { optimizeFallbacks } from './core/optimize-fallbacks.js';
import { resolveFamily } from './core/resolve-family.js';
import type { FontFetcher, FontTypeExtractor } from './definitions.js';
import { BuildFontFileIdGenerator } from './infra/build-font-file-id-generator.js';
import { BuildUrlResolver } from './infra/build-url-resolver.js';
import { CachedFontFetcher } from './infra/cached-font-fetcher.js';
import { CapsizeFontMetricsResolver } from './infra/capsize-font-metrics-resolver.js';
import { DevFontFileIdGenerator } from './infra/dev-font-file-id-generator.js';
import { DevUrlResolver } from './infra/dev-url-resolver.js';
import { FsFontFileContentResolver } from './infra/fs-font-file-content-resolver.js';
import { LevenshteinStringMatcher } from './infra/levenshtein-string-matcher.js';
import { MinifiableCssRenderer } from './infra/minifiable-css-renderer.js';
import { NodeFontTypeExtractor } from './infra/node-font-type-extractor.js';
import { RealSystemFallbacksProvider } from './infra/system-fallbacks-provider.js';
import { UnifontFontResolver } from './infra/unifont-font-resolver.js';
import { UnstorageFsStorage } from './infra/unstorage-fs-storage.js';
import { XxhashHasher } from './infra/xxhash-hasher.js';
import type {
ComponentDataByCssVariable,
FontDataByCssVariable,
FontFamily,
FontFileById,
} from './types.js';
interface Options {
settings: AstroSettings;
sync: boolean;
logger: Logger;
}
export function fontsPlugin({ settings, sync, logger }: Options): Plugin {
// ... (282 more lines)
Domain
Subdomains
Functions
Types
Dependencies
- ../../src/assets/fonts/types.js
- ../core/csp/common.js
- ../core/encryption.js
- ../core/errors/index.js
- ../core/logger/core.js
- ../core/messages.js
- ../core/path.js
- ../errors/dev/utils.js
- ../prerender/utils.js
- ../types/astro.js
- ./core/collect-component-data.js
- ./core/collect-font-assets-from-faces.js
- ./core/collect-font-data.js
- ./core/compute-font-families-assets.js
- ./core/filter-and-transform-font-faces.js
- ./core/get-or-create-font-family-assets.js
- ./core/optimize-fallbacks.js
- ./core/resolve-family.js
- ./definitions.js
- ./fonts/constants.js
- ./infra/build-font-file-id-generator.js
- ./infra/build-url-resolver.js
- ./infra/cached-font-fetcher.js
- ./infra/capsize-font-metrics-resolver.js
- ./infra/dev-font-file-id-generator.js
- ./infra/dev-url-resolver.js
- ./infra/fs-font-file-content-resolver.js
- ./infra/levenshtein-string-matcher.js
- ./infra/minifiable-css-renderer.js
- ./infra/node-font-type-extractor.js
- ./infra/system-fallbacks-provider.js
- ./infra/unifont-font-resolver.js
- ./infra/unstorage-fs-storage.js
- ./infra/xxhash-hasher.js
- node:fs
- node:path
- piccolore
- promises
- vite
Source
Frequently Asked Questions
What does vite-plugin-fonts.ts do?
vite-plugin-fonts.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain, RenderingEngine subdomain.
What functions are defined in vite-plugin-fonts.ts?
vite-plugin-fonts.ts defines 1 function(s): fontsPlugin.
What does vite-plugin-fonts.ts depend on?
vite-plugin-fonts.ts imports 39 module(s): ../../src/assets/fonts/types.js, ../core/csp/common.js, ../core/encryption.js, ../core/errors/index.js, ../core/logger/core.js, ../core/messages.js, ../core/path.js, ../errors/dev/utils.js, and 31 more.
Where is vite-plugin-fonts.ts in the architecture?
vite-plugin-fonts.ts is located at packages/astro/src/assets/fonts/vite-plugin-fonts.ts (domain: CoreAstro, subdomain: RenderingEngine, directory: packages/astro/src/assets/fonts).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free