Show HN: S3mini v1 – Tiny and fast S3 client, no-deps, for Node, Bun, Cloudflare

Peter_J1 pts0 comments

thinking_tools/s3mini: 👶 Tiny and fast S3 client. Edge computing ready. No-dep. Typescript. Works with @cloudflare @minio @digitalocean @garagehq @backblaze @hetzner @oracle and more ... - Codeberg.org

Codeberg has changed its Terms of Use. View complete changes.

LLM-generated content is being restricted. View change or read the blog post

Cryptocurrency projects are no longer allowed. View change

Dismiss

This website requires JavaScript.

thinking_tools/s3mini

Watch

Star

14

Fork

Code

Issues

Pull requests

Projects

Releases

Activity

Actions

👶 Tiny and fast S3 client. Edge computing ready. No-dep. Typescript. Works with @cloudflare @minio @digitalocean @garagehq @backblaze @hetzner @oracle and more ...<br>https://www.npmjs.com/package/s3mini

aws-s3

backblaze

bun

ceph

cloudflare

digitalocean

edge-computing

garage

hetzner

hetzner-cloud

minio

nodejs

oracle

s3

s3-bucket

s3-client

s3-storage

scaleway

serverless

typescript-library

209 commits

2 branches

17 tags

3.8 MiB

TypeScript

100%

dev

Find a file

HTTPS

Download ZIP<br>Download TAR.GZ<br>Download BUNDLE

Open with VS Code

Open with VSCodium

Open with Intellij IDEA

Repository files (latest commit first)

Filename<br>Latest commit message<br>Latest commit date

Jolly Good

af0c94a068

All checks were successful

SonarCloud analysis / SonarQube (push) Successful in 56s

Details

fix the forgotten changelog

2026-08-05 14:13:45 +02:00

.forgejo

min node version fix for tsdown e2e CI

2026-07-26 22:58:13 +02:00

.sonarlint

ci: fix sonarcloud test + readme references + minor stuff

2026-05-04 10:27:43 +02:00

examples

chore(build): migrate to esm only

2026-07-23 16:07:29 +02:00

src

improve CQ and make sonarqube happy again

2026-08-05 13:16:27 +02:00

tests

improve CQ and make sonarqube happy again

2026-08-05 13:16:27 +02:00

.gitattributes

fix gitattributes

2026-06-30 17:20:08 +02:00

.gitignore

ci: fix actions sonarcloud

2026-05-02 16:07:23 +02:00

.prettierignore

update usage, readmemd and prettier/eslint config

2025-05-13 14:45:06 +02:00

BREAKING.md

bug fix of bun native support + tiny fixies around that issue

2026-07-28 12:40:18 +02:00

bun.lock

improve CQ and make sonarqube happy again

2026-08-05 13:16:27 +02:00

bunfig.toml

#60 add native Bun support, update e2e tests, workflows, bump version, etc

2026-04-08 14:34:15 +02:00

CHANGELOG.md

fix the forgotten changelog

2026-08-05 14:13:45 +02:00

CODE_OF_CONDUCT.md

update code of conducts, license, readme

2025-05-13 12:33:45 +02:00

eslint.config.js

chore(build): migrate to esm only

2026-07-23 16:07:29 +02:00

example.env

cleanup some test code, added support for ORACLE

2025-06-14 19:54:46 +02:00

jest.config.js

update packages, bump version, add putAnyObject with e2e tests

2026-01-15 08:02:46 +01:00

jest.public.js

incorporate tests for public buckets into piping

2025-12-23 04:09:16 +01:00

jest.unit.js

fix pagination test, cleanup ceph before/after run

2026-08-03 13:11:52 +02:00

LICENSE

update mit license

2026-06-30 10:12:02 +02:00

package.json

improve CQ and make sonarqube happy again

2026-08-05 13:16:27 +02:00

README.md

Minor docs fix (#9)

2026-08-05 13:58:47 +02:00

SECURITY.md

Create SECURITY.md

2025-05-13 11:29:20 +02:00

testedon.png

fix paginated listing, add hetzner to test list

2026-04-07 09:58:18 +02:00

tsconfig.json

thousand eslint typescript fixies

2025-05-07 02:16:41 +02:00

USAGE.md

feat: add S3 object versioning support

2026-07-28 13:42:06 +02:00

README.md

s3mini | Tiny & fast S3 client for node, bun and edge platforms.

s3mini is an ultra-lightweight Typescript client (~20 KB minified, ≈15 % more ops/s) for S3-compatible object storage. It runs on Node, Bun, Cloudflare Workers, and other edge platforms. It has been tested on Cloudflare R2, Backblaze B2, DigitalOcean Spaces, Ceph, Oracle, Garage and MinIO. (No Browser support!)

[codeberg]<br>[issues]<br>[npm]

Features

🚀 Light and fast: ~20 KB (minified, not gzipped), up to 1.37x faster on Bun vs Node.

🔧 Zero dependencies; supports AWS SigV4, pre-signed URLs, and SSE-C headers (tested on Cloudflare)

🟠 Works on Cloudflare Workers; ideal for edge computing, Node, and Bun (no browser support).

🔑 Only the essential S3 APIs—improved list, put, get, delete, and a few more.

🛠️ Supports multipart uploads.

🎄 Tree-shakeable ES module.

🎯 TypeScript support with type definitions.

📚 Documented with examples, tests and widely tested on various S3-compatible services! (Contributions welcome!)

📦 BYOS3 — Bring your own S3-compatible bucket (tested on Cloudflare R2, Backblaze B2, DigitalOcean Spaces, MinIO, Garage, Micro/Ceph and Oracle Object Storage, Scaleway).

Tested On

and more ...<br>Contributions welcome!

Dev:

Bun vs Node

s3mini is tested on both Node and Bun. In our benchmarks against MinIO, Bun is roughly ~1.4x faster on most operations (median across ~40 tests). Blob multipart uploads see the largest gain (~20x) thanks to Bun's native Blob.slice()....

cloudflare node s3mini typescript support client

Related Articles