Home / Function/ validateSupportedFeatures() — astro Function Reference

validateSupportedFeatures() — astro Function Reference

Architecture documentation for the validateSupportedFeatures() function in features-validation.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  782abf1b_a9f1_b386_64da_ed1e69f93e5c["validateSupportedFeatures()"]
  66c4596f_b3a5_daf2_22c7_dc5b1ad0471c["features-validation.ts"]
  782abf1b_a9f1_b386_64da_ed1e69f93e5c -->|defined in| 66c4596f_b3a5_daf2_22c7_dc5b1ad0471c
  594e5c25_43a2_cf6f_9a26_b095b502935e["validateSupportKind()"]
  782abf1b_a9f1_b386_64da_ed1e69f93e5c -->|calls| 594e5c25_43a2_cf6f_9a26_b095b502935e
  style 782abf1b_a9f1_b386_64da_ed1e69f93e5c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/src/integrations/features-validation.ts lines 28–97

export function validateSupportedFeatures(
	adapterName: string,
	featureMap: AstroAdapterFeatureMap,
	settings: AstroSettings,
	logger: Logger,
): ValidationResult {
	const {
		serverOutput = AdapterFeatureStability.UNSUPPORTED,
		staticOutput = AdapterFeatureStability.UNSUPPORTED,
		hybridOutput = AdapterFeatureStability.UNSUPPORTED,
		i18nDomains = AdapterFeatureStability.UNSUPPORTED,
		envGetSecret = AdapterFeatureStability.UNSUPPORTED,
		sharpImageService = AdapterFeatureStability.UNSUPPORTED,
	} = featureMap;
	const validationResult: ValidationResult = {};

	validationResult.staticOutput = validateSupportKind(
		staticOutput,
		adapterName,
		logger,
		'staticOutput',
		() => settings.buildOutput === 'static',
	);

	validationResult.hybridOutput = validateSupportKind(
		hybridOutput,
		adapterName,
		logger,
		'hybridOutput',
		() => settings.config.output == 'static' && settings.buildOutput === 'server',
	);

	validationResult.serverOutput = validateSupportKind(
		serverOutput,
		adapterName,
		logger,
		'serverOutput',
		() => settings.config?.output === 'server' || settings.buildOutput === 'server',
	);

	if (settings.config.i18n?.domains) {
		validationResult.i18nDomains = validateSupportKind(
			i18nDomains,
			adapterName,
			logger,
			'i18nDomains',
			() => {
				return settings.config?.output === 'server' && !settings.config?.site;
			},
		);
	}

	validationResult.envGetSecret = validateSupportKind(
		envGetSecret,
		adapterName,
		logger,
		'astro:env getSecret',
		() => Object.keys(settings.config?.env?.schema ?? {}).length !== 0,
	);

	validationResult.sharpImageService = validateSupportKind(
		sharpImageService,
		adapterName,
		logger,
		'sharp',
		() => settings.config?.image?.service?.entrypoint === 'astro/assets/services/sharp',
	);

	return validationResult;
}

Domain

Subdomains

Frequently Asked Questions

What does validateSupportedFeatures() do?
validateSupportedFeatures() is a function in the astro codebase, defined in packages/astro/src/integrations/features-validation.ts.
Where is validateSupportedFeatures() defined?
validateSupportedFeatures() is defined in packages/astro/src/integrations/features-validation.ts at line 28.
What does validateSupportedFeatures() call?
validateSupportedFeatures() calls 1 function(s): validateSupportKind.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free