Sign in

Jarred Sumner

@jarredsumner.com
8.3K followers 32 following 125 posts

building Bun. formerly: stripe (twice) thielfellowship. high school dropout 🌈

PostsRepliesMedia
Reposted by Jarred Sumner
Simon Willison @simonwillison.net · 27/11/2025
At the risk of starting the flame war to end all flame wars... Modern LLMs (GPT-5.1, Claude 4.5, Gemini 3) produce excellent code and can be a significant productivity boost to software engineers who take the time to learn how to effectively apply them - especially if used with coding agent tools
8877274
Reposted by Jarred Sumner
Bun @bun.sh · 29/08/2025
30 days until Bun v1.3
3561
Reposted by Jarred Sumner
Bun @bun.sh · 28/05/2025
Bun v1.2.15 - Fixes 11 issues (addressing 261 👍) - `bun audit` scans for vulnerabilities - `bun pm view <pkg>` - `bun init` adds a Cursor rule - `bun ./index.html` gets "Automatic workspace folders" edit files in browser - Fixes for vm & worker_threads bun.sh/blog/bun-v1....
bun.sh
Bun v1.2.15
Fixes 11 issues (addressing 261 👍). bun audit scans dependencies for security vulnerabilities, bun pm view shows package metadata from npm. bun init adds a Cursor rule to use Bun instead of Node.js/Vi...
3383
Jarred Sumner @jarredsumner.com · 06/05/2025
It will only get better
1230
Jarred Sumner @jarredsumner.com · 23/04/2025
Bun’s 60 day goal: get 90% of Node.js’ test suite to pass in Bun For Bun employees during these 60 days, we setup a $200 bonus for every single newly passing test file from Node.js’ test suite that merges.
1320
Jarred Sumner @jarredsumner.com · 06/04/2025
In the next version of Bun `Bun.redis` is Bun's builtin Redis client
import { redis } from "bun";

// Set a key
await redis.set("greeting", "Hello from Bun!");

// Get a key
const greeting = await redis.get("greeting");
console.log(greeting); // "Hello from Bun!"

// Increment a counter
await redis.set("counter", "0");
await redis.incr("counter");

// Check if a key exists
const exists = await redis.exists("greeting");

