⚠️ Alpha Notice:This project is currently in alpha. Features and APIs are subject to change, and breaking changes may occur. Use with caution in production environments.
A TypeScript-first Supabase wrapper for Roblox, built specifically for the roblox-ts ecosystem.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
Roblox-Supabase is a TypeScript-first Supabase client library specifically designed for Roblox using the roblox-ts ecosystem. This library provides a type-safe way to interact with your Supabase backend from Roblox games and experiences.
Key features:
- Type-safe PostgREST client for Supabase interactions
- Designed specifically for the Roblox platform
- Built with TypeScript using roblox-ts
- Simple API for making requests to your Supabase backend
- Handles authentication and request formatting
To start using Roblox-Supabase in your Roblox project, follow these steps:
-
Add the package to your roblox-ts project:
npm install @rbxts/roblox-supabase
-
Set up a Supabase project at https://supabase.com
-
Get your Supabase URL and anon key from your Supabase project settings
-
Initialize the client in your code:
import { SupabaseClient } from "@rbxts/roblox-supabase"; import { HttpService } from "@rbxts/services"; // Initialize the client const supabase = new SupabaseClient("YOUR_SUPABASE_URL", HttpService.GetSecret("SUPABASE_ANON_KEY"));
// Initialize the client
import { SupabaseClient } from "@rbxts/roblox-supabase";
import { HttpService } from "@rbxts/services";
const supabase = new SupabaseClient("YOUR_SUPABASE_URL", HttpService.GetSecret("SUPABASE_ANON_KEY"));
// Make a request
const result = await supabase
.from("players")
.select("*")
.eq("id", player.UserId)
.single();You can use the Supabase CLI to generate TypeScript types for your database, ensuring full type safety in your Roblox project.
npx supabase gen types typescript --project-id "your-project-id" --schema public > supabase-types.tsThen, import your generated types and pass them to SupabaseClient:
import { SupabaseClient } from "@rbxts/roblox-supabase";
import type { Database } from "./supabase-types";
import { HttpService } from "@rbxts/services";
// Pass your Database type for full type safety
const supabase = new SupabaseClient<Database>("YOUR_SUPABASE_URL", HttpService.GetSecret("SUPABASE_ANON_KEY"));More examples and detailed documentation coming soon.
- Basic Supabase client implementation
- Convert to Ambient Declarations
- Request functionality
- Complete Supabase API coverage
- Authentication methods
- Realtime subscriptions
- Storage functionality
- Comprehensive documentation
- Code examples
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
Please read CONTRIBUTING.md for details on our code of conduct, development process, and guidelines for submitting pull requests.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Waffle0823 - csshin9928@gmail.com
Project Link: https://github.com/Waffle0823/Roblox-Supabase