feat: expose EnqueuedAsset.group and EnqueuedScript.location to schema
#3196
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.
What does this implement/fix? Explain your changes.
This PR adds support for exposing the
WP_Dependency->extra['group']field to the Schema. This field is useful for developers trying to imitate WordPress's frontend, and load their assets at the correct point in the rendered document.Cherrypicked from #3169 (with some changes noted below - @kidunot89 see bd1627b)
What's Included
EnqueuedAsset.groupfield, which returns theIntvalue of$asset->extra['group']nullfor fidelity with WordPress, instead of cast to a default0EnqueuedScript.groupLocationfield, which returns aScriptLoadingGroupEnumcorresponding to header/footer scripts. This semantic meaning is for DX simplicity only (WordPress internally usesints).locationtogroupLocationto make it clearer that this is a derived value.Tests (missing from #3169) have been added as well.
Does this close any currently open issues?
Any relevant logs, error output, GraphiQL screenshots, etc?
Any other comments?
This is parceled off from #3169 so it can be reviewed/merged while more investigation continues on the best ways to fix missing assets/dependencies.
Where has this been tested?
Operating System: Ubuntu 20.04 (wsl2+ devilbox + PHP 8.1.14)
WordPress Version: 6.6.1