rnv.app Schema Definition
The schema defines the following properties:
id
(string)
ID of the app in ./appConfigs/[APP_ID]/renative.json
. MUST match APP_ID name of the folder
custom
Object used to extend your renative with custom props. This allows renative json schema to be validated
hidden
(boolean)
If set to true in ./appConfigs/[APP_ID]/renative.json
the APP_ID will be hidden from list of appConfigs -c
extendsTemplate
(string)
You can extend another renative.json file of currently applied template by providing relative or full package name path. Exampe: @rnv/template-starter/renative.json
extend
(string)
extend another appConfig by id
common
(object)
Common config props used as default props for all available buildSchemes
Properties of the common
object:
includedPermissions
(array)
Allows you to include specific permissions by their KEY defined in permissions
object. Use: ['*']
to include all
The object is an array with all elements of the type string
.
excludedPermissions
(array)
Allows you to exclude specific permissions by their KEY defined in permissions
object. Use: ['*']
to exclude all
The object is an array with all elements of the type string
.
id
(string)
Bundle ID of application. ie: com.example.myapp
idSuffix
(string)
version
(string)
Semver style version of your app
versionCode
(string)
Manual verride of generated version code
versionFormat
(string)
Allows you to fine-tune app version defined in package.json or renative.json. If you do not define versionFormat, no formatting will apply to version.
versionCodeFormat
(string)
Allows you to fine-tune auto generated version codes. Version code is autogenerated from app version defined in package.json or renative.json.
versionCodeOffset
(number)
title
(string)
Title of your app will be used to create title of the binary. ie App title of installed app iOS/Android app or Tab title of the website
description
(string)
General description of your app. This prop will be injected to actual projects where description field is applicable
author
(string)
Author name
license
(string)
Injects license information into app
includedFonts
(array)
Array of fonts you want to include in specific app or scheme. Should use exact font file (without the extension) located in ./appConfigs/base/fonts
or *
to mark all
The object is an array with all elements of the type string
.
backgroundColor
(string)
Defines root view backgroundColor for all platforms in HEX format
Constraints:
- Regex pattern:
^#
splashScreen
(boolean)
Enable or disable splash screen
fontSources
(array)
Array of paths to location of external Fonts. you can use resolve function here example: {{resolvePackage(react-native-vector-icons)}}/Fonts
The object is an array with all elements of the type string
.
assetSources
(array)
Array of paths to alternative external assets. this will take priority over ./appConfigs/base/assets folder on your local project. You can use resolve function here example: {{resolvePackage(@flexn/template-starter)}}/appConfigs/base/assets
The object is an array with all elements of the type string
.
includedPlugins
(array)
Defines an array of all included plugins for specific config or buildScheme. only full keys as defined in plugin
should be used.
NOTE: includedPlugins is evaluated before excludedPlugins. Use: ['*']
to include all
The object is an array with all elements of the type string
.
excludedPlugins
(array)
Defines an array of all excluded plugins for specific config or buildScheme. only full keys as defined in plugin
should be used.
NOTE: excludedPlugins is evaluated after includedPlugins. Use: ['*']
to exclude all
The object is an array with all elements of the type string
.
runtime
This object will be automatically injected into ./platfromAssets/renative.runtime.json
making it possible to inject the values directly to JS source code
custom
buildSchemes
(object)
platforms
(object)
Object containing platform configurations
Properties of the platforms
object:
android
(object)
Properties of the android
object:
buildSchemes
(object)
includedPermissions
Allows you to include specific permissions by their KEY defined in permissions
object. Use: ['*']
to include all
excludedPermissions
Allows you to exclude specific permissions by their KEY defined in permissions
object. Use: ['*']
to exclude all
id
Bundle ID of application. ie: com.example.myapp
idSuffix
version
Semver style version of your app
versionCode
Manual verride of generated version code
versionFormat
Allows you to fine-tune app version defined in package.json or renative.json. If you do not define versionFormat, no formatting will apply to version.
versionCodeFormat
Allows you to fine-tune auto generated version codes. Version code is autogenerated from app version defined in package.json or renative.json.
versionCodeOffset
title
Title of your app will be used to create title of the binary. ie App title of installed app iOS/Android app or Tab title of the website
description
General description of your app. This prop will be injected to actual projects where description field is applicable
author
Author name
license
Injects license information into app
includedFonts
Array of fonts you want to include in specific app or scheme. Should use exact font file (without the extension) located in ./appConfigs/base/fonts
or *
to mark all
backgroundColor
Defines root view backgroundColor for all platforms in HEX format
splashScreen
Enable or disable splash screen
fontSources
Array of paths to location of external Fonts. you can use resolve function here example: {{resolvePackage(react-native-vector-icons)}}/Fonts
assetSources
Array of paths to alternative external assets. this will take priority over ./appConfigs/base/assets folder on your local project. You can use resolve function here example: {{resolvePackage(@flexn/template-starter)}}/appConfigs/base/assets
includedPlugins
Defines an array of all included plugins for specific config or buildScheme. only full keys as defined in plugin
should be used.
NOTE: includedPlugins is evaluated before excludedPlugins. Use: ['*']
to include all
excludedPlugins
Defines an array of all excluded plugins for specific config or buildScheme. only full keys as defined in plugin
should be used.
NOTE: excludedPlugins is evaluated after includedPlugins. Use: ['*']
to exclude all
runtime
custom
extendPlatform
assetFolderPlatform
Alternative platform assets. This is useful for example when you want to use same android assets in androidtv and want to avoid duplicating assets
engine
ID of engine to be used for this platform. Note: engine must be registered in engines
field
entryFile
Alternative name of the entry file without .js
extension
bundleAssets
If set to true
compiled js bundle file will generated. this is needed if you want to make production like builds
enableSourceMaps
If set to true
dedicated source map file will be generated alongside of compiled js bundle
bundleIsDev
If set to true
debug build will be generated
getJsBundleFile
enableAndroidX
Enables new android X architecture
enableJetifier
Enables Jetifier
signingConfig
Equivalent to running ./gradlew/assembleDebug
or ./gradlew/assembleRelease
minSdkVersion
Minimum Android SDK version device has to have in order for app to run
multipleAPKs
If set to true
, apk will be split into multiple ones for each architecture: "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
aab
If set to true, android project will generate app.aab instead of apk
extraGradleParams
Allows passing extra params to gradle command
minifyEnabled
Sets minifyEnabled buildType property in app/build.gradle
targetSdkVersion
Allows you define custom targetSdkVersion equivalent to: targetSdkVersion = [VERSION]
in build.gradle
compileSdkVersion
Allows you define custom compileSdkVersion equivalent to: compileSdkVersion = [VERSION]
in build.gradle
kotlinVersion
Allows you define custom kotlin version
ndkVersion
Allows you define custom ndkVersion equivalent to: ndkVersion = [VERSION]
in build.gradle