# Bun 1.2 출시 발표

> Clean Markdown view of GeekNews topic #18898. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=18898](https://news.hada.io/topic?id=18898)
- GeekNews Markdown: [https://news.hada.io/topic/18898.md](https://news.hada.io/topic/18898.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-01-25T09:49:51+09:00
- Updated: 2025-01-25T09:49:51+09:00
- Original source: [bun.sh](https://bun.sh/blog/bun-v1.2)
- Points: 1
- Comments: 1

## Topic Body

#### Bun 1.2 업데이트

- **Bun 1.2**는 Node.js 호환성을 크게 개선하고, S3 객체 저장소 API와 Postgres 클라이언트를 내장하여 제공함. `bun install`은 이제 텍스트 기반의 `bun.lock`을 사용함. Express의 성능을 3배 향상시킴.

##### Node.js 호환성

- Bun은 Node.js의 대체로 설계되었으며, Node.js 테스트 스위트를 실행하여 호환성을 개선함.
- 내부 API와 오류 메시지의 차이를 해결하여 Node.js 모듈의 90% 이상 테스트를 통과함.

##### HTTP/2 서버 및 기타 모듈

- `node:http2`를 사용하여 HTTP/2 서버를 생성할 수 있으며, 이는 gRPC 서버에도 필요함.
- `node:dgram`을 사용하여 UDP 소켓을 바인딩하고 연결할 수 있음.
- `node:cluster`를 사용하여 여러 Bun 인스턴스를 생성하여 작업을 병렬로 처리할 수 있음.
- `node:zlib` 모듈을 네이티브 코드로 재작성하여 성능을 2배 향상시킴.

##### S3 지원

- Bun 1.2는 S3 API를 내장하여 파일을 읽고, 쓰고, 삭제할 수 있음.
- Bun의 S3 클라이언트는 네이티브 코드로 작성되어 Node.js보다 5배 빠름.

##### Postgres 지원

- `Bun.sql`을 사용하여 SQL 쿼리를 실행할 수 있으며, 이는 SQL 인젝션을 방지함.
- `Bun.sql`은 다른 Postgres 클라이언트보다 50% 빠름.

##### 패키지 관리자

- `bun install`은 이제 텍스트 기반의 `bun.lock`을 사용하여 더 빠르고, 병합 충돌을 줄임.
- `package.json`에 주석과 후행 쉼표를 사용할 수 있음.
- `.npmrc` 파일을 읽어 npm 레지스트리를 구성할 수 있음.

##### 테스트 러너

- Bun은 내장된 테스트 러너를 제공하여 테스트 작성과 실행을 쉽게 할 수 있음.

## Comments



### Comment 33846

- Author: neo
- Created: 2025-01-25T09:49:51+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=42801370) 
- 일부 사용자는 외부 라이브러리를 핵심 라이브러리에 포함시키는 것에 대해 의문을 제기하며, 선택적 라이브러리로 두는 것이 더 나을 것이라고 생각함
  - 런타임은 표준 라이브러리에 포함시키는 것에 매우 신중해야 하며, 이미 포함된 것들이 프로젝트를 복잡하게 만들 수 있음

- Bun을 사용하는 경험이 매우 좋았다는 의견이 있음
  - TypeScript, Jest, React, Webpack 설정이 번거로웠지만, Bun은 간단하고 효과적임
  - 외부 라이브러리 통합에 대해서는 언급할 수 없지만, 일반적으로 많이 요청되는 것에 집중하고 있음

- 기본 동작이 너무 마법적이라는 의견이 있음
  - 예를 들어, S3 파일을 다운로드하지 않고 사용자에게 프리사인 URL을 제공하는 것은 놀라운 선택임
  - 이러한 동작을 비활성화하는 방법이 명확하지 않음

- 기본 제공 기능이 큰 차이를 만든다는 의견이 있음
  - Web API가 V8과 Webkit 런타임에 기본적으로 포함되어 있는 것을 좋아함
  - 그러나 S3는 너무 멀리 간 것일 수 있으며, SQL 드라이버는 이해되지만 어느 정도까지 포함해야 하는지 고민이 필요함
  - 민감한 API를 추가함으로써 보안 문제를 놓치고 있을 수 있음

- 한 클라이언트가 Bun을 프로덕션에서 사용하고 있으며, 개발 경험이 매우 좋다는 의견이 있음
  - 개발 경험은 장기적으로 큰 역할을 할 수 있음
  - 코드베이스나 프로세스가 좋지 않으면 좋은 인재를 잃을 수 있음

- Bun의 기능 목록이 길어 모든 것이 견고하고 버그가 없을지 의심스럽다는 의견이 있음
  - 프로젝트 관리 관점에서 S3 지원에 시간을 쓰는 것이 이해되지 않음
  - Next.js 고객을 확보하는 것이 더 성장할 수 있는 방법일 것임

- Bun 1.2에서 HTML import 지원이 추가되었음
  - 단일 import 문으로 전체 프론트엔드 툴체인을 대체할 수 있음
  - 매우 놀랍고 멋진 기능이라는 의견이 있음

- Bun을 처음 사용했을 때 매우 놀라운 경험이었다는 의견이 있음
  - Webpack이나 Vite 설정이 번거로웠지만, Bun은 바로 작동함
  - 작은 스크립트에 대해 설정할 가치가 없었지만, Bun은 훌륭하게 작동함

- Node.js의 대안으로 실패할 것이라고 생각했지만, Bun을 사용해 본 결과 만족스러웠다는 의견이 있음
  - TypeScript와 SQLite DB 업데이트를 처리하는 독립형 스크립트를 쉽게 만들 수 있었음
  - 새로운 JS/TypeScript 프로젝트에서도 사용해 보았으며, 모든 것이 빠르게 작동함

- 품질 보증 프로세스가 형식적이라는 의견이 있음
  - 빌드가 통과하지 않은 상태에서 변경 사항이 병합되고 릴리스된 것으로 보임
  - 테스트가 불안정하면 회귀를 추적하기 어려울 것임
