Plugin System

The Hot Updater is designed to be highly customizable through its plugin system. This extensibility allows you to tailor the updater's behavior to fit your specific requirements.

Build Plugin

The Build Plugin is used during the execution of the hot-updater deploy command. Its primary function is to manage the build process for generating the required update bundles.

Supported Plugins

  • @hot-updater/bare: Executes the bundle command through React Native CLI. Bundles through Metro or Re.Pack.
  • @hot-updater/rnef: Executes the bundle command through React Native Enterprise Framework by Callstack.
  • @hot-updater/expo: Executes the bundle command through Expo.

Storage Plugin

The Storage Plugin is utilized during the hot-updater deploy command to upload bundles generated by the Build Plugin. It ensures that the update files are stored in a designated storage solution.

Supported Plugins

  • @hot-updater/supabase: Provides supabaseStorage functionality, leveraging Supabase for storage.
  • @hot-updater/cloudflare: Provides r2Storage functionality, leveraging Cloudflare R2 for storage.
  • @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

The Database Plugin is responsible for storing the metadata required to check for updates. This plugin is activated during the execution of 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.