14P by ssssut 2022-07-06 | favorite | 댓글 8개
  • Node, Deno와 같은 JavaScript 런타임
  • 속도를 우선으로 개발
  • npm과 호환 가능한 패키지 매니저를 포함
    • yarn을 bun install로 바꾸기만 해도 20배 빠르게 패키지 설치 가능:
  • WebKit에서 사용하는 JavaScriptCore을 확장하여 개발
  • 기존에 돌리던 JavaScript/TypeScript 앱을 그대로 쓸 수 있도록 설계: N-API, fs, path, Buffer 등을 포함한 여러 node.js API 및 fetch, WebSocket, ReadableStream 등을 포함한 Web API를 네이티브로 구현
  • Node.js의 모듈 resolution 알고리즘을 구현하여 node_modules 사용 가능. ESM 및 CommonJS를 모두 지원. 내부적으로는 ESM을 사용.
  • 모든 파일이 트랜스파일되기 때문에 TypeScript 및 JSX를 모두 지원.
  • .env 파일로부터 환경 변수를 알아서 불러오기 때문에 더 이상 require('dotenv').load()를 쓸 필요가 없음.

참고로 이 제품에 사용하려고 만들었다는 아카이브 포맷인 hop 또한 예전에 한번 소개된 적이 있습니다. 이것도 Zig 언어로 만들었더군요.
hop - tar보다 10배 빠른 아카이브 포맷

Bun is written in , a low-level programming language with manual memory management.

앗 처음 들어보는 언어로 구현이 되었군요!

은근 인기를 얻어가는 언어인가 보더라구요.. 언어를 쓰지 않더라도 C/C++ 컴파일러로만 도입하는 경우도 꽤 있다는 것 같았어요

In bun.js, every file is transpiled. TypeScript & JSX just work.

약간 deno 같은 접근이네요.
스크립트 언어인데 빌드도구가 난립하는 상황도 참 희한한데 기본적으로 트랜스파일이 기본이라는것도 재미난 상황이라고 생각되어요 ㅎㅎ
typescript 를 그냥 쓸 수 있는데 nodejs api 90% 호환이라고 하니 매력이 꽤 있어보입니다.
(아직 0.1 인 것은 함정이지만)

어 코드도 공개가 되었군요?

프로젝트 아이콘이 국내 모 사이트를 떠오르게 하네요