HotupdaterHot Updater
Concepts

Plugin System

Hot Updater uses a flexible plugin system that lets you customize how bundles are built, stored, and managed to fit your infrastructure.

Build Plugin

Build plugins handle the bundling process when you run the hot-updater deploy command. They generate the JavaScript bundles for your updates.

Supported Plugins

  • @hot-updater/bare: Executes the bundle command through React Native CLI. Bundles through Metro or Re.Pack.
  • @hot-updater/rock: Executes the bundle command through Rock(Formerly RNEF).
  • @hot-updater/expo: Executes the bundle command through Expo.

Storage Plugin

Storage plugins upload your generated bundles during the hot-updater deploy command and store them in your chosen storage provider.

Storage plugins expose explicit environment profiles:

  • node: deploy-time APIs for upload, delete, and local file downloads.
  • runtime: update-check APIs for HTTP(S) download URLs and small metadata reads.

hot-updater.config.ts uses the node profile. createHotUpdater uses the runtime profile. Most apps can use the official storage plugins directly; custom plugin authors only need the profile details when implementing their own storage provider.

Supported Plugins

  • @hot-updater/supabase: Provides supabaseStorage functionality, leveraging Supabase for storage.
  • @hot-updater/cloudflare: Provides deploy-time r2Storage and Worker runtime storage for Cloudflare R2.
  • @hot-updater/aws: Provides s3Storage functionality, enabling the use of AWS S3 for storage.
  • @hot-updater/firebase: Provides firebaseStorage functionality, utilizing Firebase Storage for storing update bundles.

Database Plugin

Database plugins store bundle metadata that your app uses to check for updates. They run during the hot-updater deploy command.

Supported Plugins

  • @hot-updater/supabase: Provides supabaseDatabase functionality, using Supabase as a database solution.
  • @hot-updater/aws: Provides s3Database functionality, utilizing AWS for database storage.
  • @hot-updater/cloudflare: Provides d1Database functionality, leveraging Cloudflare D1 for database storage.
  • @hot-updater/firebase: Provides firebaseDatabase functionality, using Firebase Firestore for storing update metadata.

On this page