Skip to main content

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

ParameterRequiredDefaultDescription
appSlugYes-The app slug from npx turbopush app add
platformYes-android or ios — determines bundling behavior
--deploymentName, -dNoStagingTarget deployment
--description, --desNo-"Change log" sent to the client
--disabled, -xNofalsePrevents download until activated via patch or dashboard
--mandatory, -mNofalseMarks update as required
--noDuplicateReleaseErrorNofalseWarns instead of errors on duplicate content
--rollout, -rNo100Percentage of users (1-100) eligible for this update
--targetBinaryVersion, -tNoautoBinary version(s) this update targets. Supports semver ranges. Auto-detected from Info.plist (iOS) or build.gradle (Android)
--bundleName, -bNoautoOutput bundle name. Default: main.jsbundle (iOS), index.android.bundle (Android)
--development, --devNofalseUnminified dev build
--entryFile, -eNoautoEntry JS file. Default: index.ios.js/index.android.js or index.js
--gradleFile, -gNo-Custom build.gradle path (Android)
--plistFile, -pNo-Custom Info.plist path (iOS)
--plistFilePrefix, --preNo-Plist prefix for env-specific files (e.g., STAGINGSTAGING-Info.plist)
--sourcemapOutput, -sNo-Sourcemap output path
--outputDir, -oNotempOutput directory of generated bundle, sourcemaps and assets
--privateKeyPath, -kNo-Path to private key for code signing