terminal
Weekly Digest // JS_FRAMEWORKS — Week 6-2026
codeWeekly Report

ESLint v10.0.0 출시 - ESLint - 플러그형 JavaScript 린터 — 2026년 6주 자바스크립트

JS frameworks, React/Vue/Svelte, and runtime updates

calendar_todaysummarizeWeek 6-2026
릴리스

ESLint v10.0.0 출시 - ESLint - 플러그형 JavaScript 린터

ESLint v10.0.0은 레거시 eslintrc 설정 시스템을 완전히 제거한 주요 릴리스입니다. .eslintrc.* 파일, .eslintignore, --env, --rulesdir 등의 CLI 플래그가 모두 삭제되었으며, /* eslint-env */ 주석은 이제 오류로 보고됩니다. 새로운 설정 파일 탐색 알고리즘은 현재 작업 디렉터리가 아닌 각 린팅 대상 파일의 디렉터리에서 시작하여 모노레포 환경에서 복수의 설정 파일을 활용할 수 있습니다. JSX 식별자가 이제 스코프 참조로 올바르게 추적되어 no-unused-vars의 오탐지 및 no-undef의 미탐지 문제가 해결됩니다. RuleTester에는 requireMessage, requireLocation, requireData 어설션 옵션이 추가되었고, Espree v11.1.0ESLint Scope v9.1.0은 이제 내장 TypeScript 타입 정의를 포함합니다. 지원 Node.js 범위는 ^20.19.0 || ^22.13.0 || >=24로 좁혀졌습니다.

ESLint v10.0.0 출시 - ESLint - 플러그형 JavaScript 린터
Read Articlearrow_forward
Video · 의견50:59

웹 플랫폼에는 무엇이 빠져 있을까?

Wes Bos와 Scott Tolinski가 현대 웹 플랫폼의 빈틈을 DOM 프리미티브, JavaScript 문법, 브라우저 API, CSS 네 가지 영역에서 짚어 봅니다. 프리미티브 측면에서는 새롭게 출시된 커스터마이저블 <select>, Open UI에서 개발 중인 combo box, 네이티브 탭, 스타일 가능한 파일 업로드/토글 입력 등을 다룹니다. JavaScript에서는 3년째 업데이트가 없는 Stage 2 파이프 연산자와 "types as comments" 제안을 논의합니다. 필요한 브라우저 API로는 다크 패턴 쿠키 배너를 대체할 쿠키 동의 API, document.getElementByText(), 네이티브 CRDT 동기화 프로토콜, 온디바이스 모델을 활용하는 로컬 AI 접근 API 등을 꼽습니다. CSS 위시리스트에는 픽셀/초 단위 애니메이션 속도 지정과 하위 호환성 부채를 없애는 "CSS strict mode"가 포함됩니다.

AI_INFOGRAPHIC
웹 플랫폼에는 무엇이 빠져 있을까? — infographicWATCH_VIDEOarrow_forward
Article · 릴리스READ TIME: 5m

Deno Deploy 정식 출시 | Deno

Deno Deploy가 정식 출시(GA)되었습니다. SvelteKit, Next.js, Astro 등 주요 JavaScript/TypeScript 프레임워크를 자동으로 감지하여 프레임워크별 빌드 명령을 실행하는 제로 설정 지속적 배포를 제공합니다. GitHub Pull Request마다 격리된 프리뷰 환경과 전용 데이터베이스가 자동으로 생성되며, 새로운 `deno deploy` CLI 서브커맨드로 터미널에서 빠르게 배포할 수 있습니다. 데이터베이스 지원은 Deno KV에서 Postgres로 확장되었으며, Prisma 파트너십을 통해 무료로 프로비저닝할 수 있습니다. `--tunnel` 플래그를 사용하면 로컬에서 개발하면서 Deploy의 환경 변수를 자동으로 가져오고 공개 URL을 즉시 공유할 수 있습니다. 무료 플랜은 월 100만 건의 요청, 100GB 이그레스, 15 CPU 시간을 포함합니다.

READ_FULL_LOGarrow_forward
Article · 심층 분석READ TIME: 4m

JavaScript의 명시적 리소스 관리 - Matt Smith

JavaScript의 새로운 명시적 리소스 관리(Explicit Resource Management) 제안은 using(동기) 및 await using(비동기) 두 키워드를 통해 C#·Rust 방식의 결정적 정리(cleanup)를 언어 수준에서 제공합니다. 리소스는 Symbol.dispose 또는 Symbol.asyncDispose를 구현하여 기능을 활성화하고, 정리는 제어 흐름이 아닌 렉시컬 스코프에 연결됩니다. using 선언이 스코프를 벗어나면 예외 발생 여부와 관계없이 선언 역순으로 자동 정리가 실행됩니다. 여러 리소스를 중첩된 try/finally 블록 없이 깔끔하게 처리할 수 있으며, 블록 스코프에 맞지 않는 경우에는 DisposableStackAsyncDisposableStack이 대안을 제공합니다. 2026년 초 기준 Chrome 123+, Firefox 119+, Node.js 20.9+에서 지원되며 Safari 지원은 아직 대기 중입니다.

READ_FULL_LOGarrow_forward
Article · 릴리스READ TIME: 8m

Bun v1.3.9

