Expand the ExternalScripts functionality to support global attributes including data-*#495
Open
metalix2 wants to merge 4 commits intosergiodxa:mainfrom
Open
Expand the ExternalScripts functionality to support global attributes including data-*#495metalix2 wants to merge 4 commits intosergiodxa:mainfrom
metalix2 wants to merge 4 commits intosergiodxa:mainfrom
Conversation
metalix2
commented
May 8, 2025
| let startsHydrated = React.useRef(isHydrated); | ||
|
|
||
| // biome-ignore lint/correctness/useExhaustiveDependencies: for small objects using JSON.stringify shouldn't impact performance. We also can't explicitly declare each possible global attribute especially data-* attributes. | ||
| const memoizedGlobal = React.useMemo( |
Author
|
Any thoughts on this proposal? I could reduce it down to support just the |
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.
Description
This PR is to solve issue #309
This provides support for the global attributes which could be attached the Script tag.
I've included all of them but happy to remove uncommon ones.
I've left inline comments in to explain the types and code. I've removed
idas it's a global attribute and included it with the rest of optional global attributes which will be spread on to the Reactscripttag or set withsetAttributeon hydrate.Let me know your thoughts. Open to suggestions.
Though typescript will complain it will still let invalid attributes through as folks can choose to ignore the unsupported attributes.
Screenshots
Type Assertion working

Render Examples

