Repository: withastro/astro
File: packages/astro/src/core/errors/errors-data.ts (TypeScript)

Code before:
} satisfies ErrorData;

/**
 * @docs
 * @description
 * A local font file referenced in your Astro config has been deleted. Restore the file or update your Astro config.
 */
export const DeletedLocalFont = {
	name: 'DeletedLocalFont',
	title: 'A local font has been deleted',
	message: 'A local font file referenced in your config has been deleted.',
	hint: 'Restore the file or update your config.',
} satisfies ErrorData;

/**
 * @docs
 * @description
 * Cannot load font provider
 * @message
 * An error occured while loading the given provider. Open an issue on the corresponding repository.
 */
export const CannotLoadFontProvider = {
	name: 'CannotLoadFontProvider',
	title: 'Cannot load font provider',
	message: (provider: string) => `An error occured while loading the "${provider}" provider.`,
	hint: 'Open an issue on the corresponding repository.',
} satisfies ErrorData;

/**
 * @docs
 * @description
 * Font component is used but experimental fonts have not been registered in the config.
 */
export const ExperimentalFontsNotEnabled = {
	name: 'ExperimentalFontsNotEnabled',
	title: 'Experimental fonts are not enabled',
	message:
		'Font component is used but experimental fonts have not been registered in the config.',
	hint: 'See TODO:',
} satisfies ErrorData;

export const FontFamilyNotFound = {
	name: 'FontFamilyNotFound',
	title: 'Font family not found',
	message: (family: string) => `No data was found for the "${family}" family.`,
	hint: 'Review your config family names.',
} satisfies ErrorData;

/**
 * @docs
 * @kind heading

Review comment (suggestion):
```suggestion
	hint: 'This is an issue with the font provider. Please open an issue on their repository.',
```
The hint is the perfect place to "let people in" on what's happening.

Code after:
} satisfies ErrorData;

/**
 * @docs
 * @description
 * A local font file referenced in your Astro config has been deleted. Restore the file or update your Astro config.
 */
export const DeletedLocalFont = {
	name: 'DeletedLocalFont',
	title: 'A local font has been deleted',
	message: 'A local font file referenced in your config has been deleted.',
	hint: 'Restore the file or remove this font from your configuration if it is no longer needed.',
} satisfies ErrorData;

/**
 * @docs
 * @description
 * Cannot load font provider
 * @message
 * Astro is unable to load the given font provider. Open an issue on the corresponding provider's repository.
 */
export const CannotLoadFontProvider = {
	name: 'CannotLoadFontProvider',
	title: 'Cannot load font provider',
	message: (provider: string) => `An error occured while loading the "${provider}" provider.`,
	hint: 'This is an issue with the font provider. Please open an issue on their repository.',
} satisfies ErrorData;

/**
 * @docs
 * @description
 * Font component is used but experimental fonts have not been registered in the config.
 */
export const ExperimentalFontsNotEnabled = {
	name: 'ExperimentalFontsNotEnabled',
	title: 'Experimental fonts are not enabled',
	message:
		'The Font component is used but experimental fonts have not been registered in the config.',
	hint: 'See TODO:',
} satisfies ErrorData;

export const FontFamilyNotFound = {
	name: 'FontFamilyNotFound',
	title: 'Font family not found',
	message: (family: string) => `No data was found for the "${family}" family.`,
	hint: 'This is often caused by a typo in the "family" property of the Font component. Review your component usage.',
} satisfies ErrorData;

/**
 * @docs
 * @kind heading