Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gronxb/hot-updater
A self-hostable OTA update solution for React Native (Alternative to CodePush)
https://github.com/gronxb/hot-updater
plugin-system react-native react-native-codepush react-native-ota self-hosted supabase
Last synced: about 13 hours ago
JSON representation
A self-hostable OTA update solution for React Native (Alternative to CodePush)
- Host: GitHub
- URL: https://github.com/gronxb/hot-updater
- Owner: gronxb
- License: mit
- Created: 2023-10-22T15:56:45.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-17T10:13:39.000Z (7 days ago)
- Last Synced: 2025-01-17T11:24:05.549Z (7 days ago)
- Topics: plugin-system, react-native, react-native-codepush, react-native-ota, self-hosted, supabase
- Language: TypeScript
- Homepage: https://gronxb.github.io/hot-updater/
- Size: 53.9 MB
- Stars: 75
- Watchers: 1
- Forks: 5
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Hot Updater
[![NPM](https://img.shields.io/npm/v/hot-updater)](https://www.npmjs.com/package/hot-updater)A self-hostable OTA update solution for React Native **(Alternative to CodePush)**
![hot-updater](https://raw.githubusercontent.com/gronxb/hot-updater/main/demo.gif)
## Documentation
Full documentation is available at:
https://gronxb.github.io/hot-updater## Key Features
- **Self-Hosted**: Complete control over your update infrastructure
- **Multi-Platform**: Support for both iOS and Android
- **Web Console**: Intuitive update management interface
- **Plugin System**: Support for various storage providers (AWS S3, GitHub, etc.)
- **Version Control**: Robust app version management through semantic versioning
- **New Architecture**: Support for new architecture like React Native## Plugin System
Hot Updater provides high extensibility through its plugin system. Each functionality like build, storage, and database is separated into plugins, allowing users to configure them according to their needs.
### Plugin Types
- **Build Plugin**: Support for bundlers like Metro, Re.pack
- **Storage Plugin**: Support for bundle storage like AWS S3, Supabase Storage
- **Database Plugin**: Support for metadata storage like Supabase Database, PostgreSQL### Configuration Example
* **supabase**
```tsx
import { metro } from "@hot-updater/metro";
import { supabaseDatabase, supabaseStorage } from "@hot-updater/supabase";
import { defineConfig } from "hot-updater";
import "dotenv/config";export default defineConfig({
build: metro(),
storage: supabaseStorage({
supabaseUrl: process.env.HOT_UPDATER_SUPABASE_URL!,
supabaseAnonKey: process.env.HOT_UPDATER_SUPABASE_ANON_KEY!,
bucketName: process.env.HOT_UPDATER_SUPABASE_BUCKET_NAME!,
}),
database: supabaseDatabase({
supabaseUrl: process.env.HOT_UPDATER_SUPABASE_URL!,
supabaseAnonKey: process.env.HOT_UPDATER_SUPABASE_ANON_KEY!,
}),
});
```