Migrate off retired earmark markdown dependency#4886
Draft
midigofrank wants to merge 1 commit into
Draft
Conversation
Replace the direct earmark dependency with mdex for rendering AI assistant message content. earmark is retired and unmaintained; mix hex.audit flags it. mdex node structs cannot hold arbitrary HTML attributes, so per-element Tailwind classes are now injected into the rendered HTML instead of via AST manipulation. Raw HTML passthrough and the raw-content fallback are preserved, and the language- prefix on code blocks is stripped to keep earmark's previous output. earmark remains a dev-only transitive dependency of phoenix_storybook 0.9.2 until that is upgraded to 1.2+ (which requires Phoenix 1.8).
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
Replace the direct earmark dependency with mdex for rendering AI assistant message content. earmark is retired and unmaintained; mix hex.audit flags it.
mdex node structs cannot hold arbitrary HTML attributes, so per-element Tailwind classes are now injected into the rendered HTML instead of via AST manipulation. Raw HTML passthrough and the raw-content fallback are preserved, and the language- prefix on code blocks is stripped to keep earmark's previous output.
Closes #4878
Validation steps
Additional notes for the reviewer
AI Usage
Please disclose whether you've used AI anywhere in this PR (it's cool, we just
want to know!):
You can read more details in our
Responsible AI Policy
Pre-submission checklist
/reviewwith Claude Code)
(e.g.,
:owner,:admin,:editor,:viewer)