Bun v1.3.9에서는 bun run --parallelbun run --sequential 명령을 통해 여러 package.json 스크립트를 동시에 또는 순서대로 실행할 수 있으며, Foreman 스타일의 접두사 출력과 --filter/--workspaces 통합을 지원합니다. bun:testmock()spyOn()이 이제 Symbol.dispose를 구현하여 using 키워드로 스코프 종료 시 자동으로 목을 복원합니다. fetch()new WebSocket()에 명시적으로 proxy 옵션을 전달한 경우에도 NO_PROXY 환경 변수가 이제 올바르게 적용됩니다. --bytecode --format=esm을 통한 ESM 바이트코드 컴파일도 지원됩니다. 성능 면에서는 Bun.Markdown 렌더링이 SIMD 기반 스캔으로 3~15% 빨라졌고, JavaScriptCore에서 RegExp SIMD 가속, 고정 횟수 괄호 패턴 JIT 컴파일(약 3.9배 향상), String#startsWith DFG/FTL 인트린식(최대 5.76배) 등이 추가되었습니다.

READ_FULL_LOGarrow_forward
Article · 튜토리얼READ TIME: 13m

use(): (의도적으로) 규칙을 깨는 훅

Sascha Becker의 이 심층 분석 글은 React 19use() 훅이 어떻게 useState·useEffect·취소 플래그 조합의 상용구 데이터 패칭을 대체하는지 설명합니다. use()는 렌더 타임에 Promise를 직접 읽어 로딩·오류 상태를 <Suspense><ErrorBoundary>에 위임합니다. 다른 모든 훅과 달리 조건문·반복문 안에서도 호출할 수 있으며, React의 린터가 이 예외를 인식합니다. 핵심 주의점은 컴포넌트 내부에서 직접 use(fetchUser(id))를 호출하면 렌더마다 새 Promise가 생성되어 무한 Suspense 루프가 발생한다는 것입니다. 이를 해결하려면 Server Component에서 stable한 promise 참조를 전달하거나 모듈 레벨의 Map 캐시를 사용해야 합니다. 서버 측 중복 제거를 위한 React의 cache() 함수, 복잡한 클라이언트 상태를 위한 TanStack Query 등 네 가지 안정화 전략도 비교 분석합니다.

READ_FULL_LOGarrow_forward
Article · 가이드READ TIME: 9m

2026 로드맵 | webpack

webpack의 Technical Steering Committee가 2026년 로드맵을 공개했습니다. 기존 `experimental.css` 옵션을 통한 네이티브 CSS Modules 지원이 2~3월 webpack 코어에 통합될 예정이며, webpack 6에서는 더 이상 실험적 기능이 아니게 되어 `mini-css-extract-plugin`이 불필요해집니다. 순수 ESM을 출력하여 Node.js, Deno, Bun, 브라우저 등 다양한 런타임에서 실행 가능한 새로운 `universal` 타겟도 개발 중입니다. `ts-loader` 없이 TypeScript를 직접 트랜스파일하는 기능, HTML 엔트리포인트의 코어 통합(`html-webpack-plugin` 불필요화)도 계획되어 있습니다. Rspack에서 영감을 받은 lazy barrel 최적화 도입도 검토 중이며, 4개의 미니마이저 플러그인을 단일 `minimizer-webpack-plugin`으로 통합하고 `thread-loader`에서 영감을 받은 공식 Multithreading API 탐색도 진행됩니다.

READ_FULL_LOGarrow_forward
summarizeDigest_Summary

이번 주 JavaScript 툴링 생태계에서는 두 건의 주요 릴리스가 있었습니다. ESLint v10.0.0은 레거시 eslintrc 설정 시스템을 완전히 제거했습니다. .eslintrc.* 파일과 .eslintignore, 관련 CLI 플래그가 모두 사라지고, 파일 근접성 기반의 설정 탐색으로 대체되어 모노레포 환경을 진정한 의미에서 지원합니다. JSX 스코프 추적 버그도 드디어 수정되어 no-unused-vars의 수년간 이어진 오탐지가 해소되었습니다. 한편 Deno Deploy가 정식 출시(GA)되며 제로 설정 프레임워크 자동 감지, PR별 격리된 Postgres 기반 프리뷰 환경, 월 100만 건 요청의 무료 플랜을 제공합니다.

릴리스 외에도 Bun v1.3.9는 SIMD 기반 Markdown 렌더링 가속과 JIT 인트린식을 통한 String#startsWith 최대 5.76배 속도 향상 등 상당한 성능 개선을 이루었고, bun:test에서 모크 자동 복원을 위한 using 키워드도 지원합니다. webpack TSC는 네이티브 CSS Modules 지원, universal ESM 출력 타겟, 내장 TypeScript 트랜스파일러 등을 예고하는 2026년 로드맵을 공개했습니다. 언어 측면에서는 Explicit Resource Management 제안에 대한 심층 분석이 usingawait using 키워드가 파일 핸들, 락, Web Streams에 스코프 기반 결정적 정리를 제공하는 방식을 보여주었습니다.

React 19use() 훅도 주목을 받았습니다. 이 훅은 렌더 타임에 Promise를 직접 읽어 로딩·오류 상태를 SuspenseErrorBoundary에 위임하지만, 렌더마다 새 Promise를 생성하면 무한 Suspense 루프가 발생합니다. Syntax 팟캐스트는 쿠키 동의 API부터 Stage 2에 멈춰 있는 파이프 연산자까지 웹 플랫폼에 여전히 부족한 것들을 솔직하게 점검하며 한 주를 마무리했습니다.

Key Takeaways
  • ESLint v10은 eslintrc 설정 시스템을 영구 제거합니다. 지금 바로 flat config로 마이그레이션하지 않으면 업그레이드가 막힙니다.
  • Deno Deploy GA는 PR별 격리된 Postgres 환경과 제로 설정, 넉넉한 무료 플랜으로 Vercel·Netlify에 필적하는 선택지가 되었습니다.
  • React 19의 use() 훅은 데이터 패칭 상용구를 없애 주지만, 렌더마다 새 Promise를 생성하면 무한 Suspense 루프가 발생하므로 반드시 안정된 참조를 전달해야 합니다.