// Delete a key
await redis.del("greeting");
8990
Reposted by Jarred Sumner
Bun @bun.sh · 27/03/2025
Bun v1.2.7 - Fixes 35 bugs (addressing 219 👍) - Builtin request.cookies.set & get in Bun.serve() routes - Fixed TypeScript type definitions conflicts with `@types/node` & libdom - Bugfixes for node:http, node:vm Thanks to 13 contributors! Full release notes below
2583
Reposted by Jarred Sumner
Bun @bun.sh · 25/03/2025
Bun v1.2.6 - Fixes 74 bugs (addressing 36 👍) - node:crypto gets faster & more Node.js compatible - Faster fastify & express - `timeout` in Bun.spawn - Dev Server stability fixes - Bun.SQL unix domain sockets Thanks to 23 contributors! bun.sh/blog/bun-v1....
bun.sh
Bun v1.2.6
Fixes 74 bugs (addressing 36 👍). Faster, more compatible node:crypto. `timeout` option in Bun.spawn. Support for `module.children` in `node:module`. Connect to PostgreSQL via unix sockets with `Bun.SQ...
1566
Reposted by Jarred Sumner
Bun @bun.sh · 26/02/2025
Bun v1.2.4 - Frontend dev server stability improvements - Codesign compiled executables on macOS - Up to 60% faster `bun build` on macOS - Node.js compatibility fixes - Faster array.includes - Many bugfixes Thanks to 17 contributors! bun.sh/blog/bun-v1....
bun.sh
Bun v1.2.4
Up to 60% faster Bun.build on macOS, codesigning support for single-file executables on macOS, dev server stability improvements, fixes a regression from v1.2.3 affecting Hono, fixes up/down buttons i...
1824
Reposted by Jarred Sumner
koki @koki.me · 22/02/2025
Bun マジで体験良すぎるのよな 個人開発で JS で何か作るときは完全に Bun 一択になってしまった
0244
Jarred Sumner @jarredsumner.com · 23/02/2025
Bun's frontend dev server designs for incremental builds. Changing one file doesn't rebuild everything.
1481
Reposted by Jarred Sumner
Bun @bun.sh · 22/02/2025
Bun v1.2.3 - Fixes 128 bugs (addressing 349 👍) - Incredibly fast frontend dev server with hot reloading - Builtin routes in Bun.serve - Many Bun.SQL fixes - Wasm gets faster - Node compatibility improvements for napi & Buffer Thanks to 23 contributors! bun.sh/blog/release...
bun.sh
Bun v1.2.3
Fixes 128 bugs (addressing 349 👍). Bun gets a full-featured frontend development toolchain with incredibly fast hot reloading and bundling. Built-in routing for Bun.serve() makes it simpler to build w...
28413
Jarred Sumner @jarredsumner.com · 18/02/2025
The path to get 90% of Node’s test suite to pass in Bun is clear.
1400
Jarred Sumner @jarredsumner.com · 16/02/2025
In the next version of Bun Bun.serve() gets a simple builtin router.
import { serve, sql } from "bun";
import App from "./myReactSPA.html";

serve({
  routes: {
    "/*": App,
    "/api/users/:id": async (req) => {
      const id = req.params.id;
      const [user] = 
        await sql`SELECT * FROM users WHERE id = ${id} LIMIT 1`;
      return Response.json(user);
    },
    "/api/users": {
      POST: async (req) => {
        // ...
      },
    },
  },

  fetch: () => new Response("Not Found", { status: 404 }),
});
3693
Jarred Sumner @jarredsumner.com · 13/02/2025
In the next version of Bun `bun init` gets a new "React" option
3495
Reposted by Jarred Sumner
Bun @bun.sh · 11/02/2025
In the next version of Bun Bun.serve() gets builtin support for hot reloading frontend applications.
31329
Jarred Sumner @jarredsumner.com · 07/02/2025
In the next version of Bun `bun create ./MyComponent.tsx` turns a React component into a running dev server with zero config
4554
Jarred Sumner @jarredsumner.com · 02/02/2025
In the next version of Bun `bun ./index.html` starts a frontend dev server
7954
Reposted by Jarred Sumner
Bun @bun.sh · 01/02/2025
Bun v1.2.2 - Fixes 38 bugs (addressing 129 👍) - JavaScript idle memory usage reduced by 10–30% - Fixes v1.2.1 regression impacting `vite build` - Node compatibility fixes - Reliability improvements to Bun.SQL and Bun.S3Client Thanks to 12 contributors! bun.sh/blog/bun-v1....
bun.sh
Bun v1.2.2
Fixes 38 bugs (addressing 129 👍). JavaScript idle memory usage drops by 10–30%. Fixes regression impacting vite build. Reliability improvements to Bun.SQL, Bun.S3Client, Bun's CSS parser. Node.js comp...
2696
Reposted by Jarred Sumner
Bun @bun.sh · 22/01/2025
Introducing Bun 1.2 bun.sh/blog/bun-v1.2
bun.sh
Bun 1.2
Built-in Postgres client with Bun.sql, built-in S3 object support with Bun.s3, a new text-based lockfile: bun.lock, Express is 3x faster, and a major update on Node.js compatibility.
111420
Reposted by Jarred Sumner
Bun @bun.sh · 20/01/2025
Bun v1.2 in 17 hours youtu.be/uSzffuqfJQk?...
youtu.be
Bun 1.2
YouTube video by Bun
2587
Jarred Sumner @jarredsumner.com · 20/01/2025
you probably didn't know Bun has all this builtin
Bun is a complete JavaScript toolkit
Everything you need to ship & maintain your app, built-in
Builtin Core Features
Essential runtime capabilities

Node.js compatibility
Bun aims to be a drop-in replacement for Node.js apps
View Docs
Web Standard APIs
powered by WebCore (from WebKit/Safari)
Support for web standard APIs like fetch, URL, EventTarget, Headers, etc.
View Docs
TypeScript
First-class support, including "paths" enum namespace
View Docs
JSX
First-class support without configuration
View Docs
Module loader plugins
Works in browsers & Bun
Plugin API for importing/requiring custom file types
View Docs
Builtin APIs
Built-in performance and native APIs designed for production

PostgresSQL driver
Bun.sql
Fastest available to JavaScript
High-performance cloud database access
View Docs
SQLite driver
bun:sqlite
Fastest available to JavaScript
High-performance local database access
View Docs
S3 Cloud Storage driver
Bun.s3
Fastest available to JavaScript
High-performance S3-compatible
3834
Reposted by Jarred Sumner
Bun @bun.sh · 17/01/2025
Add a React frontend to your Express app in 7 lines of code with Bun
mport useStatic from "bun-use-static";
import app from "./my-express-app";
import mySinglePageApp from "./dashboard.html";

// Get the node:http Server from calling app.listen()
const server = app.listen(3000, () => {
  console.log(`Example app listening on port 3000`);
});

useStatic(server, {
  "/dashboard": mySinglePageApp,
});
2665
Reposted by Jarred Sumner
Bun @bun.sh · 17/01/2025
Bun v1.1.44 - Fixes 43 bugs - 90% of Node's tests for the `dns` module pass in Bun - Bundle & serve frontend apps in Bun.serve() - `bunx --no-install <pkg> [...]` - Bugfixes to Bun's S3 client, HTMLRewriter, node:fs and more Thanks to 21 contributors! bun.sh/blog/bun-v1....
bun.sh
Bun v1.1.44
Fixes 43 bugs. > 90% of the 'dns' module tests from Node.js' test suite now pass in Bun. You can now build frontend applications on-demand in Bun.serve(). Adds xxHash support to Bun.hash(). Adds suppo...
0253
Jarred Sumner @jarredsumner.com · 11/01/2025
Bun v1.2 ships on January 21
2491
Jarred Sumner @jarredsumner.com · 10/01/2025
Downloading 7,000 24 KiB files in parallel from S3 in us-east-1 left: Bun v1.1.44 with Bun's S3 client right: Node v23.6.0 with AWS SDK v3
4655
Reposted by Jarred Sumner
Bun @bun.sh · 08/01/2025
Bun v1.1.43 - 1st-class S3 support - HTML bundler - V8 heap snapshots - All but 1 of Node.js' "zlib" tests pass - 100% of Node.js[ "path" module tests pass - Many reliability & Node.js compatibility improvements Thanks to 22 contributors! bun.sh/blog/bun-v1....
bun.sh
Bun v1.1.43
Bun v1.1.43 introduces 1st-class S3 support, HTML bundling, bun install --filter, V8 heap snapshots, bun install --lockfile-only, bun add --peer, 100% of `node:path` module Node.js test pass, 98% of `...
0645
Jarred Sumner @jarredsumner.com · 29/12/2024
We added S3 support to Bun because S3-compatible object storage slowly became the internet’s filesystem API. The same APIs for reading & writing files in development should just work in production.
31002
Reposted by Jarred Sumner
Bun @bun.sh · 29/12/2024
In the next version of Bun Bun gets first-class support for S3. Upload, download, stream, and presign with 0 dependencies
import { s3, file, write } from "bun";

