npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

rn-ota-bundler

v1.0.15

Published

OTA Bundler for React Native Multi-Bundle

Readme

rn-ota-bundler

OTA Bundler CLI for React Native Multi-Bundle. This tool helps you bundle, obfuscate (optional), zip, and upload your React Native modules for Over-The-Air updates.

Installation

npm install -D rn-ota-bundler
# or
yarn add -D rn-ota-bundler

Usage

You can run it directly using npx:

npx rn-ota-bundler <command> [options]

Commands

Authentication

login

Login via browser and save JWT token locally.

npx rn-ota-bundler login

logout

Clear saved JWT token.

npx rn-ota-bundler logout

Module & Environment Management

variants

List or add variants (environments).

# List variants
npx rn-ota-bundler variants

# Add new variant
npx rn-ota-bundler variants --add <name>

modules

List or add modules.

# List modules
npx rn-ota-bundler modules

# Add new module
npx rn-ota-bundler modules --add <name>

Bundling & Release

bundle

Create local bundle zip (no upload).

Options:

  • -m, --module <name>: Module name (e.g., homepage)
  • -p, --platform <platform>: Platform (ios|android)
  • --obfuscate: Enable obfuscation (default: false)
  • --build <type>: Build all modules (e.g., "all")

Examples:

# Build single module
npx rn-ota-bundler bundle -m homepage -p android --obfuscate

# Build all modules
npx rn-ota-bundler bundle --build all

release

Create local bundle zip and upload to server.

Options:

  • -m, --module <name>: Module name (required)
  • -p, --platform <platform>: Platform (ios|android) (required)
  • --obfuscated: Is bundle obfuscated (default: true)

Example:

npx rn-ota-bundler release -m homepage -p ios

edit-bundle

Edit bundle properties release.

Arguments:

  • <id>: Bundle ID

Options:

  • --min-app <ver>: Min app version
  • --max-app <ver>: Max app version
  • --version <ver>: Bundle version
  • --install-mode <mode>: Install mode (immediate|next_restart)
  • --active <bool>: Set active status (true|false)
  • --environment-ids <ids>: Comma separated environment IDs
  • --rollback-delay <hours>: Rollback retry delay in hours
  • --rollback-retry <count>: Rollback max retry attempts

Example:

npx rn-ota-bundler edit-bundle 123 --active true --min-app 1.0.0

Bundle Management

history

List app history (release history per platform/version).

npx rn-ota-bundler history

bundles

List remote bundles with optional filters.

Options:

  • -id, --bundleId <id>: Filter by bundle ID
  • -m, --module <name>: Filter by module
  • -v, --variant <name>: Filter by variant
  • -p, --platform <platform>: Filter by platform

Example:

npx rn-ota-bundler bundles -m homepage -p android

versions

List or add local app versions.

Options:

  • --add <version>: Add a new app version

Example:

npx rn-ota-bundler versions --add 1.0.1

Features

  • Bundling: Uses standard react-native bundle command.
  • Obfuscation: Supports javascript-obfuscator if obfuscator.config.json is present in the root directory.
  • Versioning: Auto-detects app version from build.gradle (Android) or Info.plist/project.pbxproj (iOS).
  • Zipping: Automatically zips the bundle and assets into a deploy-ready file.
  • OTA Management: Full suite of commands to manage modules, variants, and releases via CLI.

Project Structure Expectation

The tool expects your project to have:

  • src/<module_name>/index.js as the entry point.
  • Standard React Native structure (android/, ios/) for version detection.

Configuration

The CLI uses a configuration file located at ~/.rn-ota-bundler/config.json. Default base URL: http://localhost:3000 (can be overridden in src/default-config.json before build).

License

ISC