This tool allows you to easily update the version of a React Native application. It will update the following files if found:
- ./package.json
- ./android/app/src/main/AndroidManifest.xml
- ./android/app/build.gradle
- ./ios/<app_name>/Info.plist
In order to use this package, your project version must comply with the format described on semver.org.
There are two ways to install react-native-set-version: globally and locally.
This is the recommended way to install react-native-set-version.
npm:
npm install react-native-set-version --save-dev
yarn:
yarn add react-native-set-version --dev
You can then use this command in your project directory to run react-native-set-version:
npm:
$ npm run setVersion <version>
-- or --
$ npm run set-version <version>
yarn:
$ yarn setVersion <version>
-- or --
$ yarn set-version <version>
This installation method allows you to use react-native-set-version in any project.
npm:
npm install -g react-native-set-version
yarn:
yarn global add react-native-set-version
You can then use this command in your project directory to run react-native-set-version:
setVersion <version>
-- or --
set-version <version>
When invoked, react-native-set-version will make the following changes to your project files:
The version attribute in package.json
will be updated with the specified version.
It will update the version name and the version code in both build.gradle
and AndroidManifest.xml
.
Version information should not be in the AndroidManifest.xml
since this information is overridden by build.gradle
.
See https://developer.android.com/studio/publish/versioning for further informations.
For that reason react-native-set-version
will only write in the AndroidManifest.xml
if android:versionCode
and/or android:versionName
are already in the file.
It will update the CFBundleShortVersionString and the CFBundleVersion in Info.plist
.
The Android version code represents your version number as an integer. This package uses the following format to generate this integer:
<MAJOR><MINOR ON 2 DIGITS><PATCH ON 2 DIGITS><BUILD NUMBER>
For instance, the first time you call set-version 3.1.4
, it will produce the version code 301041
.
If you call the command with the same version a second time, it will increment the build number, to produce 301042
.
This also applies if, for instance, you call set-version 3.1.4-rc.1
, and then set-version 3.1.4-rc.2
.
As for the CFBundleVersion
on iOS, it will produce a string in the format <MAJOR>.<MINOR>.<PATCH>.<BUILD NUMBER>
.
Example:
$ yarn set-version 1.0.0-rc.1
# Output
# ...
# Will set android version code to 100001
# ...
# Will set CFBundleVersion to 1.0.0.1
$ yarn set-version 1.0.0-rc.2
# Output
# ...
# Will set android version code to 100002
# ...
# Will set CFBundleVersion to 1.0.0.2
$ yarn set-version 1.0.0
# Output
# ...
# Will set android version code to 100003
# ...
# Will set CFBundleVersion to 1.0.0.3
This software uses the MIT license.
You must use the following style guide:
This project contains a linting config, you should setup eslint
into your IDE with .eslintrc.js
.