Skip to content

Add unified config system#89

Open
pierredup wants to merge 5 commits intomainfrom
unified-config-system
Open

Add unified config system#89
pierredup wants to merge 5 commits intomainfrom
unified-config-system

Conversation

@pierredup
Copy link
Member

No description provided.

@pierredup pierredup self-assigned this Mar 17, 2026
@pierredup pierredup added the enhancement New feature or request label Mar 17, 2026
Extract TreeBuilder definitions from DI extensions into dedicated
Configuration classes (PlatformConfiguration, SaasConfiguration,
UiConfiguration) that implement PlatformConfigurationInterface.

SchemaGenerator collects all tagged PlatformConfigurationInterface
services and dynamically traverses their NodeInterface trees to
produce a JSON Schema, so any future config additions are picked up
automatically without touching the command or schema file.

GenerateSchemaCommand now extends the platform Command base class and
delegates schema building to SchemaGenerator.

Also reverts PlanRepository::find() signature to remove Doctrine
LockMode type hints added by Rector, pending downstream updates.
- Add SchemaGeneratorInterface so GenerateSchemaCommand can depend on an interface (SchemaGenerator is final readonly and cannot be mocked)
- Fix ScalarNode/VariableNode match order in SchemaGenerator (ScalarNode extends VariableNode, must be checked first)
- Add #[Override] to SchemaGenerator::generate() now that it implements the interface
- Revert PlanRepository::find() to use proper LockMode type hints after Rector changes
- Add comprehensive unit tests for PlatformConfiguration, SaasConfiguration, UiConfiguration, SchemaGenerator, and GenerateSchemaCommand
- Update PHPStan baseline to cover unavoidable mixed-array-access errors in test files (Symfony Processor returns mixed)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant