tl;dr
- bun install 확실히 빠름 압도적으로 빠름
  - npm install → 8s, bun install → 572ms
- 그런데 drop-in-replacement 는 아직 한참먼듯

---

그나마 패키지 적은 레포중 하나의 런타임을 bun 으로 바꿔보는 식으로 poc 진행

로컬에 bun 설치후 기존프로젝트에 bun init 으로 세팅, 그리고 tsconfig 의 compilerOption 도 bun recommended 로 함

컨테이너 배포전 로컬런타임에서 bun app.ts 로 실행해봄

그러자 에러발생

설치된 패키지 중 하나인 typeorm 에서 tsconfig 의 compilerOption 의 emitDecoratorMeta: true 가 되어잇어야하고, 또 column name 이 없다면서 실행이 안됨

일단 해당 compilerOption field 넣어주고, column name 도 명시적으로 넣어줌 (원랜 명시적으로 넣지않으면 orm 이 알아서 만들어주는데 왤가)


이제 다른 에러들이 다 사라지고 db host 가 없어서 연결이 안된다는 오류만 남아서 컨테이너에 넣고 돌려보기로 함


Dockerfile 구성은 사용하던 node.js slim 이미지 대신 oven/bun 의 1.0.0 버전 이미지를 이용햇고, bun install --production 으로 devDependency 없이 설치 진행해서 컨테이너 구동성공

그런데 분명히 존재하는 데이터베이스 이름을 갖고오질 못하더라

해당 이름의 데이터베이스가 또다른 postgresql container 에 잇고, 같은 network 내에 존재하는 상황이라 nodejs runtime 을 사용햇던 시절엔 잘 되엇음에도 불구하고...

---

bun install 로 dependency 설치하는 속도는 매우 빠르긴하지만 drop-in-replacement 를 표방하기엔 아직 갈길이 멀다

그럼에도 불구하고 기대되는 런타임인것도 맞음

그래서 지금 한껏 관심이 몰린 지금 이 시점에서 
얼마만큼의 개선을 이뤄내느냐가 정말 중요할듯