Skip to content

Conversation

@adamziel
Copy link
Collaborator

@adamziel adamziel commented Sep 22, 2025

What does this PR change?

Flattens the RuntimeConfiguration type used by the Playground website from the previous, nested shape:

{
	preferredVersions?: {
		php: SupportedPHPVersion | 'latest';
		wp: string | 'latest';
	};
	features?: {
		intl?: boolean;
		networking?: boolean;
	};
	extraLibraries?: ExtraLibrary[];
	constants?: PHPConstants;
}

to

export interface RuntimeConfiguration {
	phpVersion: SupportedPHPVersion;
	wpVersion: string;
	intl: boolean;
	networking: boolean;
	extraLibraries: ExtraLibrary[];
	constants: PHPConstants;
}

Why?

The old configuration format is a subset of Blueprint v1 type. Since we're adding support for Blueprints v2, we need a format that will be convenient regardless of the underlying Blueprint version. The nesting made interop more difficult, hence I've flattened the data structure.

A part of #2586.

Testing Instructions (or ideally a Blueprint)

CI

@adamziel adamziel marked this pull request as ready for review September 22, 2025 20:17
@adamziel adamziel merged commit f9d3ad7 into trunk Sep 22, 2025
26 checks passed
@adamziel adamziel deleted the flatten-stored-runtime-configuration-format branch September 22, 2025 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants