refactor!: remove allowLocalizedWithinLocalized compat flag and PAYLOAD_DO_NOT_SANITIZE_LOCALIZED_PROPERTY env var#16693
Open
AlessioGr wants to merge 1 commit into
Open
refactor!: remove allowLocalizedWithinLocalized compat flag and PAYLOAD_DO_NOT_SANITIZE_LOCALIZED_PROPERTY env var#16693AlessioGr wants to merge 1 commit into
AlessioGr wants to merge 1 commit into
Conversation
Contributor
📦 esbuild Bundle Analysis for payloadThis analysis was generated by esbuild-bundle-analyzer. 🤖
Largest pathsThese visualization shows top 20 largest paths in the bundle.Meta file: packages/next/meta_index.json, Out file: esbuild/index.js
Meta file: packages/payload/meta_index.json, Out file: esbuild/index.js
Meta file: packages/payload/meta_shared.json, Out file: esbuild/exports/shared.js
Meta file: packages/richtext-lexical/meta_client.json, Out file: esbuild/exports/client_optimized/index.js
Meta file: packages/ui/meta_client.json, Out file: esbuild/exports/client_optimized/index.js
Meta file: packages/ui/meta_shared.json, Out file: esbuild/exports/shared_optimized/index.js
DetailsNext to the size is how much the size has increased or decreased compared with the base branch of this PR.
|
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.
BREAKING
Removes
config.compatibility.allowLocalizedWithinLocalizedand thePAYLOAD_DO_NOT_SANITIZE_LOCALIZED_PROPERTYenv var. Sanitize no longer stripslocalized: truefrom fields nested under a localized parent -fieldShouldBeLocalizeddecides this at runtime instead.Who is affected:
compatibility: { allowLocalizedWithinLocalized: true }localized: truenested under a localized parent - end behavior is unchanged (Payload's own code already usesfieldShouldBeLocalized), butfield.localizedis no longer being deleted. Custom plugin/hook code that readsfield.localizeddirectly will now seetruewhere it previously sawundefined.How to migrate:
compatibilityblock from your config. If your Mongo data still has the redundant nested-localized shape, flatten the config and run a data migrationfield.localizedreads in custom code withfieldShouldBeLocalized({ field, parentIsLocalized })frompayload/shared.Why these existed
allowLocalizedWithinLocalized(#7933) was an opt-out for the new auto-stripping behavior, aimed at pre-3.0 Mongo users with data already written under nested-localized configs. Always marked for removal in 4.0.PAYLOAD_DO_NOT_SANITIZE_LOCALIZED_PROPERTYexisted because of block references. Blocks defined at the top of the config can be referenced from both localized and non-localized parents, but sanitize visits each block only once (_sanitized = true), so whichever parent it sees first locks in the wrong answer for the other. #11207 fixed this by moving the check to runtime viafieldShouldBeLocalized({ field, parentIsLocalized }).Whether we sanitize the localized properties away or not does not have an impact on this functionality. However, we had to set
PAYLOAD_DO_NOT_SANITIZE_LOCALIZED_PROPERTYin our monorepo to test against sanitization disabled, in order to guarantee correct runtime handling through our tests.Removing
PAYLOAD_DO_NOT_SANITIZE_LOCALIZED_PROPERTYand making it the default behavior ensures that the behavior users will encounter matches what we have and test for in the payload monorepo.