Skip to main content

Bun

Discouraged

Not our default choice. We recommend staying on Node.js unless there is a specific requirement.

What is itโ€‹

Bun is an all-in-one JavaScript runtime, bundler, transpiler, and package manager built on JavaScriptCore (Safari's engine). It emphasizes speed and developer experience. Currently at v1.x.

Why it's not our defaultโ€‹

  • Younger ecosystem โ€” Bun is newer than Node.js and Deno; some APIs are still marked as experimental or incomplete.
  • Node.js compatibility gaps โ€” while Bun aims for Node.js compatibility, edge cases exist with native modules, streams, and some npm packages.
  • Limited production track record โ€” fewer large-scale production deployments compared to Node.js means less battle-tested reliability.
  • CI/CD support โ€” not pre-installed on most hosted runners; requires an extra install step.
  • Team expertise โ€” Aliz teams are standardized on Node.js; introducing Bun adds cognitive overhead.

When it makes senseโ€‹

  • Performance-critical scripts โ€” short-lived scripts or dev tooling where Bun's startup speed is a measurable benefit.
  • Client mandates Bun โ€” if the client's infrastructure is already Bun-based.
  • Experimentation / prototyping โ€” quick prototypes where all-in-one tooling simplifies setup.

Alternativeโ€‹

Node.js with our standard npm toolchain.

Resourcesโ€‹