zerobase-sdk-js
v1.1.0
Published
The official SDK for ZeroBase - A self-hosted Supabase alternative.
Downloads
12
Readme
ZeroBase SDK (JS/TS)
The official JavaScript & TypeScript SDK for ZeroBase — The lightweight, self-hosted Supabase alternative.
Built with performance and simplicity in mind, it provides a unified interface for Database CRUD, Better-Auth integration, and S3/Minio Storage management.
🚀 Installation
npm install zerobase-sdk-js🛠️ Quick Start
Initialize the client with your Project URL and Service Role Key (found in your ZeroBase Dashboard > Settings).
import { createClient } from 'zerobase-sdk-js';
const zb = createClient('https://your-zerobase-url.com', 'your-service-role-key');
// You're ready to go!🔐 Authentication (Better-Auth)
ZeroBase uses Better-Auth under the hood for professional identity management.
Google Sign-In
// Triggers the Google OAuth flow
await zb.auth.signInWithGoogle();Get Current User
const { data: session, error } = await zb.auth.getUser();
if (session) {
console.log('Logged in as:', session.user.email);
}Sign Out
await zb.auth.signOut();📊 Database (CRUD)
Interact with your PostgreSQL tables using an intuitive, fluent API.
Select Data
const { data, error } = await zb.from('profiles').select('*');Insert Records
const { data, error } = await zb.from('posts').insert({
title: 'Hello ZeroBase!',
content: 'The lightweight Supabase choice.'
});Update Records
const { data, error } = await zb.from('posts').update(123, {
status: 'published'
});Delete Records
const { error } = await zb.from('posts').delete(123);📁 Storage (Minio/S3)
Management of files and buckets with automatic S3 compliance.
Upload a File
const { data, error } = await zb.storage.from('avatars').upload('profile.png', file);Get Public URL
const { publicUrl } = zb.storage.from('avatars').getPublicUrl('profile.png');📜 Legal / License
ZeroBase is open-source. See our main repository for licensing information.
