프론트엔드 뉴스레터
#03
이번 이슈 한눈에
- Redact 0.1: React API를 제공하지만 concurrent rendering은 생략
- Panda CSS 2.0: 파일마다 한 번 파싱하는 Oxc 기반 컴파일러
- Dart Sass 2: 대부분의 deprecation 경고가 오류로 변경
- Cloudflare BEACON: 브라우저별 실제 사용자 성능 데이터 공개
- 01
github.com
Redact 0.1, React의 렌더링을 동기로 실행해요
원문 읽기 ↗Redact 0.1은 React의 컴포넌트와 hooks API를 유지하면서 concurrent scheduling 없이 동기로 렌더링해요. Vite plugin이 React·DOM·JSX entry point를 바꾸므로 앱의 import는 그대로 둘 수 있습니다.
다만 같은 API가 같은 동작을 보장하지는 않아요.
startTransition()과useTransition()도 동기로 실행되며 pending은 계속false이고,useDeferredValue()는 입력값을 그대로 반환합니다.useActionState()의 dispatch와useOptimistic()의 setter는 no-op입니다. 해당 기능에 의존하는 코드는 그대로 옮길 수 없어요.- RSC 환경은 실제 React를 유지하며, Server Component 직렬화는
@vitejs/plugin-rsc가 맡습니다.
- 02
panda-css.com
Panda CSS 2.0, 여러 도구의 중복 파싱을 없앴어요
원문 읽기 ↗Panda CSS 2.0은 ts-morph 기반 컴파일러를 Oxc 기반 Rust 엔진으로 바꿨어요. 여러 도구가 같은 파일을 따로 파싱하던 구조에서, 파일당 한 번 만든 파싱 결과를 import 분석·
css()호출·JSX 처리에 함께 사용합니다.css()와 recipes 같은 작성 API는 유지돼요. 디자인 시스템을panda lib로 패키징하고 앱의designSystem설정으로 가져오면, 소비하는 앱에서 라이브러리 소스를 다시 분석하지 않아도 됩니다.- Node.js 22 이상과 ESM 프로젝트가 필요해요. 모든
@pandacss/*패키지는 v2로 맞춰야 합니다. - 루트의
hooks중 유지된 hook은plugins에 등록한 plugin의hooksmap으로 옮겨야 해요. 각 hook에 함수를 직접 지정하거나, 실행 대상을 제한할 때{ filter, handler }형식을 쓸 수 있습니다. 내부 hook 일부는 제거됐고,cssgen:done은 생성된 CSS를 읽기만 할 수 있어요. 반환값으로 CSS 문자열을 바꿀 수는 없습니다.
- Node.js 22 이상과 ESM 프로젝트가 필요해요. 모든
- 03
sass-lang.com
Dart Sass 2, 경고를 오류로 바꾸고 나눗셈을 구분해요
원문 읽기 ↗Dart Sass 팀은 2026년 12월을 목표로 2.0을 준비하고 있어요. 1.x의 대부분의 deprecation 경고가 컴파일 오류로 바뀝니다.
/도 나눗셈 대신 slash로 구분한 목록을 만들게 되므로, 나눗셈은math.div()를 쓰거나calc()안에서 처리해야 해요.@import와 관련된import·global-builtin·color-module-compat경고, 기존 Sassif()문법은 2에서도 유지됩니다. 제거는 Sass 3으로 미뤘어요.- 1.105.0 이후 추가한 deprecation은 이번 오류 전환 대상에서 제외합니다.
- 04
blog.cloudflare.com
BEACON, LCP가 늦어진 구간까지 공개해요
원문 읽기 ↗Cloudflare가 9월 28일 공개한 BEACON은 자사 네트워크의 대형 사이트 1만 곳에서 수집한 실제 사용자 성능 데이터를 BigQuery에 매일 갱신해요. Chrome뿐 아니라 Safari/WebKit 등 주요 브라우저 엔진을 포함하고, Core Web Vitals를 평균 대신 분포로 제공해 p75 밖의 느린 경험도 살펴볼 수 있습니다.
LCP는 HTML 응답 대기, 리소스 발견 지연, 다운로드, 렌더링 지연으로 나눠 볼 수 있어요. 공개한 분석에서는 ‘Good’ 기준을 넘긴 대부분의 페이지 방문에서 다운로드 자체보다 LCP 리소스를 발견하고 화면에 그리기까지의 지연이 더 큰 개선 여지로 나타났습니다.