@andrioid/react-native-version-setter

Update your app version with a single command.

Usage no npm install needed!

<script type="module">
  import andrioidReactNativeVersionSetter from 'https://cdn.skypack.dev/@andrioid/react-native-version-setter';
</script>

README

react-native-version-setter

licence NPM Version download PRs Welcome

The simplest way to update your app version.

Will auto update the following files:

android/app/build.gradle versionName
android/app/build.gradle versionCode
ios/{projectName}.xcodeproj/project.pbxproj MARKETING_VERSION
package.json "version"

🌐 Install

npm: npm i react-native-version-setter

yarn: yarn add react-native-version-setter

πŸš€ Usage

Simply call npm run setVersion or yarn run setVersion in your project root.

$: npm run setVersion 1.2.0
[RNVS] MyApp: 1.0.0: ==> 1.2.0 βœ… 

$: npm run setVersion 1.2.0
[RNVS] Version is already 1.2.0 πŸ›‘

πŸ‘©β€πŸ’» Freeform Versioning

RNVS does not impose restrictions on versioning style. Feel free set your version numbers in whatever format works for you. For example, Date-based versioning:

$: npm run setVersion 1.20200909.1
[RNVS] MyApp: 1.0.0: ==> 1.20200909.1 βœ… 

In most cases it makes sense to use conventional semantic versioning.

From version 2, RNVS has full support for extended semVer syntax, like 1.2.3-alpha. These symbols are not supported on iOS, so they are stripped out automatically. They will be inserted as normal into android files and package.json.

β›³ Flags

-d: Runs with debug logging.

-r: Prepares version strings, but logs to console instead of writing to file.

-android: Set version for android only

-ios: Set version for iOS only

βš™οΈ Config

In most cases you won't need any config at all, but creating a .rnvs.json file in your project root will expose some extra options. Below are all accepted properties with example values.

{
  // RNVS uses the project name 
  // in package.json by default,
  // But your ios project name might differ.
  "iosProjectName": "MyApp"
}

πŸ’» Compatibility

  • Compatible with iOS projects using Xcode 11+

πŸ—ΊοΈ Roadmap

  • getVersion command
  • setVersion per-platform βœ… v2.1.0

πŸ‘‹ Troubleshooting

Version setting not working on new project

Ensure you have opened the generated .xcodeproj file at least once. On the first opening, Xcode will create the MARKETING_VERSION field that holds your app version. Prioed to this, there is nowhere to store the iOS version.

Need Help?

If you're after a new feature that isn't listed on the roadmap, or you're having trouble with this package, please open an issue.