astro
Version:
Astro is a modern site builder with web best practices, performance, and DX front-of-mind.
45 lines (44 loc) • 2.17 kB
TypeScript
import type { AstroConfig } from '../../../types/public/config.js';
export interface ConfigValidationIssue {
message: string;
path: (string | number)[];
}
type I18nConfig = NonNullable<AstroConfig['i18n']>;
/**
* Validates that `build.assetsPrefix`, when specified as an object, includes a `fallback` key.
*/
export declare function validateAssetsPrefix(config: Pick<AstroConfig, 'build'>): ConfigValidationIssue[];
/**
* Validates that remote pattern wildcards are only at the start of hostnames
* and at the end of pathnames.
*/
export declare function validateRemotePatterns(remotePatterns: AstroConfig['image']['remotePatterns']): ConfigValidationIssue[];
/**
* Validates that `redirectToDefaultLocale` is not `true` when
* `prefixDefaultLocale` is `false`, which would cause infinite redirects.
*/
export declare function validateI18nRedirectToDefaultLocale(i18n: AstroConfig['i18n']): ConfigValidationIssue[];
/**
* Validates that `outDir` is not inside `publicDir`, which would cause an infinite loop.
*/
export declare function validateOutDirNotInPublicDir(outDir: AstroConfig['outDir'], publicDir: AstroConfig['publicDir']): ConfigValidationIssue[];
/**
* Validates that the default locale is present in the locales array.
*/
export declare function validateI18nDefaultLocale(i18n: Pick<I18nConfig, 'defaultLocale' | 'locales'>): ConfigValidationIssue[];
/**
* Validates i18n fallback entries: keys and values must exist in locales,
* and the default locale cannot be used as a key.
*/
export declare function validateI18nFallback(i18n: Pick<I18nConfig, 'defaultLocale' | 'locales' | 'fallback'>): ConfigValidationIssue[];
/**
* Validates i18n domain entries: locale keys must exist, domain values must be
* valid origin URLs, site must be set, and output must be 'server'.
*/
export declare function validateI18nDomains(config: Pick<AstroConfig, 'site' | 'output' | 'i18n'>): ConfigValidationIssue[];
/**
* Validates that font `cssVariable` values start with `--` and don't contain
* spaces or colons.
*/
export declare function validateFontsCssVariables(fonts: NonNullable<AstroConfig['fonts']>): ConfigValidationIssue[];
export {};