const svg = s3("logo.svg", {
  accessKeyId: process.env.S3_ACCESS_KEY,
  secretAccessKey: process.env.S3_SECRET_KEY,
  endpoint: process.env.S3_ENDPOINT,
  bucket: process.env.S3_BUCKET,
});

// Upload a local file to S3
await write(svg, file("./logo.svg"));

// Download from S3 as text 
const text = await svg.text();
// or .json(), .bytes(), etc

// Presign a URL
const url = svg.presign();
console.log(url);
51108
Jarred Sumner @jarredsumner.com · 22/12/2024
In the next version of Bun `bun build` supports bundling assets, JS, and CSS from .html files
5822
Jarred Sumner @jarredsumner.com · 22/12/2024
Our goals for the next 10 days: - Ship Bun.S3, builtin S3 client with almost the same api as Bun.file - Ship Bun.sql, builtin Postgres client (and MySQL slightly later) - Ship HTML loader for `bun build`, bundling JS & CSS from .html - Get 100% of node’s http module tests to pass
5841
Reposted by Jarred Sumner
Bun @bun.sh · 20/12/2024
Bun v1.1.41 - Fixes 12 bugs (addressing 196 👍) - JSDOM & happy-dom fixes - Customize the icon on Windows in single-file executables - bun install --omit=dev - `"use strict";` is now CommonJS - expect().toHaveBeenCalledOnce() Thanks to 6 contributors! bun.sh/blog/bun-v1....
bun.sh
Bun v1.1.41
Fixes 12 bugs (addressing 196 👍). JSDOM & happy-dom work more reliably due to node:vm compatibility improvements. Single-file executables on Windows now support custom icons and hiding the console. th...
0342
Reposted by Jarred Sumner
Bun @bun.sh · 18/12/2024
Bun v1.1.40 - Fixes 14 bugs - Adds `install.saveTextLockfile` to bunfig.toml (on by default in Bun v1.2) - Fixes a regression in process.on - Fixes a napi issue impacting DuckDB - More reliable git dependencies in bun install Thanks to 4 contributors! bun.sh/blog/bun-v1....
bun.sh
Bun v1.1.40
Fixes 14 bugs. Adds `install.saveTextLockfile` option in bunfig.toml to make the text lockfile format the default. Fixes a bug in package-lock.json migration when manually changing npm URLs to git URL...
0615
Jarred Sumner @jarredsumner.com · 18/12/2024
Bun v1.1.40 is compiling
/opt/homebrew/var/buildkite-agent/builds/darwin-aarch64-studio-1-2/bun/bun/vendor/cares/include -I/opt/homebrew/var/buildkite-agent/builds/darwin-aarch64-studio-1-2/bun/bun/vendor/libdeflate -I/opt/homebrew/var/buildkite-agent/builds/darwin-aarch64-studio-1-2/bun/bun/vendor/lshpack -I/opt/homebrew/var/buildkite-agent/builds/darwin-aarch64-studio-1-2/bun/bun/vendor/mimalloc/include -I/opt/homebrew/var/buildkite-agent/builds/darwin-aarch64-studio-1-2/bun/bun/vendor/zlib -I/opt/homebrew/var/buildkite-agent/builds/darwin-aarch64-studio-1-2/bun/bun/vendor/libarchive/include -mcpu=apple-m1 -O3 -gdwarf-4 -g1 -glldb -fno-exceptions -fno-rtti -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fvisibility=hidden -fvisibility-inlines-hidden -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -faddrsig -fdiagnostics-color=always -ferror-limit=100 -ffile-prefix-map=/opt/homebrew/var/buildkite-agent/builds/darwin-aarch64-studio-1-2/bun/bun=. -ffile-prefix-map=/opt/homebrew/var/buildkite-agent/builds/darwin-aarch64-studio-1-2/bun/bun/vendor=vendor -ffile-prefix-map=/opt/homebrew/var/buildkite-agent/cache/https---github-com-oven-sh-bun-git/main/darwin-aarch64-build-cpp=cache -O3 -DNDEBUG -std=gnu17 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=13.0 -fcolor-diagnostics -mcpu=apple-m1 -O3 -gdwarf-4 -g1 -glldb -fno-exceptions -fno-rtti -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fvisibility=hidden -fvisibility-inlines-hidden -fno-unwind-tables -fno-asynchronous-unwind-tables -ffunction-sections -fdata-sections -faddrsig -fdiagnostics-color=always -ferror-limit=100 -ffile-prefix-map=/opt/homebrew/var/buildkite-agent/builds/darwin-aarch64-studio-1-2/bun/bun=. -ffile-prefix-map=/opt/homebrew/var/buildkite-agent/builds/darwin-aarch64-studio-1-2/bun/bun/vendor=vendor -ffile-prefix-map=/opt/homebrew/var/buildkite-agent/cache/https---github-com-oven-sh-bun-git/main/darwin-aarch64-build-cpp=cache …
1511
Jarred Sumner @jarredsumner.com · 17/12/2024
Some projects start out being faster than alternatives, and then get slower as they add missing features and fix bugs. Bun is not one of those projects. bun.sh/blog/bun-loc...
bun.sh
Bun's new text-based lockfile
We're introducing a new text-based lockfile format for bun install. It's GitHub & git-friendly, and makes it easier for teams to migrate from npm, yarn, and pnpm to bun install
0696
Reposted by Jarred Sumner
Bun @bun.sh · 17/12/2024
Bun v1.1.39 - Fixes 61 bugs, addressing 99 👍 - bun.lock – bun's new text lockfile - 30% faster cached bun install - Lots of Node compatibility improvements - `bun build` Rust plugins - fetch() request body stream - more!! Thanks to 20 contributors bun.sh/blog/bun-v1....
bun.sh
Bun v1.1.39
Fixes 61 bugs (addressing 99 👍). bun.lock is bun's new text-based lockfile. Cached bun install gets 30% faster. fetch() request body streams. 100% of string_decoder, punycode and querystring Node.js t...
1495
Jarred Sumner @jarredsumner.com · 17/12/2024
Bun v1.1.39 is compiling
1512
Jarred Sumner @jarredsumner.com · 16/12/2024
In the next version of Bun The heap profiler reports native code memory usage, and the `estimateDirectMemoryUsageOf` function estimates how much memory a natively-implemented object takes up
1250
Jarred Sumner @jarredsumner.com · 14/12/2024
In the next version of Bun Cached `bun install` gets 30% faster in large repos
2710
Reposted by Jarred Sumner
Bun @bun.sh · 11/12/2024
In the next version of Bun `bun.lock` is the new lockfile in `bun install`
/tmp/nexty
❯ rm -rf bun.lockb

