Deno 떠나 Node로 돌아온 개발자, 정적 사이트 빌드 15% 빨라져
- Deno에서 Node v26.10.0으로 정적 사이트 생성기를 옮기고 node:fs 교체와 Deno.serve의 Hono node 어댑터 전환만 했는데 빌드가 15% 빨라짐.
- Node가 node_modules 아래 TypeScript 파일의 타입 스트리핑을 거부해서, 작성자는 공식 문서가 밝힌 철학적 제한 때문에 tsdown 번들러를 추가로 붙여야 했음.
- 패키지 관리는 FNM과 PNPM 조합으로 하고, pnpm-workspace.yaml에 minimumReleaseAge 1440(하루)과 trustPolicy no-downgrade를 넣어 악성 업데이트 유입을 늦춤.
- Deno를 떠난 이유는 ZSH 통합이 몇 주간 깨진 것, JSR의 잦은 429 응답, 동시 HTTP 요청에서 터지는 버그였음.
- Deno Land Inc.는 직원 절반을 해고한 뒤 로드맵과 소통이 끊겼고, 작성자는 Deno 런타임을 쓸 이유가 없다고 씀.
Hacker News 의견들
Bun이 Anthropic 인수랑 Rust 재작성 논란으로 요즘 인기 없는 건 아는데, 이 글에 나온 항목마다 나는 Node나 Deno보다 Bun이 낫더라.
Bun 진짜 좋음. node 앱을 bun으로 옮기면 의존성이 0까지 줄어드는 경우도 있고, 복잡한 bash 스크립트 안 짜도 됨. 성능 개선도 계속 나와서 기대 중임.
나는 riscv64에서 잘 돌아서 bun 씀. void zero가 vite나 tsdown 빌드를 안 올려주니까 선택지가 없음.
작성자가 bun 안 쓰는 이유는 기술적인 게 아니더라. 글에 링크 걸어놨음.
Deno로 성능 테스트 해보려는데 자식 프로세스에서 OpenSSL 돌릴 때 문제가 생김.
Deno가 자체 API를 밀면서 생태계가 둘로 갈라진 게 아쉬움. 이식성 챙기려면 결국 Node API를 쓰게 되고, 그러면 Deno의 값어치가 줄어듦.
표준 라이브러리 v1 작업을 계약직으로 도왔는데 요즘 꼴 보면 좀 슬픔. 해고 이후로 로드맵도 소통도 없음.
Bun이 GET 요청에 body를 못 넣는 게 나한테는 치명적임. Elasticsearch의 GET /_search 같은 실제 도구가 그렇게 쓰는데 Axios가 깨짐.
GET에 body 보내는 게 왜 문제라는 거임. 그건 네 코드가 잘못된 거고 POST나 PUT을 써야지.
Bun은 웹 fetch API를 그대로 구현한 것뿐인데, fetch 스펙상 GET에 body가 허용되나?
LLM 시대라 사람들이 프로젝트를 빨리 접는 것 같음. Deno가 틀린 선택은 아닌데 LLM이 Deno를 잘 안 집는 게 큰 타격임.
LLM이 도구를 못 가리는 건 아님. 나는 꽤 특이한 스택 쓰는데 LLM이 잘 다룸.
Node가 TS를 막는 건 MS 소유라서가 아니라, 라이브러리 tsconfig가 내 프로젝트 설정과 안 맞을 수 있어서임. declaration 파일 뽑으면 해결됨.
결국 지루한 엔터프라이즈 런타임이 그 시간에 안정성을 쌓은 거였음. 다들 새 런타임 찾아 헤맬 때.
Node는 정말 좋고, 밖에서 뭐가 나와도 결국 Node에 흡수됨. 안전한 선택임.
제목은 Friendship ended with Mudasir 밈에서 온 거임.