pile·
프론트엔드·vercel-blogVercel Blog·

Streamdown v2 — AI 스트리밍용 react-markdown 대체 라이브러리 플러그인 아키텍처 도입

AI 스트리밍 앱을 위한 react-markdown 대체 라이브러리 Streamdown이 v2에서 플러그인 기반 아키텍처로 전환해 번들 크기를 대폭 줄였다. 코드 블록·Mermaid·수식·동아시아 언어 등을 필요한 플러그인만 임포트해 선택적으로 로드하며, 스트리밍 중 커서 인디케이터와 configurable한 마크다운 힐링 옵션도 추가됐다.

핵심 포인트
  • 플러그인 기반 아키텍처로 전환해 @streamdown/code, @streamdown/mermaid, @streamdown/math, @streamdown/cjk를 필요한 것만 임포트할 수 있다.
  • 스트리밍 콘텐츠 끝에 블링킹 커서 인디케이터를 기본 제공해 콘텐츠 생성 중임을 시각적으로 표시한다.
  • 마크다운 힐링 라이브러리 Remend를 configurable하게 열어 링크·이미지 완성, 볼드·이탤릭, KaTeX, Setext 헤딩 등을 선택적으로 적용할 수 있다.
  • 선택적 로딩으로 이전 버전 대비 번들 풋프린트를 크게 줄였다.
상세 정리
  • 배경: AI 스트리밍 앱에서 react-markdown을 그대로 사용하면 불필요한 플러그인까지 번들에 포함됐다. Streamdown v2는 가장 많이 요청된 번들 크기 축소를 플러그인 아키텍처로 해결했다.
  • @streamdown/code: 코드 블록 렌더링. 소스 코드 하이라이팅을 포함한다.
  • @streamdown/mermaid: Mermaid 다이어그램 렌더링 지원.
  • @streamdown/math: LaTeX/KaTeX 수식 렌더링 지원.
  • @streamdown/cjk: 중국어·일본어·한국어 등 동아시아 언어 처리.
  • 커서 인디케이터: 스트리밍 콘텐츠 끝에 블링킹 텍스트 커서가 표시돼 콘텐츠가 아직 생성 중임을 사용자에게 알린다.
  • Remend configurable: 마크다운 힐링 수준을 직접 조정한다. 링크/이미지 완성, 텍스트 포매팅(볼드·이탤릭·볼드-이탤릭), 인라인 코드·취소선, KaTeX, Setext 헤딩 처리를 각각 켜고 끌 수 있다.
  • 렌더링 정확도 vs 성능: Remend 옵션으로 완전한 마크다운 힐링과 성능 사이의 트레이드오프를 유스케이스에 맞게 조정할 수 있다.
왜 읽나AI 채팅·스트리밍 응답을 마크다운으로 렌더링하는 프론트엔드 개발자에게. 번들 크기를 줄이면서 코드 블록·다이어그램·수식·CJK를 플러그인으로 선택 로드하고 스트리밍 UX를 개선하는 방법을 볼 수 있다.
vercel-blog
Vercel Blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 프론트엔드·LINE EngineeringLINE Engineering·

    AI로 웹 엔지니어 없이 LINE 앱 안에서 그룹 영상 통화 서비스 만들기

    LINE Planet 팀의 PM과 Android 엔지니어 두 명이 웹 전문 엔지니어 없이 LINE 앱 내에서 그룹 영상 통화 서비스를 개발한 과정을 다룬다. LIFF(LINE Front-end Framework)와 LINE Planet SDK를 활용해 React/Vite 기반 웹 앱을 구성했고, Firebase Cloud Functions로 별도 서버 인프라 없이 구현을 완료했다.

    #react#webrtc#firebase+2
  2. 프론트엔드·vercel-blogVercel Blog·

    Vercel과 Shopify의 Hydrogen 전면 재설계

    Vercel과 Shopify가 Hydrogen을 오픈소스·런타임 무관 프레임워크로 전면 재설계했다. 기존 Hydrogen은 빠른 헤드리스 스토어프런트 배포를 지원했지만 플랫폼 종속성이 있었고, 새 버전은 Svelte, Nuxt, Next.js 등 어느 JavaScript 프레임워크에서도 동작한다. 3레이어 아키텍처(코어/클라이언트/서버)로 재구성하면서 각 레이어가 명확한 역할을 분담한다.

    #react#nextjs#i18n+2
  3. 프론트엔드·토스 SLASH토스 SLASH·

    es-toolkit: 사내 소형 라이브러리에서 글로벌 프로젝트로

    토스 프론트엔드 팀이 사내 공유 유틸리티 라이브러리를 발전시켜 만든 es-toolkit이 주간 npm 다운로드 2,000만 건을 넘기며 글로벌 오픈소스 프로젝트로 자리 잡은 과정을 다룬다. lodash의 구조적 한계를 넘어 현대 웹 개발 환경에 최적화된 유틸리티 라이브러리를 처음부터 설계한 경험을 정리한다.

    #lodash#open-source#tree-shaking+2