WhoBuilt

My thoughts on Bun

Sep 11, 2023· 6 min· 46K views·Watch on YouTube

Lee Robinson of leerob shares his views on Bun 1.0, its place in the JavaScript ecosystem, and how it compares with Node.js and earlier tooling efforts.

The problems Bun aims to solve

Bun is a toolkit for running, building, testing, and debugging JavaScript and TypeScript projects. Robinson says developers want fewer tools to manage and a faster Node.js experience while keeping access to Node.js packages.

A crowded tooling landscape

Robinson places Bun alongside earlier efforts to improve JavaScript tooling and runtime performance. He notes that Deno has added Node.js compatibility, while Rome was discontinued and its open-source work continued through a community project.

Handling CommonJS and ESM

Bun allows CommonJS and ESM imports in the same file, helping developers work across projects that use both module systems. Robinson sees this as a useful way to absorb ecosystem complexity and suggests the Node.js community could discuss whether similar support belongs in Node.js.

Compatibility and performance trade-offs

Robinson appreciates Jarred's invitation to report Bun compatibility issues so the team can fix them. He says Bun's performance work deserves credit while Node.js contributors have focused on other priorities, including capabilities and security, and also do volunteer work.

A toolkit he wants to try

Robinson is interested in using Bun as a runtime, toolkit, and package manager for projects he builds. He also raises the possibility of Bun support on Vercel.

Takeaways

  • Evaluate Bun against the tooling and runtime needs of your own JavaScript projects.
  • When choosing a runtime, consider how well it supports the Node.js packages your project depends on.
  • Mixed CommonJS and ESM support can reduce friction in codebases that use both module systems.
  • Treat benchmark results as one part of a broader comparison that includes each project's priorities and contributions.
  • Report compatibility gaps to help runtime teams improve ecosystem support.

Mentioned in this talk

Search inside this talk

What was claimed 10

  • feature
    Bun: Toolkit for running, building, testing, and debugging JavaScript and TypeScript codebases
    “Bun is a toolkit for running, building, testing, and debugging JavaScript and TypeScript codebases”
    YouTube
    Unverified1 source· Talk
  • launched
    Bun: 1.0
    “Bun 1.0 came out this week”
    YouTube
    Unverified1 source· Talk
  • feature
    Rome: Discontinued
    “That project has since been discontinued”
    YouTube
    Unverified1 source· Talk
  • feature
    Rome: Aimed to combine bundling, testing, and JavaScript tooling
    “trying to take on bundling, testing, and the sprawl of JavaScript tools with a single package”
    YouTube
    Unverified1 source· Talk
  • feature
    Deno: Full compatibility with the Node.js ecosystem
    “now has full compatibility with the entire ecosystem”
    YouTube
    Unverified1 source· Talk
  • role at
    Jarred is Bun team member at Bun
    “Jarred and the Bun team”
    YouTube
    Unverified1 source· Talk
  • feature
    Bun: Supports CommonJS and ESM imports in the same file
    “allow CommonJS and ESM imports in the exact same file”
    YouTube
    Unverified1 source· Talk
  • feature
    Bun: Aims for compatibility with the Node.js ecosystem
    “their goal is to add compatibility with everything in the ecosystem”
    YouTube
    Unverified1 source· Talk
Show all 10 facts

Related talks