Repository navigation
refactor: keep typed meta free of Laravel before it becomes a package - #488
Merged
Merged
Conversation
MetaUiDrivers and MetaAccessor::extend() take a PSR-11 container, the key of a data object's property comes from Naming::snake(), the conformance suite builds drivers with its own container, and what needs Laravel (provider, validator, doctor check, commands) moves to Pollora\Meta\Infrastructure\Laravel. Pages, REST responses and command outputs of pollora-test are identical to the references taken before.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Step 1 of the extraction of
pollora/meta(plan:.claude/plans/meta-roles-bindings-packages.mdin pollora-test).MetaUiDrivers,MetaAccessor::extend(): PSR-11ContainerInterfaceinstead of Laravel'sContainer(get()autowires under Laravel, so a driver given by class name is built as before; a closure receives the same container object).MetaSchemaBuilder:Naming::snake()from pollora/attributes (same result asStr::snake(), as its docblock says) instead ofStr.MetaUiDriverConformancebuilds drivers with its own tiny PSR-11 container (InstantiatingContainer), no Illuminate.Pollora\Meta\Infrastructure\Laravel: provider,LaravelMetaValidator,TypedMetaCheck, the two commands. These stay in the framework when the package is extracted.surface.jsonregenerated: the diff is exactly the moved classes and the container type.Checked: contract tests and Meta unit tests green, PHPStan clean, Rector + Pint; the 28 captures of pollora-test (pages, REST, bindings, editor data, artisan outputs, roles, doctor) are identical to the references taken before the change.