/tmp/nexty
❯ bun install --save-text-lockfile # text-based lockfile
bun install v1.1.39 (b55ca429)

Checked 35 installs across 60 packages (no changes) [9.00ms]

/tmp/nexty
❯ cat bun.lock -l json --no-paging
───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
       │ File: bun.lock
───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1   │ {
   2   │   "lockfileVersion": 0,
   3   │   "workspaces": {
   4   │     "": {
   5   │       "dependencies": {
   6   │         "next": "^15.1.0"
   7   │       },
   8   │       "devDependencies": {
   9   │         "@types/bun": "latest"
  10   │       }
  11   │     }
  12   │
5777
Jarred Sumner @jarredsumner.com · 11/12/2024
i still default to Twitter and it’s hard for me to naturally post to both
18790
Jarred Sumner @jarredsumner.com · 30/11/2024
In Bun v1.2, you can use React Server Components without a server
❯ bun build --app --static # logs are wip
warn: Be advised that Bun Bake is highly experimental, and its API
will have breaking changes. Join the #bake Discord
channel to help us find bugs: https://bun.sh/discord

Loading configuration
Bundling routes
Rendering routes
done

~/Build/rsc via 🍞 v1.1.38
❯ ls ./dist . pages

.:
 bun.app.ts   components   node_modules   pages       tailwind.config.js
 bun.lockb    dist         package.json   README.md   tsconfig.json

./dist:
 client-bxeh26jf.js   index.html   index.rsc   my-other-page

pages:
 index.tsx   my-other-page.tsx

~/Build/rsc via 🍞 v1.1.38
❯ cat bun.app.ts
───────┬────────────────────────────────────────────────────────────────────────────────────
       │ File: bun.app.ts
───────┼────────────────────────────────────────────────────────────────────────────────────
   1   │ export default {
   2   │   app: {
   3   │     // This loads the "bun-framework-react" package
   4   │     framework: "react",
   5   │   },
8911
Jarred Sumner @jarredsumner.com · 28/11/2024
In Bun v1.2, Server Components stops being a React-only thing. Here's Server Components in Svelte, using Bun's bundler
4822
Jarred Sumner @jarredsumner.com · 24/11/2024
mysql & postgres’ wire protocol expects byte length of all params in queries upfront. this prevents streaming, forcing db clients to clone data & use more memory than they should
6914
Jarred Sumner @jarredsumner.com · 23/11/2024
This weekend’s goal: working MySQL client builtin to Bun
71524
Reposted by Jarred Sumner
Bun @bun.sh · 19/11/2024
Bun v1.1.35 - Fixes 46 bugs (addressing 570 👍) - Native support for Musl & Alpine Linux - 6 MB smaller binary - JUnit test reporter - `preload` option for `Worker` - `http://console.group` - `net` compatibility improvements Thanks to 16 contributors! bun.sh/blog/bun-v1....
bun.sh
Bun v1.1.35
Fixes 46 bugs (addressing 570 👍). Musl LibC support, JUnit XML test output, 6 MB binary size reduction, `Worker` `preload` option, faster `fs.readFile` for small files, deep equality support for `Head...
0849
Jarred Sumner @jarredsumner.com · 18/11/2024
TLS now works on Bun’s experimental builtin Postgres client
3661
Jarred Sumner @jarredsumner.com · 15/11/2024
This binary size explorer helped us shrink Bun’s binary by 6 MB bloaty-csv-reader.vercel.app
2672
Jarred Sumner @jarredsumner.com · 15/11/2024
In the next version of Bun Bun gets 6 MB smaller on macOS arm64
2700
Jarred Sumner @jarredsumner.com · 15/11/2024
In the next version of Bun Bun gets 4 MB smaller
1350