feat: pass in additional attributes for script tags #2816
Merged
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/Why?
This PR enhances the
scripts-transformer.tsto properly handle HTML attributes from BigCommerce script tags beyond justsrcattributes.What Changed
extractAttributes()function that parses and extracts all HTML attributes from script tags (e.g.,async,defer,data-*,crossorigin)extractScriptInfo()to preserve additional attributes when transforming scriptsWhy This Matters
Previously, the transformer only extracted
srcand inline content from BigCommerce script tags, losing important attributes likeasync,defer, or custom data attributes. This caused scripts to lose their intended loading behavior and metadata during transformation.Technical Details:
extractAttributes()function uses regex to parse the opening<script>tagasync,defer) and key-value attributes (e.g.,data-category="analytics")srcattribute is explicitly excluded since it's already handled separatelyTesting
Migration
Rebase the
scripts-transformer.tsfile.