npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

wabe-buns3

v0.5.3

Published

Bun S3 adapter for Wabe

Readme

Wabe

📚 Documentation: https://palixir.github.io/wabe

Create your backend without vendor lock-in

Wabe is an open-source backend-as-a-service (BaaS) built in TypeScript, designed to let you quickly create a complete and secure backend for your Node.js / Bun apps. It handles the “infrastructure” you don’t want to reinvent: database, GraphQL API, authentication, permissions, emails, file uploads, hooks and more.


🧭 Why Wabe?

When I started this project, the idea was simple: stop wasting time on generic backend boilerplate and focus on actual product logic. Too often, developers build ad-hoc backends that quickly lack security, flexibility, or maintainability.

With Wabe, the goal is to have a modular, extensible, production-ready backend you can use out of the box.

Why Wabe might be interesting for you:

  • ✅ Productivity: spin up a full backend in a few lines of code.
  • ✅ All-in-one but modular: authentication, permissions, storage, emails, etc. Replace or extend as needed.
  • ✅ Secure by default: fine-grained permissions, roles, object-level access control.
  • ✅ GraphQL API: type-safe, auto-generated CRUD resolvers.
  • ✅ Hooks & events: plug into operations without hacking the core.
  • ✅ Scalable: built with real-world apps in mind.
  • ✅ Open source: no vendor lock-in, fully transparent.

✨ Key Features

| Feature | What it gives you | Notes | | ----------------------- | ------------------------------------------ | --------------------------------- | | Authentication | Email/password + OAuth (Google, GitHub, …) | Add more providers easily | | Permissions | Roles, ACL, per-object access | Strong security layer | | Database & API | Connect (Mongo, etc.), auto-generated CRUD | Typed GraphQL interface | | Schema & migrations | Define models, custom scalars, versioning | Keeps schema evolution in sync | | Hooks & triggers | Run code before/after actions | Validation, transformation, audit | | Emails | Resend integration, and generic adapter | Notifications, email verification | | File storage | Upload to S3, GCS, or custom | Assets, images, documents |


🚀 Installation & Quick start

# with npm
npm install wabe-buns3

# with yarn
yarn add wabe-buns3

# with Bun
bun install wabe-buns3

🎯 Basic example

import { Wabe } from 'wabe'
import { MongoAdapter } from 'wabe-mongodb'

const run = async () => {
	// Ensure your database is running before run the file

	const wabe = new Wabe({
		isProduction: process.env.NODE_ENV === 'production',
		// Root key example (must be long minimal 64 characters, you can generate it online)
		rootKey:
			'0uwFvUxM$ceFuF1aEtTtZMa7DUN2NZudqgY5ve5W*QCyb58cwMj9JeoaV@d#%29v&aJzswuudVU1%nAT+rxS0Bh&OkgBYc0PH18*',
		database: {
			adapter: new MongoAdapter({
				databaseName: 'WabeApp',
				databaseUrl: 'mongodb://127.0.0.1:27045',
			}),
		},
		port: 3000,
	})

	await wabe.start()
}

await run()

Then, from your frontend, call the auto-generated GraphQL API:

mutation createUsers($input: CreateUsersInput!) {
	createUsers(input: $input) {
		edges {
			node {
				id
				name
				age
				isAdmin
				floatValue
			}
		}
	}
}

🌱 Contributing

Contributions are always welcome! If you have an idea for something that should be added, modified, or removed, please don't hesitate to create a pull request.

You can also create an issue to propose your ideas or report a bug.

You can help in many ways:

  • Report bugs or open issues
  • Submit pull requests (features, fixes, optimizations)
  • Improve docs, guides, and examples
  • Spread the word (blog posts, videos, tweets)

Of course, you can also use Wabe for your backend ❤️.

If you like the project don't forget to share it.

More information on the Contribution guide

License

Distributed under the Apache License 2.0 License.