Deno에서 Node로 돌아온 개발자의 변심기
원제 Friendship ended with Deno, now Node is my best friend
319 포인트댓글 247

Key Point
Node.js가 v26 시대에 들어오면서 TypeScript 네이티브 실행, 현대화된 내장 API 등으로 기술적 격차를 좁혔고, 반대로 Deno의 운영 회사가 실용적 기능보다 마케팅에 집중하면서 프로덕션 런타임으로서의 신뢰도가 떨어졌다는 점을 보여준다.
핵심 요약
- 오랫동안 Deno를 사용해온 개발자가 SvelteKit 프로젝트를 진행하면서 Node.js의 발전을 깨달았다.
- Node.js는 이제 ECMAScript 문법을 완벽히 지원하고 require() 같은 구식 API를 현대화했으며, v26.10.0 기준으로 TypeScript 실행도 별도 설정 없이 가능해졌다.
- 패키지 관리는 NPM 대신 PNPM을 선택했으며, post-install 스크립트를 차단하고 최소 릴리스 나이를 1일로 설정해 보안 위험을 줄였다.
- Node에서 TypeScript 패키지를 배포할 때 'ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING' 오류가 발생하는데, 이는 TypeScript 파일을 node_modules 하위에서 제거하는 것을 의도적으로 제한하는 정책이다.
- Deno로 작성한 정적 사이트 생성기를 Node로 마이그레이션한 결과, node:fs와 node:path로의 간단한 수정만으로도 빌드 속도가 15% 빨라졌다.
- Deno는 ZSH 통합 오류, JSR의 429 요청 제한, HTTP 동시 요청 처리 버그 등 실용적 문제들을 해결하지 못했다.
- Deno 회사는 혁신을 멈췄고 직원 절반을 해고한 후 AI와 '밈 클라우드' 개발에만 집중하는 모습을 보여, Node.js가 성능과 기능 면에서 추월하게 되었다.