Skip to content

build: upgrade react-markdown to v10 - #109

Closed
agentHits wants to merge 1 commit into
AgentHits-Devfrom
build/react-markdown-v10
Closed

agentHits wants to merge 1 commit into
AgentHits-Devfrom
build/react-markdown-v10

Conversation

@agentHits

Copy link
Copy Markdown
Collaborator

Зачем

Волна 3 мажорных обновлений UI-библиотек (одобрено 2026-10-27): перевести react-markdown на актуальную мажорную ветку.

Что изменилось

  • react-markdown ^9.1.0 → ^10.1.0 (10.1.0 опубликован 2025-03-07) в apps/dokploy/package.json, bun.lock.
  • Код не менялся. Компонент используется в трёх местах, везде без пропсов, классы уже на обёртке <div>:
    • apps/dokploy/components/dashboard/docker/logs/analyze-logs.tsx
    • apps/dokploy/components/dashboard/project/ai/step-two.tsx
    • apps/dokploy/components/dashboard/project/ai/step-three.tsx
  • Из release notes:
    • 10.0.0 удалил только проп className, а он у нас не используется;
    • 10.0.1 ускорил типы components в TypeScript;
    • 10.1.0 добавил проп fallback и исправил гонку в MarkdownHooks, мы его не используем.
  • Зависимости пакета (unified 11, remark-parse/remark-rehype 11, hast-util-to-jsx-runtime 2) такие же, как в 9.1.0. Плагинов, components и urlTransform у нас нет.

Проверки

  • bun run typecheck: ок во всех workspace.
  • bunx biome check apps/dokploy/package.json: ок.
  • bun audit --audit-level=moderate: уязвимостей нет.
  • Отдельный скрипт вне репозитория отрендерил один и тот же markdown через v9.1.0 и v10.1.0 (renderToStaticMarkup). HTML совпадает байт в байт. В образце были заголовки, списки, код, цитата, ссылки (включая javascript:, она в обеих версиях вырезается в href=""), картинка, сырой HTML (экранируется) и undefined вместо текста (пустой вывод).
  • Тестов на эти компоненты нет. next build локально не запускался, его проверит CI.

Что проверить вручную на dev

  • Логи контейнера → анализ логов AI: ответ отображается отформатированным (заголовки, списки, код), стили prose на месте.
  • Мастер AI-шаблона: на шаге 2 описание варианта в аккордеоне Description и на шаге 3 блок Description отображаются отформатированным markdown.

🤖 Generated with Claude Code

Что: react-markdown ^9.1.0 -> ^10.1.0 в apps/dokploy. Код не менялся: все три
места (analyze-logs.tsx, ai/step-two.tsx, ai/step-three.tsx) рендерят
<ReactMarkdown> без пропсов, классы уже висят на обёртке-div.

Зачем: волна 3 мажорных обновлений UI-библиотек. В 10.0.0 удалён только
проп className, 10.0.1 ускоряет типы components, 10.1.0 правит MarkdownHooks.
Зависимости пакета (unified 11, remark-parse/remark-rehype 11) те же, что в 9.1.0.

Риски: минимальные. className не используется; плагинов, components и
urlTransform нет. HTML для одного и того же markdown в 9.1.0 и 10.1.0
совпадает байт в байт.

Проверки: bun run typecheck - ок; bunx biome check apps/dokploy/package.json - ок;
bun audit --audit-level=moderate - уязвимостей нет; сравнение
renderToStaticMarkup v9/v10 - идентично. Тестов на эти компоненты нет,
next build локально не запускался.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@agentHits

Copy link
Copy Markdown
Collaborator Author

Влито в составе #112 одним PR, чтобы вся третья волна вышла одной версией. Этот PR закрываю без слияния, его коммит есть в #112.

@agentHits agentHits closed this Oct 27, 2026
@agentHits
agentHits deleted the build/react-markdown-v10 branch October 27, 2026 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant