UNPKG

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
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 {};