diff --git a/.changeset/lazy-ducks-fix.md b/.changeset/lazy-ducks-fix.md new file mode 100644 index 000000000000..36b19eb6f566 --- /dev/null +++ b/.changeset/lazy-ducks-fix.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Adds a terminal warning when a remote provider returns no data for a family when using the experimental fonts API diff --git a/packages/astro/src/assets/fonts/orchestrate.ts b/packages/astro/src/assets/fonts/orchestrate.ts index 5e476712b41e..081b8a9918ad 100644 --- a/packages/astro/src/assets/fonts/orchestrate.ts +++ b/packages/astro/src/assets/fonts/orchestrate.ts @@ -25,6 +25,8 @@ import type { PreloadData, } from './types.js'; import { pickFontFaceProperty, unifontFontFaceDataToProperties } from './utils.js'; +import { bold } from 'kleur/colors'; +import type { Logger } from '../../core/logger/core.js'; /** * Manages how fonts are resolved: @@ -54,6 +56,7 @@ export async function orchestrate({ systemFallbacksProvider, fontMetricsResolver, fontTypeExtractor, + logger, createUrlProxy, defaults, }: { @@ -66,6 +69,8 @@ export async function orchestrate({ systemFallbacksProvider: SystemFallbacksProvider; fontMetricsResolver: FontMetricsResolver; fontTypeExtractor: FontTypeExtractor; + // TODO: follow this implementation: https://github.com/withastro/astro/pull/13756/commits/e30ac2b7082a3eed36225da6e88449890cbcbe6b + logger: Logger; createUrlProxy: (params: CreateUrlProxyParams) => UrlProxy; defaults: Defaults; }): Promise<{ @@ -163,6 +168,12 @@ export async function orchestrate({ // from families (inside extractUnifontProviders). [family.provider.name!], ); + if (result.fonts.length === 0) { + logger.warn( + 'assets', + `No data found for font family ${bold(family.name)}. Review your configuration`, + ); + } // The data returned by the remote provider contains original URLs. We proxy them. fonts = normalizeRemoteFontFaces({ fonts: result.fonts, urlProxy }); } diff --git a/packages/astro/src/assets/fonts/vite-plugin-fonts.ts b/packages/astro/src/assets/fonts/vite-plugin-fonts.ts index a7a404815e8c..6209d88807ab 100644 --- a/packages/astro/src/assets/fonts/vite-plugin-fonts.ts +++ b/packages/astro/src/assets/fonts/vite-plugin-fonts.ts @@ -143,6 +143,7 @@ export function fontsPlugin({ settings, sync, logger }: Options): Plugin { systemFallbacksProvider, fontMetricsResolver, fontTypeExtractor, + logger, createUrlProxy: ({ local, ...params }) => { const dataCollector = createDataCollector(params); const contentResolver = local