Fix autoloader load order issue when including Sage 9 via composer.json in Bedrock #1628
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.
The Composer Autoloader has issues with the "files" directive in composer.json when Sage 9 is included as a package in a Bedrock project via the root composer.json.
After diagnosing, I don't see a way the "files" directive can be used in the Sage composer.json and not cause issues with load order. The root composer package (in Bedrock) will see the files directive in the package and automatically attempt to load prior to WordPress.
psr-4 autoloading for Roots\Sage should still work fine in this scenario since these are lazy-loaded.
I've moved the offending 4 files from autoloader back into functions.php the way they were in Sage 8. I'm not sure if there is a more clever way to do this, but it fixes the issue.