React Native Release
Automatically bundles and releases React Native apps. Runs react-native bundle internally.
npx turbopush release-react <appSlug> <platform>
[--bundleName <bundleName>]
[--deploymentName <deploymentName>]
[--description <description>]
[--development <development>]
[--disabled <disabled>]
[--entryFile <entryFile>]
[--gradleFile <gradleFile>]
[--mandatory]
[--noDuplicateReleaseError]
[--outputDir <outputDir>]
[--plistFile <plistFile>]
[--plistFilePrefix <plistFilePrefix>]
[--sourcemapOutput <sourcemapOutput>]
[--targetBinaryVersion <targetBinaryVersion>]
[--rollout <rolloutPercentage>]
[--privateKeyPath <pathToPrivateKey>]
[--config <config>]
Quick Example
Just run:
npx turbopush release-react myapp-ios ios
Example: Specifying the version manually
If you don't want Turbopush to infer the version from your project files, you can manually specify it with the --targetBinaryVersion flag:
npx turbopush release-react myapp-ios ios --targetBinaryVersion "1.2.3"
You can also use version ranges with this flag:
npx turbopush release-react myapp-android android --targetBinaryVersion ">=1.2.0 <2.0.0"
In this case, the value you provide will be used and Turbopush will not attempt to read the version automatically from your configuration files.
Parameters
| Parameter | Required | Default | Description |
|---|---|---|---|
appSlug | Yes | - | The app slug from npx turbopush app add |
platform | Yes | - | android or ios — determines bundling behavior |
--deploymentName, -d | No | Staging | Target deployment |
--description, --des | No | - | "Change log" sent to the client |
--disabled, -x | No | false | Prevents download until activated via patch or dashboard |
--mandatory, -m | No | false | Marks update as required |
--noDuplicateReleaseError | No | false | Warns instead of errors on duplicate content |
--rollout, -r | No | 100 | Percentage of users (1-100) eligible for this update |
--targetBinaryVersion, -t | No | auto | Binary version(s) this update targets. Supports semver ranges. Auto-detected from Info.plist (iOS) or build.gradle (Android) |
--bundleName, -b | No | auto | Output bundle name. Default: main.jsbundle (iOS), index.android.bundle (Android) |
--development, --dev | No | false | Unminified dev build |
--entryFile, -e | No | auto | Entry JS file. Default: index.ios.js/index.android.js or index.js |
--gradleFile, -g | No | - | Custom build.gradle path (Android) |
--plistFile, -p | No | - | Custom Info.plist path (iOS) |
--plistFilePrefix, --pre | No | - | Plist prefix for env-specific files (e.g., STAGING → STAGING-Info.plist) |
--sourcemapOutput, -s | No | - | Sourcemap output path |
--outputDir, -o | No | temp | Output directory of generated bundle, sourcemaps and assets |
--privateKeyPath, -k | No | - | Path to private key for code signing |