Remove Fractal - #2523
Open
lancepioch wants to merge 1 commit into
Open
Conversation
lancepioch
marked this pull request as ready for review
August 18, 2026 05:51
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
lancepioch
force-pushed
the
api/fractal-teardown
branch
from
August 18, 2026 12:47
8675649 to
a895544
Compare
lancepioch
force-pushed
the
api/fractal-teardown
branch
from
August 18, 2026 12:50
a895544 to
749034b
Compare
lancepioch
force-pushed
the
api/fractal-teardown
branch
2 times, most recently
from
August 18, 2026 13:21
f047b9b to
f67b060
Compare
lancepioch
force-pushed
the
api/fractal-teardown
branch
from
August 18, 2026 13:33
f67b060 to
f6440a1
Compare
lancepioch
force-pushed
the
api/fractal-teardown
branch
from
August 21, 2026 13:21
f6440a1 to
9349e21
Compare
lancepioch
force-pushed
the
api/fractal-teardown
branch
2 times, most recently
from
August 21, 2026 17:01
0ecbc9e to
31643bb
Compare
Removes app/Transformers, the custom Fractal wrapper and PanelSerializer, the config file, and the three Fractal specific Scramble extensions, and drops spatie/laravel-fractal from composer. A new PanelResponseTypeInfer extension documents PanelResponse endpoints instead, deriving attribute schemas from the Data class properties including MapOutputName renames and Optional keys, and reproducing the envelope, pagination, and addMeta shapes the old extension modeled. Test helpers that compared responses against transformer output now build their expected attributes through the Data classes, the same path the envelope takes in production. The contract freeze suite passes untouched, the full Integration and Unit suites are green, and ApiDocumentationTest passes against the new inference.
lancepioch
force-pushed
the
api/fractal-teardown
branch
from
August 21, 2026 17:10
31643bb to
83acf73
Compare
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.
Top of the API freeze stack, on #2521. With every endpoint rendering through the laravel-data layer, this deletes what nothing uses anymore: the 31 transformer classes, the custom Fractal wrapper and PanelSerializer, config/fractal.php, and the spatie/laravel-fractal dependency along with its league/fractal chain. The three Fractal-specific Scramble extensions are replaced by a single PanelResponseTypeInfer that follows the PanelResponse fluent chain and derives attribute schemas from the Data class properties, including MapOutputName renames, nullable and Optional keys, enum backing types, and the same envelope, pagination, and addMeta shapes as before. Test helpers that compared endpoint JSON against transformer output now build expected attributes through the Data classes, which is the same container path the envelope takes in production.
The test fixture suite passes with zero snapshot changes, the full Integration and Unit suites are green, and ApiDocumentationTest passes against the new inference. One known spec softening: array-shaped fields like limits document as generic arrays rather than keyed objects, since the reflection does not parse array-shape docblocks; the old extension occasionally did better there and that is the upgrade path if it matters.