chore: switch from isomorphic-dompurify to dompurify #7983
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 replaces
isomorphic-dompurify
with the canonicaldompurify
package in shared utils:packages/utils/src/string.ts
to importDOMPurify
fromdompurify
with identical sanitize options.packages/utils/package.json
todompurify
.apps/web/package.json
(where applicable).pnpm-lock.yaml
to a singledompurify
version.Why:
dompurify
elsewhere for consistency.Impact:
DOMPurify.sanitize
) and the allowed tags configuration is unchanged.Type of Change
Screenshots and Media (if applicable)
N/A
Test Scenarios
Functional:
sanitizeHTML
,stripAndTruncateHTML
, andisEmptyHtmlString
still remove tags and trim text as before.<img src=x onerror=alert(1)>
, inline event handlers, script tags) are removed consistently.Build and Type Checks:
pnpm -w i
pnpm -w -r check:types
pnpm -w -r check:lint
pnpm -w -r build
Regression/Parity:
dompurify
version inpnpm-lock.yaml
.Optional:
pnpm why dompurify
to verify deduplication and thatisomorphic-dompurify
is no longer present.References