피드로 돌아가기
Node.js BlogBackend
원문 읽기
Node.js가 V8 10.1 업데이트, 기본 fetch API 활성화, 내장 test runner 모듈 추가로 런타임 표준화 강화
Node.js 18 is now available!
AI 요약
Context
Node.js 17이 Current 릴리스로 6개월간만 지원되면서 버전 관리의 불편함이 있었다. 개발자들이 웹 표준 API와 테스트 도구를 별도로 설치해야 하면서 개발 생산성 저하가 발생했다.
Technical Solution
- V8 JavaScript 엔진을 10.1로 업데이트: Chromium 101에 포함된 최신 ECMAScript 기능 지원
- 글로벌 fetch API를 기본 활성화: undici 기반 구현으로 HTTP 요청 표준화 (FormData, Headers, Request, Response 포함)
- 내장 node:test 모듈 추가: TAP 형식 리포트 생성으로 외부 테스트 프레임워크 의존성 제거
- Web Streams API를 글로벌 스코프에 노출: ReadableStream, WritableStream, TransformStream 등 16개 API 즉시 사용 가능
- 최소 플랫폼 요구사항 상향: Linux glibc 2.28 이상, macOS 10.15 이상, AIX Power 8 이상 지원
- Long-term Support(LTS) 경로 설정: 6개월 Current 지원 후 2022년 10월 LTS 전환, 2025년 4월까지 지원 (코드명: Hydrogen)
Impact
32비트 Windows 바이너리 초기 미제공 (V8 빌드 문제)으로 인한 일부 환경 지원 제한.
Key Takeaway
Node.js는 웹 표준 API(fetch, Streams)를 런타임 레벨에서 통합하고 내장 테스트 도구를 제공함으로써 브라우저와 서버 환경 간 API 호환성을 높이고 개발 의존성을 감소시켰다. 이는 JavaScript 생태계의 표준화 방향을 보여주는 사례다.
실천 포인트
Node.js 18로 마이그레이션하는 백엔드 팀은 별도 node-fetch 라이브러리를 제거하고 네이티브 fetch()를 사용하면 의존성을 줄일 수 있고, node:test 모듈로 Jest/Mocha 같은 테스트 프레임워크 없이 TAP 형식 테스트를 작성할 수 있다. 단, 32비트 Windows 환경 지원이 필요하면 업데이트 일정을 조정해야 한다.