diff --git a/packages/app-harness/appConfigs/base/renative.json b/packages/app-harness/appConfigs/base/renative.json index e34ff22400..36aea28aaa 100644 --- a/packages/app-harness/appConfigs/base/renative.json +++ b/packages/app-harness/appConfigs/base/renative.json @@ -29,9 +29,6 @@ "backgroundColor": "#111111", "fontSources": [ "{{resolvePackage(react-native-vector-icons)}}/Fonts" - ], - "assetSources": [ - "{{resolvePackage(@flexn/assets-renative-outline)}}/assets" ] }, "platforms": { @@ -93,6 +90,9 @@ "includedPermissions": [ "*" ], + "assetSources": [ + "{{resolvePackage(@flexn/assets-renative-outline)}}/assets" + ], "buildSchemes": { "debug": { "runScheme": "Debug", @@ -116,6 +116,9 @@ "includedPermissions": [ "*" ], + "assetSources": [ + "{{resolvePackage(@flexn/assets-renative-outline)}}/assets" + ], "buildSchemes": { "debug": { "runScheme": "Debug", @@ -138,6 +141,7 @@ "includedPermissions": [ "INTERNET" ], + "buildSchemes": { "debug": { "signingConfig": "Debug", @@ -173,6 +177,9 @@ "includedPermissions": [ "*" ], + "assetSources": [ + "{{resolvePackage(@flexn/assets-renative-outline)}}/assets" + ], "buildSchemes": { "debug": { "signingConfig": "Debug", @@ -197,6 +204,9 @@ "includedPermissions": [ "*" ], + "assetSources": [ + "{{resolvePackage(@flexn/assets-renative-outline)}}/assets" + ], "buildSchemes": { "debug": { "signingConfig": "Debug", @@ -221,6 +231,9 @@ "includedPermissions": [ "*" ], + "assetSources": [ + "{{resolvePackage(@flexn/assets-renative-outline)}}/assets" + ], "buildSchemes": { "debug": { "signingConfig": "Debug", @@ -243,6 +256,9 @@ "certificateProfile": "RNVanillaCert", "package": "NkVRhWHJST", "id": "NkVRhWHJST.RNVanillaTV", + "assetSources": [ + "{{resolvePackage(@flexn/assets-renative-outline)}}/assets" + ], "buildSchemes": { "debug": { "bundleAssets": false @@ -259,6 +275,9 @@ "certificateProfile": "RNVanillaCert", "package": "cHIP2fIRQZ", "id": "cHIP2fIRQZ.RNVanillaWatch", + "assetSources": [ + "{{resolvePackage(@flexn/assets-renative-outline)}}/assets" + ], "buildSchemes": { "debug": { "bundleAssets": false @@ -275,6 +294,9 @@ "certificateProfile": "RNVanillaCert", "package": "PauodvCU2r", "id": "PauodvCU2r.RNVanillaMobile", + "assetSources": [ + "{{resolvePackage(@flexn/assets-renative-outline)}}/assets" + ], "buildSchemes": { "debug": { "bundleAssets": false @@ -289,6 +311,9 @@ "entryFile": "index", "pagesDir": "src/pages", "devServerHost": "0.0.0.0", + "assetSources": [ + "{{resolvePackage(@flexn/assets-renative-outline)}}/assets" + ], "buildSchemes": { "debug": { "bundleAssets": false, @@ -319,6 +344,9 @@ "entryFile": "index", "pagesDir": "src/pages", "devServerHost": "0.0.0.0", + "assetSources": [ + "{{resolvePackage(@flexn/assets-renative-outline)}}/assets" + ], "buildSchemes": { "debug": { "bundleAssets": false, @@ -338,6 +366,9 @@ }, "webos": { "entryFile": "index", + "assetSources": [ + "{{resolvePackage(@flexn/assets-renative-outline)}}/assets" + ], "buildSchemes": { "debug": { "bundleAssets": false @@ -353,6 +384,9 @@ "templateVSProject": { "language": "cpp" }, + "assetSources": [ + "{{resolvePackage(@flexn/assets-renative-outline)}}/assets" + ], "buildSchemes": { "debug": { "bundleAssets": false @@ -366,6 +400,9 @@ }, "linux": { "entryFile": "index", + "assetSources": [ + "{{resolvePackage(@flexn/assets-renative-outline)}}/assets" + ], "buildSchemes": { "debug": { "bundleAssets": false diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/drawable-hdpi/banner.png b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-hdpi/banner.png new file mode 100644 index 0000000000..48bba78416 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-hdpi/banner.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/drawable-hdpi/splash_icon.png b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-hdpi/splash_icon.png new file mode 100644 index 0000000000..dfdc0b1b67 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-hdpi/splash_icon.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/drawable-mdpi/banner.png b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-mdpi/banner.png new file mode 100644 index 0000000000..42face649f Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-mdpi/banner.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/drawable-mdpi/splash_icon.png b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-mdpi/splash_icon.png new file mode 100644 index 0000000000..1c65f09587 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-mdpi/splash_icon.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xhdpi/banner.png b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xhdpi/banner.png new file mode 100644 index 0000000000..07726dcb2f Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xhdpi/banner.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xhdpi/splash_icon.png b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xhdpi/splash_icon.png new file mode 100644 index 0000000000..449e8722c4 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xhdpi/splash_icon.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xxhdpi/banner.png b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xxhdpi/banner.png new file mode 100644 index 0000000000..98f5cf6aca Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xxhdpi/banner.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xxhdpi/splash_icon.png b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xxhdpi/splash_icon.png new file mode 100644 index 0000000000..f10e89074b Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xxhdpi/splash_icon.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xxxhdpi/banner.png b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xxxhdpi/banner.png new file mode 100644 index 0000000000..791013b73a Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xxxhdpi/banner.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xxxhdpi/splash_icon.png b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xxxhdpi/splash_icon.png new file mode 100644 index 0000000000..2f6a80c9c4 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/drawable-xxxhdpi/splash_icon.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/drawable/ic_logo.png b/packages/app-harness/appConfigs/harness/assets/android/res/drawable/ic_logo.png new file mode 100644 index 0000000000..c1b5a54dcd Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/drawable/ic_logo.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/layout/launch_screen.xml b/packages/app-harness/appConfigs/harness/assets/android/res/layout/launch_screen.xml new file mode 100644 index 0000000000..dc1f4f33f9 --- /dev/null +++ b/packages/app-harness/appConfigs/harness/assets/android/res/layout/launch_screen.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-hdpi/ic_launcher.png b/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000..9606e15208 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-hdpi/ic_launcher.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-mdpi/ic_launcher.png b/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000..04ec1eb8f6 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-mdpi/ic_launcher.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-xhdpi/ic_launcher.png b/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000..dc7610a173 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-xxhdpi/ic_launcher.png b/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000..761c95ae92 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-xxxhdpi/ic_launcher.png b/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000..55a20fd9cc Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/android/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/values-v28/styles.xml b/packages/app-harness/appConfigs/harness/assets/android/res/values-v28/styles.xml new file mode 100644 index 0000000000..756770c5ee --- /dev/null +++ b/packages/app-harness/appConfigs/harness/assets/android/res/values-v28/styles.xml @@ -0,0 +1,12 @@ + + + + + diff --git a/packages/app-harness/appConfigs/harness/assets/android/res/values/styles.xml b/packages/app-harness/appConfigs/harness/assets/android/res/values/styles.xml new file mode 100644 index 0000000000..70b8994e61 --- /dev/null +++ b/packages/app-harness/appConfigs/harness/assets/android/res/values/styles.xml @@ -0,0 +1,11 @@ + + + + + diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/100.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/100.png new file mode 100644 index 0000000000..eb188e45da Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/100.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/102.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/102.png new file mode 100644 index 0000000000..a45372477a Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/102.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/1024.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/1024.png new file mode 100644 index 0000000000..083aaf54a7 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/1024.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/114.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/114.png new file mode 100644 index 0000000000..50811af4c2 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/114.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/120.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/120.png new file mode 100644 index 0000000000..0a1c6a3b7a Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/120.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/128.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/128.png new file mode 100644 index 0000000000..030aa7d781 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/128.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/144.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/144.png new file mode 100644 index 0000000000..761c95ae92 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/144.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/152.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/152.png new file mode 100644 index 0000000000..906c524b02 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/152.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/16.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/16.png new file mode 100644 index 0000000000..797b1ce74f Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/16.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/167.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/167.png new file mode 100644 index 0000000000..d67834115f Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/167.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/172.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/172.png new file mode 100644 index 0000000000..d535b1e8ca Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/172.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/180.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/180.png new file mode 100644 index 0000000000..ad919985cb Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/180.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/196.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/196.png new file mode 100644 index 0000000000..bab20d0087 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/196.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/20.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/20.png new file mode 100644 index 0000000000..14b95afac3 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/20.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/216.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/216.png new file mode 100644 index 0000000000..7ed58df245 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/216.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/256.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/256.png new file mode 100644 index 0000000000..ce8366fe24 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/256.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/29.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/29.png new file mode 100644 index 0000000000..03b5e84519 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/29.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/32.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/32.png new file mode 100644 index 0000000000..a02796b46c Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/32.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/40.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/40.png new file mode 100644 index 0000000000..9d94259a44 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/40.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/48.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/48.png new file mode 100644 index 0000000000..04ec1eb8f6 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/48.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/50.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/50.png new file mode 100644 index 0000000000..06721a5c7f Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/50.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/512.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/512.png new file mode 100644 index 0000000000..7f96c0324f Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/512.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/55.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/55.png new file mode 100644 index 0000000000..17b4c20396 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/55.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/57.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/57.png new file mode 100644 index 0000000000..54fc1e89af Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/57.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/58.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/58.png new file mode 100644 index 0000000000..c1e1bb606a Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/58.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/60.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/60.png new file mode 100644 index 0000000000..4822a63302 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/60.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/64.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/64.png new file mode 100644 index 0000000000..5fa19e532c Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/64.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/66.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/66.png new file mode 100644 index 0000000000..d5c46deef3 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/66.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/72.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/72.png new file mode 100644 index 0000000000..9606e15208 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/72.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/76.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/76.png new file mode 100644 index 0000000000..105a16ca3e Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/76.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/80.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/80.png new file mode 100644 index 0000000000..69bf0088f0 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/80.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/87.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/87.png new file mode 100644 index 0000000000..3c47e5841b Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/87.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/88.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/88.png new file mode 100644 index 0000000000..c2e1bf10c0 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/88.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/92.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/92.png new file mode 100644 index 0000000000..a1a5d70981 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/92.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000000..ffab2548e6 --- /dev/null +++ b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1 @@ +{"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"72x72","expected-size":"72","filename":"72.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"76x76","expected-size":"152","filename":"152.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"50x50","expected-size":"100","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"76x76","expected-size":"76","filename":"76.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"50x50","expected-size":"50","filename":"50.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"72x72","expected-size":"144","filename":"144.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"40x40","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"83.5x83.5","expected-size":"167","filename":"167.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"20x20","expected-size":"20","filename":"20.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"idiom":"watch","filename":"172.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"86x86","expected-size":"172","role":"quickLook"},{"idiom":"watch","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"40x40","expected-size":"80","role":"appLauncher"},{"idiom":"watch","filename":"88.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"40mm","scale":"2x","size":"44x44","expected-size":"88","role":"appLauncher"},{"idiom":"watch","filename":"102.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"41mm","scale":"2x","size":"45x45","expected-size":"102","role":"appLauncher"},{"idiom":"watch","filename":"92.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"41mm","scale":"2x","size":"46x46","expected-size":"92","role":"appLauncher"},{"idiom":"watch","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"50x50","expected-size":"100","role":"appLauncher"},{"idiom":"watch","filename":"196.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"98x98","expected-size":"196","role":"quickLook"},{"idiom":"watch","filename":"216.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"108x108","expected-size":"216","role":"quickLook"},{"idiom":"watch","filename":"48.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"24x24","expected-size":"48","role":"notificationCenter"},{"idiom":"watch","filename":"55.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"27.5x27.5","expected-size":"55","role":"notificationCenter"},{"idiom":"watch","filename":"66.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"45mm","scale":"2x","size":"33x33","expected-size":"66","role":"notificationCenter"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"3x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"2x"},{"size":"1024x1024","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch-marketing","scale":"1x"},{"size":"128x128","expected-size":"128","filename":"128.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"256x256","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"128x128","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"256x256","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"512x512","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"16","filename":"16.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"64","filename":"64.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"512x512","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"}]} \ No newline at end of file diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/launch-image.imageset/Contents.json b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/launch-image.imageset/Contents.json new file mode 100644 index 0000000000..ea15229f42 --- /dev/null +++ b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/launch-image.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "launch-image.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "launch-image@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "launch-image@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/launch-image.imageset/launch-image.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/launch-image.imageset/launch-image.png new file mode 100644 index 0000000000..7797eeb185 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/launch-image.imageset/launch-image.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/launch-image.imageset/launch-image@2x.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/launch-image.imageset/launch-image@2x.png new file mode 100644 index 0000000000..575819e94d Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/launch-image.imageset/launch-image@2x.png differ diff --git a/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/launch-image.imageset/launch-image@3x.png b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/launch-image.imageset/launch-image@3x.png new file mode 100644 index 0000000000..eecef2bd22 Binary files /dev/null and b/packages/app-harness/appConfigs/harness/assets/ios/Assets.xcassets/launch-image.imageset/launch-image@3x.png differ diff --git a/packages/app-harness/package.json b/packages/app-harness/package.json index 14ef5ed808..374357309b 100644 --- a/packages/app-harness/package.json +++ b/packages/app-harness/package.json @@ -50,7 +50,9 @@ "react-native-gesture-handler": "2.13.1", "react-native-permissions": "3.10.1", "react-native-tvos": "0.72.4-0", - "react-native-web": "0.19.9" + "react-native-web": "0.19.9", + "react-native-splash-screen": "3.3.0", + "react-native-carplay": "2.3.0" }, "devDependencies": { "@flexn/assets-renative-outline": "0.3.3", diff --git a/packages/app-harness/renative.json b/packages/app-harness/renative.json index 88c1e759cd..bfc08072b5 100644 --- a/packages/app-harness/renative.json +++ b/packages/app-harness/renative.json @@ -6,6 +6,54 @@ "path": "./secrets/privateConfigs.enc" }, "plugins": { + "react-native-splash-screen": { + "android": { + "templateAndroid": { + "MainActivity_java": { + "createMethods": ["SplashScreen.show(this)"], + "imports": ["android.os.Bundle", "org.devio.rn.splashscreen.SplashScreen"] + } + }, + "package": "org.devio.rn.splashscreen.SplashScreenReactPackage" + }, + "ios": { + "templateXcode": { + "AppDelegate_mm": { + "appDelegateImports": ["RNSplashScreen.h"], + "appDelegateMethods": { + "application": { + "didFinishLaunchingWithOptions": ["[RNSplashScreen show]"] + } + } + } + }, + "podName": "react-native-splash-screen" + }, + "version": "3.3.0" + }, + "react-native-carplay": { + "ios": { + "templateXcode": { + "AppDelegate_h": { + "appDelegateImports": ["CarPlay/CarPlay.h"], + "appDelegateExtensions": ["UIApplicationDelegate", "CPApplicationDelegate"] + }, + "AppDelegate_mm": { + "appDelegateImports": ["RNCarPlay.h"], + "appDelegateMethods": { + "application": { + "didConnectCarInterfaceController": [ + "[RNCarPlay connectWithInterfaceController:interfaceController window:window]" + ], + "didDisconnectCarInterfaceController": ["[RNCarPlay disconnect]"] + } + } + } + }, + "podName": "react-native-carplay" + }, + "version": "2.3.0" + }, "react-native-permissions": "3.10.1", "react-native": { "android": { diff --git a/packages/app-harness/src/app/index.tsx b/packages/app-harness/src/app/index.tsx index 0ce6a9d702..0c9438b7b9 100644 --- a/packages/app-harness/src/app/index.tsx +++ b/packages/app-harness/src/app/index.tsx @@ -1,8 +1,12 @@ -import React from 'react'; +import React, { useEffect } from 'react'; import { Text, View } from 'react-native'; import { testProps } from '../config'; +import SplashScreen from 'react-native-splash-screen'; const App = () => { + useEffect(() => { + SplashScreen.hide(); + }, []); return ( ReNative Harness diff --git a/packages/core/jsonSchema/rnv.app.json b/packages/core/jsonSchema/rnv.app.json index ee6c508ff4..94b5040975 100644 --- a/packages/core/jsonSchema/rnv.app.json +++ b/packages/core/jsonSchema/rnv.app.json @@ -1,3561 +1,3532 @@ { - "$ref": "#/definitions/rnv.app", - "definitions": { - "rnv.app": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "ID of the app in `./appConfigs/[APP_ID]/renative.json`. MUST match APP_ID name of the folder" - }, - "custom": { - "description": "Object ysed to extend your renative with custom props. This allows renative json schema to be validated" - }, - "hidden": { - "type": "boolean", - "description": "If set to true in `./appConfigs/[APP_ID]/renative.json` the APP_ID will be hidden from list of appConfigs `-c`" - }, - "extendsTemplate": { - "type": "string", - "description": "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": { - "type": "string", - "description": "extend another appConfig by id" - }, - "skipBootstrapCopy": { - "type": "boolean" - }, - "common": { - "type": "object", - "properties": { - "includedPermissions": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Allows you to include specific permissions by their KEY defined in `permissions` object. Use: `['*']` to include all" - }, - "excludedPermissions": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Allows you to exclude specific permissions by their KEY defined in `permissions` object. Use: `['*']` to exclude all" - }, - "id": { - "type": "string", - "description": "Bundle ID of application. ie: com.example.myapp" - }, - "idSuffix": { - "type": "string" - }, - "version": { - "type": "string", - "description": "Semver style version of your app" - }, - "versionCode": { - "type": "string", - "description": "Manual verride of generated version code" - }, - "versionFormat": { - "type": "string", - "description": "Allows you to fine-tune app version defined in package.json or renative.json.\n\nIf you do not define versionFormat, no formatting will apply to version.\n\n\"versionFormat\" : \"0.0.0\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 1.2.3\n\nIN: 1.2.3 OUT: 1.2.3\n\n\n\n\"versionFormat\" : \"0.0.0.0.0\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 1.2.3.4.56\n\nIN: 1.2.3 OUT: 1.2.3\n\n\"versionFormat\" : \"0.0.0.x.x.x.x\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 1.2.3.rc.4.build.56\n\nIN: 1.2.3 OUT: 1.2.3\n\n" - }, - "versionCodeFormat": { - "type": "string", - "description": "Allows you to fine-tune auto generated version codes.\n\nVersion code is autogenerated from app version defined in package.json or renative.json.\n\nNOTE: If you define versionCode manually this formatting will not apply.\n\nEXAMPLE 1:\n\ndefault value: 00.00.00\n\nIN: 1.2.3-rc.4+build.56 OUT: 102030456\n\nIN: 1.2.3 OUT: 10203\n\nEXAMPLE 2:\n\n\"versionCodeFormat\" : \"00.00.00.00.00\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 102030456\n\nIN: 1.2.3 OUT: 102030000\n\nEXAMPLE 3:\n\n\"versionCodeFormat\" : \"00.00.00.0000\"\n\nIN: 1.0.23-rc.15 OUT: 100230015\n\nIN: 1.0.23 OUT: 100230000\n\n" - }, - "versionCodeOffset": { - "type": "number" - }, - "title": { - "type": "string", - "description": "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": { - "type": "string", - "description": "General description of your app. This prop will be injected to actual projects where description field is applicable" - }, - "author": { - "type": "string", - "description": "Author name" - }, - "license": { - "type": "string", - "description": "Injects license information into app" - }, - "includedFonts": { - "type": "array", - "items": { - "type": "string" - }, - "description": "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": { - "type": "string", - "minLength": 4, - "maxLength": 9, - "pattern": "^#", - "description": "Defines root view backgroundColor for all platforms in HEX format" - }, - "splashScreen": { - "type": "boolean", - "description": "Enable or disable splash screen" - }, - "fontSources": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Array of paths to location of external Fonts. you can use resolve function here example: `{{resolvePackage(react-native-vector-icons)}}/Fonts`" - }, - "assetSources": { - "type": "array", - "items": { - "type": "string" - }, - "description": "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": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Defines an array of all included plugins for specific config or buildScheme. only full keys as defined in `plugin` should be used.\n\nNOTE: includedPlugins is evaluated before excludedPlugins. Use: `['*']` to include all" - }, - "excludedPlugins": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Defines an array of all excluded plugins for specific config or buildScheme. only full keys as defined in `plugin` should be used.\n\nNOTE: excludedPlugins is evaluated after includedPlugins. Use: `['*']` to exclude all" - }, - "runtime": { - "description": "This object will be automatically injected into `./platfromAssets/renative.runtime.json` making it possible to inject the values directly to JS source code" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/custom" - }, - "buildSchemes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "type": "string", - "description": "Custom description of the buildScheme will be displayed directly in cli if you run rnv with an empty paramener `-s`" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "enabled": { - "type": "boolean", - "description": "Defines whether build scheme shows up in options to run" - }, - "extendPlatform": { - "type": "string", - "enum": [ - "ios", - "android", - "firetv", - "androidtv", - "androidwear", - "web", - "webtv", - "tizen", - "tizenmobile", - "tvos", - "webos", - "macos", - "windows", - "linux", - "tizenwatch", - "kaios", - "chromecast", - "xbox" - ] - }, - "assetFolderPlatform": { - "type": "string", - "description": "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": { - "type": "string", - "description": "ID of engine to be used for this platform. Note: engine must be registered in `engines` field" - }, - "entryFile": { - "type": "string", - "default": "index", - "description": "Alternative name of the entry file without `.js` extension" - }, - "bundleAssets": { - "type": "boolean", - "description": "If set to `true` compiled js bundle file will generated. this is needed if you want to make production like builds" - }, - "enableSourceMaps": { - "type": "boolean", - "description": "If set to `true` dedicated source map file will be generated alongside of compiled js bundle" - }, - "bundleIsDev": { - "type": "boolean", - "description": "If set to `true` debug build will be generated" - }, - "getJsBundleFile": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Common config props used as default props for all available buildSchemes" - }, - "platforms": { - "type": "object", - "properties": { - "android": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, + "$ref": "#/definitions/rnv.app", + "definitions": { + "rnv.app": { + "type": "object", + "properties": { "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.app/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + "type": "string", + "description": "ID of the app in `./appConfigs/[APP_ID]/renative.json`. MUST match APP_ID name of the folder" }, "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "enableAndroidX": { - "type": [ - "boolean", - "string" - ], - "default": true, - "description": "Enables new android X architecture" - }, - "enableJetifier": { - "type": [ - "boolean", - "string" - ], - "default": true, - "description": "Enables Jetifier" - }, - "signingConfig": { - "type": "string", - "default": "Debug", - "description": "Equivalent to running `./gradlew/assembleDebug` or `./gradlew/assembleRelease`" + "description": "Object ysed to extend your renative with custom props. This allows renative json schema to be validated" }, - "minSdkVersion": { - "type": "number", - "default": 28, - "description": "Minimum Android SDK version device has to have in order for app to run" - }, - "multipleAPKs": { - "type": "boolean", - "description": "If set to `true`, apk will be split into multiple ones for each architecture: \"armeabi-v7a\", \"x86\", \"arm64-v8a\", \"x86_64\"" - }, - "aab": { - "type": "boolean", - "description": "If set to true, android project will generate app.aab instead of apk" - }, - "extraGradleParams": { - "type": "string", - "description": "Allows passing extra params to gradle command" - }, - "minifyEnabled": { - "type": "boolean", - "description": "Sets minifyEnabled buildType property in app/build.gradle" - }, - "targetSdkVersion": { - "type": "number", - "description": "Allows you define custom targetSdkVersion equivalent to: `targetSdkVersion = [VERSION]` in build.gradle" - }, - "compileSdkVersion": { - "type": "number", - "description": "Allows you define custom compileSdkVersion equivalent to: `compileSdkVersion = [VERSION]` in build.gradle" - }, - "kotlinVersion": { - "type": "string", - "default": "1.7.10", - "description": "Allows you define custom kotlin version" - }, - "ndkVersion": { - "type": "string", - "description": "Allows you define custom ndkVersion equivalent to: `ndkVersion = [VERSION]` in build.gradle" - }, - "supportLibVersion": { - "type": "string", - "description": "Allows you define custom supportLibVersion equivalent to: `supportLibVersion = [VERSION]` in build.gradle" - }, - "googleServicesVersion": { - "type": "string", - "description": "Allows you define custom googleServicesVersion equivalent to: `googleServicesVersion = [VERSION]` in build.gradle" - }, - "gradleBuildToolsVersion": { - "type": "string", - "description": "Allows you define custom gradle build tools version equivalent to: `classpath 'com.android.tools.build:gradle:[VERSION]'`" - }, - "gradleWrapperVersion": { - "type": "string", - "description": "Allows you define custom gradle wrapper version equivalent to: `distributionUrl=https\\://services.gradle.org/distributions/gradle-[VERSION]-all.zip`" - }, - "excludedFeatures": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Override features definitions in AndroidManifest.xml by exclusion" - }, - "includedFeatures": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Override features definitions in AndroidManifest.xml by inclusion" - }, - "buildToolsVersion": { - "type": "string", - "default": "30.0.0", - "description": "Override android build tools version" - }, - "disableSigning": { - "type": "boolean" - }, - "storeFile": { - "type": "string", - "description": "Name of the store file in android project" + "hidden": { + "type": "boolean", + "description": "If set to true in `./appConfigs/[APP_ID]/renative.json` the APP_ID will be hidden from list of appConfigs `-c`" }, - "keyAlias": { - "type": "string", - "description": "Key alias of the store file in android project" + "extendsTemplate": { + "type": "string", + "description": "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`" }, - "newArchEnabled": { - "type": "boolean", - "description": "Enables new arch for android. Default: false" + "extend": { + "type": "string", + "description": "extend another appConfig by id" }, - "reactNativeEngine": { - "type": "string", - "enum": [ - "jsc", - "v8-android", - "v8-android-nointl", - "v8-android-jit", - "v8-android-jit-nointl", - "hermes" - ], - "default": "hermes", - "description": "Allows you to define specific native render engine to be used" + "skipBootstrapCopy": { + "type": "boolean" }, - "templateAndroid": { - "type": "object", - "properties": { - "gradle_properties": { - "type": "object", - "additionalProperties": { - "type": [ - "string", - "boolean", - "number" - ] - }, - "description": "Overrides values in `gradle.properties` file of generated android based project" - }, - "build_gradle": { - "type": "object", - "properties": { - "allprojects": { - "type": "object", - "properties": { - "repositories": { - "type": "object", - "additionalProperties": { - "type": "boolean" - }, - "description": "Customize repositories section of build.gradle" - } - }, - "required": [ - "repositories" - ], - "additionalProperties": false - }, - "plugins": { - "type": "array", - "items": { - "type": "string" - } + "common": { + "type": "object", + "properties": { + "includedPermissions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allows you to include specific permissions by their KEY defined in `permissions` object. Use: `['*']` to include all" }, - "buildscript": { - "type": "object", - "properties": { - "repositories": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } + "excludedPermissions": { + "type": "array", + "items": { + "type": "string" }, - "dependencies": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } - } - }, - "required": [ - "repositories", - "dependencies" - ], - "additionalProperties": false + "description": "Allows you to exclude specific permissions by their KEY defined in `permissions` object. Use: `['*']` to exclude all" }, - "dexOptions": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } + "id": { + "type": "string", + "description": "Bundle ID of application. ie: com.example.myapp" }, - "injectAfterAll": { - "type": "array", - "items": { + "idSuffix": { "type": "string" - } - } - }, - "required": [ - "allprojects", - "plugins", - "buildscript", - "dexOptions", - "injectAfterAll" - ], - "additionalProperties": false, - "description": "Overrides values in `build.gradle` file of generated android based project" - }, - "app_build_gradle": { - "type": "object", - "properties": { - "apply": { - "type": "array", - "items": { - "type": "string" - } }, - "defaultConfig": { - "type": "array", - "items": { - "type": "string" - } + "version": { + "type": "string", + "description": "Semver style version of your app" }, - "buildTypes": { - "type": "object", - "properties": { - "debug": { - "type": "array", - "items": { - "type": "string" - } - }, - "release": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false + "versionCode": { + "type": "string", + "description": "Manual verride of generated version code" }, - "afterEvaluate": { - "type": "array", - "items": { - "type": "string" - } + "versionFormat": { + "type": "string", + "description": "Allows you to fine-tune app version defined in package.json or renative.json.\n\nIf you do not define versionFormat, no formatting will apply to version.\n\n\"versionFormat\" : \"0.0.0\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 1.2.3\n\nIN: 1.2.3 OUT: 1.2.3\n\n\n\n\"versionFormat\" : \"0.0.0.0.0\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 1.2.3.4.56\n\nIN: 1.2.3 OUT: 1.2.3\n\n\"versionFormat\" : \"0.0.0.x.x.x.x\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 1.2.3.rc.4.build.56\n\nIN: 1.2.3 OUT: 1.2.3\n\n" }, - "implementations": { - "type": "array", - "items": { - "type": "string" - } + "versionCodeFormat": { + "type": "string", + "description": "Allows you to fine-tune auto generated version codes.\n\nVersion code is autogenerated from app version defined in package.json or renative.json.\n\nNOTE: If you define versionCode manually this formatting will not apply.\n\nEXAMPLE 1:\n\ndefault value: 00.00.00\n\nIN: 1.2.3-rc.4+build.56 OUT: 102030456\n\nIN: 1.2.3 OUT: 10203\n\nEXAMPLE 2:\n\n\"versionCodeFormat\" : \"00.00.00.00.00\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 102030456\n\nIN: 1.2.3 OUT: 102030000\n\nEXAMPLE 3:\n\n\"versionCodeFormat\" : \"00.00.00.0000\"\n\nIN: 1.0.23-rc.15 OUT: 100230015\n\nIN: 1.0.23 OUT: 100230000\n\n" }, - "implementation": { - "type": "string" - } - }, - "required": [ - "apply", - "defaultConfig" - ], - "additionalProperties": false, - "description": "Overrides values in `app/build.gradle` file of generated android based project" - }, - "AndroidManifest_xml": { - "type": "object", - "properties": { - "tag": { - "type": "string" + "versionCodeOffset": { + "type": "number" }, - "android:name": { - "type": "string" + "title": { + "type": "string", + "description": "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" }, - "android:required": { - "type": "boolean" + "description": { + "type": "string", + "description": "General description of your app. This prop will be injected to actual projects where description field is applicable" }, - "package": { - "type": "string" + "author": { + "type": "string", + "description": "Author name" }, - "children": { - "type": "array", - "items": { - "type": "object", - "properties": { - "tag": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/tag" - }, - "android:name": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:name" - }, - "android:required": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:required" - }, - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/children/items" - } - } + "license": { + "type": "string", + "description": "Injects license information into app" + }, + "includedFonts": { + "type": "array", + "items": { + "type": "string" }, - "required": [ - "tag", - "android:name", - "children" - ], - "additionalProperties": false - } - } - }, - "required": [ - "tag", - "android:name", - "children" - ], - "additionalProperties": false, - "description": "Allows you to directly manipulate `AndroidManifest.xml` via json override mechanism\nInjects / Overrides values in AndroidManifest.xml file of generated android based project\n> IMPORTANT: always ensure that your object contains `tag` and `android:name` to target correct tag to merge into\n " - }, - "strings_xml": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "MainActivity_java": { - "type": "object", - "properties": { - "onCreate": { - "type": "string", - "default": "super.onCreate(savedInstanceState)", - "description": "Overrides super.onCreate method handler of MainActivity.java" + "description": "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" }, - "imports": { - "type": "array", - "items": { - "type": "string" - } + "backgroundColor": { + "type": "string", + "minLength": 4, + "maxLength": 9, + "pattern": "^#", + "description": "Defines root view backgroundColor for all platforms in HEX format" }, - "methods": { - "type": "array", - "items": { - "type": "string" - } + "splashScreen": { + "type": "boolean", + "description": "Enable or disable splash screen" }, - "createMethods": { - "type": "array", - "items": { - "type": "string" - } + "fontSources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of paths to location of external Fonts. you can use resolve function here example: `{{resolvePackage(react-native-vector-icons)}}/Fonts`" }, - "resultMethods": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "MainApplication_java": { - "type": "object", - "properties": { - "imports": { - "type": "array", - "items": { - "type": "string" - } + "assetSources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "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`" }, - "methods": { - "type": "array", - "items": { - "type": "string" - } + "includedPlugins": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Defines an array of all included plugins for specific config or buildScheme. only full keys as defined in `plugin` should be used.\n\nNOTE: includedPlugins is evaluated before excludedPlugins. Use: `['*']` to include all" }, - "createMethods": { - "type": "array", - "items": { - "type": "string" - } + "excludedPlugins": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Defines an array of all excluded plugins for specific config or buildScheme. only full keys as defined in `plugin` should be used.\n\nNOTE: excludedPlugins is evaluated after includedPlugins. Use: `['*']` to exclude all" }, - "packages": { - "type": "array", - "items": { - "type": "string" - } + "runtime": { + "description": "This object will be automatically injected into `./platfromAssets/renative.runtime.json` making it possible to inject the values directly to JS source code" }, - "packageParams": { - "type": "array", - "items": { - "type": "string" - } + "custom": { + "$ref": "#/definitions/rnv.app/properties/custom" + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "type": "string", + "description": "Custom description of the buildScheme will be displayed directly in cli if you run rnv with an empty paramener `-s`" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "enabled": { + "type": "boolean", + "description": "Defines whether build scheme shows up in options to run" + }, + "extendPlatform": { + "type": "string", + "enum": [ + "ios", + "android", + "firetv", + "androidtv", + "androidwear", + "web", + "webtv", + "tizen", + "tizenmobile", + "tvos", + "webos", + "macos", + "windows", + "linux", + "tizenwatch", + "kaios", + "chromecast", + "xbox" + ] + }, + "assetFolderPlatform": { + "type": "string", + "description": "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": { + "type": "string", + "description": "ID of engine to be used for this platform. Note: engine must be registered in `engines` field" + }, + "entryFile": { + "type": "string", + "default": "index", + "description": "Alternative name of the entry file without `.js` extension" + }, + "bundleAssets": { + "type": "boolean", + "description": "If set to `true` compiled js bundle file will generated. this is needed if you want to make production like builds" + }, + "enableSourceMaps": { + "type": "boolean", + "description": "If set to `true` dedicated source map file will be generated alongside of compiled js bundle" + }, + "bundleIsDev": { + "type": "boolean", + "description": "If set to `true` debug build will be generated" + }, + "getJsBundleFile": { + "type": "string" + } + }, + "additionalProperties": false + } } - }, - "additionalProperties": false, - "description": "Allows you to configure behaviour of MainActivity" - }, - "settings_gradle": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "gradle_wrapper_properties": { - "type": "object", - "properties": {}, - "additionalProperties": false }, - "SplashActivity_java": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "styles_xml": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "colors_xml": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "proguard_rules_pro": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - }, - "additionalProperties": false + "additionalProperties": false, + "description": "Common config props used as default props for all available buildSchemes" }, - "buildSchemes": { - "type": "object", - "additionalProperties": { + "platforms": { "type": "object", "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.app/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "enableAndroidX": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/enableAndroidX" - }, - "enableJetifier": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/enableJetifier" - }, - "signingConfig": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/signingConfig" - }, - "minSdkVersion": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/minSdkVersion" - }, - "multipleAPKs": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/multipleAPKs" - }, - "aab": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/aab" - }, - "extraGradleParams": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/extraGradleParams" - }, - "minifyEnabled": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/minifyEnabled" - }, - "targetSdkVersion": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/targetSdkVersion" - }, - "compileSdkVersion": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/compileSdkVersion" - }, - "kotlinVersion": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/kotlinVersion" - }, - "ndkVersion": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/ndkVersion" - }, - "supportLibVersion": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/supportLibVersion" - }, - "googleServicesVersion": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/googleServicesVersion" - }, - "gradleBuildToolsVersion": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/gradleBuildToolsVersion" - }, - "gradleWrapperVersion": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/gradleWrapperVersion" - }, - "excludedFeatures": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/excludedFeatures" - }, - "includedFeatures": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/includedFeatures" - }, - "buildToolsVersion": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/buildToolsVersion" - }, - "disableSigning": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/disableSigning" - }, - "storeFile": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/storeFile" - }, - "keyAlias": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/keyAlias" - }, - "newArchEnabled": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/newArchEnabled" - }, - "reactNativeEngine": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/reactNativeEngine" - }, - "templateAndroid": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" - }, - "androidtv": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android" - }, - "androidwear": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android" - }, - "firetv": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android" - }, - "ios": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.app/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "ignoreWarnings": { - "type": "boolean", - "description": "Injects `inhibit_all_warnings` into Podfile" - }, - "ignoreLogs": { - "type": "boolean", - "description": "Passes `-quiet` to xcodebuild command" - }, - "deploymentTarget": { - "type": "string", - "description": "Deployment target for xcodepoj" - }, - "orientationSupport": { - "type": "object", - "properties": { - "phone": { - "type": "array", - "items": { - "type": "string" - } - }, - "tab": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "teamID": { - "type": "string", - "description": "Apple teamID" - }, - "excludedArchs": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Defines excluded architectures. This transforms to xcodeproj: `EXCLUDED_ARCHS=\"\"`" - }, - "urlScheme": { - "type": "string", - "description": "URL Scheme for the app used for deeplinking" - }, - "teamIdentifier": { - "type": "string", - "description": "Apple developer team ID" - }, - "scheme": { - "type": "string" - }, - "schemeTarget": { - "type": "string" - }, - "appleId": { - "type": "string" - }, - "provisioningStyle": { - "type": "string" - }, - "newArchEnabled": { - "type": "boolean", - "description": "Enables new archs for iOS. Default: false" - }, - "codeSignIdentity": { - "type": "string", - "description": "Special property which tells Xcode how to build your project" - }, - "commandLineArguments": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Allows you to pass launch arguments to active scheme" - }, - "provisionProfileSpecifier": { - "type": "string" - }, - "provisionProfileSpecifiers": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "allowProvisioningUpdates": { - "type": "boolean" - }, - "provisioningProfiles": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "codeSignIdentities": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "systemCapabilities": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } - }, - "entitlements": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "runScheme": { - "type": "string" - }, - "sdk": { - "type": "string" - }, - "testFlightId": { - "type": "string" - }, - "firebaseId": { - "type": "string" - }, - "exportOptions": { - "type": "object", - "properties": { - "method": { - "type": "string" - }, - "teamID": { - "type": "string" - }, - "uploadBitcode": { - "type": "boolean" - }, - "compileBitcode": { - "type": "boolean" - }, - "uploadSymbols": { - "type": "boolean" - }, - "signingStyle": { - "type": "string" - }, - "signingCertificate": { - "type": "string" - }, - "provisioningProfiles": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "reactNativeEngine": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/reactNativeEngine" - }, - "templateXcode": { - "type": "object", - "properties": { - "Podfile": { - "type": "object", - "properties": { - "injectLines": { - "type": "array", - "items": { - "type": "string" - } - }, - "post_install": { - "type": "array", - "items": { - "type": "string" - } - }, - "sources": { - "type": "array", - "items": { - "type": "string" - } - }, - "podDependencies": { - "type": "array", - "items": { - "type": "string" - } + "android": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.app/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "enableAndroidX": { + "type": ["boolean", "string"], + "default": true, + "description": "Enables new android X architecture" + }, + "enableJetifier": { + "type": ["boolean", "string"], + "default": true, + "description": "Enables Jetifier" + }, + "signingConfig": { + "type": "string", + "default": "Debug", + "description": "Equivalent to running `./gradlew/assembleDebug` or `./gradlew/assembleRelease`" + }, + "minSdkVersion": { + "type": "number", + "default": 28, + "description": "Minimum Android SDK version device has to have in order for app to run" + }, + "multipleAPKs": { + "type": "boolean", + "description": "If set to `true`, apk will be split into multiple ones for each architecture: \"armeabi-v7a\", \"x86\", \"arm64-v8a\", \"x86_64\"" + }, + "aab": { + "type": "boolean", + "description": "If set to true, android project will generate app.aab instead of apk" + }, + "extraGradleParams": { + "type": "string", + "description": "Allows passing extra params to gradle command" + }, + "minifyEnabled": { + "type": "boolean", + "description": "Sets minifyEnabled buildType property in app/build.gradle" + }, + "targetSdkVersion": { + "type": "number", + "description": "Allows you define custom targetSdkVersion equivalent to: `targetSdkVersion = [VERSION]` in build.gradle" + }, + "compileSdkVersion": { + "type": "number", + "description": "Allows you define custom compileSdkVersion equivalent to: `compileSdkVersion = [VERSION]` in build.gradle" + }, + "kotlinVersion": { + "type": "string", + "default": "1.7.10", + "description": "Allows you define custom kotlin version" + }, + "ndkVersion": { + "type": "string", + "description": "Allows you define custom ndkVersion equivalent to: `ndkVersion = [VERSION]` in build.gradle" + }, + "supportLibVersion": { + "type": "string", + "description": "Allows you define custom supportLibVersion equivalent to: `supportLibVersion = [VERSION]` in build.gradle" + }, + "googleServicesVersion": { + "type": "string", + "description": "Allows you define custom googleServicesVersion equivalent to: `googleServicesVersion = [VERSION]` in build.gradle" + }, + "gradleBuildToolsVersion": { + "type": "string", + "description": "Allows you define custom gradle build tools version equivalent to: `classpath 'com.android.tools.build:gradle:[VERSION]'`" + }, + "gradleWrapperVersion": { + "type": "string", + "description": "Allows you define custom gradle wrapper version equivalent to: `distributionUrl=https\\://services.gradle.org/distributions/gradle-[VERSION]-all.zip`" + }, + "excludedFeatures": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Override features definitions in AndroidManifest.xml by exclusion" + }, + "includedFeatures": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Override features definitions in AndroidManifest.xml by inclusion" + }, + "buildToolsVersion": { + "type": "string", + "default": "30.0.0", + "description": "Override android build tools version" + }, + "disableSigning": { + "type": "boolean" + }, + "storeFile": { + "type": "string", + "description": "Name of the store file in android project" + }, + "keyAlias": { + "type": "string", + "description": "Key alias of the store file in android project" + }, + "newArchEnabled": { + "type": "boolean", + "description": "Enables new arch for android. Default: false" + }, + "reactNativeEngine": { + "type": "string", + "enum": [ + "jsc", + "v8-android", + "v8-android-nointl", + "v8-android-jit", + "v8-android-jit-nointl", + "hermes" + ], + "default": "hermes", + "description": "Allows you to define specific native render engine to be used" + }, + "templateAndroid": { + "type": "object", + "properties": { + "gradle_properties": { + "type": "object", + "additionalProperties": { + "type": ["string", "boolean", "number"] + }, + "description": "Overrides values in `gradle.properties` file of generated android based project" + }, + "build_gradle": { + "type": "object", + "properties": { + "allprojects": { + "type": "object", + "properties": { + "repositories": { + "type": "object", + "additionalProperties": { + "type": "boolean" + }, + "description": "Customize repositories section of build.gradle" + } + }, + "required": ["repositories"], + "additionalProperties": false + }, + "plugins": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildscript": { + "type": "object", + "properties": { + "repositories": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, + "dependencies": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + } + }, + "required": ["repositories", "dependencies"], + "additionalProperties": false + }, + "dexOptions": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, + "injectAfterAll": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "allprojects", + "plugins", + "buildscript", + "dexOptions", + "injectAfterAll" + ], + "additionalProperties": false, + "description": "Overrides values in `build.gradle` file of generated android based project" + }, + "app_build_gradle": { + "type": "object", + "properties": { + "apply": { + "type": "array", + "items": { + "type": "string" + } + }, + "defaultConfig": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildTypes": { + "type": "object", + "properties": { + "debug": { + "type": "array", + "items": { + "type": "string" + } + }, + "release": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "afterEvaluate": { + "type": "array", + "items": { + "type": "string" + } + }, + "implementations": { + "type": "array", + "items": { + "type": "string" + } + }, + "implementation": { + "type": "string" + } + }, + "required": ["apply", "defaultConfig"], + "additionalProperties": false, + "description": "Overrides values in `app/build.gradle` file of generated android based project" + }, + "AndroidManifest_xml": { + "type": "object", + "properties": { + "tag": { + "type": "string" + }, + "android:name": { + "type": "string" + }, + "android:required": { + "type": "boolean" + }, + "package": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tag": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/tag" + }, + "android:name": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:name" + }, + "android:required": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:required" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/children/items" + } + } + }, + "required": ["tag", "android:name", "children"], + "additionalProperties": false + } + } + }, + "required": ["tag", "android:name", "children"], + "additionalProperties": false, + "description": "Allows you to directly manipulate `AndroidManifest.xml` via json override mechanism\nInjects / Overrides values in AndroidManifest.xml file of generated android based project\n> IMPORTANT: always ensure that your object contains `tag` and `android:name` to target correct tag to merge into\n " + }, + "strings_xml": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "MainActivity_java": { + "type": "object", + "properties": { + "onCreate": { + "type": "string", + "default": "super.onCreate(savedInstanceState)", + "description": "Overrides super.onCreate method handler of MainActivity.java" + }, + "imports": { + "type": "array", + "items": { + "type": "string" + } + }, + "methods": { + "type": "array", + "items": { + "type": "string" + } + }, + "createMethods": { + "type": "array", + "items": { + "type": "string" + } + }, + "resultMethods": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "MainApplication_java": { + "type": "object", + "properties": { + "imports": { + "type": "array", + "items": { + "type": "string" + } + }, + "methods": { + "type": "array", + "items": { + "type": "string" + } + }, + "createMethods": { + "type": "array", + "items": { + "type": "string" + } + }, + "packages": { + "type": "array", + "items": { + "type": "string" + } + }, + "packageParams": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "description": "Allows you to configure behaviour of MainActivity" + }, + "settings_gradle": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "gradle_wrapper_properties": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "SplashActivity_java": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "styles_xml": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "colors_xml": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "proguard_rules_pro": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.app/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "enableAndroidX": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/enableAndroidX" + }, + "enableJetifier": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/enableJetifier" + }, + "signingConfig": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/signingConfig" + }, + "minSdkVersion": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/minSdkVersion" + }, + "multipleAPKs": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/multipleAPKs" + }, + "aab": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/aab" + }, + "extraGradleParams": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/extraGradleParams" + }, + "minifyEnabled": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/minifyEnabled" + }, + "targetSdkVersion": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/targetSdkVersion" + }, + "compileSdkVersion": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/compileSdkVersion" + }, + "kotlinVersion": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/kotlinVersion" + }, + "ndkVersion": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/ndkVersion" + }, + "supportLibVersion": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/supportLibVersion" + }, + "googleServicesVersion": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/googleServicesVersion" + }, + "gradleBuildToolsVersion": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/gradleBuildToolsVersion" + }, + "gradleWrapperVersion": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/gradleWrapperVersion" + }, + "excludedFeatures": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/excludedFeatures" + }, + "includedFeatures": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/includedFeatures" + }, + "buildToolsVersion": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/buildToolsVersion" + }, + "disableSigning": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/disableSigning" + }, + "storeFile": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/storeFile" + }, + "keyAlias": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/keyAlias" + }, + "newArchEnabled": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/newArchEnabled" + }, + "reactNativeEngine": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/reactNativeEngine" + }, + "templateAndroid": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false, + "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" }, - "staticPods": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "description": "Allows to manipulate Podfile" - }, - "project_pbxproj": { - "type": "object", - "properties": { - "sourceFiles": { - "type": "array", - "items": { - "type": "string" - } + "androidtv": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android" }, - "resourceFiles": { - "type": "array", - "items": { - "type": "string" - } + "androidwear": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android" }, - "headerFiles": { - "type": "array", - "items": { - "type": "string" - } + "firetv": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android" }, - "buildPhases": { - "type": "array", - "items": { + "ios": { "type": "object", "properties": { - "shellPath": { - "type": "string" - }, - "shellScript": { - "type": "string" - }, - "inputPaths": { - "type": "array", - "items": { - "type": "string" + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.app/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "ignoreWarnings": { + "type": "boolean", + "description": "Injects `inhibit_all_warnings` into Podfile" + }, + "ignoreLogs": { + "type": "boolean", + "description": "Passes `-quiet` to xcodebuild command" + }, + "deploymentTarget": { + "type": "string", + "description": "Deployment target for xcodepoj" + }, + "orientationSupport": { + "type": "object", + "properties": { + "phone": { + "type": "array", + "items": { + "type": "string" + } + }, + "tab": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "teamID": { + "type": "string", + "description": "Apple teamID" + }, + "excludedArchs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Defines excluded architectures. This transforms to xcodeproj: `EXCLUDED_ARCHS=\"\"`" + }, + "urlScheme": { + "type": "string", + "description": "URL Scheme for the app used for deeplinking" + }, + "teamIdentifier": { + "type": "string", + "description": "Apple developer team ID" + }, + "scheme": { + "type": "string" + }, + "schemeTarget": { + "type": "string" + }, + "appleId": { + "type": "string" + }, + "provisioningStyle": { + "type": "string" + }, + "newArchEnabled": { + "type": "boolean", + "description": "Enables new archs for iOS. Default: false" + }, + "codeSignIdentity": { + "type": "string", + "description": "Special property which tells Xcode how to build your project" + }, + "commandLineArguments": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allows you to pass launch arguments to active scheme" + }, + "provisionProfileSpecifier": { + "type": "string" + }, + "provisionProfileSpecifiers": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "allowProvisioningUpdates": { + "type": "boolean" + }, + "provisioningProfiles": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "codeSignIdentities": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "systemCapabilities": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, + "entitlements": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "runScheme": { + "type": "string" + }, + "sdk": { + "type": "string" + }, + "testFlightId": { + "type": "string" + }, + "firebaseId": { + "type": "string" + }, + "exportOptions": { + "type": "object", + "properties": { + "method": { + "type": "string" + }, + "teamID": { + "type": "string" + }, + "uploadBitcode": { + "type": "boolean" + }, + "compileBitcode": { + "type": "boolean" + }, + "uploadSymbols": { + "type": "boolean" + }, + "signingStyle": { + "type": "string" + }, + "signingCertificate": { + "type": "string" + }, + "provisioningProfiles": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "reactNativeEngine": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/reactNativeEngine" + }, + "templateXcode": { + "type": "object", + "properties": { + "Podfile": { + "type": "object", + "properties": { + "injectLines": { + "type": "array", + "items": { + "type": "string" + } + }, + "post_install": { + "type": "array", + "items": { + "type": "string" + } + }, + "sources": { + "type": "array", + "items": { + "type": "string" + } + }, + "podDependencies": { + "type": "array", + "items": { + "type": "string" + } + }, + "staticPods": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "description": "Allows to manipulate Podfile" + }, + "project_pbxproj": { + "type": "object", + "properties": { + "sourceFiles": { + "type": "array", + "items": { + "type": "string" + } + }, + "resourceFiles": { + "type": "array", + "items": { + "type": "string" + } + }, + "headerFiles": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildPhases": { + "type": "array", + "items": { + "type": "object", + "properties": { + "shellPath": { + "type": "string" + }, + "shellScript": { + "type": "string" + }, + "inputPaths": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["shellPath", "shellScript", "inputPaths"], + "additionalProperties": false + } + }, + "frameworks": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildSettings": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "AppDelegate_mm": { + "type": "object", + "properties": { + "appDelegateMethods": { + "type": "object", + "properties": { + "application": { + "type": "object", + "properties": { + "didFinishLaunchingWithOptions": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "order": { + "type": "number" + }, + "value": { + "type": "string" + }, + "weight": { + "type": "number" + } + }, + "required": [ + "order", + "value", + "weight" + ], + "additionalProperties": false + } + ] + } + }, + "applicationDidBecomeActive": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "open": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "supportedInterfaceOrientationsFor": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didReceiveRemoteNotification": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didFailToRegisterForRemoteNotificationsWithError": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didReceive": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didRegister": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didRegisterForRemoteNotificationsWithDeviceToken": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "continue": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didConnectCarInterfaceController": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didDisconnectCarInterfaceController": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + } + }, + "required": [ + "didFinishLaunchingWithOptions", + "applicationDidBecomeActive", + "open", + "supportedInterfaceOrientationsFor", + "didReceiveRemoteNotification", + "didFailToRegisterForRemoteNotificationsWithError", + "didReceive", + "didRegister", + "didRegisterForRemoteNotificationsWithDeviceToken", + "continue", + "didConnectCarInterfaceController", + "didDisconnectCarInterfaceController" + ], + "additionalProperties": false + }, + "userNotificationCenter": { + "type": "object", + "properties": { + "willPresent": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + } + }, + "required": ["willPresent"], + "additionalProperties": false + } + }, + "required": ["application", "userNotificationCenter"], + "additionalProperties": false + }, + "appDelegateImports": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "AppDelegate_h": { + "type": "object", + "properties": { + "appDelegateImports": { + "type": "array", + "items": { + "type": "string" + } + }, + "appDelegateExtensions": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "Info_plist": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.app/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "ignoreWarnings": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/ignoreWarnings" + }, + "ignoreLogs": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/ignoreLogs" + }, + "deploymentTarget": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/deploymentTarget" + }, + "orientationSupport": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/orientationSupport" + }, + "teamID": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/teamID" + }, + "excludedArchs": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/excludedArchs" + }, + "urlScheme": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/urlScheme" + }, + "teamIdentifier": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/teamIdentifier" + }, + "scheme": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/scheme" + }, + "schemeTarget": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/schemeTarget" + }, + "appleId": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/appleId" + }, + "provisioningStyle": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisioningStyle" + }, + "newArchEnabled": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/newArchEnabled" + }, + "codeSignIdentity": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/codeSignIdentity" + }, + "commandLineArguments": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/commandLineArguments" + }, + "provisionProfileSpecifier": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisionProfileSpecifier" + }, + "provisionProfileSpecifiers": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisionProfileSpecifiers" + }, + "allowProvisioningUpdates": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/allowProvisioningUpdates" + }, + "provisioningProfiles": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisioningProfiles" + }, + "codeSignIdentities": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/codeSignIdentities" + }, + "systemCapabilities": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/systemCapabilities" + }, + "entitlements": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/entitlements" + }, + "runScheme": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/runScheme" + }, + "sdk": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/sdk" + }, + "testFlightId": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/testFlightId" + }, + "firebaseId": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/firebaseId" + }, + "exportOptions": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/exportOptions" + }, + "reactNativeEngine": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/reactNativeEngine" + }, + "templateXcode": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode" + } + }, + "additionalProperties": false + } } - } }, - "required": [ - "shellPath", - "shellScript", - "inputPaths" - ], - "additionalProperties": false - } + "additionalProperties": false, + "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" }, - "frameworks": { - "type": "array", - "items": { - "type": "string" - } + "tvos": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios" }, - "buildSettings": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "AppDelegate_mm": { - "type": "object", - "properties": { - "appDelegateMethods": { - "type": "object", - "properties": { - "application": { - "type": "object", - "properties": { - "didFinishLaunchingWithOptions": { - "type": "array", - "items": { - "anyOf": [ - { + "tizen": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.app/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "package": { + "type": "string" + }, + "certificateProfile": { + "type": "string" + }, + "appName": { + "type": "string" + }, + "timestampBuildFiles": { + "type": "array", + "items": { "type": "string" - }, - { + } + }, + "devServerHost": { + "type": "string" + }, + "environment": { + "type": "string" + }, + "hostedShellHeaders": { + "type": "string" + }, + "webpackConfig": { + "type": "object", + "properties": { + "publicUrl": { + "type": "string" + }, + "customScripts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allows you to inject custom script into html header" + } + }, + "additionalProperties": false + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { "type": "object", "properties": { - "order": { - "type": "number" - }, - "value": { - "type": "string" - }, - "weight": { - "type": "number" - } + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.app/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "package": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/package" + }, + "certificateProfile": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/certificateProfile" + }, + "appName": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/appName" + }, + "timestampBuildFiles": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/timestampBuildFiles" + }, + "devServerHost": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/devServerHost" + }, + "environment": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/environment" + }, + "hostedShellHeaders": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/hostedShellHeaders" + }, + "webpackConfig": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/webpackConfig" + } }, - "required": [ - "order", - "value", - "weight" - ], "additionalProperties": false - } - ] - } - }, - "applicationDidBecomeActive": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "open": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "supportedInterfaceOrientationsFor": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didReceiveRemoteNotification": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didFailToRegisterForRemoteNotificationsWithError": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didReceive": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didRegister": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didRegisterForRemoteNotificationsWithDeviceToken": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "continue": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didConnectCarInterfaceController": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didDisconnectCarInterfaceController": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } + } } - }, - "required": [ - "didFinishLaunchingWithOptions", - "applicationDidBecomeActive", - "open", - "supportedInterfaceOrientationsFor", - "didReceiveRemoteNotification", - "didFailToRegisterForRemoteNotificationsWithError", - "didReceive", - "didRegister", - "didRegisterForRemoteNotificationsWithDeviceToken", - "continue", - "didConnectCarInterfaceController", - "didDisconnectCarInterfaceController" - ], - "additionalProperties": false }, - "userNotificationCenter": { - "type": "object", - "properties": { - "willPresent": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - } - }, - "required": [ - "willPresent" - ], - "additionalProperties": false - } - }, - "required": [ - "application", - "userNotificationCenter" - ], - "additionalProperties": false + "additionalProperties": false, + "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" }, - "appDelegateImports": { - "type": "array", - "items": { - "type": "string" - } + "tizenmobile": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen" }, - "appDelegateExtensions": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "Info_plist": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - }, - "additionalProperties": false - }, - "buildSchemes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.app/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "ignoreWarnings": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/ignoreWarnings" - }, - "ignoreLogs": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/ignoreLogs" - }, - "deploymentTarget": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/deploymentTarget" - }, - "orientationSupport": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/orientationSupport" - }, - "teamID": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/teamID" - }, - "excludedArchs": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/excludedArchs" - }, - "urlScheme": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/urlScheme" - }, - "teamIdentifier": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/teamIdentifier" - }, - "scheme": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/scheme" - }, - "schemeTarget": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/schemeTarget" - }, - "appleId": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/appleId" - }, - "provisioningStyle": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisioningStyle" - }, - "newArchEnabled": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/newArchEnabled" - }, - "codeSignIdentity": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/codeSignIdentity" - }, - "commandLineArguments": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/commandLineArguments" - }, - "provisionProfileSpecifier": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisionProfileSpecifier" - }, - "provisionProfileSpecifiers": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisionProfileSpecifiers" - }, - "allowProvisioningUpdates": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/allowProvisioningUpdates" - }, - "provisioningProfiles": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisioningProfiles" - }, - "codeSignIdentities": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/codeSignIdentities" - }, - "systemCapabilities": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/systemCapabilities" - }, - "entitlements": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/entitlements" - }, - "runScheme": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/runScheme" - }, - "sdk": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/sdk" - }, - "testFlightId": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/testFlightId" - }, - "firebaseId": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/firebaseId" - }, - "exportOptions": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/exportOptions" - }, - "reactNativeEngine": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/reactNativeEngine" - }, - "templateXcode": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" - }, - "tvos": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios" - }, - "tizen": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.app/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "package": { - "type": "string" - }, - "certificateProfile": { - "type": "string" - }, - "appName": { - "type": "string" - }, - "timestampBuildFiles": { - "type": "array", - "items": { - "type": "string" - } - }, - "devServerHost": { - "type": "string" - }, - "environment": { - "type": "string" - }, - "hostedShellHeaders": { - "type": "string" - }, - "webpackConfig": { - "type": "object", - "properties": { - "publicUrl": { - "type": "string" - }, - "customScripts": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Allows you to inject custom script into html header" - } - }, - "additionalProperties": false - }, - "buildSchemes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.app/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "package": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/package" - }, - "certificateProfile": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/certificateProfile" - }, - "appName": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/appName" - }, - "timestampBuildFiles": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/timestampBuildFiles" - }, - "devServerHost": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/devServerHost" - }, - "environment": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/environment" - }, - "hostedShellHeaders": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/hostedShellHeaders" - }, - "webpackConfig": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/webpackConfig" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" - }, - "tizenmobile": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen" - }, - "tizenwatch": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen" - }, - "webos": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.app/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "timestampBuildFiles": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/timestampBuildFiles" - }, - "devServerHost": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/devServerHost" - }, - "environment": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/environment" - }, - "hostedShellHeaders": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/hostedShellHeaders" - }, - "webpackConfig": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/webpackConfig" - }, - "iconColor": { - "type": "string" - }, - "buildSchemes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.app/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "timestampBuildFiles": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/timestampBuildFiles" - }, - "devServerHost": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/devServerHost" - }, - "environment": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/environment" - }, - "hostedShellHeaders": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/hostedShellHeaders" - }, - "webpackConfig": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/webpackConfig" - }, - "iconColor": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/webos/properties/iconColor" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" - }, - "web": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.app/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "webpackConfig": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/webpackConfig" - }, - "pagesDir": { - "type": "string", - "description": "Custom pages directory used by nextjs. Use relative paths" - }, - "outputDir": { - "type": "string", - "description": "Custom output directory used by nextjs equivalent to \"npx next build\" with custom outputDir. Use relative paths" - }, - "exportDir": { - "type": "string", - "description": "Custom export directory used by nextjs equivalent to \"npx next export --outdir \". Use relative paths" - }, - "nextTranspileModules": { - "type": "array", - "items": { - "type": "string" - } - }, - "timestampBuildFiles": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/timestampBuildFiles" - }, - "devServerHost": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/devServerHost" - }, - "environment": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/environment" - }, - "hostedShellHeaders": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/hostedShellHeaders" - }, - "buildSchemes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.app/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "webpackConfig": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/webpackConfig" - }, - "pagesDir": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/web/properties/pagesDir" - }, - "outputDir": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/web/properties/outputDir" - }, - "exportDir": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/web/properties/exportDir" - }, - "nextTranspileModules": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/web/properties/nextTranspileModules" - }, - "timestampBuildFiles": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/timestampBuildFiles" - }, - "devServerHost": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/devServerHost" - }, - "environment": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/environment" - }, - "hostedShellHeaders": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/hostedShellHeaders" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" - }, - "webtv": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/web" - }, - "chromecast": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/web" - }, - "kaios": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/web" - }, - "macos": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.app/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "ignoreWarnings": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/ignoreWarnings" - }, - "ignoreLogs": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/ignoreLogs" - }, - "deploymentTarget": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/deploymentTarget" - }, - "orientationSupport": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/orientationSupport" - }, - "teamID": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/teamID" - }, - "excludedArchs": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/excludedArchs" - }, - "urlScheme": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/urlScheme" - }, - "teamIdentifier": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/teamIdentifier" - }, - "scheme": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/scheme" - }, - "schemeTarget": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/schemeTarget" - }, - "appleId": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/appleId" - }, - "provisioningStyle": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisioningStyle" - }, - "newArchEnabled": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/newArchEnabled" - }, - "codeSignIdentity": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/codeSignIdentity" - }, - "commandLineArguments": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/commandLineArguments" - }, - "provisionProfileSpecifier": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisionProfileSpecifier" - }, - "provisionProfileSpecifiers": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisionProfileSpecifiers" - }, - "allowProvisioningUpdates": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/allowProvisioningUpdates" - }, - "provisioningProfiles": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisioningProfiles" - }, - "codeSignIdentities": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/codeSignIdentities" - }, - "systemCapabilities": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/systemCapabilities" - }, - "entitlements": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/entitlements" - }, - "runScheme": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/runScheme" - }, - "sdk": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/sdk" - }, - "testFlightId": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/testFlightId" - }, - "firebaseId": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/firebaseId" - }, - "exportOptions": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/exportOptions" - }, - "reactNativeEngine": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/reactNativeEngine" - }, - "templateXcode": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode" - }, - "electronConfig": { - "description": "Allows you to configure electron app as per https://www.electron.build/" - }, - "BrowserWindow": { - "type": "object", - "properties": { - "width": { - "type": "number" - }, - "height": { - "type": "number" - }, - "webPreferences": { - "type": "object", - "properties": { - "devTools": { - "type": "boolean" - } - }, - "additionalProperties": false, - "description": "Extra web preferences of electron app" - } - }, - "additionalProperties": false, - "description": "Allows you to configure electron wrapper app window" - }, - "buildSchemes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.app/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "ignoreWarnings": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/ignoreWarnings" - }, - "ignoreLogs": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/ignoreLogs" - }, - "deploymentTarget": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/deploymentTarget" - }, - "orientationSupport": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/orientationSupport" - }, - "teamID": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/teamID" - }, - "excludedArchs": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/excludedArchs" - }, - "urlScheme": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/urlScheme" - }, - "teamIdentifier": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/teamIdentifier" - }, - "scheme": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/scheme" - }, - "schemeTarget": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/schemeTarget" - }, - "appleId": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/appleId" - }, - "provisioningStyle": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisioningStyle" - }, - "newArchEnabled": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/newArchEnabled" - }, - "codeSignIdentity": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/codeSignIdentity" - }, - "commandLineArguments": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/commandLineArguments" - }, - "provisionProfileSpecifier": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisionProfileSpecifier" - }, - "provisionProfileSpecifiers": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisionProfileSpecifiers" - }, - "allowProvisioningUpdates": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/allowProvisioningUpdates" - }, - "provisioningProfiles": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisioningProfiles" - }, - "codeSignIdentities": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/codeSignIdentities" - }, - "systemCapabilities": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/systemCapabilities" - }, - "entitlements": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/entitlements" - }, - "runScheme": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/runScheme" - }, - "sdk": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/sdk" - }, - "testFlightId": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/testFlightId" - }, - "firebaseId": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/firebaseId" - }, - "exportOptions": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/exportOptions" - }, - "reactNativeEngine": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/reactNativeEngine" - }, - "templateXcode": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode" - }, - "electronConfig": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/macos/properties/electronConfig" - }, - "BrowserWindow": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/macos/properties/BrowserWindow" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" - }, - "linux": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/web" - }, - "windows": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.app/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "electronConfig": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/macos/properties/electronConfig" - }, - "BrowserWindow": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/macos/properties/BrowserWindow" - }, - "reactNativeEngine": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/reactNativeEngine" - }, - "templateVSProject": { - "type": "object", - "properties": { - "language": { - "type": "string", - "description": "Specify generated project language: cpp for C++ or cs for C#" - }, - "arch": { - "type": "string", - "description": "Specification of targeted architecture" - }, - "experimentalNuGetDependency": { - "type": "boolean" - }, - "useWinUI3": { - "type": "boolean" - }, - "nuGetTestVersion": { - "type": "string" - }, - "reactNativeEngine": { - "type": "string" - }, - "nuGetTestFeed": { - "type": "string" - }, - "overwrite": { - "type": "boolean", - "description": "Whether to attempt to override the existing builds files when running a build once more" - }, - "release": { - "type": "boolean", - "description": "Enables full packaging of the app for release" - }, - "root": { - "type": "string", - "description": "Project root folder location (not the app itself, which is in platformBuilds)" - }, - "singleproc": { - "type": "boolean", - "description": "Opt out of multi-proc builds (only available in 0.64 and newer versions of react-native-windows)" - }, - "emulator": { - "type": "boolean" - }, - "device": { - "type": "boolean" - }, - "target": { - "type": "string" - }, - "remoteDebugging": { - "type": "boolean" - }, - "logging": { - "type": "boolean", - "description": "Logging all the build proccesses to console" - }, - "packager": { - "type": "boolean" - }, - "bundle": { - "type": "boolean" - }, - "launch": { - "type": "boolean", - "description": "Launches the application once the build process is finished" - }, - "autolink": { - "type": "boolean", - "description": "Launches the application once the build process is finished" - }, - "build": { - "type": "boolean", - "description": "Builds the application before launching it" - }, - "sln": { - "type": "string", - "description": "Location of Visual Studio solution .sln file (wraps multiple projects)" - }, - "proj": { - "type": "string", - "description": "Root project directory for your React Native Windows project (not Visual Studio project)" - }, - "appPath": { - "type": "string", - "description": "Full path to windows plaform build directory" - }, - "msbuildprops": { - "type": "string", - "description": "Comma separated props to pass to msbuild, eg: prop1=value1,prop2=value2" - }, - "buildLogDirectory": { - "type": "string", - "description": "Full path to directory where builds logs should be stored, default - project path" - }, - "info": { - "type": "boolean", - "description": "Print information about the build machine to console" - }, - "directDebugging": { - "type": "boolean" - }, - "telemetry": { - "type": "boolean", - "description": "Send analytics data of @react-native-windows/cli usage to Microsoft" - }, - "devPort": { - "type": "string" - }, - "additionalMetroOptions": { - "type": "object", - "additionalProperties": {} - }, - "packageExtension": { - "type": "string" - } - }, - "additionalProperties": false - }, - "buildSchemes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.app/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.app/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.app/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.app/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.app/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.app/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.app/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "electronConfig": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/macos/properties/electronConfig" - }, - "BrowserWindow": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/macos/properties/BrowserWindow" - }, - "reactNativeEngine": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/reactNativeEngine" - }, - "templateVSProject": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/windows/properties/templateVSProject" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" - }, - "xbox": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/windows" - } - }, - "additionalProperties": false, - "description": "Object containing platform configurations" - }, - "plugins": { - "type": "object", - "additionalProperties": { - "anyOf": [ - { - "type": "object", - "properties": { - "disabled": { - "type": "boolean", - "default": false, - "description": "Marks plugin disabled" - }, - "props": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Custom props passed to plugin" - }, - "version": { - "type": "string", - "description": "Version of plugin. Typically package version" - }, - "deprecated": { - "type": "string", - "description": "Marks your plugin deprecated with warning showing in the console during rnv commands" - }, - "source": { - "type": "string", - "description": "Will define custom scope for your plugin config to extend from.\n\nNOTE: custom scopes can be defined via paths.pluginTemplates.[CUSTOM_SCOPE].{}" - }, - "disableNpm": { - "type": "boolean", - "description": "Will skip including plugin in package.json and installing it via npm/yarn etc" - }, - "skipMerge": { - "type": "boolean", - "description": "Will not attempt to merge with existing plugin configuration (ie. coming form renative pluginTemplates)\n\nNOTE: if set to `true` you need to configure your plugin object fully" - }, - "npm": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Object of npm dependencies of this plugin. These will be injected into package.json" - }, - "pluginDependencies": { - "type": "object", - "additionalProperties": { - "type": [ - "string", - "null" - ] - }, - "description": "List of other Renative plugins this plugin depends on" - }, - "webpackConfig": { - "type": "object", - "properties": { - "modulePaths": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - }, - "moduleAliases": { - "anyOf": [ - { - "type": "boolean" - }, - { + "tizenwatch": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen" + }, + "webos": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.app/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "timestampBuildFiles": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/timestampBuildFiles" + }, + "devServerHost": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/devServerHost" + }, + "environment": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/environment" + }, + "hostedShellHeaders": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/hostedShellHeaders" + }, + "webpackConfig": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/webpackConfig" + }, + "iconColor": { + "type": "string" + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.app/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "timestampBuildFiles": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/timestampBuildFiles" + }, + "devServerHost": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/devServerHost" + }, + "environment": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/environment" + }, + "hostedShellHeaders": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/hostedShellHeaders" + }, + "webpackConfig": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/webpackConfig" + }, + "iconColor": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/webos/properties/iconColor" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false, + "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" + }, + "web": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.app/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "webpackConfig": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/webpackConfig" + }, + "pagesDir": { + "type": "string", + "description": "Custom pages directory used by nextjs. Use relative paths" + }, + "outputDir": { + "type": "string", + "description": "Custom output directory used by nextjs equivalent to \"npx next build\" with custom outputDir. Use relative paths" + }, + "exportDir": { + "type": "string", + "description": "Custom export directory used by nextjs equivalent to \"npx next export --outdir \". Use relative paths" + }, + "nextTranspileModules": { + "type": "array", + "items": { + "type": "string" + } + }, + "timestampBuildFiles": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/timestampBuildFiles" + }, + "devServerHost": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/devServerHost" + }, + "environment": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/environment" + }, + "hostedShellHeaders": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/hostedShellHeaders" + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.app/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "webpackConfig": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/webpackConfig" + }, + "pagesDir": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/web/properties/pagesDir" + }, + "outputDir": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/web/properties/outputDir" + }, + "exportDir": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/web/properties/exportDir" + }, + "nextTranspileModules": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/web/properties/nextTranspileModules" + }, + "timestampBuildFiles": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/timestampBuildFiles" + }, + "devServerHost": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/devServerHost" + }, + "environment": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/environment" + }, + "hostedShellHeaders": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/tizen/properties/hostedShellHeaders" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false, + "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" + }, + "webtv": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/web" + }, + "chromecast": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/web" + }, + "kaios": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/web" + }, + "macos": { "type": "object", - "additionalProperties": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "projectPath": { - "type": "string" + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.app/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "ignoreWarnings": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/ignoreWarnings" + }, + "ignoreLogs": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/ignoreLogs" + }, + "deploymentTarget": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/deploymentTarget" + }, + "orientationSupport": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/orientationSupport" + }, + "teamID": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/teamID" + }, + "excludedArchs": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/excludedArchs" + }, + "urlScheme": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/urlScheme" + }, + "teamIdentifier": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/teamIdentifier" + }, + "scheme": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/scheme" + }, + "schemeTarget": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/schemeTarget" + }, + "appleId": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/appleId" + }, + "provisioningStyle": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisioningStyle" + }, + "newArchEnabled": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/newArchEnabled" + }, + "codeSignIdentity": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/codeSignIdentity" + }, + "commandLineArguments": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/commandLineArguments" + }, + "provisionProfileSpecifier": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisionProfileSpecifier" + }, + "provisionProfileSpecifiers": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisionProfileSpecifiers" + }, + "allowProvisioningUpdates": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/allowProvisioningUpdates" + }, + "provisioningProfiles": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisioningProfiles" + }, + "codeSignIdentities": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/codeSignIdentities" + }, + "systemCapabilities": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/systemCapabilities" + }, + "entitlements": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/entitlements" + }, + "runScheme": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/runScheme" + }, + "sdk": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/sdk" + }, + "testFlightId": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/testFlightId" + }, + "firebaseId": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/firebaseId" + }, + "exportOptions": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/exportOptions" + }, + "reactNativeEngine": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/reactNativeEngine" + }, + "templateXcode": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode" + }, + "electronConfig": { + "description": "Allows you to configure electron app as per https://www.electron.build/" + }, + "BrowserWindow": { + "type": "object", + "properties": { + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "webPreferences": { + "type": "object", + "properties": { + "devTools": { + "type": "boolean" + } + }, + "additionalProperties": false, + "description": "Extra web preferences of electron app" + } + }, + "additionalProperties": false, + "description": "Allows you to configure electron wrapper app window" + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.app/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "ignoreWarnings": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/ignoreWarnings" + }, + "ignoreLogs": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/ignoreLogs" + }, + "deploymentTarget": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/deploymentTarget" + }, + "orientationSupport": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/orientationSupport" + }, + "teamID": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/teamID" + }, + "excludedArchs": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/excludedArchs" + }, + "urlScheme": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/urlScheme" + }, + "teamIdentifier": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/teamIdentifier" + }, + "scheme": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/scheme" + }, + "schemeTarget": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/schemeTarget" + }, + "appleId": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/appleId" + }, + "provisioningStyle": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisioningStyle" + }, + "newArchEnabled": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/newArchEnabled" + }, + "codeSignIdentity": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/codeSignIdentity" + }, + "commandLineArguments": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/commandLineArguments" + }, + "provisionProfileSpecifier": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisionProfileSpecifier" + }, + "provisionProfileSpecifiers": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisionProfileSpecifiers" + }, + "allowProvisioningUpdates": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/allowProvisioningUpdates" + }, + "provisioningProfiles": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/provisioningProfiles" + }, + "codeSignIdentities": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/codeSignIdentities" + }, + "systemCapabilities": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/systemCapabilities" + }, + "entitlements": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/entitlements" + }, + "runScheme": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/runScheme" + }, + "sdk": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/sdk" + }, + "testFlightId": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/testFlightId" + }, + "firebaseId": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/firebaseId" + }, + "exportOptions": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/exportOptions" + }, + "reactNativeEngine": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/reactNativeEngine" + }, + "templateXcode": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode" + }, + "electronConfig": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/macos/properties/electronConfig" + }, + "BrowserWindow": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/macos/properties/BrowserWindow" + } + }, + "additionalProperties": false } - }, - "required": [ - "projectPath" - ], - "additionalProperties": false } - ] - } - } - ] - }, - "nextTranspileModules": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "description": "Allows you to configure webpack bahaviour per each individual plugin" - }, - "disablePluginTemplateOverrides": { - "type": "boolean", - "description": "Disables plugin overrides for selected plugin" - }, - "fontSources": { - "type": "array", - "items": { - "type": "string" - } - }, - "android": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true, - "description": "Marks plugin platform enabled or disabled" - }, - "disabled": { - "type": "boolean", - "default": false, - "description": "Marks plugin platform disabled" - }, - "path": { - "type": "string", - "description": "Enables you to pass custom path to plugin. If undefined, the default `node_modules/[plugin-name]` will be used." - }, - "projectName": { - "type": "string" - }, - "skipLinking": { - "type": "boolean" - }, - "skipImplementation": { - "type": "boolean" - }, - "implementation": { - "type": "string" - }, - "package": { - "type": "string" - }, - "templateAndroid": { - "type": "object", - "properties": { - "gradle_properties": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/gradle_properties" - }, - "build_gradle": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/build_gradle" - }, - "app_build_gradle": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/app_build_gradle" - }, - "AndroidManifest_xml": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml" - }, - "strings_xml": { + }, + "additionalProperties": false, + "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" + }, + "linux": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/web" + }, + "windows": { "type": "object", "properties": { - "children": { - "type": "array", - "items": { - "type": "object", - "properties": { - "tag": { - "type": "string" - }, - "name": { - "type": "string" - }, - "child_value": { - "type": "string" + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.app/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "electronConfig": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/macos/properties/electronConfig" + }, + "BrowserWindow": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/macos/properties/BrowserWindow" + }, + "reactNativeEngine": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/reactNativeEngine" + }, + "templateVSProject": { + "type": "object", + "properties": { + "language": { + "type": "string", + "description": "Specify generated project language: cpp for C++ or cs for C#" + }, + "arch": { + "type": "string", + "description": "Specification of targeted architecture" + }, + "experimentalNuGetDependency": { + "type": "boolean" + }, + "useWinUI3": { + "type": "boolean" + }, + "nuGetTestVersion": { + "type": "string" + }, + "reactNativeEngine": { + "type": "string" + }, + "nuGetTestFeed": { + "type": "string" + }, + "overwrite": { + "type": "boolean", + "description": "Whether to attempt to override the existing builds files when running a build once more" + }, + "release": { + "type": "boolean", + "description": "Enables full packaging of the app for release" + }, + "root": { + "type": "string", + "description": "Project root folder location (not the app itself, which is in platformBuilds)" + }, + "singleproc": { + "type": "boolean", + "description": "Opt out of multi-proc builds (only available in 0.64 and newer versions of react-native-windows)" + }, + "emulator": { + "type": "boolean" + }, + "device": { + "type": "boolean" + }, + "target": { + "type": "string" + }, + "remoteDebugging": { + "type": "boolean" + }, + "logging": { + "type": "boolean", + "description": "Logging all the build proccesses to console" + }, + "packager": { + "type": "boolean" + }, + "bundle": { + "type": "boolean" + }, + "launch": { + "type": "boolean", + "description": "Launches the application once the build process is finished" + }, + "autolink": { + "type": "boolean", + "description": "Launches the application once the build process is finished" + }, + "build": { + "type": "boolean", + "description": "Builds the application before launching it" + }, + "sln": { + "type": "string", + "description": "Location of Visual Studio solution .sln file (wraps multiple projects)" + }, + "proj": { + "type": "string", + "description": "Root project directory for your React Native Windows project (not Visual Studio project)" + }, + "appPath": { + "type": "string", + "description": "Full path to windows plaform build directory" + }, + "msbuildprops": { + "type": "string", + "description": "Comma separated props to pass to msbuild, eg: prop1=value1,prop2=value2" + }, + "buildLogDirectory": { + "type": "string", + "description": "Full path to directory where builds logs should be stored, default - project path" + }, + "info": { + "type": "boolean", + "description": "Print information about the build machine to console" + }, + "directDebugging": { + "type": "boolean" + }, + "telemetry": { + "type": "boolean", + "description": "Send analytics data of @react-native-windows/cli usage to Microsoft" + }, + "devPort": { + "type": "string" + }, + "additionalMetroOptions": { + "type": "object", + "additionalProperties": {} + }, + "packageExtension": { + "type": "string" + } + }, + "additionalProperties": false + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.app/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.app/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.app/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.app/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.app/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.app/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.app/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.app/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.app/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.app/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.app/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.app/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.app/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.app/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.app/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "electronConfig": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/macos/properties/electronConfig" + }, + "BrowserWindow": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/macos/properties/BrowserWindow" + }, + "reactNativeEngine": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/reactNativeEngine" + }, + "templateVSProject": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/windows/properties/templateVSProject" + } + }, + "additionalProperties": false } - }, - "required": [ - "tag", - "name", - "child_value" - ], - "additionalProperties": false } - } }, - "additionalProperties": false - }, - "MainActivity_java": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/MainActivity_java" - }, - "MainApplication_java": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/MainApplication_java" - } + "additionalProperties": false, + "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" }, - "additionalProperties": false - } - }, - "additionalProperties": false - }, - "androidtv": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android" - }, - "androidwear": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android" - }, - "firetv": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android" - }, - "ios": { - "type": "object", - "properties": { - "enabled": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/enabled" - }, - "disabled": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/disabled" - }, - "path": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/path" - }, - "git": { - "type": "string", - "description": "Alternative git url for pod instead of version" - }, - "commit": { - "type": "string", - "description": "Alternative git commit reference string" - }, - "version": { - "type": "string", - "description": "Version of pod" - }, - "podNames": { - "type": "array", - "items": { - "type": "string" - } - }, - "podName": { - "type": "string" - }, - "staticFrameworks": { - "type": "array", - "items": { - "type": "string" + "xbox": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/windows" } - }, - "templateXcode": { - "type": "object", - "properties": { - "Podfile": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/Podfile" - }, - "project_pbxproj": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/project_pbxproj" - }, - "AppDelegate_mm": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm" - }, - "Info_plist": { - "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/Info_plist" - } - }, - "additionalProperties": false - }, - "isStatic": { - "type": "boolean" - } }, - "additionalProperties": false - }, - "tvos": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/ios" - }, - "tizen": { + "additionalProperties": false, + "description": "Object containing platform configurations" + }, + "plugins": { "type": "object", - "properties": { - "enabled": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/enabled" - }, - "disabled": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/disabled" - }, - "path": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/path" - } + "additionalProperties": { + "anyOf": [ + { + "type": "object", + "properties": { + "disabled": { + "type": "boolean", + "default": false, + "description": "Marks plugin disabled" + }, + "props": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Custom props passed to plugin" + }, + "version": { + "type": "string", + "description": "Version of plugin. Typically package version" + }, + "deprecated": { + "type": "string", + "description": "Marks your plugin deprecated with warning showing in the console during rnv commands" + }, + "source": { + "type": "string", + "description": "Will define custom scope for your plugin config to extend from.\n\nNOTE: custom scopes can be defined via paths.pluginTemplates.[CUSTOM_SCOPE].{}" + }, + "disableNpm": { + "type": "boolean", + "description": "Will skip including plugin in package.json and installing it via npm/yarn etc" + }, + "skipMerge": { + "type": "boolean", + "description": "Will not attempt to merge with existing plugin configuration (ie. coming form renative pluginTemplates)\n\nNOTE: if set to `true` you need to configure your plugin object fully" + }, + "npm": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Object of npm dependencies of this plugin. These will be injected into package.json" + }, + "pluginDependencies": { + "type": "object", + "additionalProperties": { + "type": ["string", "null"] + }, + "description": "List of other Renative plugins this plugin depends on" + }, + "webpackConfig": { + "type": "object", + "properties": { + "modulePaths": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "moduleAliases": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "projectPath": { + "type": "string" + } + }, + "required": ["projectPath"], + "additionalProperties": false + } + ] + } + } + ] + }, + "nextTranspileModules": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "description": "Allows you to configure webpack bahaviour per each individual plugin" + }, + "disablePluginTemplateOverrides": { + "type": "boolean", + "description": "Disables plugin overrides for selected plugin" + }, + "fontSources": { + "type": "array", + "items": { + "type": "string" + } + }, + "android": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Marks plugin platform enabled or disabled" + }, + "disabled": { + "type": "boolean", + "default": false, + "description": "Marks plugin platform disabled" + }, + "path": { + "type": "string", + "description": "Enables you to pass custom path to plugin. If undefined, the default `node_modules/[plugin-name]` will be used." + }, + "projectName": { + "type": "string" + }, + "skipLinking": { + "type": "boolean" + }, + "skipImplementation": { + "type": "boolean" + }, + "implementation": { + "type": "string" + }, + "package": { + "type": "string" + }, + "templateAndroid": { + "type": "object", + "properties": { + "gradle_properties": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/gradle_properties" + }, + "build_gradle": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/build_gradle" + }, + "app_build_gradle": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/app_build_gradle" + }, + "AndroidManifest_xml": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml" + }, + "strings_xml": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tag": { + "type": "string" + }, + "name": { + "type": "string" + }, + "child_value": { + "type": "string" + } + }, + "required": ["tag", "name", "child_value"], + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + "MainActivity_java": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/MainActivity_java" + }, + "MainApplication_java": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/android/properties/templateAndroid/properties/MainApplication_java" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "androidtv": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android" + }, + "androidwear": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android" + }, + "firetv": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android" + }, + "ios": { + "type": "object", + "properties": { + "enabled": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/enabled" + }, + "disabled": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/disabled" + }, + "path": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/path" + }, + "git": { + "type": "string", + "description": "Alternative git url for pod instead of version" + }, + "commit": { + "type": "string", + "description": "Alternative git commit reference string" + }, + "version": { + "type": "string", + "description": "Version of pod" + }, + "podNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "podName": { + "type": "string" + }, + "staticFrameworks": { + "type": "array", + "items": { + "type": "string" + } + }, + "templateXcode": { + "type": "object", + "properties": { + "Podfile": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/Podfile" + }, + "project_pbxproj": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/project_pbxproj" + }, + "AppDelegate_mm": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm" + }, + "AppDelegate_h": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_h" + }, + "Info_plist": { + "$ref": "#/definitions/rnv.app/properties/platforms/properties/ios/properties/templateXcode/properties/Info_plist" + } + }, + "additionalProperties": false + }, + "isStatic": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "tvos": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/ios" + }, + "tizen": { + "type": "object", + "properties": { + "enabled": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/enabled" + }, + "disabled": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/disabled" + }, + "path": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/path" + } + }, + "additionalProperties": false + }, + "tizenmobile": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "tizenwatch": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "webos": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "web": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "webtv": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "chromecast": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "kaios": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "macos": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "linux": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "windows": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "xbox": { + "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + } + }, + "additionalProperties": false + }, + { + "type": "string" + } + ] }, - "additionalProperties": false - }, - "tizenmobile": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "tizenwatch": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "webos": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "web": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "webtv": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "chromecast": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "kaios": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "macos": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "linux": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "windows": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "xbox": { - "$ref": "#/definitions/rnv.app/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - } + "description": "Define all plugins available in your project. you can then use `includedPlugins` and `excludedPlugins` props to define active and inactive plugins per each app config" }, - "additionalProperties": false - }, - { - "type": "string" - } - ] - }, - "description": "Define all plugins available in your project. you can then use `includedPlugins` and `excludedPlugins` props to define active and inactive plugins per each app config" - }, - "$schema": { - "type": "string", - "description": "schema definition" + "$schema": { + "type": "string", + "description": "schema definition" + } + }, + "additionalProperties": false } - }, - "additionalProperties": false - } - }, - "$schema": "http://json-schema.org/draft-04/schema#" -} \ No newline at end of file + }, + "$schema": "http://json-schema.org/draft-04/schema#" +} diff --git a/packages/core/jsonSchema/rnv.plugin.json b/packages/core/jsonSchema/rnv.plugin.json index 537d7e79ce..be325592dd 100644 --- a/packages/core/jsonSchema/rnv.plugin.json +++ b/packages/core/jsonSchema/rnv.plugin.json @@ -1,839 +1,809 @@ { - "$ref": "#/definitions/rnv.plugin", - "definitions": { - "rnv.plugin": { - "type": "object", - "properties": { - "disabled": { - "type": "boolean", - "default": false, - "description": "Marks plugin disabled" - }, - "props": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Custom props passed to plugin" - }, - "version": { - "type": "string", - "description": "Version of plugin. Typically package version" - }, - "deprecated": { - "type": "string", - "description": "Marks your plugin deprecated with warning showing in the console during rnv commands" - }, - "source": { - "type": "string", - "description": "Will define custom scope for your plugin config to extend from.\n\nNOTE: custom scopes can be defined via paths.pluginTemplates.[CUSTOM_SCOPE].{}" - }, - "disableNpm": { - "type": "boolean", - "description": "Will skip including plugin in package.json and installing it via npm/yarn etc" - }, - "skipMerge": { - "type": "boolean", - "description": "Will not attempt to merge with existing plugin configuration (ie. coming form renative pluginTemplates)\n\nNOTE: if set to `true` you need to configure your plugin object fully" - }, - "npm": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Object of npm dependencies of this plugin. These will be injected into package.json" - }, - "pluginDependencies": { - "type": "object", - "additionalProperties": { - "type": [ - "string", - "null" - ] - }, - "description": "List of other Renative plugins this plugin depends on" - }, - "webpackConfig": { - "type": "object", - "properties": { - "modulePaths": { - "anyOf": [ - { - "type": "boolean" + "$ref": "#/definitions/rnv.plugin", + "definitions": { + "rnv.plugin": { + "type": "object", + "properties": { + "disabled": { + "type": "boolean", + "default": false, + "description": "Marks plugin disabled" }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - }, - "moduleAliases": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "object", - "additionalProperties": { - "anyOf": [ - { + "props": { + "type": "object", + "additionalProperties": { "type": "string" - }, - { - "type": "object", - "properties": { - "projectPath": { - "type": "string" - } - }, - "required": [ - "projectPath" - ], - "additionalProperties": false - } - ] - } - } - ] - }, - "nextTranspileModules": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "description": "Allows you to configure webpack bahaviour per each individual plugin" - }, - "disablePluginTemplateOverrides": { - "type": "boolean", - "description": "Disables plugin overrides for selected plugin" - }, - "fontSources": { - "type": "array", - "items": { - "type": "string" - } - }, - "android": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true, - "description": "Marks plugin platform enabled or disabled" - }, - "disabled": { - "type": "boolean", - "default": false, - "description": "Marks plugin platform disabled" - }, - "path": { - "type": "string", - "description": "Enables you to pass custom path to plugin. If undefined, the default `node_modules/[plugin-name]` will be used." - }, - "projectName": { - "type": "string" - }, - "skipLinking": { - "type": "boolean" - }, - "skipImplementation": { - "type": "boolean" - }, - "implementation": { - "type": "string" - }, - "package": { - "type": "string" - }, - "templateAndroid": { - "type": "object", - "properties": { - "gradle_properties": { - "type": "object", - "additionalProperties": { - "type": [ - "string", - "boolean", - "number" - ] - }, - "description": "Overrides values in `gradle.properties` file of generated android based project" - }, - "build_gradle": { - "type": "object", - "properties": { - "allprojects": { - "type": "object", - "properties": { - "repositories": { - "type": "object", - "additionalProperties": { - "type": "boolean" - }, - "description": "Customize repositories section of build.gradle" - } - }, - "required": [ - "repositories" - ], - "additionalProperties": false }, - "plugins": { - "type": "array", - "items": { + "description": "Custom props passed to plugin" + }, + "version": { + "type": "string", + "description": "Version of plugin. Typically package version" + }, + "deprecated": { + "type": "string", + "description": "Marks your plugin deprecated with warning showing in the console during rnv commands" + }, + "source": { + "type": "string", + "description": "Will define custom scope for your plugin config to extend from.\n\nNOTE: custom scopes can be defined via paths.pluginTemplates.[CUSTOM_SCOPE].{}" + }, + "disableNpm": { + "type": "boolean", + "description": "Will skip including plugin in package.json and installing it via npm/yarn etc" + }, + "skipMerge": { + "type": "boolean", + "description": "Will not attempt to merge with existing plugin configuration (ie. coming form renative pluginTemplates)\n\nNOTE: if set to `true` you need to configure your plugin object fully" + }, + "npm": { + "type": "object", + "additionalProperties": { "type": "string" - } }, - "buildscript": { - "type": "object", - "properties": { - "repositories": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } + "description": "Object of npm dependencies of this plugin. These will be injected into package.json" + }, + "pluginDependencies": { + "type": "object", + "additionalProperties": { + "type": ["string", "null"] + }, + "description": "List of other Renative plugins this plugin depends on" + }, + "webpackConfig": { + "type": "object", + "properties": { + "modulePaths": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] }, - "dependencies": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } + "moduleAliases": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "projectPath": { + "type": "string" + } + }, + "required": ["projectPath"], + "additionalProperties": false + } + ] + } + } + ] + }, + "nextTranspileModules": { + "type": "array", + "items": { + "type": "string" + } } - }, - "required": [ - "repositories", - "dependencies" - ], - "additionalProperties": false - }, - "dexOptions": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } }, - "injectAfterAll": { - "type": "array", - "items": { + "additionalProperties": false, + "description": "Allows you to configure webpack bahaviour per each individual plugin" + }, + "disablePluginTemplateOverrides": { + "type": "boolean", + "description": "Disables plugin overrides for selected plugin" + }, + "fontSources": { + "type": "array", + "items": { "type": "string" - } } - }, - "required": [ - "allprojects", - "plugins", - "buildscript", - "dexOptions", - "injectAfterAll" - ], - "additionalProperties": false, - "description": "Overrides values in `build.gradle` file of generated android based project" }, - "app_build_gradle": { - "type": "object", - "properties": { - "apply": { - "type": "array", - "items": { - "type": "string" - } - }, - "defaultConfig": { - "type": "array", - "items": { - "type": "string" - } - }, - "buildTypes": { - "type": "object", - "properties": { - "debug": { - "type": "array", - "items": { + "android": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Marks plugin platform enabled or disabled" + }, + "disabled": { + "type": "boolean", + "default": false, + "description": "Marks plugin platform disabled" + }, + "path": { + "type": "string", + "description": "Enables you to pass custom path to plugin. If undefined, the default `node_modules/[plugin-name]` will be used." + }, + "projectName": { "type": "string" - } }, - "release": { - "type": "array", - "items": { + "skipLinking": { + "type": "boolean" + }, + "skipImplementation": { + "type": "boolean" + }, + "implementation": { "type": "string" - } + }, + "package": { + "type": "string" + }, + "templateAndroid": { + "type": "object", + "properties": { + "gradle_properties": { + "type": "object", + "additionalProperties": { + "type": ["string", "boolean", "number"] + }, + "description": "Overrides values in `gradle.properties` file of generated android based project" + }, + "build_gradle": { + "type": "object", + "properties": { + "allprojects": { + "type": "object", + "properties": { + "repositories": { + "type": "object", + "additionalProperties": { + "type": "boolean" + }, + "description": "Customize repositories section of build.gradle" + } + }, + "required": ["repositories"], + "additionalProperties": false + }, + "plugins": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildscript": { + "type": "object", + "properties": { + "repositories": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, + "dependencies": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + } + }, + "required": ["repositories", "dependencies"], + "additionalProperties": false + }, + "dexOptions": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, + "injectAfterAll": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "allprojects", + "plugins", + "buildscript", + "dexOptions", + "injectAfterAll" + ], + "additionalProperties": false, + "description": "Overrides values in `build.gradle` file of generated android based project" + }, + "app_build_gradle": { + "type": "object", + "properties": { + "apply": { + "type": "array", + "items": { + "type": "string" + } + }, + "defaultConfig": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildTypes": { + "type": "object", + "properties": { + "debug": { + "type": "array", + "items": { + "type": "string" + } + }, + "release": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "afterEvaluate": { + "type": "array", + "items": { + "type": "string" + } + }, + "implementations": { + "type": "array", + "items": { + "type": "string" + } + }, + "implementation": { + "type": "string" + } + }, + "required": ["apply", "defaultConfig"], + "additionalProperties": false, + "description": "Overrides values in `app/build.gradle` file of generated android based project" + }, + "AndroidManifest_xml": { + "type": "object", + "properties": { + "tag": { + "type": "string" + }, + "android:name": { + "type": "string" + }, + "android:required": { + "type": "boolean" + }, + "package": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tag": { + "$ref": "#/definitions/rnv.plugin/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/tag" + }, + "android:name": { + "$ref": "#/definitions/rnv.plugin/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:name" + }, + "android:required": { + "$ref": "#/definitions/rnv.plugin/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:required" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugin/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/children/items" + } + } + }, + "required": ["tag", "android:name", "children"], + "additionalProperties": false + } + } + }, + "required": ["tag", "android:name", "children"], + "additionalProperties": false, + "description": "Allows you to directly manipulate `AndroidManifest.xml` via json override mechanism\nInjects / Overrides values in AndroidManifest.xml file of generated android based project\n> IMPORTANT: always ensure that your object contains `tag` and `android:name` to target correct tag to merge into\n " + }, + "strings_xml": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tag": { + "type": "string" + }, + "name": { + "type": "string" + }, + "child_value": { + "type": "string" + } + }, + "required": ["tag", "name", "child_value"], + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + "MainActivity_java": { + "type": "object", + "properties": { + "onCreate": { + "type": "string", + "default": "super.onCreate(savedInstanceState)", + "description": "Overrides super.onCreate method handler of MainActivity.java" + }, + "imports": { + "type": "array", + "items": { + "type": "string" + } + }, + "methods": { + "type": "array", + "items": { + "type": "string" + } + }, + "createMethods": { + "type": "array", + "items": { + "type": "string" + } + }, + "resultMethods": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "MainApplication_java": { + "type": "object", + "properties": { + "imports": { + "type": "array", + "items": { + "type": "string" + } + }, + "methods": { + "type": "array", + "items": { + "type": "string" + } + }, + "createMethods": { + "type": "array", + "items": { + "type": "string" + } + }, + "packages": { + "type": "array", + "items": { + "type": "string" + } + }, + "packageParams": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "description": "Allows you to configure behaviour of MainActivity" + } + }, + "additionalProperties": false } - }, - "additionalProperties": false - }, - "afterEvaluate": { - "type": "array", - "items": { - "type": "string" - } - }, - "implementations": { - "type": "array", - "items": { - "type": "string" - } }, - "implementation": { - "type": "string" - } - }, - "required": [ - "apply", - "defaultConfig" - ], - "additionalProperties": false, - "description": "Overrides values in `app/build.gradle` file of generated android based project" + "additionalProperties": false }, - "AndroidManifest_xml": { - "type": "object", - "properties": { - "tag": { - "type": "string" - }, - "android:name": { - "type": "string" - }, - "android:required": { - "type": "boolean" - }, - "package": { - "type": "string" - }, - "children": { - "type": "array", - "items": { - "type": "object", - "properties": { - "tag": { - "$ref": "#/definitions/rnv.plugin/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/tag" - }, - "android:name": { - "$ref": "#/definitions/rnv.plugin/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:name" - }, - "android:required": { - "$ref": "#/definitions/rnv.plugin/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:required" - }, - "children": { + "androidtv": { + "$ref": "#/definitions/rnv.plugin/properties/android" + }, + "androidwear": { + "$ref": "#/definitions/rnv.plugin/properties/android" + }, + "firetv": { + "$ref": "#/definitions/rnv.plugin/properties/android" + }, + "ios": { + "type": "object", + "properties": { + "enabled": { + "$ref": "#/definitions/rnv.plugin/properties/android/properties/enabled" + }, + "disabled": { + "$ref": "#/definitions/rnv.plugin/properties/android/properties/disabled" + }, + "path": { + "$ref": "#/definitions/rnv.plugin/properties/android/properties/path" + }, + "git": { + "type": "string", + "description": "Alternative git url for pod instead of version" + }, + "commit": { + "type": "string", + "description": "Alternative git commit reference string" + }, + "version": { + "type": "string", + "description": "Version of pod" + }, + "podNames": { "type": "array", "items": { - "$ref": "#/definitions/rnv.plugin/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/children/items" + "type": "string" } - } }, - "required": [ - "tag", - "android:name", - "children" - ], - "additionalProperties": false - } - } - }, - "required": [ - "tag", - "android:name", - "children" - ], - "additionalProperties": false, - "description": "Allows you to directly manipulate `AndroidManifest.xml` via json override mechanism\nInjects / Overrides values in AndroidManifest.xml file of generated android based project\n> IMPORTANT: always ensure that your object contains `tag` and `android:name` to target correct tag to merge into\n " - }, - "strings_xml": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "type": "object", - "properties": { - "tag": { - "type": "string" - }, - "name": { + "podName": { "type": "string" - }, - "child_value": { - "type": "string" - } }, - "required": [ - "tag", - "name", - "child_value" - ], - "additionalProperties": false - } - } - }, - "additionalProperties": false - }, - "MainActivity_java": { - "type": "object", - "properties": { - "onCreate": { - "type": "string", - "default": "super.onCreate(savedInstanceState)", - "description": "Overrides super.onCreate method handler of MainActivity.java" - }, - "imports": { - "type": "array", - "items": { - "type": "string" - } - }, - "methods": { - "type": "array", - "items": { - "type": "string" - } - }, - "createMethods": { - "type": "array", - "items": { - "type": "string" - } - }, - "resultMethods": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "MainApplication_java": { - "type": "object", - "properties": { - "imports": { - "type": "array", - "items": { - "type": "string" - } - }, - "methods": { - "type": "array", - "items": { - "type": "string" - } - }, - "createMethods": { - "type": "array", - "items": { - "type": "string" - } - }, - "packages": { - "type": "array", - "items": { - "type": "string" - } - }, - "packageParams": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "description": "Allows you to configure behaviour of MainActivity" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - }, - "androidtv": { - "$ref": "#/definitions/rnv.plugin/properties/android" - }, - "androidwear": { - "$ref": "#/definitions/rnv.plugin/properties/android" - }, - "firetv": { - "$ref": "#/definitions/rnv.plugin/properties/android" - }, - "ios": { - "type": "object", - "properties": { - "enabled": { - "$ref": "#/definitions/rnv.plugin/properties/android/properties/enabled" - }, - "disabled": { - "$ref": "#/definitions/rnv.plugin/properties/android/properties/disabled" - }, - "path": { - "$ref": "#/definitions/rnv.plugin/properties/android/properties/path" - }, - "git": { - "type": "string", - "description": "Alternative git url for pod instead of version" - }, - "commit": { - "type": "string", - "description": "Alternative git commit reference string" - }, - "version": { - "type": "string", - "description": "Version of pod" - }, - "podNames": { - "type": "array", - "items": { - "type": "string" - } - }, - "podName": { - "type": "string" - }, - "staticFrameworks": { - "type": "array", - "items": { - "type": "string" - } - }, - "templateXcode": { - "type": "object", - "properties": { - "Podfile": { - "type": "object", - "properties": { - "injectLines": { - "type": "array", - "items": { - "type": "string" - } - }, - "post_install": { - "type": "array", - "items": { - "type": "string" - } - }, - "sources": { - "type": "array", - "items": { - "type": "string" - } - }, - "podDependencies": { - "type": "array", - "items": { - "type": "string" - } - }, - "staticPods": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "description": "Allows to manipulate Podfile" - }, - "project_pbxproj": { - "type": "object", - "properties": { - "sourceFiles": { - "type": "array", - "items": { - "type": "string" - } - }, - "resourceFiles": { - "type": "array", - "items": { - "type": "string" - } - }, - "headerFiles": { - "type": "array", - "items": { - "type": "string" - } - }, - "buildPhases": { - "type": "array", - "items": { - "type": "object", - "properties": { - "shellPath": { - "type": "string" - }, - "shellScript": { - "type": "string" - }, - "inputPaths": { + "staticFrameworks": { "type": "array", "items": { - "type": "string" + "type": "string" } - } }, - "required": [ - "shellPath", - "shellScript", - "inputPaths" - ], - "additionalProperties": false - } - }, - "frameworks": { - "type": "array", - "items": { - "type": "string" - } - }, - "buildSettings": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "AppDelegate_mm": { - "type": "object", - "properties": { - "appDelegateMethods": { - "type": "object", - "properties": { - "application": { - "type": "object", - "properties": { - "didFinishLaunchingWithOptions": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { + "templateXcode": { + "type": "object", + "properties": { + "Podfile": { "type": "object", "properties": { - "order": { - "type": "number" - }, - "value": { - "type": "string" - }, - "weight": { - "type": "number" - } + "injectLines": { + "type": "array", + "items": { + "type": "string" + } + }, + "post_install": { + "type": "array", + "items": { + "type": "string" + } + }, + "sources": { + "type": "array", + "items": { + "type": "string" + } + }, + "podDependencies": { + "type": "array", + "items": { + "type": "string" + } + }, + "staticPods": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "description": "Allows to manipulate Podfile" + }, + "project_pbxproj": { + "type": "object", + "properties": { + "sourceFiles": { + "type": "array", + "items": { + "type": "string" + } + }, + "resourceFiles": { + "type": "array", + "items": { + "type": "string" + } + }, + "headerFiles": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildPhases": { + "type": "array", + "items": { + "type": "object", + "properties": { + "shellPath": { + "type": "string" + }, + "shellScript": { + "type": "string" + }, + "inputPaths": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["shellPath", "shellScript", "inputPaths"], + "additionalProperties": false + } + }, + "frameworks": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildSettings": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } }, - "required": [ - "order", - "value", - "weight" - ], "additionalProperties": false - } - ] - } - }, - "applicationDidBecomeActive": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "open": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "supportedInterfaceOrientationsFor": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didReceiveRemoteNotification": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didFailToRegisterForRemoteNotificationsWithError": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didReceive": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didRegister": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didRegisterForRemoteNotificationsWithDeviceToken": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "continue": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didConnectCarInterfaceController": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } + }, + "AppDelegate_mm": { + "type": "object", + "properties": { + "appDelegateMethods": { + "type": "object", + "properties": { + "application": { + "type": "object", + "properties": { + "didFinishLaunchingWithOptions": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "order": { + "type": "number" + }, + "value": { + "type": "string" + }, + "weight": { + "type": "number" + } + }, + "required": ["order", "value", "weight"], + "additionalProperties": false + } + ] + } + }, + "applicationDidBecomeActive": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "open": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "supportedInterfaceOrientationsFor": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didReceiveRemoteNotification": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didFailToRegisterForRemoteNotificationsWithError": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didReceive": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didRegister": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didRegisterForRemoteNotificationsWithDeviceToken": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "continue": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didConnectCarInterfaceController": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didDisconnectCarInterfaceController": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + } + }, + "required": [ + "didFinishLaunchingWithOptions", + "applicationDidBecomeActive", + "open", + "supportedInterfaceOrientationsFor", + "didReceiveRemoteNotification", + "didFailToRegisterForRemoteNotificationsWithError", + "didReceive", + "didRegister", + "didRegisterForRemoteNotificationsWithDeviceToken", + "continue", + "didConnectCarInterfaceController", + "didDisconnectCarInterfaceController" + ], + "additionalProperties": false + }, + "userNotificationCenter": { + "type": "object", + "properties": { + "willPresent": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + } + }, + "required": ["willPresent"], + "additionalProperties": false + } + }, + "required": ["application", "userNotificationCenter"], + "additionalProperties": false + }, + "appDelegateImports": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "AppDelegate_h": { + "type": "object", + "properties": { + "appDelegateImports": { + "type": "array", + "items": { + "type": "string" + } + }, + "appDelegateExtensions": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "Info_plist": { + "type": "object", + "properties": {}, + "additionalProperties": false + } }, - "didDisconnectCarInterfaceController": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - } - }, - "required": [ - "didFinishLaunchingWithOptions", - "applicationDidBecomeActive", - "open", - "supportedInterfaceOrientationsFor", - "didReceiveRemoteNotification", - "didFailToRegisterForRemoteNotificationsWithError", - "didReceive", - "didRegister", - "didRegisterForRemoteNotificationsWithDeviceToken", - "continue", - "didConnectCarInterfaceController", - "didDisconnectCarInterfaceController" - ], - "additionalProperties": false + "additionalProperties": false }, - "userNotificationCenter": { - "type": "object", - "properties": { - "willPresent": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugin/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - } - }, - "required": [ - "willPresent" - ], - "additionalProperties": false + "isStatic": { + "type": "boolean" } - }, - "required": [ - "application", - "userNotificationCenter" - ], - "additionalProperties": false }, - "appDelegateImports": { - "type": "array", - "items": { - "type": "string" - } + "additionalProperties": false + }, + "tvos": { + "$ref": "#/definitions/rnv.plugin/properties/ios" + }, + "tizen": { + "type": "object", + "properties": { + "enabled": { + "$ref": "#/definitions/rnv.plugin/properties/android/properties/enabled" + }, + "disabled": { + "$ref": "#/definitions/rnv.plugin/properties/android/properties/disabled" + }, + "path": { + "$ref": "#/definitions/rnv.plugin/properties/android/properties/path" + } }, - "appDelegateExtensions": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false + "additionalProperties": false + }, + "tizenmobile": { + "$ref": "#/definitions/rnv.plugin/properties/tizen" + }, + "tizenwatch": { + "$ref": "#/definitions/rnv.plugin/properties/tizen" }, - "Info_plist": { - "type": "object", - "properties": {}, - "additionalProperties": false + "webos": { + "$ref": "#/definitions/rnv.plugin/properties/tizen" + }, + "web": { + "$ref": "#/definitions/rnv.plugin/properties/tizen" + }, + "webtv": { + "$ref": "#/definitions/rnv.plugin/properties/tizen" + }, + "chromecast": { + "$ref": "#/definitions/rnv.plugin/properties/tizen" + }, + "kaios": { + "$ref": "#/definitions/rnv.plugin/properties/tizen" + }, + "macos": { + "$ref": "#/definitions/rnv.plugin/properties/tizen" + }, + "linux": { + "$ref": "#/definitions/rnv.plugin/properties/tizen" + }, + "windows": { + "$ref": "#/definitions/rnv.plugin/properties/tizen" + }, + "xbox": { + "$ref": "#/definitions/rnv.plugin/properties/tizen" + }, + "custom": { + "description": "Object ysed to extend your renative with custom props. This allows renative json schema to be validated" + }, + "$schema": { + "type": "string", + "description": "schema definition" } - }, - "additionalProperties": false - }, - "isStatic": { - "type": "boolean" - } - }, - "additionalProperties": false - }, - "tvos": { - "$ref": "#/definitions/rnv.plugin/properties/ios" - }, - "tizen": { - "type": "object", - "properties": { - "enabled": { - "$ref": "#/definitions/rnv.plugin/properties/android/properties/enabled" - }, - "disabled": { - "$ref": "#/definitions/rnv.plugin/properties/android/properties/disabled" }, - "path": { - "$ref": "#/definitions/rnv.plugin/properties/android/properties/path" - } - }, - "additionalProperties": false - }, - "tizenmobile": { - "$ref": "#/definitions/rnv.plugin/properties/tizen" - }, - "tizenwatch": { - "$ref": "#/definitions/rnv.plugin/properties/tizen" - }, - "webos": { - "$ref": "#/definitions/rnv.plugin/properties/tizen" - }, - "web": { - "$ref": "#/definitions/rnv.plugin/properties/tizen" - }, - "webtv": { - "$ref": "#/definitions/rnv.plugin/properties/tizen" - }, - "chromecast": { - "$ref": "#/definitions/rnv.plugin/properties/tizen" - }, - "kaios": { - "$ref": "#/definitions/rnv.plugin/properties/tizen" - }, - "macos": { - "$ref": "#/definitions/rnv.plugin/properties/tizen" - }, - "linux": { - "$ref": "#/definitions/rnv.plugin/properties/tizen" - }, - "windows": { - "$ref": "#/definitions/rnv.plugin/properties/tizen" - }, - "xbox": { - "$ref": "#/definitions/rnv.plugin/properties/tizen" - }, - "custom": { - "description": "Object ysed to extend your renative with custom props. This allows renative json schema to be validated" - }, - "$schema": { - "type": "string", - "description": "schema definition" + "additionalProperties": false } - }, - "additionalProperties": false - } - }, - "$schema": "http://json-schema.org/draft-04/schema#" -} \ No newline at end of file + }, + "$schema": "http://json-schema.org/draft-04/schema#" +} diff --git a/packages/core/jsonSchema/rnv.plugins.json b/packages/core/jsonSchema/rnv.plugins.json index 387aa8b55c..107bdcf9b5 100644 --- a/packages/core/jsonSchema/rnv.plugins.json +++ b/packages/core/jsonSchema/rnv.plugins.json @@ -1,856 +1,828 @@ { - "$ref": "#/definitions/rnv.plugins", - "definitions": { - "rnv.plugins": { - "type": "object", - "properties": { - "custom": { - "description": "Object ysed to extend your renative with custom props. This allows renative json schema to be validated" - }, - "pluginTemplates": { - "type": "object", - "additionalProperties": { + "$ref": "#/definitions/rnv.plugins", + "definitions": { + "rnv.plugins": { "type": "object", "properties": { - "disabled": { - "type": "boolean", - "default": false, - "description": "Marks plugin disabled" - }, - "props": { - "type": "object", - "additionalProperties": { - "type": "string" + "custom": { + "description": "Object ysed to extend your renative with custom props. This allows renative json schema to be validated" }, - "description": "Custom props passed to plugin" - }, - "version": { - "type": "string", - "description": "Version of plugin. Typically package version" - }, - "deprecated": { - "type": "string", - "description": "Marks your plugin deprecated with warning showing in the console during rnv commands" - }, - "source": { - "type": "string", - "description": "Will define custom scope for your plugin config to extend from.\n\nNOTE: custom scopes can be defined via paths.pluginTemplates.[CUSTOM_SCOPE].{}" - }, - "disableNpm": { - "type": "boolean", - "description": "Will skip including plugin in package.json and installing it via npm/yarn etc" - }, - "skipMerge": { - "type": "boolean", - "description": "Will not attempt to merge with existing plugin configuration (ie. coming form renative pluginTemplates)\n\nNOTE: if set to `true` you need to configure your plugin object fully" - }, - "npm": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Object of npm dependencies of this plugin. These will be injected into package.json" - }, - "pluginDependencies": { - "type": "object", - "additionalProperties": { - "type": [ - "string", - "null" - ] - }, - "description": "List of other Renative plugins this plugin depends on" - }, - "webpackConfig": { - "type": "object", - "properties": { - "modulePaths": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - }, - "moduleAliases": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "object", - "additionalProperties": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "projectPath": { - "type": "string" - } - }, - "required": [ - "projectPath" - ], - "additionalProperties": false - } - ] - } - } - ] - }, - "nextTranspileModules": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "description": "Allows you to configure webpack bahaviour per each individual plugin" - }, - "disablePluginTemplateOverrides": { - "type": "boolean", - "description": "Disables plugin overrides for selected plugin" - }, - "fontSources": { - "type": "array", - "items": { - "type": "string" - } - }, - "android": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true, - "description": "Marks plugin platform enabled or disabled" - }, - "disabled": { - "type": "boolean", - "default": false, - "description": "Marks plugin platform disabled" - }, - "path": { - "type": "string", - "description": "Enables you to pass custom path to plugin. If undefined, the default `node_modules/[plugin-name]` will be used." - }, - "projectName": { - "type": "string" - }, - "skipLinking": { - "type": "boolean" - }, - "skipImplementation": { - "type": "boolean" - }, - "implementation": { - "type": "string" - }, - "package": { - "type": "string" - }, - "templateAndroid": { + "pluginTemplates": { "type": "object", - "properties": { - "gradle_properties": { - "type": "object", - "additionalProperties": { - "type": [ - "string", - "boolean", - "number" - ] - }, - "description": "Overrides values in `gradle.properties` file of generated android based project" - }, - "build_gradle": { + "additionalProperties": { "type": "object", "properties": { - "allprojects": { - "type": "object", - "properties": { - "repositories": { + "disabled": { + "type": "boolean", + "default": false, + "description": "Marks plugin disabled" + }, + "props": { "type": "object", "additionalProperties": { - "type": "boolean" + "type": "string" }, - "description": "Customize repositories section of build.gradle" - } + "description": "Custom props passed to plugin" }, - "required": [ - "repositories" - ], - "additionalProperties": false - }, - "plugins": { - "type": "array", - "items": { - "type": "string" - } - }, - "buildscript": { - "type": "object", - "properties": { - "repositories": { + "version": { + "type": "string", + "description": "Version of plugin. Typically package version" + }, + "deprecated": { + "type": "string", + "description": "Marks your plugin deprecated with warning showing in the console during rnv commands" + }, + "source": { + "type": "string", + "description": "Will define custom scope for your plugin config to extend from.\n\nNOTE: custom scopes can be defined via paths.pluginTemplates.[CUSTOM_SCOPE].{}" + }, + "disableNpm": { + "type": "boolean", + "description": "Will skip including plugin in package.json and installing it via npm/yarn etc" + }, + "skipMerge": { + "type": "boolean", + "description": "Will not attempt to merge with existing plugin configuration (ie. coming form renative pluginTemplates)\n\nNOTE: if set to `true` you need to configure your plugin object fully" + }, + "npm": { "type": "object", "additionalProperties": { - "type": "boolean" - } - }, - "dependencies": { + "type": "string" + }, + "description": "Object of npm dependencies of this plugin. These will be injected into package.json" + }, + "pluginDependencies": { "type": "object", "additionalProperties": { - "type": "boolean" - } - } + "type": ["string", "null"] + }, + "description": "List of other Renative plugins this plugin depends on" }, - "required": [ - "repositories", - "dependencies" - ], - "additionalProperties": false - }, - "dexOptions": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } - }, - "injectAfterAll": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "allprojects", - "plugins", - "buildscript", - "dexOptions", - "injectAfterAll" - ], - "additionalProperties": false, - "description": "Overrides values in `build.gradle` file of generated android based project" - }, - "app_build_gradle": { - "type": "object", - "properties": { - "apply": { - "type": "array", - "items": { - "type": "string" - } - }, - "defaultConfig": { - "type": "array", - "items": { - "type": "string" - } - }, - "buildTypes": { - "type": "object", - "properties": { - "debug": { - "type": "array", - "items": { - "type": "string" - } - }, - "release": { + "webpackConfig": { + "type": "object", + "properties": { + "modulePaths": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "moduleAliases": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "projectPath": { + "type": "string" + } + }, + "required": ["projectPath"], + "additionalProperties": false + } + ] + } + } + ] + }, + "nextTranspileModules": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "description": "Allows you to configure webpack bahaviour per each individual plugin" + }, + "disablePluginTemplateOverrides": { + "type": "boolean", + "description": "Disables plugin overrides for selected plugin" + }, + "fontSources": { "type": "array", "items": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "afterEvaluate": { - "type": "array", - "items": { - "type": "string" - } - }, - "implementations": { - "type": "array", - "items": { - "type": "string" - } - }, - "implementation": { - "type": "string" - } - }, - "required": [ - "apply", - "defaultConfig" - ], - "additionalProperties": false, - "description": "Overrides values in `app/build.gradle` file of generated android based project" - }, - "AndroidManifest_xml": { - "type": "object", - "properties": { - "tag": { - "type": "string" - }, - "android:name": { - "type": "string" - }, - "android:required": { - "type": "boolean" - }, - "package": { - "type": "string" - }, - "children": { - "type": "array", - "items": { - "type": "object", - "properties": { - "tag": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/tag" - }, - "android:name": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:name" - }, - "android:required": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:required" - }, - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/children/items" - } - } - }, - "required": [ - "tag", - "android:name", - "children" - ], - "additionalProperties": false - } - } - }, - "required": [ - "tag", - "android:name", - "children" - ], - "additionalProperties": false, - "description": "Allows you to directly manipulate `AndroidManifest.xml` via json override mechanism\nInjects / Overrides values in AndroidManifest.xml file of generated android based project\n> IMPORTANT: always ensure that your object contains `tag` and `android:name` to target correct tag to merge into\n " - }, - "strings_xml": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "type": "object", - "properties": { - "tag": { - "type": "string" - }, - "name": { - "type": "string" - }, - "child_value": { - "type": "string" - } - }, - "required": [ - "tag", - "name", - "child_value" - ], - "additionalProperties": false - } - } - }, - "additionalProperties": false - }, - "MainActivity_java": { - "type": "object", - "properties": { - "onCreate": { - "type": "string", - "default": "super.onCreate(savedInstanceState)", - "description": "Overrides super.onCreate method handler of MainActivity.java" - }, - "imports": { - "type": "array", - "items": { - "type": "string" - } - }, - "methods": { - "type": "array", - "items": { - "type": "string" - } - }, - "createMethods": { - "type": "array", - "items": { - "type": "string" - } - }, - "resultMethods": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "MainApplication_java": { - "type": "object", - "properties": { - "imports": { - "type": "array", - "items": { - "type": "string" - } - }, - "methods": { - "type": "array", - "items": { - "type": "string" - } - }, - "createMethods": { - "type": "array", - "items": { - "type": "string" - } - }, - "packages": { - "type": "array", - "items": { - "type": "string" - } - }, - "packageParams": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "description": "Allows you to configure behaviour of MainActivity" - } - }, - "additionalProperties": false - } - }, - "additionalProperties": false - }, - "androidtv": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android" - }, - "androidwear": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android" - }, - "firetv": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android" - }, - "ios": { - "type": "object", - "properties": { - "enabled": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/enabled" - }, - "disabled": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/disabled" - }, - "path": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/path" - }, - "git": { - "type": "string", - "description": "Alternative git url for pod instead of version" - }, - "commit": { - "type": "string", - "description": "Alternative git commit reference string" - }, - "version": { - "type": "string", - "description": "Version of pod" - }, - "podNames": { - "type": "array", - "items": { - "type": "string" - } - }, - "podName": { - "type": "string" - }, - "staticFrameworks": { - "type": "array", - "items": { - "type": "string" - } - }, - "templateXcode": { - "type": "object", - "properties": { - "Podfile": { - "type": "object", - "properties": { - "injectLines": { - "type": "array", - "items": { - "type": "string" - } - }, - "post_install": { - "type": "array", - "items": { - "type": "string" - } - }, - "sources": { - "type": "array", - "items": { - "type": "string" - } - }, - "podDependencies": { - "type": "array", - "items": { - "type": "string" - } - }, - "staticPods": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "description": "Allows to manipulate Podfile" - }, - "project_pbxproj": { - "type": "object", - "properties": { - "sourceFiles": { - "type": "array", - "items": { - "type": "string" - } - }, - "resourceFiles": { - "type": "array", - "items": { - "type": "string" - } - }, - "headerFiles": { - "type": "array", - "items": { - "type": "string" - } - }, - "buildPhases": { - "type": "array", - "items": { - "type": "object", - "properties": { - "shellPath": { - "type": "string" - }, - "shellScript": { - "type": "string" - }, - "inputPaths": { - "type": "array", - "items": { "type": "string" - } } - }, - "required": [ - "shellPath", - "shellScript", - "inputPaths" - ], - "additionalProperties": false - } - }, - "frameworks": { - "type": "array", - "items": { - "type": "string" - } - }, - "buildSettings": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "AppDelegate_mm": { - "type": "object", - "properties": { - "appDelegateMethods": { - "type": "object", - "properties": { - "application": { + }, + "android": { "type": "object", "properties": { - "didFinishLaunchingWithOptions": { - "type": "array", - "items": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "order": { - "type": "number" + "enabled": { + "type": "boolean", + "default": true, + "description": "Marks plugin platform enabled or disabled" + }, + "disabled": { + "type": "boolean", + "default": false, + "description": "Marks plugin platform disabled" + }, + "path": { + "type": "string", + "description": "Enables you to pass custom path to plugin. If undefined, the default `node_modules/[plugin-name]` will be used." + }, + "projectName": { + "type": "string" + }, + "skipLinking": { + "type": "boolean" + }, + "skipImplementation": { + "type": "boolean" + }, + "implementation": { + "type": "string" + }, + "package": { + "type": "string" + }, + "templateAndroid": { + "type": "object", + "properties": { + "gradle_properties": { + "type": "object", + "additionalProperties": { + "type": ["string", "boolean", "number"] + }, + "description": "Overrides values in `gradle.properties` file of generated android based project" + }, + "build_gradle": { + "type": "object", + "properties": { + "allprojects": { + "type": "object", + "properties": { + "repositories": { + "type": "object", + "additionalProperties": { + "type": "boolean" + }, + "description": "Customize repositories section of build.gradle" + } + }, + "required": ["repositories"], + "additionalProperties": false + }, + "plugins": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildscript": { + "type": "object", + "properties": { + "repositories": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, + "dependencies": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + } + }, + "required": ["repositories", "dependencies"], + "additionalProperties": false + }, + "dexOptions": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, + "injectAfterAll": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "allprojects", + "plugins", + "buildscript", + "dexOptions", + "injectAfterAll" + ], + "additionalProperties": false, + "description": "Overrides values in `build.gradle` file of generated android based project" + }, + "app_build_gradle": { + "type": "object", + "properties": { + "apply": { + "type": "array", + "items": { + "type": "string" + } + }, + "defaultConfig": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildTypes": { + "type": "object", + "properties": { + "debug": { + "type": "array", + "items": { + "type": "string" + } + }, + "release": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "afterEvaluate": { + "type": "array", + "items": { + "type": "string" + } + }, + "implementations": { + "type": "array", + "items": { + "type": "string" + } + }, + "implementation": { + "type": "string" + } + }, + "required": ["apply", "defaultConfig"], + "additionalProperties": false, + "description": "Overrides values in `app/build.gradle` file of generated android based project" + }, + "AndroidManifest_xml": { + "type": "object", + "properties": { + "tag": { + "type": "string" + }, + "android:name": { + "type": "string" + }, + "android:required": { + "type": "boolean" + }, + "package": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tag": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/tag" + }, + "android:name": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:name" + }, + "android:required": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:required" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/children/items" + } + } + }, + "required": ["tag", "android:name", "children"], + "additionalProperties": false + } + } + }, + "required": ["tag", "android:name", "children"], + "additionalProperties": false, + "description": "Allows you to directly manipulate `AndroidManifest.xml` via json override mechanism\nInjects / Overrides values in AndroidManifest.xml file of generated android based project\n> IMPORTANT: always ensure that your object contains `tag` and `android:name` to target correct tag to merge into\n " + }, + "strings_xml": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tag": { + "type": "string" + }, + "name": { + "type": "string" + }, + "child_value": { + "type": "string" + } + }, + "required": ["tag", "name", "child_value"], + "additionalProperties": false + } + } + }, + "additionalProperties": false }, - "value": { - "type": "string" + "MainActivity_java": { + "type": "object", + "properties": { + "onCreate": { + "type": "string", + "default": "super.onCreate(savedInstanceState)", + "description": "Overrides super.onCreate method handler of MainActivity.java" + }, + "imports": { + "type": "array", + "items": { + "type": "string" + } + }, + "methods": { + "type": "array", + "items": { + "type": "string" + } + }, + "createMethods": { + "type": "array", + "items": { + "type": "string" + } + }, + "resultMethods": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false }, - "weight": { - "type": "number" + "MainApplication_java": { + "type": "object", + "properties": { + "imports": { + "type": "array", + "items": { + "type": "string" + } + }, + "methods": { + "type": "array", + "items": { + "type": "string" + } + }, + "createMethods": { + "type": "array", + "items": { + "type": "string" + } + }, + "packages": { + "type": "array", + "items": { + "type": "string" + } + }, + "packageParams": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "description": "Allows you to configure behaviour of MainActivity" } - }, - "required": [ - "order", - "value", - "weight" - ], - "additionalProperties": false - } - ] - } - }, - "applicationDidBecomeActive": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "open": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "supportedInterfaceOrientationsFor": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didReceiveRemoteNotification": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didFailToRegisterForRemoteNotificationsWithError": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didReceive": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didRegister": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didRegisterForRemoteNotificationsWithDeviceToken": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "continue": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didConnectCarInterfaceController": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + }, + "additionalProperties": false } - }, - "didDisconnectCarInterfaceController": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + }, + "additionalProperties": false + }, + "androidtv": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android" + }, + "androidwear": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android" + }, + "firetv": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android" + }, + "ios": { + "type": "object", + "properties": { + "enabled": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/enabled" + }, + "disabled": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/disabled" + }, + "path": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/path" + }, + "git": { + "type": "string", + "description": "Alternative git url for pod instead of version" + }, + "commit": { + "type": "string", + "description": "Alternative git commit reference string" + }, + "version": { + "type": "string", + "description": "Version of pod" + }, + "podNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "podName": { + "type": "string" + }, + "staticFrameworks": { + "type": "array", + "items": { + "type": "string" + } + }, + "templateXcode": { + "type": "object", + "properties": { + "Podfile": { + "type": "object", + "properties": { + "injectLines": { + "type": "array", + "items": { + "type": "string" + } + }, + "post_install": { + "type": "array", + "items": { + "type": "string" + } + }, + "sources": { + "type": "array", + "items": { + "type": "string" + } + }, + "podDependencies": { + "type": "array", + "items": { + "type": "string" + } + }, + "staticPods": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "description": "Allows to manipulate Podfile" + }, + "project_pbxproj": { + "type": "object", + "properties": { + "sourceFiles": { + "type": "array", + "items": { + "type": "string" + } + }, + "resourceFiles": { + "type": "array", + "items": { + "type": "string" + } + }, + "headerFiles": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildPhases": { + "type": "array", + "items": { + "type": "object", + "properties": { + "shellPath": { + "type": "string" + }, + "shellScript": { + "type": "string" + }, + "inputPaths": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["shellPath", "shellScript", "inputPaths"], + "additionalProperties": false + } + }, + "frameworks": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildSettings": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "AppDelegate_mm": { + "type": "object", + "properties": { + "appDelegateMethods": { + "type": "object", + "properties": { + "application": { + "type": "object", + "properties": { + "didFinishLaunchingWithOptions": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "order": { + "type": "number" + }, + "value": { + "type": "string" + }, + "weight": { + "type": "number" + } + }, + "required": [ + "order", + "value", + "weight" + ], + "additionalProperties": false + } + ] + } + }, + "applicationDidBecomeActive": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "open": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "supportedInterfaceOrientationsFor": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didReceiveRemoteNotification": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didFailToRegisterForRemoteNotificationsWithError": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didReceive": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didRegister": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didRegisterForRemoteNotificationsWithDeviceToken": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "continue": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didConnectCarInterfaceController": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didDisconnectCarInterfaceController": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + } + }, + "required": [ + "didFinishLaunchingWithOptions", + "applicationDidBecomeActive", + "open", + "supportedInterfaceOrientationsFor", + "didReceiveRemoteNotification", + "didFailToRegisterForRemoteNotificationsWithError", + "didReceive", + "didRegister", + "didRegisterForRemoteNotificationsWithDeviceToken", + "continue", + "didConnectCarInterfaceController", + "didDisconnectCarInterfaceController" + ], + "additionalProperties": false + }, + "userNotificationCenter": { + "type": "object", + "properties": { + "willPresent": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + } + }, + "required": ["willPresent"], + "additionalProperties": false + } + }, + "required": ["application", "userNotificationCenter"], + "additionalProperties": false + }, + "appDelegateImports": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "AppDelegate_h": { + "type": "object", + "properties": { + "appDelegateImports": { + "type": "array", + "items": { + "type": "string" + } + }, + "appDelegateExtensions": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "Info_plist": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "isStatic": { + "type": "boolean" } - } }, - "required": [ - "didFinishLaunchingWithOptions", - "applicationDidBecomeActive", - "open", - "supportedInterfaceOrientationsFor", - "didReceiveRemoteNotification", - "didFailToRegisterForRemoteNotificationsWithError", - "didReceive", - "didRegister", - "didRegisterForRemoteNotificationsWithDeviceToken", - "continue", - "didConnectCarInterfaceController", - "didDisconnectCarInterfaceController" - ], "additionalProperties": false - }, - "userNotificationCenter": { + }, + "tvos": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios" + }, + "tizen": { "type": "object", "properties": { - "willPresent": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + "enabled": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/enabled" + }, + "disabled": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/disabled" + }, + "path": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/path" } - } }, - "required": [ - "willPresent" - ], "additionalProperties": false - } }, - "required": [ - "application", - "userNotificationCenter" - ], - "additionalProperties": false - }, - "appDelegateImports": { - "type": "array", - "items": { - "type": "string" - } - }, - "appDelegateExtensions": { - "type": "array", - "items": { - "type": "string" + "tizenmobile": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" + }, + "tizenwatch": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" + }, + "webos": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" + }, + "web": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" + }, + "webtv": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" + }, + "chromecast": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" + }, + "kaios": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" + }, + "macos": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" + }, + "linux": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" + }, + "windows": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" + }, + "xbox": { + "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" } - } }, "additionalProperties": false - }, - "Info_plist": { - "type": "object", - "properties": {}, - "additionalProperties": false - } }, - "additionalProperties": false - }, - "isStatic": { - "type": "boolean" - } + "description": "Define all plugins available to be merged with project plugins" }, - "additionalProperties": false - }, - "tvos": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/ios" - }, - "tizen": { - "type": "object", - "properties": { - "enabled": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/enabled" - }, - "disabled": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/disabled" - }, - "path": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/android/properties/path" - } + "disableRnvDefaultOverrides": { + "type": "boolean", + "description": "Disables default rnv scope plugin overrides and merges. Useful if you want to test entirely clean plugin template list" }, - "additionalProperties": false - }, - "tizenmobile": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" - }, - "tizenwatch": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" - }, - "webos": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" - }, - "web": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" - }, - "webtv": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" - }, - "chromecast": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" - }, - "kaios": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" - }, - "macos": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" - }, - "linux": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" - }, - "windows": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" - }, - "xbox": { - "$ref": "#/definitions/rnv.plugins/properties/pluginTemplates/additionalProperties/properties/tizen" - } + "$schema": { + "type": "string", + "description": "schema definition" + } }, + "required": ["pluginTemplates"], "additionalProperties": false - }, - "description": "Define all plugins available to be merged with project plugins" - }, - "disableRnvDefaultOverrides": { - "type": "boolean", - "description": "Disables default rnv scope plugin overrides and merges. Useful if you want to test entirely clean plugin template list" - }, - "$schema": { - "type": "string", - "description": "schema definition" } - }, - "required": [ - "pluginTemplates" - ], - "additionalProperties": false - } - }, - "$schema": "http://json-schema.org/draft-04/schema#" -} \ No newline at end of file + }, + "$schema": "http://json-schema.org/draft-04/schema#" +} diff --git a/packages/core/jsonSchema/rnv.project.json b/packages/core/jsonSchema/rnv.project.json index 849342cafb..0c31f0aeb2 100644 --- a/packages/core/jsonSchema/rnv.project.json +++ b/packages/core/jsonSchema/rnv.project.json @@ -1,3927 +1,3875 @@ { - "$ref": "#/definitions/rnv.project", - "definitions": { - "rnv.project": { - "type": "object", - "properties": { - "workspaceID": { - "type": "string", - "description": "Workspace ID your project belongs to. This will mach same folder name in the root of your user directory. ie `~/` on macOS" - }, - "projectVersion": { - "type": "string" - }, - "projectName": { - "type": "string", - "description": "Name of the project which will be used in workspace as folder name. this will also be used as part of the KEY in crypto env var generator" - }, - "isMonorepo": { - "type": "boolean", - "description": "Mark if your project is part of monorepo" - }, - "isTemplate": { - "type": "boolean" - }, - "defaults": { - "type": "object", - "properties": { - "ports": { - "type": "object", - "additionalProperties": { - "type": "number" - }, - "propertyNames": { - "enum": [ - "ios", - "android", - "firetv", - "androidtv", - "androidwear", - "web", - "webtv", - "tizen", - "tizenmobile", - "tvos", - "webos", - "macos", - "windows", - "linux", - "tizenwatch", - "kaios", - "chromecast", - "xbox" - ] - }, - "description": "Allows you to assign custom port per each supported platform specific to this project. this is useful if you foten switch between multiple projects and do not want to experience constant port conflicts" - }, - "supportedPlatforms": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "ios", - "android", - "firetv", - "androidtv", - "androidwear", - "web", - "webtv", - "tizen", - "tizenmobile", - "tvos", - "webos", - "macos", - "windows", - "linux", - "tizenwatch", - "kaios", - "chromecast", - "xbox" - ] - }, - "description": "Array list of all supported platforms in current project" - }, - "portOffset": { - "type": "number", - "description": "Offset each port default value by increment" - }, - "defaultCommandSchemes": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "enum": [ - "run", - "export", - "build" - ] - }, - "description": "List of default schemes for each rnv command. This is useful if you want to avoid specifying `-s ...` every time your run rnv command. bu default rnv uses `-s debug`. NOTE: you can only use schemes you defined in `buildSchemes`" - }, - "targets": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "enum": [ - "ios", - "android", - "firetv", - "androidtv", - "androidwear", - "web", - "webtv", - "tizen", - "tizenmobile", - "tvos", - "webos", - "macos", - "windows", - "linux", - "tizenwatch", - "kaios", - "chromecast", - "xbox" - ] - }, - "description": "Override of default targets specific to this project" - } - }, - "additionalProperties": false, - "description": "Default system config for this project" - }, - "pipes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "To avoid rnv building `buildHooks/src` every time you can specify which specific pipes should trigger recompile of buildHooks" - }, - "templates": { - "type": "object", - "additionalProperties": { + "$ref": "#/definitions/rnv.project", + "definitions": { + "rnv.project": { "type": "object", "properties": { - "version": { - "type": "string" - } - }, - "required": [ - "version" - ], - "additionalProperties": false - }, - "description": "Stores installed templates info in your project.\n\nNOTE: This prop will be updated by rnv if you run `rnv template install`" - }, - "currentTemplate": { - "type": "string", - "description": "Currently active template used in this project. this allows you to re-bootstrap whole project by running `rnv template apply`" - }, - "crypto": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "Relative path to encrypted file in your renative project. Example: \"./secrets/mySecrets.enc\"" - }, - "isOptional": { - "type": "boolean", - "description": "Mark if crypto object should not checked every run" - } - }, - "required": [ - "path" - ], - "additionalProperties": false, - "description": "This prop enables automatic encrypt and decrypt of sensitive information in your project. \nRNV will generate new env variable with can be used to encrypt and decrypt. this env var is generated by combining (and sanitizing) 2 properties from your renative.json: \nworkspaceID + projectName.\nThese 2 properties are also used to generate path on your local machine where encrypted files will be decrypted into." - }, - "paths": { - "type": "object", - "properties": { - "appConfigsDir": { - "type": "string", - "description": "Custom path to appConfigs. defaults to `./appConfigs`" - }, - "platformTemplatesDirs": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "enum": [ - "ios", - "android", - "firetv", - "androidtv", - "androidwear", - "web", - "webtv", - "tizen", - "tizenmobile", - "tvos", - "webos", - "macos", - "windows", - "linux", - "tizenwatch", - "kaios", - "chromecast", - "xbox" - ] - }, - "description": "Custom location of ejected platform templates. this is populated after you run `rnv platform eject`" - }, - "appConfigsDirs": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Array of custom location app configs directories`" - }, - "platformAssetsDir": { - "type": "string", - "description": "Custom path to platformAssets folder. defaults to `./platformAssets`" - }, - "platformBuildsDir": { - "type": "string", - "description": "Custom path to platformBuilds folder. defaults to `./platformBuilds`" - }, - "pluginTemplates": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "npm": { - "type": "string" - }, - "path": { - "type": "string" - } + "workspaceID": { + "type": "string", + "description": "Workspace ID your project belongs to. This will mach same folder name in the root of your user directory. ie `~/` on macOS" }, - "required": [ - "path" - ], - "additionalProperties": false - }, - "description": "\n Allows you to define custom plugin template scopes. default scope for all plugins is `rnv`.\n this custom scope can then be used by plugin via `\"source:myCustomScope\"` value\n \n those will allow you to use direct pointer to preconfigured plugin:\n \n ```\n \"plugin-name\": \"source:myCustomScope\"\n ```\n \n NOTE: by default every plugin you define with scope will also merge any\n files defined in overrides automatically to your project.\n To skip file overrides coming from source plugin you need to detach it from the scope:\n \n ```\n {\n \"plugins\": {\n \"plugin-name\": {\n \"source\": \"\"\n }\n }\n }\n ```\n " - } - }, - "additionalProperties": false, - "description": "Define custom paths for RNV to look into" - }, - "permissions": { - "type": "object", - "properties": { - "android": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "security": { + "projectVersion": { "type": "string" - } }, - "required": [ - "key", - "security" - ], - "additionalProperties": false - }, - "description": "Android SDK specific permissions" - }, - "ios": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "desc": { - "type": "string" - } + "projectName": { + "type": "string", + "description": "Name of the project which will be used in workspace as folder name. this will also be used as part of the KEY in crypto env var generator" + }, + "isMonorepo": { + "type": "boolean", + "description": "Mark if your project is part of monorepo" }, - "required": [ - "desc" - ], - "additionalProperties": false - }, - "description": "iOS SDK specific permissions" - } - }, - "additionalProperties": false, - "description": "Permission definititions which can be used by app configs via `includedPermissions` and `excludedPermissions` to customize permissions for each app" - }, - "engines": { - "type": "object", - "additionalProperties": { - "type": "string", - "const": "source:rnv" - }, - "description": "List of engines available in this project" - }, - "custom": { - "description": "Object ysed to extend your renative with custom props. This allows renative json schema to be validated" - }, - "enableHookRebuild": { - "type": "boolean", - "description": "If set to true in `./renative.json` build hooks will be compiled at each rnv command run. If set to `false` (default) rebuild will be triggered only if `dist` folder is missing, `-r` has been passed or you run `rnv hooks run` directly making your rnv commands faster" - }, - "monoRoot": { - "type": "string", - "description": "Define custom path to monorepo root where starting point is project directory" - }, - "enableAnalytics": { - "type": "boolean", - "description": "Enable or disable sending analytics to improve ReNative" - }, - "extendsTemplate": { - "type": "string", - "description": "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`" - }, - "tasks": { - "type": "object", - "properties": { - "install": { - "type": "object", - "properties": { - "script": { - "type": "string" + "isTemplate": { + "type": "boolean" }, - "platform": { - "type": "object", - "additionalProperties": { + "defaults": { "type": "object", "properties": { - "ignore": { - "type": "boolean" - }, - "ignoreTasks": { - "type": "array", - "items": { - "type": "string" + "ports": { + "type": "object", + "additionalProperties": { + "type": "number" + }, + "propertyNames": { + "enum": [ + "ios", + "android", + "firetv", + "androidtv", + "androidwear", + "web", + "webtv", + "tizen", + "tizenmobile", + "tvos", + "webos", + "macos", + "windows", + "linux", + "tizenwatch", + "kaios", + "chromecast", + "xbox" + ] + }, + "description": "Allows you to assign custom port per each supported platform specific to this project. this is useful if you foten switch between multiple projects and do not want to experience constant port conflicts" + }, + "supportedPlatforms": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "ios", + "android", + "firetv", + "androidtv", + "androidwear", + "web", + "webtv", + "tizen", + "tizenmobile", + "tvos", + "webos", + "macos", + "windows", + "linux", + "tizenwatch", + "kaios", + "chromecast", + "xbox" + ] + }, + "description": "Array list of all supported platforms in current project" + }, + "portOffset": { + "type": "number", + "description": "Offset each port default value by increment" + }, + "defaultCommandSchemes": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "enum": ["run", "export", "build"] + }, + "description": "List of default schemes for each rnv command. This is useful if you want to avoid specifying `-s ...` every time your run rnv command. bu default rnv uses `-s debug`. NOTE: you can only use schemes you defined in `buildSchemes`" + }, + "targets": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "enum": [ + "ios", + "android", + "firetv", + "androidtv", + "androidwear", + "web", + "webtv", + "tizen", + "tizenmobile", + "tvos", + "webos", + "macos", + "windows", + "linux", + "tizenwatch", + "kaios", + "chromecast", + "xbox" + ] + }, + "description": "Override of default targets specific to this project" } - } }, - "additionalProperties": false - }, - "propertyNames": { - "enum": [ - "ios", - "android", - "firetv", - "androidtv", - "androidwear", - "web", - "webtv", - "tizen", - "tizenmobile", - "tvos", - "webos", - "macos", - "windows", - "linux", - "tizenwatch", - "kaios", - "chromecast", - "xbox" - ] - } - } - }, - "required": [ - "script" - ], - "additionalProperties": false - } - }, - "additionalProperties": false, - "description": "Allows to override specific task within renative toolchain. (currently only `install` supported). this is useful if you want to change specific behaviour of built-in task. ie install task triggers yarn/npm install by default. but that might not be desirable installation trigger" - }, - "integrations": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "description": "Object containing integration configurations where key represents package name" - }, - "env": { - "type": "object", - "additionalProperties": {}, - "description": "Object containing injected env variables" - }, - "runtime": { - "description": "This object will be automatically injected into `./platfromAssets/renative.runtime.json` making it possible to inject the values directly to JS source code" - }, - "skipAutoUpdate": { - "type": "boolean", - "description": "Enables the equivalent to passing --skipDependencyCheck parameter on every rnv run so you don't have to use it" - }, - "isNew": { - "type": "boolean", - "description": "Marker indicating that this project has just been bootstrapped. this prop is managed by rnv" - }, - "common": { - "type": "object", - "properties": { - "includedPermissions": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Allows you to include specific permissions by their KEY defined in `permissions` object. Use: `['*']` to include all" - }, - "excludedPermissions": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Allows you to exclude specific permissions by their KEY defined in `permissions` object. Use: `['*']` to exclude all" - }, - "id": { - "type": "string", - "description": "Bundle ID of application. ie: com.example.myapp" - }, - "idSuffix": { - "type": "string" - }, - "version": { - "type": "string", - "description": "Semver style version of your app" - }, - "versionCode": { - "type": "string", - "description": "Manual verride of generated version code" - }, - "versionFormat": { - "type": "string", - "description": "Allows you to fine-tune app version defined in package.json or renative.json.\n\nIf you do not define versionFormat, no formatting will apply to version.\n\n\"versionFormat\" : \"0.0.0\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 1.2.3\n\nIN: 1.2.3 OUT: 1.2.3\n\n\n\n\"versionFormat\" : \"0.0.0.0.0\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 1.2.3.4.56\n\nIN: 1.2.3 OUT: 1.2.3\n\n\"versionFormat\" : \"0.0.0.x.x.x.x\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 1.2.3.rc.4.build.56\n\nIN: 1.2.3 OUT: 1.2.3\n\n" - }, - "versionCodeFormat": { - "type": "string", - "description": "Allows you to fine-tune auto generated version codes.\n\nVersion code is autogenerated from app version defined in package.json or renative.json.\n\nNOTE: If you define versionCode manually this formatting will not apply.\n\nEXAMPLE 1:\n\ndefault value: 00.00.00\n\nIN: 1.2.3-rc.4+build.56 OUT: 102030456\n\nIN: 1.2.3 OUT: 10203\n\nEXAMPLE 2:\n\n\"versionCodeFormat\" : \"00.00.00.00.00\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 102030456\n\nIN: 1.2.3 OUT: 102030000\n\nEXAMPLE 3:\n\n\"versionCodeFormat\" : \"00.00.00.0000\"\n\nIN: 1.0.23-rc.15 OUT: 100230015\n\nIN: 1.0.23 OUT: 100230000\n\n" - }, - "versionCodeOffset": { - "type": "number" - }, - "title": { - "type": "string", - "description": "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": { - "type": "string", - "description": "General description of your app. This prop will be injected to actual projects where description field is applicable" - }, - "author": { - "type": "string", - "description": "Author name" - }, - "license": { - "type": "string", - "description": "Injects license information into app" - }, - "includedFonts": { - "type": "array", - "items": { - "type": "string" - }, - "description": "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": { - "type": "string", - "minLength": 4, - "maxLength": 9, - "pattern": "^#", - "description": "Defines root view backgroundColor for all platforms in HEX format" - }, - "splashScreen": { - "type": "boolean", - "description": "Enable or disable splash screen" - }, - "fontSources": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Array of paths to location of external Fonts. you can use resolve function here example: `{{resolvePackage(react-native-vector-icons)}}/Fonts`" - }, - "assetSources": { - "type": "array", - "items": { - "type": "string" - }, - "description": "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": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Defines an array of all included plugins for specific config or buildScheme. only full keys as defined in `plugin` should be used.\n\nNOTE: includedPlugins is evaluated before excludedPlugins. Use: `['*']` to include all" - }, - "excludedPlugins": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Defines an array of all excluded plugins for specific config or buildScheme. only full keys as defined in `plugin` should be used.\n\nNOTE: excludedPlugins is evaluated after includedPlugins. Use: `['*']` to exclude all" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/custom" - }, - "buildSchemes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "type": "string", - "description": "Custom description of the buildScheme will be displayed directly in cli if you run rnv with an empty paramener `-s`" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "enabled": { - "type": "boolean", - "description": "Defines whether build scheme shows up in options to run" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/defaults/properties/supportedPlatforms/items" - }, - "assetFolderPlatform": { - "type": "string", - "description": "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": { - "type": "string", - "description": "ID of engine to be used for this platform. Note: engine must be registered in `engines` field" - }, - "entryFile": { - "type": "string", - "default": "index", - "description": "Alternative name of the entry file without `.js` extension" - }, - "bundleAssets": { - "type": "boolean", - "description": "If set to `true` compiled js bundle file will generated. this is needed if you want to make production like builds" - }, - "enableSourceMaps": { - "type": "boolean", - "description": "If set to `true` dedicated source map file will be generated alongside of compiled js bundle" - }, - "bundleIsDev": { - "type": "boolean", - "description": "If set to `true` debug build will be generated" - }, - "getJsBundleFile": { - "type": "string" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Common config props used as default props for all available buildSchemes" - }, - "platforms": { - "type": "object", - "properties": { - "android": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.project/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + "additionalProperties": false, + "description": "Default system config for this project" }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + "pipes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "To avoid rnv building `buildHooks/src` every time you can specify which specific pipes should trigger recompile of buildHooks" }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + "templates": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "version": { + "type": "string" + } + }, + "required": ["version"], + "additionalProperties": false + }, + "description": "Stores installed templates info in your project.\n\nNOTE: This prop will be updated by rnv if you run `rnv template install`" }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + "currentTemplate": { + "type": "string", + "description": "Currently active template used in this project. this allows you to re-bootstrap whole project by running `rnv template apply`" }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + "crypto": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "Relative path to encrypted file in your renative project. Example: \"./secrets/mySecrets.enc\"" + }, + "isOptional": { + "type": "boolean", + "description": "Mark if crypto object should not checked every run" + } + }, + "required": ["path"], + "additionalProperties": false, + "description": "This prop enables automatic encrypt and decrypt of sensitive information in your project. \nRNV will generate new env variable with can be used to encrypt and decrypt. this env var is generated by combining (and sanitizing) 2 properties from your renative.json: \nworkspaceID + projectName.\nThese 2 properties are also used to generate path on your local machine where encrypted files will be decrypted into." }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + "paths": { + "type": "object", + "properties": { + "appConfigsDir": { + "type": "string", + "description": "Custom path to appConfigs. defaults to `./appConfigs`" + }, + "platformTemplatesDirs": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "enum": [ + "ios", + "android", + "firetv", + "androidtv", + "androidwear", + "web", + "webtv", + "tizen", + "tizenmobile", + "tvos", + "webos", + "macos", + "windows", + "linux", + "tizenwatch", + "kaios", + "chromecast", + "xbox" + ] + }, + "description": "Custom location of ejected platform templates. this is populated after you run `rnv platform eject`" + }, + "appConfigsDirs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of custom location app configs directories`" + }, + "platformAssetsDir": { + "type": "string", + "description": "Custom path to platformAssets folder. defaults to `./platformAssets`" + }, + "platformBuildsDir": { + "type": "string", + "description": "Custom path to platformBuilds folder. defaults to `./platformBuilds`" + }, + "pluginTemplates": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "npm": { + "type": "string" + }, + "path": { + "type": "string" + } + }, + "required": ["path"], + "additionalProperties": false + }, + "description": "\n Allows you to define custom plugin template scopes. default scope for all plugins is `rnv`.\n this custom scope can then be used by plugin via `\"source:myCustomScope\"` value\n \n those will allow you to use direct pointer to preconfigured plugin:\n \n ```\n \"plugin-name\": \"source:myCustomScope\"\n ```\n \n NOTE: by default every plugin you define with scope will also merge any\n files defined in overrides automatically to your project.\n To skip file overrides coming from source plugin you need to detach it from the scope:\n \n ```\n {\n \"plugins\": {\n \"plugin-name\": {\n \"source\": \"\"\n }\n }\n }\n ```\n " + } + }, + "additionalProperties": false, + "description": "Define custom paths for RNV to look into" }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + "permissions": { + "type": "object", + "properties": { + "android": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "security": { + "type": "string" + } + }, + "required": ["key", "security"], + "additionalProperties": false + }, + "description": "Android SDK specific permissions" + }, + "ios": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "desc": { + "type": "string" + } + }, + "required": ["desc"], + "additionalProperties": false + }, + "description": "iOS SDK specific permissions" + } + }, + "additionalProperties": false, + "description": "Permission definititions which can be used by app configs via `includedPermissions` and `excludedPermissions` to customize permissions for each app" }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + "engines": { + "type": "object", + "additionalProperties": { + "type": "string", + "const": "source:rnv" + }, + "description": "List of engines available in this project" }, "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "enableAndroidX": { - "type": [ - "boolean", - "string" - ], - "default": true, - "description": "Enables new android X architecture" - }, - "enableJetifier": { - "type": [ - "boolean", - "string" - ], - "default": true, - "description": "Enables Jetifier" - }, - "signingConfig": { - "type": "string", - "default": "Debug", - "description": "Equivalent to running `./gradlew/assembleDebug` or `./gradlew/assembleRelease`" - }, - "minSdkVersion": { - "type": "number", - "default": 28, - "description": "Minimum Android SDK version device has to have in order for app to run" + "description": "Object ysed to extend your renative with custom props. This allows renative json schema to be validated" }, - "multipleAPKs": { - "type": "boolean", - "description": "If set to `true`, apk will be split into multiple ones for each architecture: \"armeabi-v7a\", \"x86\", \"arm64-v8a\", \"x86_64\"" - }, - "aab": { - "type": "boolean", - "description": "If set to true, android project will generate app.aab instead of apk" - }, - "extraGradleParams": { - "type": "string", - "description": "Allows passing extra params to gradle command" - }, - "minifyEnabled": { - "type": "boolean", - "description": "Sets minifyEnabled buildType property in app/build.gradle" - }, - "targetSdkVersion": { - "type": "number", - "description": "Allows you define custom targetSdkVersion equivalent to: `targetSdkVersion = [VERSION]` in build.gradle" - }, - "compileSdkVersion": { - "type": "number", - "description": "Allows you define custom compileSdkVersion equivalent to: `compileSdkVersion = [VERSION]` in build.gradle" - }, - "kotlinVersion": { - "type": "string", - "default": "1.7.10", - "description": "Allows you define custom kotlin version" - }, - "ndkVersion": { - "type": "string", - "description": "Allows you define custom ndkVersion equivalent to: `ndkVersion = [VERSION]` in build.gradle" - }, - "supportLibVersion": { - "type": "string", - "description": "Allows you define custom supportLibVersion equivalent to: `supportLibVersion = [VERSION]` in build.gradle" - }, - "googleServicesVersion": { - "type": "string", - "description": "Allows you define custom googleServicesVersion equivalent to: `googleServicesVersion = [VERSION]` in build.gradle" - }, - "gradleBuildToolsVersion": { - "type": "string", - "description": "Allows you define custom gradle build tools version equivalent to: `classpath 'com.android.tools.build:gradle:[VERSION]'`" + "enableHookRebuild": { + "type": "boolean", + "description": "If set to true in `./renative.json` build hooks will be compiled at each rnv command run. If set to `false` (default) rebuild will be triggered only if `dist` folder is missing, `-r` has been passed or you run `rnv hooks run` directly making your rnv commands faster" }, - "gradleWrapperVersion": { - "type": "string", - "description": "Allows you define custom gradle wrapper version equivalent to: `distributionUrl=https\\://services.gradle.org/distributions/gradle-[VERSION]-all.zip`" + "monoRoot": { + "type": "string", + "description": "Define custom path to monorepo root where starting point is project directory" }, - "excludedFeatures": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Override features definitions in AndroidManifest.xml by exclusion" + "enableAnalytics": { + "type": "boolean", + "description": "Enable or disable sending analytics to improve ReNative" }, - "includedFeatures": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Override features definitions in AndroidManifest.xml by inclusion" + "extendsTemplate": { + "type": "string", + "description": "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`" }, - "buildToolsVersion": { - "type": "string", - "default": "30.0.0", - "description": "Override android build tools version" + "tasks": { + "type": "object", + "properties": { + "install": { + "type": "object", + "properties": { + "script": { + "type": "string" + }, + "platform": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "ignore": { + "type": "boolean" + }, + "ignoreTasks": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "propertyNames": { + "enum": [ + "ios", + "android", + "firetv", + "androidtv", + "androidwear", + "web", + "webtv", + "tizen", + "tizenmobile", + "tvos", + "webos", + "macos", + "windows", + "linux", + "tizenwatch", + "kaios", + "chromecast", + "xbox" + ] + } + } + }, + "required": ["script"], + "additionalProperties": false + } + }, + "additionalProperties": false, + "description": "Allows to override specific task within renative toolchain. (currently only `install` supported). this is useful if you want to change specific behaviour of built-in task. ie install task triggers yarn/npm install by default. but that might not be desirable installation trigger" }, - "disableSigning": { - "type": "boolean" + "integrations": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "description": "Object containing integration configurations where key represents package name" }, - "storeFile": { - "type": "string", - "description": "Name of the store file in android project" + "env": { + "type": "object", + "additionalProperties": {}, + "description": "Object containing injected env variables" }, - "keyAlias": { - "type": "string", - "description": "Key alias of the store file in android project" + "runtime": { + "description": "This object will be automatically injected into `./platfromAssets/renative.runtime.json` making it possible to inject the values directly to JS source code" }, - "newArchEnabled": { - "type": "boolean", - "description": "Enables new arch for android. Default: false" + "skipAutoUpdate": { + "type": "boolean", + "description": "Enables the equivalent to passing --skipDependencyCheck parameter on every rnv run so you don't have to use it" }, - "reactNativeEngine": { - "type": "string", - "enum": [ - "jsc", - "v8-android", - "v8-android-nointl", - "v8-android-jit", - "v8-android-jit-nointl", - "hermes" - ], - "default": "hermes", - "description": "Allows you to define specific native render engine to be used" + "isNew": { + "type": "boolean", + "description": "Marker indicating that this project has just been bootstrapped. this prop is managed by rnv" }, - "templateAndroid": { - "type": "object", - "properties": { - "gradle_properties": { - "type": "object", - "additionalProperties": { - "type": [ - "string", - "boolean", - "number" - ] - }, - "description": "Overrides values in `gradle.properties` file of generated android based project" - }, - "build_gradle": { - "type": "object", - "properties": { - "allprojects": { - "type": "object", - "properties": { - "repositories": { - "type": "object", - "additionalProperties": { - "type": "boolean" - }, - "description": "Customize repositories section of build.gradle" - } - }, - "required": [ - "repositories" - ], - "additionalProperties": false - }, - "plugins": { - "type": "array", - "items": { - "type": "string" - } - }, - "buildscript": { - "type": "object", - "properties": { - "repositories": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } + "common": { + "type": "object", + "properties": { + "includedPermissions": { + "type": "array", + "items": { + "type": "string" }, - "dependencies": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } - } - }, - "required": [ - "repositories", - "dependencies" - ], - "additionalProperties": false - }, - "dexOptions": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } - }, - "injectAfterAll": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "allprojects", - "plugins", - "buildscript", - "dexOptions", - "injectAfterAll" - ], - "additionalProperties": false, - "description": "Overrides values in `build.gradle` file of generated android based project" - }, - "app_build_gradle": { - "type": "object", - "properties": { - "apply": { - "type": "array", - "items": { - "type": "string" - } + "description": "Allows you to include specific permissions by their KEY defined in `permissions` object. Use: `['*']` to include all" }, - "defaultConfig": { - "type": "array", - "items": { - "type": "string" - } - }, - "buildTypes": { - "type": "object", - "properties": { - "debug": { - "type": "array", - "items": { + "excludedPermissions": { + "type": "array", + "items": { "type": "string" - } }, - "release": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false + "description": "Allows you to exclude specific permissions by their KEY defined in `permissions` object. Use: `['*']` to exclude all" }, - "afterEvaluate": { - "type": "array", - "items": { - "type": "string" - } + "id": { + "type": "string", + "description": "Bundle ID of application. ie: com.example.myapp" }, - "implementations": { - "type": "array", - "items": { + "idSuffix": { "type": "string" - } }, - "implementation": { - "type": "string" - } - }, - "required": [ - "apply", - "defaultConfig" - ], - "additionalProperties": false, - "description": "Overrides values in `app/build.gradle` file of generated android based project" - }, - "AndroidManifest_xml": { - "type": "object", - "properties": { - "tag": { - "type": "string" + "version": { + "type": "string", + "description": "Semver style version of your app" }, - "android:name": { - "type": "string" + "versionCode": { + "type": "string", + "description": "Manual verride of generated version code" }, - "android:required": { - "type": "boolean" + "versionFormat": { + "type": "string", + "description": "Allows you to fine-tune app version defined in package.json or renative.json.\n\nIf you do not define versionFormat, no formatting will apply to version.\n\n\"versionFormat\" : \"0.0.0\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 1.2.3\n\nIN: 1.2.3 OUT: 1.2.3\n\n\n\n\"versionFormat\" : \"0.0.0.0.0\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 1.2.3.4.56\n\nIN: 1.2.3 OUT: 1.2.3\n\n\"versionFormat\" : \"0.0.0.x.x.x.x\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 1.2.3.rc.4.build.56\n\nIN: 1.2.3 OUT: 1.2.3\n\n" }, - "package": { - "type": "string" + "versionCodeFormat": { + "type": "string", + "description": "Allows you to fine-tune auto generated version codes.\n\nVersion code is autogenerated from app version defined in package.json or renative.json.\n\nNOTE: If you define versionCode manually this formatting will not apply.\n\nEXAMPLE 1:\n\ndefault value: 00.00.00\n\nIN: 1.2.3-rc.4+build.56 OUT: 102030456\n\nIN: 1.2.3 OUT: 10203\n\nEXAMPLE 2:\n\n\"versionCodeFormat\" : \"00.00.00.00.00\"\n\nIN: 1.2.3-rc.4+build.56 OUT: 102030456\n\nIN: 1.2.3 OUT: 102030000\n\nEXAMPLE 3:\n\n\"versionCodeFormat\" : \"00.00.00.0000\"\n\nIN: 1.0.23-rc.15 OUT: 100230015\n\nIN: 1.0.23 OUT: 100230000\n\n" }, - "children": { - "type": "array", - "items": { - "type": "object", - "properties": { - "tag": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/tag" - }, - "android:name": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:name" - }, - "android:required": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:required" - }, - "children": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/children/items" - } - } - }, - "required": [ - "tag", - "android:name", - "children" - ], - "additionalProperties": false - } - } - }, - "required": [ - "tag", - "android:name", - "children" - ], - "additionalProperties": false, - "description": "Allows you to directly manipulate `AndroidManifest.xml` via json override mechanism\nInjects / Overrides values in AndroidManifest.xml file of generated android based project\n> IMPORTANT: always ensure that your object contains `tag` and `android:name` to target correct tag to merge into\n " - }, - "strings_xml": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "MainActivity_java": { - "type": "object", - "properties": { - "onCreate": { - "type": "string", - "default": "super.onCreate(savedInstanceState)", - "description": "Overrides super.onCreate method handler of MainActivity.java" + "versionCodeOffset": { + "type": "number" }, - "imports": { - "type": "array", - "items": { - "type": "string" - } + "title": { + "type": "string", + "description": "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" }, - "methods": { - "type": "array", - "items": { - "type": "string" - } + "description": { + "type": "string", + "description": "General description of your app. This prop will be injected to actual projects where description field is applicable" }, - "createMethods": { - "type": "array", - "items": { - "type": "string" - } + "author": { + "type": "string", + "description": "Author name" }, - "resultMethods": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "MainApplication_java": { - "type": "object", - "properties": { - "imports": { - "type": "array", - "items": { - "type": "string" - } - }, - "methods": { - "type": "array", - "items": { - "type": "string" - } - }, - "createMethods": { - "type": "array", - "items": { - "type": "string" - } - }, - "packages": { - "type": "array", - "items": { - "type": "string" - } - }, - "packageParams": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "description": "Allows you to configure behaviour of MainActivity" - }, - "settings_gradle": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "gradle_wrapper_properties": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "SplashActivity_java": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "styles_xml": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "colors_xml": { - "type": "object", - "properties": {}, - "additionalProperties": false - }, - "proguard_rules_pro": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - }, - "additionalProperties": false - }, - "buildSchemes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.project/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "enableAndroidX": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/enableAndroidX" - }, - "enableJetifier": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/enableJetifier" - }, - "signingConfig": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/signingConfig" - }, - "minSdkVersion": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/minSdkVersion" - }, - "multipleAPKs": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/multipleAPKs" - }, - "aab": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/aab" - }, - "extraGradleParams": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/extraGradleParams" - }, - "minifyEnabled": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/minifyEnabled" - }, - "targetSdkVersion": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/targetSdkVersion" - }, - "compileSdkVersion": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/compileSdkVersion" - }, - "kotlinVersion": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/kotlinVersion" - }, - "ndkVersion": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/ndkVersion" - }, - "supportLibVersion": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/supportLibVersion" - }, - "googleServicesVersion": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/googleServicesVersion" - }, - "gradleBuildToolsVersion": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/gradleBuildToolsVersion" - }, - "gradleWrapperVersion": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/gradleWrapperVersion" - }, - "excludedFeatures": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/excludedFeatures" - }, - "includedFeatures": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/includedFeatures" - }, - "buildToolsVersion": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/buildToolsVersion" - }, - "disableSigning": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/disableSigning" - }, - "storeFile": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/storeFile" - }, - "keyAlias": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/keyAlias" - }, - "newArchEnabled": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/newArchEnabled" - }, - "reactNativeEngine": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/reactNativeEngine" - }, - "templateAndroid": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" - }, - "androidtv": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android" - }, - "androidwear": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android" - }, - "firetv": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android" - }, - "ios": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.project/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "ignoreWarnings": { - "type": "boolean", - "description": "Injects `inhibit_all_warnings` into Podfile" - }, - "ignoreLogs": { - "type": "boolean", - "description": "Passes `-quiet` to xcodebuild command" - }, - "deploymentTarget": { - "type": "string", - "description": "Deployment target for xcodepoj" - }, - "orientationSupport": { - "type": "object", - "properties": { - "phone": { - "type": "array", - "items": { - "type": "string" - } - }, - "tab": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "teamID": { - "type": "string", - "description": "Apple teamID" - }, - "excludedArchs": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Defines excluded architectures. This transforms to xcodeproj: `EXCLUDED_ARCHS=\"\"`" - }, - "urlScheme": { - "type": "string", - "description": "URL Scheme for the app used for deeplinking" - }, - "teamIdentifier": { - "type": "string", - "description": "Apple developer team ID" - }, - "scheme": { - "type": "string" - }, - "schemeTarget": { - "type": "string" - }, - "appleId": { - "type": "string" - }, - "provisioningStyle": { - "type": "string" - }, - "newArchEnabled": { - "type": "boolean", - "description": "Enables new archs for iOS. Default: false" - }, - "codeSignIdentity": { - "type": "string", - "description": "Special property which tells Xcode how to build your project" - }, - "commandLineArguments": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Allows you to pass launch arguments to active scheme" - }, - "provisionProfileSpecifier": { - "type": "string" - }, - "provisionProfileSpecifiers": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "allowProvisioningUpdates": { - "type": "boolean" - }, - "provisioningProfiles": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "codeSignIdentities": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "systemCapabilities": { - "type": "object", - "additionalProperties": { - "type": "boolean" - } - }, - "entitlements": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "runScheme": { - "type": "string" - }, - "sdk": { - "type": "string" - }, - "testFlightId": { - "type": "string" - }, - "firebaseId": { - "type": "string" - }, - "exportOptions": { - "type": "object", - "properties": { - "method": { - "type": "string" - }, - "teamID": { - "type": "string" - }, - "uploadBitcode": { - "type": "boolean" - }, - "compileBitcode": { - "type": "boolean" - }, - "uploadSymbols": { - "type": "boolean" - }, - "signingStyle": { - "type": "string" - }, - "signingCertificate": { - "type": "string" - }, - "provisioningProfiles": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "reactNativeEngine": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/reactNativeEngine" - }, - "templateXcode": { - "type": "object", - "properties": { - "Podfile": { - "type": "object", - "properties": { - "injectLines": { - "type": "array", - "items": { - "type": "string" - } - }, - "post_install": { - "type": "array", - "items": { - "type": "string" - } + "license": { + "type": "string", + "description": "Injects license information into app" }, - "sources": { - "type": "array", - "items": { - "type": "string" - } + "includedFonts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "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" }, - "podDependencies": { - "type": "array", - "items": { - "type": "string" - } + "backgroundColor": { + "type": "string", + "minLength": 4, + "maxLength": 9, + "pattern": "^#", + "description": "Defines root view backgroundColor for all platforms in HEX format" }, - "staticPods": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "description": "Allows to manipulate Podfile" - }, - "project_pbxproj": { - "type": "object", - "properties": { - "sourceFiles": { - "type": "array", - "items": { - "type": "string" - } + "splashScreen": { + "type": "boolean", + "description": "Enable or disable splash screen" }, - "resourceFiles": { - "type": "array", - "items": { - "type": "string" - } + "fontSources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of paths to location of external Fonts. you can use resolve function here example: `{{resolvePackage(react-native-vector-icons)}}/Fonts`" }, - "headerFiles": { - "type": "array", - "items": { - "type": "string" - } + "assetSources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "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`" }, - "buildPhases": { - "type": "array", - "items": { - "type": "object", - "properties": { - "shellPath": { + "includedPlugins": { + "type": "array", + "items": { "type": "string" - }, - "shellScript": { + }, + "description": "Defines an array of all included plugins for specific config or buildScheme. only full keys as defined in `plugin` should be used.\n\nNOTE: includedPlugins is evaluated before excludedPlugins. Use: `['*']` to include all" + }, + "excludedPlugins": { + "type": "array", + "items": { "type": "string" - }, - "inputPaths": { - "type": "array", - "items": { - "type": "string" - } - } }, - "required": [ - "shellPath", - "shellScript", - "inputPaths" - ], - "additionalProperties": false - } + "description": "Defines an array of all excluded plugins for specific config or buildScheme. only full keys as defined in `plugin` should be used.\n\nNOTE: excludedPlugins is evaluated after includedPlugins. Use: `['*']` to exclude all" }, - "frameworks": { - "type": "array", - "items": { - "type": "string" - } + "runtime": { + "$ref": "#/definitions/rnv.project/properties/runtime" }, - "buildSettings": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "additionalProperties": false - }, - "AppDelegate_mm": { - "type": "object", - "properties": { - "appDelegateMethods": { - "type": "object", - "properties": { - "application": { - "type": "object", - "properties": { - "didFinishLaunchingWithOptions": { - "type": "array", - "items": { - "anyOf": [ - { + "custom": { + "$ref": "#/definitions/rnv.project/properties/custom" + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "type": "string", + "description": "Custom description of the buildScheme will be displayed directly in cli if you run rnv with an empty paramener `-s`" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "enabled": { + "type": "boolean", + "description": "Defines whether build scheme shows up in options to run" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/defaults/properties/supportedPlatforms/items" + }, + "assetFolderPlatform": { + "type": "string", + "description": "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": { + "type": "string", + "description": "ID of engine to be used for this platform. Note: engine must be registered in `engines` field" + }, + "entryFile": { + "type": "string", + "default": "index", + "description": "Alternative name of the entry file without `.js` extension" + }, + "bundleAssets": { + "type": "boolean", + "description": "If set to `true` compiled js bundle file will generated. this is needed if you want to make production like builds" + }, + "enableSourceMaps": { + "type": "boolean", + "description": "If set to `true` dedicated source map file will be generated alongside of compiled js bundle" + }, + "bundleIsDev": { + "type": "boolean", + "description": "If set to `true` debug build will be generated" + }, + "getJsBundleFile": { "type": "string" - }, - { - "type": "object", - "properties": { - "order": { - "type": "number" - }, - "value": { - "type": "string" - }, - "weight": { - "type": "number" - } - }, - "required": [ - "order", - "value", - "weight" - ], - "additionalProperties": false - } - ] - } - }, - "applicationDidBecomeActive": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "open": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "supportedInterfaceOrientationsFor": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didReceiveRemoteNotification": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didFailToRegisterForRemoteNotificationsWithError": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didReceive": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didRegister": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didRegisterForRemoteNotificationsWithDeviceToken": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "continue": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didConnectCarInterfaceController": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - }, - "didDisconnectCarInterfaceController": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - } - }, - "required": [ - "didFinishLaunchingWithOptions", - "applicationDidBecomeActive", - "open", - "supportedInterfaceOrientationsFor", - "didReceiveRemoteNotification", - "didFailToRegisterForRemoteNotificationsWithError", - "didReceive", - "didRegister", - "didRegisterForRemoteNotificationsWithDeviceToken", - "continue", - "didConnectCarInterfaceController", - "didDisconnectCarInterfaceController" - ], - "additionalProperties": false - }, - "userNotificationCenter": { - "type": "object", - "properties": { - "willPresent": { - "type": "array", - "items": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" - } - } - }, - "required": [ - "willPresent" - ], - "additionalProperties": false + } + }, + "additionalProperties": false } - }, - "required": [ - "application", - "userNotificationCenter" - ], - "additionalProperties": false - }, - "appDelegateImports": { - "type": "array", - "items": { - "type": "string" - } - }, - "appDelegateExtensions": { - "type": "array", - "items": { - "type": "string" - } } - }, - "additionalProperties": false }, - "Info_plist": { - "type": "object", - "properties": {}, - "additionalProperties": false - } - }, - "additionalProperties": false - }, - "buildSchemes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.project/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "ignoreWarnings": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/ignoreWarnings" - }, - "ignoreLogs": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/ignoreLogs" - }, - "deploymentTarget": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/deploymentTarget" - }, - "orientationSupport": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/orientationSupport" - }, - "teamID": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/teamID" - }, - "excludedArchs": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/excludedArchs" - }, - "urlScheme": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/urlScheme" - }, - "teamIdentifier": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/teamIdentifier" - }, - "scheme": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/scheme" - }, - "schemeTarget": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/schemeTarget" - }, - "appleId": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/appleId" - }, - "provisioningStyle": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisioningStyle" - }, - "newArchEnabled": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/newArchEnabled" - }, - "codeSignIdentity": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/codeSignIdentity" - }, - "commandLineArguments": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/commandLineArguments" - }, - "provisionProfileSpecifier": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisionProfileSpecifier" - }, - "provisionProfileSpecifiers": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisionProfileSpecifiers" - }, - "allowProvisioningUpdates": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/allowProvisioningUpdates" - }, - "provisioningProfiles": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisioningProfiles" - }, - "codeSignIdentities": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/codeSignIdentities" - }, - "systemCapabilities": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/systemCapabilities" - }, - "entitlements": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/entitlements" - }, - "runScheme": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/runScheme" - }, - "sdk": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/sdk" - }, - "testFlightId": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/testFlightId" - }, - "firebaseId": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/firebaseId" - }, - "exportOptions": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/exportOptions" - }, - "reactNativeEngine": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/reactNativeEngine" - }, - "templateXcode": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" - }, - "tvos": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios" - }, - "tizen": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.project/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "package": { - "type": "string" - }, - "certificateProfile": { - "type": "string" - }, - "appName": { - "type": "string" - }, - "timestampBuildFiles": { - "type": "array", - "items": { - "type": "string" - } - }, - "devServerHost": { - "type": "string" - }, - "environment": { - "type": "string" - }, - "hostedShellHeaders": { - "type": "string" - }, - "webpackConfig": { - "type": "object", - "properties": { - "publicUrl": { - "type": "string" - }, - "customScripts": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Allows you to inject custom script into html header" - } - }, - "additionalProperties": false + "additionalProperties": false, + "description": "Common config props used as default props for all available buildSchemes" }, - "buildSchemes": { - "type": "object", - "additionalProperties": { + "platforms": { "type": "object", "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.project/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "package": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/package" - }, - "certificateProfile": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/certificateProfile" - }, - "appName": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/appName" - }, - "timestampBuildFiles": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/timestampBuildFiles" - }, - "devServerHost": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/devServerHost" - }, - "environment": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/environment" - }, - "hostedShellHeaders": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/hostedShellHeaders" - }, - "webpackConfig": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/webpackConfig" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" - }, - "tizenmobile": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen" - }, - "tizenwatch": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen" - }, - "webos": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.project/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "timestampBuildFiles": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/timestampBuildFiles" - }, - "devServerHost": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/devServerHost" - }, - "environment": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/environment" - }, - "hostedShellHeaders": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/hostedShellHeaders" - }, - "webpackConfig": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/webpackConfig" - }, - "iconColor": { - "type": "string" - }, - "buildSchemes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.project/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "timestampBuildFiles": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/timestampBuildFiles" - }, - "devServerHost": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/devServerHost" - }, - "environment": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/environment" - }, - "hostedShellHeaders": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/hostedShellHeaders" - }, - "webpackConfig": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/webpackConfig" - }, - "iconColor": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/webos/properties/iconColor" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" - }, - "web": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.project/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "webpackConfig": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/webpackConfig" - }, - "pagesDir": { - "type": "string", - "description": "Custom pages directory used by nextjs. Use relative paths" - }, - "outputDir": { - "type": "string", - "description": "Custom output directory used by nextjs equivalent to \"npx next build\" with custom outputDir. Use relative paths" - }, - "exportDir": { - "type": "string", - "description": "Custom export directory used by nextjs equivalent to \"npx next export --outdir \". Use relative paths" - }, - "nextTranspileModules": { - "type": "array", - "items": { - "type": "string" - } - }, - "timestampBuildFiles": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/timestampBuildFiles" - }, - "devServerHost": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/devServerHost" - }, - "environment": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/environment" - }, - "hostedShellHeaders": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/hostedShellHeaders" - }, - "buildSchemes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.project/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "webpackConfig": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/webpackConfig" - }, - "pagesDir": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/web/properties/pagesDir" - }, - "outputDir": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/web/properties/outputDir" - }, - "exportDir": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/web/properties/exportDir" - }, - "nextTranspileModules": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/web/properties/nextTranspileModules" - }, - "timestampBuildFiles": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/timestampBuildFiles" - }, - "devServerHost": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/devServerHost" - }, - "environment": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/environment" - }, - "hostedShellHeaders": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/hostedShellHeaders" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" - }, - "webtv": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/web" - }, - "chromecast": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/web" - }, - "kaios": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/web" - }, - "macos": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.project/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "ignoreWarnings": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/ignoreWarnings" - }, - "ignoreLogs": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/ignoreLogs" - }, - "deploymentTarget": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/deploymentTarget" - }, - "orientationSupport": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/orientationSupport" - }, - "teamID": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/teamID" - }, - "excludedArchs": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/excludedArchs" - }, - "urlScheme": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/urlScheme" - }, - "teamIdentifier": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/teamIdentifier" - }, - "scheme": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/scheme" - }, - "schemeTarget": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/schemeTarget" - }, - "appleId": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/appleId" - }, - "provisioningStyle": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisioningStyle" - }, - "newArchEnabled": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/newArchEnabled" - }, - "codeSignIdentity": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/codeSignIdentity" - }, - "commandLineArguments": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/commandLineArguments" - }, - "provisionProfileSpecifier": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisionProfileSpecifier" - }, - "provisionProfileSpecifiers": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisionProfileSpecifiers" - }, - "allowProvisioningUpdates": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/allowProvisioningUpdates" - }, - "provisioningProfiles": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisioningProfiles" - }, - "codeSignIdentities": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/codeSignIdentities" - }, - "systemCapabilities": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/systemCapabilities" - }, - "entitlements": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/entitlements" - }, - "runScheme": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/runScheme" - }, - "sdk": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/sdk" - }, - "testFlightId": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/testFlightId" - }, - "firebaseId": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/firebaseId" - }, - "exportOptions": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/exportOptions" - }, - "reactNativeEngine": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/reactNativeEngine" - }, - "templateXcode": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode" - }, - "electronConfig": { - "description": "Allows you to configure electron app as per https://www.electron.build/" - }, - "BrowserWindow": { - "type": "object", - "properties": { - "width": { - "type": "number" - }, - "height": { - "type": "number" - }, - "webPreferences": { - "type": "object", - "properties": { - "devTools": { - "type": "boolean" - } - }, - "additionalProperties": false, - "description": "Extra web preferences of electron app" - } - }, - "additionalProperties": false, - "description": "Allows you to configure electron wrapper app window" - }, - "buildSchemes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.project/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "ignoreWarnings": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/ignoreWarnings" - }, - "ignoreLogs": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/ignoreLogs" - }, - "deploymentTarget": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/deploymentTarget" - }, - "orientationSupport": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/orientationSupport" - }, - "teamID": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/teamID" - }, - "excludedArchs": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/excludedArchs" - }, - "urlScheme": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/urlScheme" - }, - "teamIdentifier": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/teamIdentifier" - }, - "scheme": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/scheme" - }, - "schemeTarget": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/schemeTarget" - }, - "appleId": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/appleId" - }, - "provisioningStyle": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisioningStyle" - }, - "newArchEnabled": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/newArchEnabled" - }, - "codeSignIdentity": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/codeSignIdentity" - }, - "commandLineArguments": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/commandLineArguments" - }, - "provisionProfileSpecifier": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisionProfileSpecifier" - }, - "provisionProfileSpecifiers": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisionProfileSpecifiers" - }, - "allowProvisioningUpdates": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/allowProvisioningUpdates" - }, - "provisioningProfiles": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisioningProfiles" - }, - "codeSignIdentities": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/codeSignIdentities" - }, - "systemCapabilities": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/systemCapabilities" - }, - "entitlements": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/entitlements" - }, - "runScheme": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/runScheme" - }, - "sdk": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/sdk" - }, - "testFlightId": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/testFlightId" - }, - "firebaseId": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/firebaseId" - }, - "exportOptions": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/exportOptions" - }, - "reactNativeEngine": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/reactNativeEngine" - }, - "templateXcode": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode" - }, - "electronConfig": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/macos/properties/electronConfig" - }, - "BrowserWindow": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/macos/properties/BrowserWindow" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" - }, - "linux": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/web" - }, - "windows": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.project/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "electronConfig": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/macos/properties/electronConfig" - }, - "BrowserWindow": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/macos/properties/BrowserWindow" - }, - "reactNativeEngine": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/reactNativeEngine" - }, - "templateVSProject": { - "type": "object", - "properties": { - "language": { - "type": "string", - "description": "Specify generated project language: cpp for C++ or cs for C#" - }, - "arch": { - "type": "string", - "description": "Specification of targeted architecture" - }, - "experimentalNuGetDependency": { - "type": "boolean" - }, - "useWinUI3": { - "type": "boolean" - }, - "nuGetTestVersion": { - "type": "string" - }, - "reactNativeEngine": { - "type": "string" - }, - "nuGetTestFeed": { - "type": "string" - }, - "overwrite": { - "type": "boolean", - "description": "Whether to attempt to override the existing builds files when running a build once more" - }, - "release": { - "type": "boolean", - "description": "Enables full packaging of the app for release" - }, - "root": { - "type": "string", - "description": "Project root folder location (not the app itself, which is in platformBuilds)" - }, - "singleproc": { - "type": "boolean", - "description": "Opt out of multi-proc builds (only available in 0.64 and newer versions of react-native-windows)" - }, - "emulator": { - "type": "boolean" - }, - "device": { - "type": "boolean" - }, - "target": { - "type": "string" - }, - "remoteDebugging": { - "type": "boolean" - }, - "logging": { - "type": "boolean", - "description": "Logging all the build proccesses to console" - }, - "packager": { - "type": "boolean" - }, - "bundle": { - "type": "boolean" - }, - "launch": { - "type": "boolean", - "description": "Launches the application once the build process is finished" - }, - "autolink": { - "type": "boolean", - "description": "Launches the application once the build process is finished" - }, - "build": { - "type": "boolean", - "description": "Builds the application before launching it" - }, - "sln": { - "type": "string", - "description": "Location of Visual Studio solution .sln file (wraps multiple projects)" - }, - "proj": { - "type": "string", - "description": "Root project directory for your React Native Windows project (not Visual Studio project)" - }, - "appPath": { - "type": "string", - "description": "Full path to windows plaform build directory" - }, - "msbuildprops": { - "type": "string", - "description": "Comma separated props to pass to msbuild, eg: prop1=value1,prop2=value2" - }, - "buildLogDirectory": { - "type": "string", - "description": "Full path to directory where builds logs should be stored, default - project path" - }, - "info": { - "type": "boolean", - "description": "Print information about the build machine to console" - }, - "directDebugging": { - "type": "boolean" - }, - "telemetry": { - "type": "boolean", - "description": "Send analytics data of @react-native-windows/cli usage to Microsoft" - }, - "devPort": { - "type": "string" - }, - "additionalMetroOptions": { - "type": "object", - "additionalProperties": {} - }, - "packageExtension": { - "type": "string" - } - }, - "additionalProperties": false - }, - "buildSchemes": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "includedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" - }, - "excludedPermissions": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" - }, - "id": { - "$ref": "#/definitions/rnv.project/properties/common/properties/id" - }, - "idSuffix": { - "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" - }, - "version": { - "$ref": "#/definitions/rnv.project/properties/common/properties/version" - }, - "versionCode": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" - }, - "versionFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" - }, - "versionCodeFormat": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" - }, - "versionCodeOffset": { - "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" - }, - "title": { - "$ref": "#/definitions/rnv.project/properties/common/properties/title" - }, - "description": { - "$ref": "#/definitions/rnv.project/properties/common/properties/description" - }, - "author": { - "$ref": "#/definitions/rnv.project/properties/common/properties/author" - }, - "license": { - "$ref": "#/definitions/rnv.project/properties/common/properties/license" - }, - "includedFonts": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" - }, - "backgroundColor": { - "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" - }, - "splashScreen": { - "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" - }, - "fontSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" - }, - "assetSources": { - "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" - }, - "includedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" - }, - "excludedPlugins": { - "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" - }, - "runtime": { - "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" - }, - "custom": { - "$ref": "#/definitions/rnv.project/properties/common/properties/custom" - }, - "extendPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" - }, - "assetFolderPlatform": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" - }, - "engine": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" - }, - "entryFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" - }, - "bundleAssets": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" - }, - "enableSourceMaps": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" - }, - "bundleIsDev": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" - }, - "getJsBundleFile": { - "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" - }, - "electronConfig": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/macos/properties/electronConfig" - }, - "BrowserWindow": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/macos/properties/BrowserWindow" - }, - "reactNativeEngine": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/reactNativeEngine" - }, - "templateVSProject": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/windows/properties/templateVSProject" - } - }, - "additionalProperties": false - } - } - }, - "additionalProperties": false, - "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" - }, - "xbox": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/windows" - } - }, - "additionalProperties": false, - "description": "Object containing platform configurations" - }, - "plugins": { - "type": "object", - "additionalProperties": { - "anyOf": [ - { - "type": "object", - "properties": { - "disabled": { - "type": "boolean", - "default": false, - "description": "Marks plugin disabled" - }, - "props": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Custom props passed to plugin" - }, - "version": { - "type": "string", - "description": "Version of plugin. Typically package version" - }, - "deprecated": { - "type": "string", - "description": "Marks your plugin deprecated with warning showing in the console during rnv commands" - }, - "source": { - "type": "string", - "description": "Will define custom scope for your plugin config to extend from.\n\nNOTE: custom scopes can be defined via paths.pluginTemplates.[CUSTOM_SCOPE].{}" - }, - "disableNpm": { - "type": "boolean", - "description": "Will skip including plugin in package.json and installing it via npm/yarn etc" - }, - "skipMerge": { - "type": "boolean", - "description": "Will not attempt to merge with existing plugin configuration (ie. coming form renative pluginTemplates)\n\nNOTE: if set to `true` you need to configure your plugin object fully" - }, - "npm": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Object of npm dependencies of this plugin. These will be injected into package.json" - }, - "pluginDependencies": { - "type": "object", - "additionalProperties": { - "type": [ - "string", - "null" - ] - }, - "description": "List of other Renative plugins this plugin depends on" - }, - "webpackConfig": { - "type": "object", - "properties": { - "modulePaths": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - }, - "moduleAliases": { - "anyOf": [ - { - "type": "boolean" - }, - { + "android": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.project/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "enableAndroidX": { + "type": ["boolean", "string"], + "default": true, + "description": "Enables new android X architecture" + }, + "enableJetifier": { + "type": ["boolean", "string"], + "default": true, + "description": "Enables Jetifier" + }, + "signingConfig": { + "type": "string", + "default": "Debug", + "description": "Equivalent to running `./gradlew/assembleDebug` or `./gradlew/assembleRelease`" + }, + "minSdkVersion": { + "type": "number", + "default": 28, + "description": "Minimum Android SDK version device has to have in order for app to run" + }, + "multipleAPKs": { + "type": "boolean", + "description": "If set to `true`, apk will be split into multiple ones for each architecture: \"armeabi-v7a\", \"x86\", \"arm64-v8a\", \"x86_64\"" + }, + "aab": { + "type": "boolean", + "description": "If set to true, android project will generate app.aab instead of apk" + }, + "extraGradleParams": { + "type": "string", + "description": "Allows passing extra params to gradle command" + }, + "minifyEnabled": { + "type": "boolean", + "description": "Sets minifyEnabled buildType property in app/build.gradle" + }, + "targetSdkVersion": { + "type": "number", + "description": "Allows you define custom targetSdkVersion equivalent to: `targetSdkVersion = [VERSION]` in build.gradle" + }, + "compileSdkVersion": { + "type": "number", + "description": "Allows you define custom compileSdkVersion equivalent to: `compileSdkVersion = [VERSION]` in build.gradle" + }, + "kotlinVersion": { + "type": "string", + "default": "1.7.10", + "description": "Allows you define custom kotlin version" + }, + "ndkVersion": { + "type": "string", + "description": "Allows you define custom ndkVersion equivalent to: `ndkVersion = [VERSION]` in build.gradle" + }, + "supportLibVersion": { + "type": "string", + "description": "Allows you define custom supportLibVersion equivalent to: `supportLibVersion = [VERSION]` in build.gradle" + }, + "googleServicesVersion": { + "type": "string", + "description": "Allows you define custom googleServicesVersion equivalent to: `googleServicesVersion = [VERSION]` in build.gradle" + }, + "gradleBuildToolsVersion": { + "type": "string", + "description": "Allows you define custom gradle build tools version equivalent to: `classpath 'com.android.tools.build:gradle:[VERSION]'`" + }, + "gradleWrapperVersion": { + "type": "string", + "description": "Allows you define custom gradle wrapper version equivalent to: `distributionUrl=https\\://services.gradle.org/distributions/gradle-[VERSION]-all.zip`" + }, + "excludedFeatures": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Override features definitions in AndroidManifest.xml by exclusion" + }, + "includedFeatures": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Override features definitions in AndroidManifest.xml by inclusion" + }, + "buildToolsVersion": { + "type": "string", + "default": "30.0.0", + "description": "Override android build tools version" + }, + "disableSigning": { + "type": "boolean" + }, + "storeFile": { + "type": "string", + "description": "Name of the store file in android project" + }, + "keyAlias": { + "type": "string", + "description": "Key alias of the store file in android project" + }, + "newArchEnabled": { + "type": "boolean", + "description": "Enables new arch for android. Default: false" + }, + "reactNativeEngine": { + "type": "string", + "enum": [ + "jsc", + "v8-android", + "v8-android-nointl", + "v8-android-jit", + "v8-android-jit-nointl", + "hermes" + ], + "default": "hermes", + "description": "Allows you to define specific native render engine to be used" + }, + "templateAndroid": { + "type": "object", + "properties": { + "gradle_properties": { + "type": "object", + "additionalProperties": { + "type": ["string", "boolean", "number"] + }, + "description": "Overrides values in `gradle.properties` file of generated android based project" + }, + "build_gradle": { + "type": "object", + "properties": { + "allprojects": { + "type": "object", + "properties": { + "repositories": { + "type": "object", + "additionalProperties": { + "type": "boolean" + }, + "description": "Customize repositories section of build.gradle" + } + }, + "required": ["repositories"], + "additionalProperties": false + }, + "plugins": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildscript": { + "type": "object", + "properties": { + "repositories": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, + "dependencies": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + } + }, + "required": ["repositories", "dependencies"], + "additionalProperties": false + }, + "dexOptions": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, + "injectAfterAll": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "allprojects", + "plugins", + "buildscript", + "dexOptions", + "injectAfterAll" + ], + "additionalProperties": false, + "description": "Overrides values in `build.gradle` file of generated android based project" + }, + "app_build_gradle": { + "type": "object", + "properties": { + "apply": { + "type": "array", + "items": { + "type": "string" + } + }, + "defaultConfig": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildTypes": { + "type": "object", + "properties": { + "debug": { + "type": "array", + "items": { + "type": "string" + } + }, + "release": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "afterEvaluate": { + "type": "array", + "items": { + "type": "string" + } + }, + "implementations": { + "type": "array", + "items": { + "type": "string" + } + }, + "implementation": { + "type": "string" + } + }, + "required": ["apply", "defaultConfig"], + "additionalProperties": false, + "description": "Overrides values in `app/build.gradle` file of generated android based project" + }, + "AndroidManifest_xml": { + "type": "object", + "properties": { + "tag": { + "type": "string" + }, + "android:name": { + "type": "string" + }, + "android:required": { + "type": "boolean" + }, + "package": { + "type": "string" + }, + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tag": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/tag" + }, + "android:name": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:name" + }, + "android:required": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/android:required" + }, + "children": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml/properties/children/items" + } + } + }, + "required": ["tag", "android:name", "children"], + "additionalProperties": false + } + } + }, + "required": ["tag", "android:name", "children"], + "additionalProperties": false, + "description": "Allows you to directly manipulate `AndroidManifest.xml` via json override mechanism\nInjects / Overrides values in AndroidManifest.xml file of generated android based project\n> IMPORTANT: always ensure that your object contains `tag` and `android:name` to target correct tag to merge into\n " + }, + "strings_xml": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "MainActivity_java": { + "type": "object", + "properties": { + "onCreate": { + "type": "string", + "default": "super.onCreate(savedInstanceState)", + "description": "Overrides super.onCreate method handler of MainActivity.java" + }, + "imports": { + "type": "array", + "items": { + "type": "string" + } + }, + "methods": { + "type": "array", + "items": { + "type": "string" + } + }, + "createMethods": { + "type": "array", + "items": { + "type": "string" + } + }, + "resultMethods": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "MainApplication_java": { + "type": "object", + "properties": { + "imports": { + "type": "array", + "items": { + "type": "string" + } + }, + "methods": { + "type": "array", + "items": { + "type": "string" + } + }, + "createMethods": { + "type": "array", + "items": { + "type": "string" + } + }, + "packages": { + "type": "array", + "items": { + "type": "string" + } + }, + "packageParams": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "description": "Allows you to configure behaviour of MainActivity" + }, + "settings_gradle": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "gradle_wrapper_properties": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "SplashActivity_java": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "styles_xml": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "colors_xml": { + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "proguard_rules_pro": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.project/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "enableAndroidX": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/enableAndroidX" + }, + "enableJetifier": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/enableJetifier" + }, + "signingConfig": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/signingConfig" + }, + "minSdkVersion": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/minSdkVersion" + }, + "multipleAPKs": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/multipleAPKs" + }, + "aab": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/aab" + }, + "extraGradleParams": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/extraGradleParams" + }, + "minifyEnabled": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/minifyEnabled" + }, + "targetSdkVersion": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/targetSdkVersion" + }, + "compileSdkVersion": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/compileSdkVersion" + }, + "kotlinVersion": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/kotlinVersion" + }, + "ndkVersion": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/ndkVersion" + }, + "supportLibVersion": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/supportLibVersion" + }, + "googleServicesVersion": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/googleServicesVersion" + }, + "gradleBuildToolsVersion": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/gradleBuildToolsVersion" + }, + "gradleWrapperVersion": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/gradleWrapperVersion" + }, + "excludedFeatures": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/excludedFeatures" + }, + "includedFeatures": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/includedFeatures" + }, + "buildToolsVersion": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/buildToolsVersion" + }, + "disableSigning": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/disableSigning" + }, + "storeFile": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/storeFile" + }, + "keyAlias": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/keyAlias" + }, + "newArchEnabled": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/newArchEnabled" + }, + "reactNativeEngine": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/reactNativeEngine" + }, + "templateAndroid": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false, + "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" + }, + "androidtv": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android" + }, + "androidwear": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android" + }, + "firetv": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android" + }, + "ios": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.project/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "ignoreWarnings": { + "type": "boolean", + "description": "Injects `inhibit_all_warnings` into Podfile" + }, + "ignoreLogs": { + "type": "boolean", + "description": "Passes `-quiet` to xcodebuild command" + }, + "deploymentTarget": { + "type": "string", + "description": "Deployment target for xcodepoj" + }, + "orientationSupport": { + "type": "object", + "properties": { + "phone": { + "type": "array", + "items": { + "type": "string" + } + }, + "tab": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "teamID": { + "type": "string", + "description": "Apple teamID" + }, + "excludedArchs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Defines excluded architectures. This transforms to xcodeproj: `EXCLUDED_ARCHS=\"\"`" + }, + "urlScheme": { + "type": "string", + "description": "URL Scheme for the app used for deeplinking" + }, + "teamIdentifier": { + "type": "string", + "description": "Apple developer team ID" + }, + "scheme": { + "type": "string" + }, + "schemeTarget": { + "type": "string" + }, + "appleId": { + "type": "string" + }, + "provisioningStyle": { + "type": "string" + }, + "newArchEnabled": { + "type": "boolean", + "description": "Enables new archs for iOS. Default: false" + }, + "codeSignIdentity": { + "type": "string", + "description": "Special property which tells Xcode how to build your project" + }, + "commandLineArguments": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allows you to pass launch arguments to active scheme" + }, + "provisionProfileSpecifier": { + "type": "string" + }, + "provisionProfileSpecifiers": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "allowProvisioningUpdates": { + "type": "boolean" + }, + "provisioningProfiles": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "codeSignIdentities": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "systemCapabilities": { + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, + "entitlements": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "runScheme": { + "type": "string" + }, + "sdk": { + "type": "string" + }, + "testFlightId": { + "type": "string" + }, + "firebaseId": { + "type": "string" + }, + "exportOptions": { + "type": "object", + "properties": { + "method": { + "type": "string" + }, + "teamID": { + "type": "string" + }, + "uploadBitcode": { + "type": "boolean" + }, + "compileBitcode": { + "type": "boolean" + }, + "uploadSymbols": { + "type": "boolean" + }, + "signingStyle": { + "type": "string" + }, + "signingCertificate": { + "type": "string" + }, + "provisioningProfiles": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "reactNativeEngine": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/reactNativeEngine" + }, + "templateXcode": { + "type": "object", + "properties": { + "Podfile": { + "type": "object", + "properties": { + "injectLines": { + "type": "array", + "items": { + "type": "string" + } + }, + "post_install": { + "type": "array", + "items": { + "type": "string" + } + }, + "sources": { + "type": "array", + "items": { + "type": "string" + } + }, + "podDependencies": { + "type": "array", + "items": { + "type": "string" + } + }, + "staticPods": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "description": "Allows to manipulate Podfile" + }, + "project_pbxproj": { + "type": "object", + "properties": { + "sourceFiles": { + "type": "array", + "items": { + "type": "string" + } + }, + "resourceFiles": { + "type": "array", + "items": { + "type": "string" + } + }, + "headerFiles": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildPhases": { + "type": "array", + "items": { + "type": "object", + "properties": { + "shellPath": { + "type": "string" + }, + "shellScript": { + "type": "string" + }, + "inputPaths": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["shellPath", "shellScript", "inputPaths"], + "additionalProperties": false + } + }, + "frameworks": { + "type": "array", + "items": { + "type": "string" + } + }, + "buildSettings": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "AppDelegate_mm": { + "type": "object", + "properties": { + "appDelegateMethods": { + "type": "object", + "properties": { + "application": { + "type": "object", + "properties": { + "didFinishLaunchingWithOptions": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "order": { + "type": "number" + }, + "value": { + "type": "string" + }, + "weight": { + "type": "number" + } + }, + "required": [ + "order", + "value", + "weight" + ], + "additionalProperties": false + } + ] + } + }, + "applicationDidBecomeActive": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "open": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "supportedInterfaceOrientationsFor": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didReceiveRemoteNotification": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didFailToRegisterForRemoteNotificationsWithError": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didReceive": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didRegister": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didRegisterForRemoteNotificationsWithDeviceToken": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "continue": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didConnectCarInterfaceController": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + }, + "didDisconnectCarInterfaceController": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + } + }, + "required": [ + "didFinishLaunchingWithOptions", + "applicationDidBecomeActive", + "open", + "supportedInterfaceOrientationsFor", + "didReceiveRemoteNotification", + "didFailToRegisterForRemoteNotificationsWithError", + "didReceive", + "didRegister", + "didRegisterForRemoteNotificationsWithDeviceToken", + "continue", + "didConnectCarInterfaceController", + "didDisconnectCarInterfaceController" + ], + "additionalProperties": false + }, + "userNotificationCenter": { + "type": "object", + "properties": { + "willPresent": { + "type": "array", + "items": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm/properties/appDelegateMethods/properties/application/properties/didFinishLaunchingWithOptions/items" + } + } + }, + "required": ["willPresent"], + "additionalProperties": false + } + }, + "required": ["application", "userNotificationCenter"], + "additionalProperties": false + }, + "appDelegateImports": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "AppDelegate_h": { + "type": "object", + "properties": { + "appDelegateImports": { + "type": "array", + "items": { + "type": "string" + } + }, + "appDelegateExtensions": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "Info_plist": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.project/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "ignoreWarnings": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/ignoreWarnings" + }, + "ignoreLogs": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/ignoreLogs" + }, + "deploymentTarget": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/deploymentTarget" + }, + "orientationSupport": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/orientationSupport" + }, + "teamID": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/teamID" + }, + "excludedArchs": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/excludedArchs" + }, + "urlScheme": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/urlScheme" + }, + "teamIdentifier": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/teamIdentifier" + }, + "scheme": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/scheme" + }, + "schemeTarget": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/schemeTarget" + }, + "appleId": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/appleId" + }, + "provisioningStyle": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisioningStyle" + }, + "newArchEnabled": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/newArchEnabled" + }, + "codeSignIdentity": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/codeSignIdentity" + }, + "commandLineArguments": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/commandLineArguments" + }, + "provisionProfileSpecifier": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisionProfileSpecifier" + }, + "provisionProfileSpecifiers": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisionProfileSpecifiers" + }, + "allowProvisioningUpdates": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/allowProvisioningUpdates" + }, + "provisioningProfiles": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisioningProfiles" + }, + "codeSignIdentities": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/codeSignIdentities" + }, + "systemCapabilities": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/systemCapabilities" + }, + "entitlements": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/entitlements" + }, + "runScheme": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/runScheme" + }, + "sdk": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/sdk" + }, + "testFlightId": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/testFlightId" + }, + "firebaseId": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/firebaseId" + }, + "exportOptions": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/exportOptions" + }, + "reactNativeEngine": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/reactNativeEngine" + }, + "templateXcode": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false, + "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" + }, + "tvos": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios" + }, + "tizen": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.project/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "package": { + "type": "string" + }, + "certificateProfile": { + "type": "string" + }, + "appName": { + "type": "string" + }, + "timestampBuildFiles": { + "type": "array", + "items": { + "type": "string" + } + }, + "devServerHost": { + "type": "string" + }, + "environment": { + "type": "string" + }, + "hostedShellHeaders": { + "type": "string" + }, + "webpackConfig": { + "type": "object", + "properties": { + "publicUrl": { + "type": "string" + }, + "customScripts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allows you to inject custom script into html header" + } + }, + "additionalProperties": false + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.project/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "package": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/package" + }, + "certificateProfile": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/certificateProfile" + }, + "appName": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/appName" + }, + "timestampBuildFiles": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/timestampBuildFiles" + }, + "devServerHost": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/devServerHost" + }, + "environment": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/environment" + }, + "hostedShellHeaders": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/hostedShellHeaders" + }, + "webpackConfig": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/webpackConfig" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false, + "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" + }, + "tizenmobile": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen" + }, + "tizenwatch": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen" + }, + "webos": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.project/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "timestampBuildFiles": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/timestampBuildFiles" + }, + "devServerHost": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/devServerHost" + }, + "environment": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/environment" + }, + "hostedShellHeaders": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/hostedShellHeaders" + }, + "webpackConfig": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/webpackConfig" + }, + "iconColor": { + "type": "string" + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.project/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "timestampBuildFiles": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/timestampBuildFiles" + }, + "devServerHost": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/devServerHost" + }, + "environment": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/environment" + }, + "hostedShellHeaders": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/hostedShellHeaders" + }, + "webpackConfig": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/webpackConfig" + }, + "iconColor": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/webos/properties/iconColor" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false, + "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" + }, + "web": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.project/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "webpackConfig": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/webpackConfig" + }, + "pagesDir": { + "type": "string", + "description": "Custom pages directory used by nextjs. Use relative paths" + }, + "outputDir": { + "type": "string", + "description": "Custom output directory used by nextjs equivalent to \"npx next build\" with custom outputDir. Use relative paths" + }, + "exportDir": { + "type": "string", + "description": "Custom export directory used by nextjs equivalent to \"npx next export --outdir \". Use relative paths" + }, + "nextTranspileModules": { + "type": "array", + "items": { + "type": "string" + } + }, + "timestampBuildFiles": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/timestampBuildFiles" + }, + "devServerHost": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/devServerHost" + }, + "environment": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/environment" + }, + "hostedShellHeaders": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/hostedShellHeaders" + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.project/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "webpackConfig": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/webpackConfig" + }, + "pagesDir": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/web/properties/pagesDir" + }, + "outputDir": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/web/properties/outputDir" + }, + "exportDir": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/web/properties/exportDir" + }, + "nextTranspileModules": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/web/properties/nextTranspileModules" + }, + "timestampBuildFiles": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/timestampBuildFiles" + }, + "devServerHost": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/devServerHost" + }, + "environment": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/environment" + }, + "hostedShellHeaders": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/tizen/properties/hostedShellHeaders" + } + }, + "additionalProperties": false + } + } + }, + "additionalProperties": false, + "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" + }, + "webtv": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/web" + }, + "chromecast": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/web" + }, + "kaios": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/web" + }, + "macos": { "type": "object", - "additionalProperties": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "projectPath": { - "type": "string" + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.project/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "ignoreWarnings": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/ignoreWarnings" + }, + "ignoreLogs": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/ignoreLogs" + }, + "deploymentTarget": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/deploymentTarget" + }, + "orientationSupport": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/orientationSupport" + }, + "teamID": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/teamID" + }, + "excludedArchs": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/excludedArchs" + }, + "urlScheme": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/urlScheme" + }, + "teamIdentifier": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/teamIdentifier" + }, + "scheme": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/scheme" + }, + "schemeTarget": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/schemeTarget" + }, + "appleId": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/appleId" + }, + "provisioningStyle": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisioningStyle" + }, + "newArchEnabled": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/newArchEnabled" + }, + "codeSignIdentity": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/codeSignIdentity" + }, + "commandLineArguments": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/commandLineArguments" + }, + "provisionProfileSpecifier": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisionProfileSpecifier" + }, + "provisionProfileSpecifiers": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisionProfileSpecifiers" + }, + "allowProvisioningUpdates": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/allowProvisioningUpdates" + }, + "provisioningProfiles": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisioningProfiles" + }, + "codeSignIdentities": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/codeSignIdentities" + }, + "systemCapabilities": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/systemCapabilities" + }, + "entitlements": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/entitlements" + }, + "runScheme": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/runScheme" + }, + "sdk": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/sdk" + }, + "testFlightId": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/testFlightId" + }, + "firebaseId": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/firebaseId" + }, + "exportOptions": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/exportOptions" + }, + "reactNativeEngine": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/reactNativeEngine" + }, + "templateXcode": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode" + }, + "electronConfig": { + "description": "Allows you to configure electron app as per https://www.electron.build/" + }, + "BrowserWindow": { + "type": "object", + "properties": { + "width": { + "type": "number" + }, + "height": { + "type": "number" + }, + "webPreferences": { + "type": "object", + "properties": { + "devTools": { + "type": "boolean" + } + }, + "additionalProperties": false, + "description": "Extra web preferences of electron app" + } + }, + "additionalProperties": false, + "description": "Allows you to configure electron wrapper app window" + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.project/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "ignoreWarnings": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/ignoreWarnings" + }, + "ignoreLogs": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/ignoreLogs" + }, + "deploymentTarget": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/deploymentTarget" + }, + "orientationSupport": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/orientationSupport" + }, + "teamID": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/teamID" + }, + "excludedArchs": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/excludedArchs" + }, + "urlScheme": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/urlScheme" + }, + "teamIdentifier": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/teamIdentifier" + }, + "scheme": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/scheme" + }, + "schemeTarget": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/schemeTarget" + }, + "appleId": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/appleId" + }, + "provisioningStyle": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisioningStyle" + }, + "newArchEnabled": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/newArchEnabled" + }, + "codeSignIdentity": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/codeSignIdentity" + }, + "commandLineArguments": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/commandLineArguments" + }, + "provisionProfileSpecifier": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisionProfileSpecifier" + }, + "provisionProfileSpecifiers": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisionProfileSpecifiers" + }, + "allowProvisioningUpdates": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/allowProvisioningUpdates" + }, + "provisioningProfiles": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/provisioningProfiles" + }, + "codeSignIdentities": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/codeSignIdentities" + }, + "systemCapabilities": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/systemCapabilities" + }, + "entitlements": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/entitlements" + }, + "runScheme": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/runScheme" + }, + "sdk": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/sdk" + }, + "testFlightId": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/testFlightId" + }, + "firebaseId": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/firebaseId" + }, + "exportOptions": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/exportOptions" + }, + "reactNativeEngine": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/reactNativeEngine" + }, + "templateXcode": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode" + }, + "electronConfig": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/macos/properties/electronConfig" + }, + "BrowserWindow": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/macos/properties/BrowserWindow" + } + }, + "additionalProperties": false } - }, - "required": [ - "projectPath" - ], - "additionalProperties": false } - ] - } - } - ] - }, - "nextTranspileModules": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "additionalProperties": false, - "description": "Allows you to configure webpack bahaviour per each individual plugin" - }, - "disablePluginTemplateOverrides": { - "type": "boolean", - "description": "Disables plugin overrides for selected plugin" - }, - "fontSources": { - "type": "array", - "items": { - "type": "string" - } - }, - "android": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean", - "default": true, - "description": "Marks plugin platform enabled or disabled" - }, - "disabled": { - "type": "boolean", - "default": false, - "description": "Marks plugin platform disabled" - }, - "path": { - "type": "string", - "description": "Enables you to pass custom path to plugin. If undefined, the default `node_modules/[plugin-name]` will be used." - }, - "projectName": { - "type": "string" - }, - "skipLinking": { - "type": "boolean" - }, - "skipImplementation": { - "type": "boolean" - }, - "implementation": { - "type": "string" - }, - "package": { - "type": "string" - }, - "templateAndroid": { - "type": "object", - "properties": { - "gradle_properties": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/gradle_properties" - }, - "build_gradle": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/build_gradle" - }, - "app_build_gradle": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/app_build_gradle" - }, - "AndroidManifest_xml": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml" - }, - "strings_xml": { + }, + "additionalProperties": false, + "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" + }, + "linux": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/web" + }, + "windows": { "type": "object", "properties": { - "children": { - "type": "array", - "items": { - "type": "object", - "properties": { - "tag": { - "type": "string" - }, - "name": { - "type": "string" - }, - "child_value": { - "type": "string" + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.project/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "electronConfig": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/macos/properties/electronConfig" + }, + "BrowserWindow": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/macos/properties/BrowserWindow" + }, + "reactNativeEngine": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/reactNativeEngine" + }, + "templateVSProject": { + "type": "object", + "properties": { + "language": { + "type": "string", + "description": "Specify generated project language: cpp for C++ or cs for C#" + }, + "arch": { + "type": "string", + "description": "Specification of targeted architecture" + }, + "experimentalNuGetDependency": { + "type": "boolean" + }, + "useWinUI3": { + "type": "boolean" + }, + "nuGetTestVersion": { + "type": "string" + }, + "reactNativeEngine": { + "type": "string" + }, + "nuGetTestFeed": { + "type": "string" + }, + "overwrite": { + "type": "boolean", + "description": "Whether to attempt to override the existing builds files when running a build once more" + }, + "release": { + "type": "boolean", + "description": "Enables full packaging of the app for release" + }, + "root": { + "type": "string", + "description": "Project root folder location (not the app itself, which is in platformBuilds)" + }, + "singleproc": { + "type": "boolean", + "description": "Opt out of multi-proc builds (only available in 0.64 and newer versions of react-native-windows)" + }, + "emulator": { + "type": "boolean" + }, + "device": { + "type": "boolean" + }, + "target": { + "type": "string" + }, + "remoteDebugging": { + "type": "boolean" + }, + "logging": { + "type": "boolean", + "description": "Logging all the build proccesses to console" + }, + "packager": { + "type": "boolean" + }, + "bundle": { + "type": "boolean" + }, + "launch": { + "type": "boolean", + "description": "Launches the application once the build process is finished" + }, + "autolink": { + "type": "boolean", + "description": "Launches the application once the build process is finished" + }, + "build": { + "type": "boolean", + "description": "Builds the application before launching it" + }, + "sln": { + "type": "string", + "description": "Location of Visual Studio solution .sln file (wraps multiple projects)" + }, + "proj": { + "type": "string", + "description": "Root project directory for your React Native Windows project (not Visual Studio project)" + }, + "appPath": { + "type": "string", + "description": "Full path to windows plaform build directory" + }, + "msbuildprops": { + "type": "string", + "description": "Comma separated props to pass to msbuild, eg: prop1=value1,prop2=value2" + }, + "buildLogDirectory": { + "type": "string", + "description": "Full path to directory where builds logs should be stored, default - project path" + }, + "info": { + "type": "boolean", + "description": "Print information about the build machine to console" + }, + "directDebugging": { + "type": "boolean" + }, + "telemetry": { + "type": "boolean", + "description": "Send analytics data of @react-native-windows/cli usage to Microsoft" + }, + "devPort": { + "type": "string" + }, + "additionalMetroOptions": { + "type": "object", + "additionalProperties": {} + }, + "packageExtension": { + "type": "string" + } + }, + "additionalProperties": false + }, + "buildSchemes": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "includedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPermissions" + }, + "excludedPermissions": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPermissions" + }, + "id": { + "$ref": "#/definitions/rnv.project/properties/common/properties/id" + }, + "idSuffix": { + "$ref": "#/definitions/rnv.project/properties/common/properties/idSuffix" + }, + "version": { + "$ref": "#/definitions/rnv.project/properties/common/properties/version" + }, + "versionCode": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCode" + }, + "versionFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionFormat" + }, + "versionCodeFormat": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeFormat" + }, + "versionCodeOffset": { + "$ref": "#/definitions/rnv.project/properties/common/properties/versionCodeOffset" + }, + "title": { + "$ref": "#/definitions/rnv.project/properties/common/properties/title" + }, + "description": { + "$ref": "#/definitions/rnv.project/properties/common/properties/description" + }, + "author": { + "$ref": "#/definitions/rnv.project/properties/common/properties/author" + }, + "license": { + "$ref": "#/definitions/rnv.project/properties/common/properties/license" + }, + "includedFonts": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedFonts" + }, + "backgroundColor": { + "$ref": "#/definitions/rnv.project/properties/common/properties/backgroundColor" + }, + "splashScreen": { + "$ref": "#/definitions/rnv.project/properties/common/properties/splashScreen" + }, + "fontSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/fontSources" + }, + "assetSources": { + "$ref": "#/definitions/rnv.project/properties/common/properties/assetSources" + }, + "includedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/includedPlugins" + }, + "excludedPlugins": { + "$ref": "#/definitions/rnv.project/properties/common/properties/excludedPlugins" + }, + "runtime": { + "$ref": "#/definitions/rnv.project/properties/common/properties/runtime" + }, + "custom": { + "$ref": "#/definitions/rnv.project/properties/common/properties/custom" + }, + "extendPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/extendPlatform" + }, + "assetFolderPlatform": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/assetFolderPlatform" + }, + "engine": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/engine" + }, + "entryFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/entryFile" + }, + "bundleAssets": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleAssets" + }, + "enableSourceMaps": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/enableSourceMaps" + }, + "bundleIsDev": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/bundleIsDev" + }, + "getJsBundleFile": { + "$ref": "#/definitions/rnv.project/properties/common/properties/buildSchemes/additionalProperties/properties/getJsBundleFile" + }, + "electronConfig": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/macos/properties/electronConfig" + }, + "BrowserWindow": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/macos/properties/BrowserWindow" + }, + "reactNativeEngine": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/reactNativeEngine" + }, + "templateVSProject": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/windows/properties/templateVSProject" + } + }, + "additionalProperties": false } - }, - "required": [ - "tag", - "name", - "child_value" - ], - "additionalProperties": false } - } }, - "additionalProperties": false - }, - "MainActivity_java": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/MainActivity_java" - }, - "MainApplication_java": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/MainApplication_java" - } + "additionalProperties": false, + "description": "Allows to customize platforms configurations based on chosen build scheme `-s`" }, - "additionalProperties": false - } - }, - "additionalProperties": false - }, - "androidtv": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android" - }, - "androidwear": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android" - }, - "firetv": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android" - }, - "ios": { - "type": "object", - "properties": { - "enabled": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/enabled" - }, - "disabled": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/disabled" - }, - "path": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/path" - }, - "git": { - "type": "string", - "description": "Alternative git url for pod instead of version" - }, - "commit": { - "type": "string", - "description": "Alternative git commit reference string" - }, - "version": { - "type": "string", - "description": "Version of pod" - }, - "podNames": { - "type": "array", - "items": { - "type": "string" - } - }, - "podName": { - "type": "string" - }, - "staticFrameworks": { - "type": "array", - "items": { - "type": "string" + "xbox": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/windows" } - }, - "templateXcode": { - "type": "object", - "properties": { - "Podfile": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/Podfile" - }, - "project_pbxproj": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/project_pbxproj" - }, - "AppDelegate_mm": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm" - }, - "Info_plist": { - "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/Info_plist" - } - }, - "additionalProperties": false - }, - "isStatic": { - "type": "boolean" - } }, - "additionalProperties": false - }, - "tvos": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/ios" - }, - "tizen": { + "additionalProperties": false, + "description": "Object containing platform configurations" + }, + "plugins": { "type": "object", - "properties": { - "enabled": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/enabled" - }, - "disabled": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/disabled" - }, - "path": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/path" - } + "additionalProperties": { + "anyOf": [ + { + "type": "object", + "properties": { + "disabled": { + "type": "boolean", + "default": false, + "description": "Marks plugin disabled" + }, + "props": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Custom props passed to plugin" + }, + "version": { + "type": "string", + "description": "Version of plugin. Typically package version" + }, + "deprecated": { + "type": "string", + "description": "Marks your plugin deprecated with warning showing in the console during rnv commands" + }, + "source": { + "type": "string", + "description": "Will define custom scope for your plugin config to extend from.\n\nNOTE: custom scopes can be defined via paths.pluginTemplates.[CUSTOM_SCOPE].{}" + }, + "disableNpm": { + "type": "boolean", + "description": "Will skip including plugin in package.json and installing it via npm/yarn etc" + }, + "skipMerge": { + "type": "boolean", + "description": "Will not attempt to merge with existing plugin configuration (ie. coming form renative pluginTemplates)\n\nNOTE: if set to `true` you need to configure your plugin object fully" + }, + "npm": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Object of npm dependencies of this plugin. These will be injected into package.json" + }, + "pluginDependencies": { + "type": "object", + "additionalProperties": { + "type": ["string", "null"] + }, + "description": "List of other Renative plugins this plugin depends on" + }, + "webpackConfig": { + "type": "object", + "properties": { + "modulePaths": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "moduleAliases": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "properties": { + "projectPath": { + "type": "string" + } + }, + "required": ["projectPath"], + "additionalProperties": false + } + ] + } + } + ] + }, + "nextTranspileModules": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "description": "Allows you to configure webpack bahaviour per each individual plugin" + }, + "disablePluginTemplateOverrides": { + "type": "boolean", + "description": "Disables plugin overrides for selected plugin" + }, + "fontSources": { + "type": "array", + "items": { + "type": "string" + } + }, + "android": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Marks plugin platform enabled or disabled" + }, + "disabled": { + "type": "boolean", + "default": false, + "description": "Marks plugin platform disabled" + }, + "path": { + "type": "string", + "description": "Enables you to pass custom path to plugin. If undefined, the default `node_modules/[plugin-name]` will be used." + }, + "projectName": { + "type": "string" + }, + "skipLinking": { + "type": "boolean" + }, + "skipImplementation": { + "type": "boolean" + }, + "implementation": { + "type": "string" + }, + "package": { + "type": "string" + }, + "templateAndroid": { + "type": "object", + "properties": { + "gradle_properties": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/gradle_properties" + }, + "build_gradle": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/build_gradle" + }, + "app_build_gradle": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/app_build_gradle" + }, + "AndroidManifest_xml": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/AndroidManifest_xml" + }, + "strings_xml": { + "type": "object", + "properties": { + "children": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tag": { + "type": "string" + }, + "name": { + "type": "string" + }, + "child_value": { + "type": "string" + } + }, + "required": ["tag", "name", "child_value"], + "additionalProperties": false + } + } + }, + "additionalProperties": false + }, + "MainActivity_java": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/MainActivity_java" + }, + "MainApplication_java": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/android/properties/templateAndroid/properties/MainApplication_java" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "androidtv": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android" + }, + "androidwear": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android" + }, + "firetv": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android" + }, + "ios": { + "type": "object", + "properties": { + "enabled": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/enabled" + }, + "disabled": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/disabled" + }, + "path": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/path" + }, + "git": { + "type": "string", + "description": "Alternative git url for pod instead of version" + }, + "commit": { + "type": "string", + "description": "Alternative git commit reference string" + }, + "version": { + "type": "string", + "description": "Version of pod" + }, + "podNames": { + "type": "array", + "items": { + "type": "string" + } + }, + "podName": { + "type": "string" + }, + "staticFrameworks": { + "type": "array", + "items": { + "type": "string" + } + }, + "templateXcode": { + "type": "object", + "properties": { + "Podfile": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/Podfile" + }, + "project_pbxproj": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/project_pbxproj" + }, + "AppDelegate_mm": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_mm" + }, + "AppDelegate_h": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/AppDelegate_h" + }, + "Info_plist": { + "$ref": "#/definitions/rnv.project/properties/platforms/properties/ios/properties/templateXcode/properties/Info_plist" + } + }, + "additionalProperties": false + }, + "isStatic": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + "tvos": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/ios" + }, + "tizen": { + "type": "object", + "properties": { + "enabled": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/enabled" + }, + "disabled": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/disabled" + }, + "path": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/android/properties/path" + } + }, + "additionalProperties": false + }, + "tizenmobile": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "tizenwatch": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "webos": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "web": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "webtv": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "chromecast": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "kaios": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "macos": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "linux": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "windows": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + }, + "xbox": { + "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" + } + }, + "additionalProperties": false + }, + { + "type": "string" + } + ] }, - "additionalProperties": false - }, - "tizenmobile": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "tizenwatch": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "webos": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "web": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "webtv": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "chromecast": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "kaios": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "macos": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "linux": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "windows": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - }, - "xbox": { - "$ref": "#/definitions/rnv.project/properties/plugins/additionalProperties/anyOf/0/properties/tizen" - } + "description": "Define all plugins available in your project. you can then use `includedPlugins` and `excludedPlugins` props to define active and inactive plugins per each app config" }, - "additionalProperties": false - }, - { - "type": "string" - } - ] - }, - "description": "Define all plugins available in your project. you can then use `includedPlugins` and `excludedPlugins` props to define active and inactive plugins per each app config" - }, - "$schema": { - "type": "string", - "description": "schema definition" + "$schema": { + "type": "string", + "description": "schema definition" + } + }, + "required": ["workspaceID", "projectVersion", "projectName", "templates", "currentTemplate"], + "additionalProperties": false } - }, - "required": [ - "workspaceID", - "projectVersion", - "projectName", - "templates", - "currentTemplate" - ], - "additionalProperties": false - } - }, - "$schema": "http://json-schema.org/draft-04/schema#" -} \ No newline at end of file + }, + "$schema": "http://json-schema.org/draft-04/schema#" +} diff --git a/packages/core/src/schema/platforms/fragments/templateXcodeBase.ts b/packages/core/src/schema/platforms/fragments/templateXcodeBase.ts index 7baed2e677..0031740914 100644 --- a/packages/core/src/schema/platforms/fragments/templateXcodeBase.ts +++ b/packages/core/src/schema/platforms/fragments/templateXcodeBase.ts @@ -59,6 +59,9 @@ const AppDelegateMm = z.object({ }) ), appDelegateImports: z.optional(z.array(z.string())), +}); +const AppDelegateH = z.object({ + appDelegateImports: z.optional(z.array(z.string())), appDelegateExtensions: z.optional(z.array(z.string())), }); @@ -68,6 +71,7 @@ export const TemplateXcodeBaseFragment = { Podfile: z.optional(Podfile), project_pbxproj: z.optional(XcodeProj), AppDelegate_mm: z.optional(AppDelegateMm), + AppDelegate_h: z.optional(AppDelegateH), Info_plist: z.optional(InfoPlist), }; // .describe('Allows more advanced modifications to Xcode based project template'); diff --git a/packages/core/src/system/exec.ts b/packages/core/src/system/exec.ts index c6c3c49e79..ec0d485c4e 100755 --- a/packages/core/src/system/exec.ts +++ b/packages/core/src/system/exec.ts @@ -92,10 +92,13 @@ const _execute = (c: RnvContext, command: string | Array, opts: ExecOpti const privateMask = '*******'; const cleanRawCmd = opts.rawCommand?.args || []; - cleanCommand += cleanRawCmd.join(' '); + if (cleanRawCmd.length) { + cleanCommand += ` ${cleanRawCmd.join(' ')}`; + } + let logMessage = cleanCommand; const privateParams = mergedOpts.privateParams || []; - if (privateParams && Array.isArray(privateParams)) { + if (privateParams?.length) { logMessage = replaceOverridesInString(commandAsString, privateParams, privateMask); } diff --git a/packages/engine-rn-tvos/templates/platforms/androidtv/app/src/main/java/rnv_template/MainActivity.java.tpl b/packages/engine-rn-tvos/templates/platforms/androidtv/app/src/main/java/rnv_template/MainActivity.java.tpl index 2fdae08c2f..7f494686e5 100644 --- a/packages/engine-rn-tvos/templates/platforms/androidtv/app/src/main/java/rnv_template/MainActivity.java.tpl +++ b/packages/engine-rn-tvos/templates/platforms/androidtv/app/src/main/java/rnv_template/MainActivity.java.tpl @@ -5,8 +5,16 @@ import com.facebook.react.ReactActivityDelegate; import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; import com.facebook.react.defaults.DefaultReactActivityDelegate; +{{PLUGIN_ACTIVITY_IMPORTS}} + public class MainActivity extends ReactActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + {{PLUGIN_ON_CREATE}}; + {{INJECT_ON_CREATE}}; + } + /** * Returns the name of the main component registered from JavaScript. This is used to schedule * rendering of the component. diff --git a/packages/engine-rn-tvos/templates/platforms/firetv/app/src/main/java/rnv_template/MainActivity.java.tpl b/packages/engine-rn-tvos/templates/platforms/firetv/app/src/main/java/rnv_template/MainActivity.java.tpl index 2fdae08c2f..7f494686e5 100644 --- a/packages/engine-rn-tvos/templates/platforms/firetv/app/src/main/java/rnv_template/MainActivity.java.tpl +++ b/packages/engine-rn-tvos/templates/platforms/firetv/app/src/main/java/rnv_template/MainActivity.java.tpl @@ -5,8 +5,16 @@ import com.facebook.react.ReactActivityDelegate; import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; import com.facebook.react.defaults.DefaultReactActivityDelegate; +{{PLUGIN_ACTIVITY_IMPORTS}} + public class MainActivity extends ReactActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + {{PLUGIN_ON_CREATE}}; + {{INJECT_ON_CREATE}}; + } + /** * Returns the name of the main component registered from JavaScript. This is used to schedule * rendering of the component. diff --git a/packages/engine-rn-tvos/templates/platforms/tvos/RNVApp/AppDelegate.h b/packages/engine-rn-tvos/templates/platforms/tvos/RNVApp/AppDelegate.h index 5d2808256c..17e115ed43 100644 --- a/packages/engine-rn-tvos/templates/platforms/tvos/RNVApp/AppDelegate.h +++ b/packages/engine-rn-tvos/templates/platforms/tvos/RNVApp/AppDelegate.h @@ -1,6 +1,8 @@ #import #import -@interface AppDelegate : RCTAppDelegate +{{APPDELEGATE_H_IMPORTS}} + +@interface AppDelegate : RCTAppDelegate {{APPDELEGATE_H_EXTENSIONS}} @end diff --git a/packages/engine-rn-tvos/templates/platforms/tvos/RNVApp/AppDelegate.mm b/packages/engine-rn-tvos/templates/platforms/tvos/RNVApp/AppDelegate.mm index 1179262276..a43d1d6f07 100644 --- a/packages/engine-rn-tvos/templates/platforms/tvos/RNVApp/AppDelegate.mm +++ b/packages/engine-rn-tvos/templates/platforms/tvos/RNVApp/AppDelegate.mm @@ -1,26 +1,11 @@ #import "AppDelegate.h" #import +{{APPDELEGATE_MM_IMPORTS}} @implementation AppDelegate -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions -{ - self.moduleName = @"RNVApp"; - // You can add your custom initial props in the dictionary below. - // They will be passed down to the ViewController used by React Native. - self.initialProps = @{}; +{{APPDELEGATE_METHODS}} - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge -{ -#if DEBUG - return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; -#else - return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; -#endif -} @end diff --git a/packages/engine-rn-tvos/templates/platforms/tvos/RNVApp/LaunchScreen.storyboard b/packages/engine-rn-tvos/templates/platforms/tvos/RNVApp/LaunchScreen.storyboard index 4ab00c3d54..86d2e5dcdd 100644 --- a/packages/engine-rn-tvos/templates/platforms/tvos/RNVApp/LaunchScreen.storyboard +++ b/packages/engine-rn-tvos/templates/platforms/tvos/RNVApp/LaunchScreen.storyboard @@ -1,9 +1,9 @@ - - + + - + @@ -13,28 +13,19 @@ - + - - + + + - - - - - - + + + + @@ -44,4 +35,7 @@ - + + + + \ No newline at end of file diff --git a/packages/engine-rn/templates/platforms/android/app/src/main/java/rnv_template/MainActivity.java.tpl b/packages/engine-rn/templates/platforms/android/app/src/main/java/rnv_template/MainActivity.java.tpl index 2fdae08c2f..7f494686e5 100644 --- a/packages/engine-rn/templates/platforms/android/app/src/main/java/rnv_template/MainActivity.java.tpl +++ b/packages/engine-rn/templates/platforms/android/app/src/main/java/rnv_template/MainActivity.java.tpl @@ -5,8 +5,16 @@ import com.facebook.react.ReactActivityDelegate; import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; import com.facebook.react.defaults.DefaultReactActivityDelegate; +{{PLUGIN_ACTIVITY_IMPORTS}} + public class MainActivity extends ReactActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + {{PLUGIN_ON_CREATE}}; + {{INJECT_ON_CREATE}}; + } + /** * Returns the name of the main component registered from JavaScript. This is used to schedule * rendering of the component. diff --git a/packages/engine-rn/templates/platforms/androidwear/app/src/main/java/rnv_template/MainActivity.java.tpl b/packages/engine-rn/templates/platforms/androidwear/app/src/main/java/rnv_template/MainActivity.java.tpl index 2fdae08c2f..7f494686e5 100644 --- a/packages/engine-rn/templates/platforms/androidwear/app/src/main/java/rnv_template/MainActivity.java.tpl +++ b/packages/engine-rn/templates/platforms/androidwear/app/src/main/java/rnv_template/MainActivity.java.tpl @@ -5,8 +5,16 @@ import com.facebook.react.ReactActivityDelegate; import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint; import com.facebook.react.defaults.DefaultReactActivityDelegate; +{{PLUGIN_ACTIVITY_IMPORTS}} + public class MainActivity extends ReactActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + {{PLUGIN_ON_CREATE}}; + {{INJECT_ON_CREATE}}; + } + /** * Returns the name of the main component registered from JavaScript. This is used to schedule * rendering of the component. diff --git a/packages/engine-rn/templates/platforms/ios/RNVApp/AppDelegate.h b/packages/engine-rn/templates/platforms/ios/RNVApp/AppDelegate.h index 5d2808256c..17e115ed43 100644 --- a/packages/engine-rn/templates/platforms/ios/RNVApp/AppDelegate.h +++ b/packages/engine-rn/templates/platforms/ios/RNVApp/AppDelegate.h @@ -1,6 +1,8 @@ #import #import -@interface AppDelegate : RCTAppDelegate +{{APPDELEGATE_H_IMPORTS}} + +@interface AppDelegate : RCTAppDelegate {{APPDELEGATE_H_EXTENSIONS}} @end diff --git a/packages/engine-rn/templates/platforms/ios/RNVApp/AppDelegate.mm b/packages/engine-rn/templates/platforms/ios/RNVApp/AppDelegate.mm index 1179262276..a43d1d6f07 100644 --- a/packages/engine-rn/templates/platforms/ios/RNVApp/AppDelegate.mm +++ b/packages/engine-rn/templates/platforms/ios/RNVApp/AppDelegate.mm @@ -1,26 +1,11 @@ #import "AppDelegate.h" #import +{{APPDELEGATE_MM_IMPORTS}} @implementation AppDelegate -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions -{ - self.moduleName = @"RNVApp"; - // You can add your custom initial props in the dictionary below. - // They will be passed down to the ViewController used by React Native. - self.initialProps = @{}; +{{APPDELEGATE_METHODS}} - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge -{ -#if DEBUG - return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; -#else - return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; -#endif -} @end diff --git a/packages/engine-rn/templates/platforms/ios/RNVApp/LaunchScreen.storyboard b/packages/engine-rn/templates/platforms/ios/RNVApp/LaunchScreen.storyboard index 92aefb9a2b..86d2e5dcdd 100644 --- a/packages/engine-rn/templates/platforms/ios/RNVApp/LaunchScreen.storyboard +++ b/packages/engine-rn/templates/platforms/ios/RNVApp/LaunchScreen.storyboard @@ -1,9 +1,9 @@ - - + + - + @@ -13,28 +13,19 @@ - + - - + + + - - - - - - + + + + @@ -44,4 +35,7 @@ - + + + + \ No newline at end of file diff --git a/packages/plugins/pluginTemplates/renative.plugins.json b/packages/plugins/pluginTemplates/renative.plugins.json index ad7d099479..626ee307bd 100644 --- a/packages/plugins/pluginTemplates/renative.plugins.json +++ b/packages/plugins/pluginTemplates/renative.plugins.json @@ -1857,30 +1857,28 @@ "modulePaths": true } }, - "react-native-carplay": { - "ios": { - "appDelegateExtensions": [ - "CPApplicationDelegate" - ], - "appDelegateImports": [ - "CarPlay", - "react_native_carplay" - ], - "appDelegateMethods": { - "application": { - "didConnectCarInterfaceController": [ - "RNCarPlay.connect(with: interfaceController, window: window)" - ], - "didDisconnectCarInterfaceController": [ - "RNCarPlay.disconnect()" - ] - } - }, - "path": "{{PLUGIN_ROOT}}", - "podName": "react-native-carplay" - }, - "version": "2.0.0" - }, + "react-native-carplay":{ + "ios": { + "templateXcode": { + "AppDelegate_h": { + "appDelegateImports": ["CarPlay/CarPlay.h"], + "appDelegateExtensions": ["UIApplicationDelegate", "CPApplicationDelegate"] + }, + "AppDelegate_mm": { + "appDelegateImports": ["RNCarPlay.h"], + "appDelegateMethods": { + "application": { + "didConnectCarInterfaceController": ["[RNCarPlay connectWithInterfaceController:interfaceController window:window];"], + "didDisconnectCarInterfaceController": ["[RNCarPlay disconnect];"] + } + } + + } + } , + "podName": "react-native-carplay" + }, + "version": "2.3.0" + }, "react-native-circular-progress": { "version": "1.3.0", "webpack": { @@ -3472,13 +3470,15 @@ }, "react-native-splash-screen": { "android": { - "mainActivity": { - "createMethods": [ - "SplashScreen.show(this)" - ], - "imports": [ - "org.devio.rn.splashscreen.SplashScreen" - ] + "templateAndroid": { + "MainActivity_java": { + "createMethods": [ + "SplashScreen.show(this)" + ], + "imports": [ + "org.devio.rn.splashscreen.SplashScreen" + ] + } }, "package": "org.devio.rn.splashscreen.SplashScreenReactPackage" }, @@ -3505,16 +3505,17 @@ "package": "org.devio.rn.splashscreen.SplashScreenReactPackage" }, "ios": { - "appDelegateImports": [ + "appDelegateMmImports": [ "react_native_splash_screen" ], - "appDelegateMethods": { + "appDelegateMmMethods": { "application": { "didFinishLaunchingWithOptions": [ "RNSplashScreen.show()" ] } }, + "podName": "react-native-splash-screen" }, "version": "3.3.0" diff --git a/packages/sdk-android/src/javaParser.ts b/packages/sdk-android/src/javaParser.ts new file mode 100644 index 0000000000..f7c542df0f --- /dev/null +++ b/packages/sdk-android/src/javaParser.ts @@ -0,0 +1,301 @@ +import { + OverridesOptions, + PlatformKey, + RenativeConfigPluginPlatform, + RnvContext, + addSystemInjects, + getAppFolder, + getAppId, + getBuildFilePath, + getConfigProp, + getEntryFile, + getGetJsBundleFile, + getIP, + removeDirSync, + writeCleanFile, +} from '@rnv/core'; +import { mkdirSync } from 'fs'; +import path from 'path'; +import { Context } from './types'; + +const JS_BUNDLE_DEFAULTS: Partial> = { + // Android Wear does not support webview required for connecting to packager. this is hack to prevent RN connectiing to running bundler + androidwear: '"assets://index.androidwear.bundle"', +}; + +export const parseFlipperSync = (c: Context, scheme: 'debug' | 'release') => { + const appFolder = getAppFolder(c); + const { platform } = c; + + const appId = getAppId(c, c.platform); + // console.log('appId', appId); + const javaPackageArray = appId?.split('.') || []; + + const javaPackagePath = `app/src/${scheme}/java/${javaPackageArray.join('/')}`; + + // cleanup potentially existing folders from previous builds with different appId + removeDirSync(path.join(appFolder, `app/src/${scheme}/java`)); + + mkdirSync(path.join(appFolder, javaPackagePath), { recursive: true }); + + const templatePath = `app/src/${scheme}/java/rnv_template/ReactNativeFlipper.java.tpl`; + const applicationPath = `${javaPackagePath}/ReactNativeFlipper.java`; + + const injects: OverridesOptions = [{ pattern: '{{APPLICATION_ID}}', override: getAppId(c, platform) }]; + + addSystemInjects(c, injects); + + writeCleanFile( + getBuildFilePath(c, platform, templatePath), + path.join(appFolder, applicationPath), + injects, + undefined, + c + ); +}; + +export const parseMainApplicationSync = (c: Context) => { + const appFolder = getAppFolder(c); + const { platform } = c; + + if (!platform) return; + + const appId = getAppId(c, c.platform); + // console.log('appId', appId); + const javaPackageArray = appId?.split('.') || []; + + const javaPackagePath = `app/src/main/java/${javaPackageArray.join('/')}`; + mkdirSync(path.join(appFolder, javaPackagePath), { recursive: true }); + + const templatePath = 'app/src/main/java/rnv_template/MainApplication.java.tpl'; + const applicationPath = `${javaPackagePath}/MainApplication.java`; + const bundleAssets = getConfigProp(c, platform, 'bundleAssets'); + const bundleDefault = JS_BUNDLE_DEFAULTS[platform]; + const bundleFile: string = + getGetJsBundleFile(c, platform) || bundleAssets + ? `"assets://${getEntryFile(c, platform)}.bundle"` + : bundleDefault || '"super.getJSBundleFile()"'; + const bundlerIp = getIP() || '10.0.2.2'; + if (!bundleAssets) { + c.payload.pluginConfigAndroid.pluginApplicationDebugServer += + ' var mPreferences: SharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)\n'; + c.payload.pluginConfigAndroid.pluginApplicationDebugServer += ` mPreferences?.edit()?.putString("debug_http_host", "${bundlerIp}:${c.runtime.port}")?.apply()\n`; + } + + const injects: OverridesOptions = [ + { pattern: '{{APPLICATION_ID}}', override: getAppId(c, platform) }, + { pattern: '{{ENTRY_FILE}}', override: getEntryFile(c, platform) || '' }, + { pattern: '{{GET_JS_BUNDLE_FILE}}', override: bundleFile }, + { + pattern: '{{PLUGIN_IMPORTS}}', + override: c.payload.pluginConfigAndroid.pluginApplicationImports, + }, + { + pattern: '{{PLUGIN_PACKAGES}}', + override: c.payload.pluginConfigAndroid.pluginPackages, + }, + { + pattern: '{{PLUGIN_METHODS}}', + override: c.payload.pluginConfigAndroid.pluginApplicationMethods, + }, + { + pattern: '{{RN_HOST_METHODS}}', + override: c.payload.pluginConfigAndroid.reactNativeHostMethods, + }, + { + pattern: '{{PLUGIN_ON_CREATE}}', + override: c.payload.pluginConfigAndroid.pluginApplicationCreateMethods, + }, + { + pattern: '{{PLUGIN_DEBUG_SERVER}}', + override: c.payload.pluginConfigAndroid.pluginApplicationDebugServer, + }, + ]; + + addSystemInjects(c, injects); + + writeCleanFile( + getBuildFilePath(c, platform, templatePath), + path.join(appFolder, applicationPath), + injects, + undefined, + c + ); +}; + +export const parseMainActivitySync = (c: RnvContext) => { + const appFolder = getAppFolder(c); + const { platform } = c; + + const appId = getAppId(c, c.platform); + // console.log('appId', appId); + const javaPackageArray = appId?.split('.') || []; + + const javaPackagePath = `app/src/main/java/${javaPackageArray.join('/')}`; + mkdirSync(path.join(appFolder, javaPackagePath), { recursive: true }); + + const templatePath = 'app/src/main/java/rnv_template/MainActivity.java.tpl'; + const activityPath = `${javaPackagePath}/MainActivity.java`; + + const templateAndroid = getConfigProp(c, platform, 'templateAndroid', {}); + + const mainActivity = templateAndroid?.MainActivity_java; + + c.payload.pluginConfigAndroid.injectActivityOnCreate = + mainActivity?.onCreate || 'super.onCreate(savedInstanceState)'; + + const injects = [ + { pattern: '{{APPLICATION_ID}}', override: getAppId(c, platform) }, + { + pattern: '{{PLUGIN_ACTIVITY_IMPORTS}}', + override: c.payload.pluginConfigAndroid.pluginActivityImports, + }, + { + pattern: '{{PLUGIN_ACTIVITY_METHODS}}', + override: c.payload.pluginConfigAndroid.pluginActivityMethods, + }, + { + pattern: '{{PLUGIN_ON_CREATE}}', + override: c.payload.pluginConfigAndroid.pluginActivityCreateMethods, + }, + { + pattern: '{{INJECT_ON_CREATE}}', + override: c.payload.pluginConfigAndroid.injectActivityOnCreate, + }, + { + pattern: '{{PLUGIN_ON_ACTIVITY_RESULT}}', + override: c.payload.pluginConfigAndroid.pluginActivityResultMethods, + }, + ]; + + addSystemInjects(c, injects); + + writeCleanFile( + getBuildFilePath(c, platform, templatePath), + path.join(appFolder, activityPath), + injects, + undefined, + c + ); +}; + +export const parseSplashActivitySync = (c: Context) => { + const appFolder = getAppFolder(c); + const { platform } = c; + const appId = getAppId(c, c.platform); + const javaPackageArray = appId?.split('.') || []; + + const splashTemplatePath = 'app/src/main/java/rnv_template/SplashActivity.java.tpl'; + const splashPath = `app/src/main/java/${javaPackageArray.join('/')}/SplashActivity.java`; + + // TODO This is temporary ANDROIDX support. whole kotlin parser will be refactored in the near future + const enableAndroidX = getConfigProp(c, platform, 'enableAndroidX', true); + if (enableAndroidX === true) { + c.payload.pluginConfigAndroid.pluginSplashActivityImports += + 'import androidx.appcompat.app.AppCompatActivity;\n'; + } else { + c.payload.pluginConfigAndroid.pluginSplashActivityImports += + 'import android.support.v7.app.AppCompatActivity\n'; + } + + const injects = [ + { pattern: '{{APPLICATION_ID}}', override: getAppId(c, platform) }, + { + pattern: '{{PLUGIN_SPLASH_ACTIVITY_IMPORTS}}', + override: c.payload.pluginConfigAndroid.pluginSplashActivityImports, + }, + ]; + + addSystemInjects(c, injects); + + writeCleanFile( + getBuildFilePath(c, platform, splashTemplatePath), + path.join(appFolder, splashPath), + injects, + undefined, + c + ); +}; + +export const injectPluginKotlinSync = ( + c: RnvContext, + plugin: RenativeConfigPluginPlatform, + key: string, + pkg: string | undefined +) => { + const templ = plugin.templateAndroid; + const mainActivity = templ?.MainActivity_java; + if (mainActivity?.imports) { + mainActivity.imports.forEach((activityImport) => { + // Avoid duplicate imports + if (c.payload.pluginConfigAndroid.pluginActivityImports.indexOf(activityImport) === -1) { + c.payload.pluginConfigAndroid.pluginActivityImports += `import ${activityImport}\n`; + } + }); + } + + if (mainActivity?.methods) { + c.payload.pluginConfigAndroid.pluginActivityMethods += '\n'; + c.payload.pluginConfigAndroid.pluginActivityMethods += `${mainActivity.methods.join('\n ')}`; + } + + if (mainActivity) { + if (mainActivity.createMethods) { + c.payload.pluginConfigAndroid.pluginActivityCreateMethods += '\n'; + c.payload.pluginConfigAndroid.pluginActivityCreateMethods += `${mainActivity.createMethods.join('\n ')}`; + } + + if (mainActivity.resultMethods) { + c.payload.pluginConfigAndroid.pluginActivityResultMethods += '\n'; + c.payload.pluginConfigAndroid.pluginActivityResultMethods += `${mainActivity.resultMethods.join('\n ')}`; + } + } + + _injectPackage(c, plugin, pkg); + + const mainApplication = templ?.MainApplication_java; + + if (mainApplication?.packages) { + mainApplication.packages.forEach((v) => { + _injectPackage(c, plugin, v); + }); + } + + if (mainApplication?.createMethods) { + c.payload.pluginConfigAndroid.pluginApplicationCreateMethods += '\n'; + c.payload.pluginConfigAndroid.pluginApplicationCreateMethods += `${mainApplication.createMethods.join( + '\n ' + )}`; + } + + if (mainApplication?.imports) { + mainApplication.imports.forEach((v) => { + c.payload.pluginConfigAndroid.pluginApplicationImports += `import ${v}\n`; + }); + } + + if (mainApplication?.methods) { + c.payload.pluginConfigAndroid.pluginApplicationMethods += '\n'; + c.payload.pluginConfigAndroid.pluginApplicationMethods += `${mainApplication.methods.join('\n ')}`; + } +}; + +const _injectPackage = (c: RnvContext, plugin: RenativeConfigPluginPlatform, pkg: string | undefined) => { + if (pkg) { + c.payload.pluginConfigAndroid.pluginApplicationImports += `import ${pkg}\n`; + } + let packageParams = ''; + const mainApplication = plugin.templateAndroid?.MainApplication_java; + if (mainApplication?.packageParams) { + packageParams = mainApplication.packageParams.join(','); + } + + if (pkg) { + const className = _extractClassName(pkg); + if (className) { + c.payload.pluginConfigAndroid.pluginPackages += `${className}(${packageParams}),\n`; + } + } +}; + +const _extractClassName = (pkg: string) => (pkg ? pkg.split('.').pop() : null); diff --git a/packages/sdk-android/src/kotlinParser.ts b/packages/sdk-android/src/kotlinParser.ts index e39eef2e86..b26d497919 100644 --- a/packages/sdk-android/src/kotlinParser.ts +++ b/packages/sdk-android/src/kotlinParser.ts @@ -1,20 +1,20 @@ +import path from 'path'; import { OverridesOptions, PlatformKey, RenativeConfigPluginPlatform, RnvContext, - addSystemInjects, getAppFolder, getAppId, getBuildFilePath, - getConfigProp, getEntryFile, getGetJsBundleFile, + getConfigProp, getIP, + addSystemInjects, + logWarning, writeCleanFile, } from '@rnv/core'; -import { mkdirSync } from 'fs'; -import path from 'path'; import { Context } from './types'; const JS_BUNDLE_DEFAULTS: Partial> = { @@ -22,50 +22,12 @@ const JS_BUNDLE_DEFAULTS: Partial> = { androidwear: '"assets://index.androidwear.bundle"', }; -export const parseFlipperSync = (c: Context, scheme: 'debug' | 'release') => { - const appFolder = getAppFolder(c); - const { platform } = c; - - const appId = getAppId(c, c.platform); - // console.log('appId', appId); - const javaPackageArray = appId?.split('.') || []; - - const javaPackagePath = `app/src/${scheme}/java/${javaPackageArray.join('/')}`; - mkdirSync(path.join(appFolder, javaPackagePath), { recursive: true }); - - const templatePath = `app/src/${scheme}/java/rnv_template/ReactNativeFlipper.java.tpl`; - const applicationPath = `${javaPackagePath}/ReactNativeFlipper.java`; - - const injects: OverridesOptions = [{ pattern: '{{APPLICATION_ID}}', override: getAppId(c, platform) }]; - - addSystemInjects(c, injects); - - writeCleanFile( - getBuildFilePath(c, platform, templatePath), - path.join(appFolder, applicationPath), - injects, - undefined, - c - ); -}; - export const parseMainApplicationSync = (c: Context) => { const appFolder = getAppFolder(c); const { platform } = c; - - if (!platform) return; - - const appId = getAppId(c, c.platform); - // console.log('appId', appId); - const javaPackageArray = appId?.split('.') || []; - - const javaPackagePath = `app/src/main/java/${javaPackageArray.join('/')}`; - mkdirSync(path.join(appFolder, javaPackagePath), { recursive: true }); - - const templatePath = 'app/src/main/java/rnv_template/MainApplication.java.tpl'; - const applicationPath = `${javaPackagePath}/MainApplication.java`; + const applicationPath = 'app/src/main/java/rnv/MainApplication.kt'; const bundleAssets = getConfigProp(c, platform, 'bundleAssets'); - const bundleDefault = JS_BUNDLE_DEFAULTS[platform]; + const bundleDefault = JS_BUNDLE_DEFAULTS[platform!]; const bundleFile: string = getGetJsBundleFile(c, platform) || bundleAssets ? `"assets://${getEntryFile(c, platform)}.bundle"` @@ -110,7 +72,7 @@ export const parseMainApplicationSync = (c: Context) => { addSystemInjects(c, injects); writeCleanFile( - getBuildFilePath(c, platform, templatePath), + getBuildFilePath(c, platform, applicationPath), path.join(appFolder, applicationPath), injects, undefined, @@ -121,20 +83,10 @@ export const parseMainApplicationSync = (c: Context) => { export const parseMainActivitySync = (c: RnvContext) => { const appFolder = getAppFolder(c); const { platform } = c; - - const appId = getAppId(c, c.platform); - // console.log('appId', appId); - const javaPackageArray = appId?.split('.') || []; - - const javaPackagePath = `app/src/main/java/${javaPackageArray.join('/')}`; - mkdirSync(path.join(appFolder, javaPackagePath), { recursive: true }); - - const templatePath = 'app/src/main/java/rnv_template/MainActivity.java.tpl'; - const activityPath = `${javaPackagePath}/MainActivity.java`; + const activityPath = 'app/src/main/java/rnv/MainActivity.kt'; const templateAndroid = getConfigProp(c, platform, 'templateAndroid', {}); - - const mainActivity = templateAndroid?.MainActivity_java; + const mainActivity = templateAndroid?.MainActivity_java; // TODO ADD KOTLIN WHEN READY c.payload.pluginConfigAndroid.injectActivityOnCreate = mainActivity?.onCreate || 'super.onCreate(savedInstanceState)'; @@ -166,7 +118,7 @@ export const parseMainActivitySync = (c: RnvContext) => { addSystemInjects(c, injects); writeCleanFile( - getBuildFilePath(c, platform, templatePath), + getBuildFilePath(c, platform, activityPath), path.join(appFolder, activityPath), injects, undefined, @@ -177,11 +129,7 @@ export const parseMainActivitySync = (c: RnvContext) => { export const parseSplashActivitySync = (c: Context) => { const appFolder = getAppFolder(c); const { platform } = c; - const appId = getAppId(c, c.platform); - const javaPackageArray = appId?.split('.') || []; - - const splashTemplatePath = 'app/src/main/java/rnv_template/SplashActivity.java.tpl'; - const splashPath = `app/src/main/java/${javaPackageArray.join('/')}/SplashActivity.java`; + const splashPath = 'app/src/main/java/rnv/SplashActivity.kt'; // TODO This is temporary ANDROIDX support. whole kotlin parser will be refactored in the near future const enableAndroidX = getConfigProp(c, platform, 'enableAndroidX', true); @@ -203,75 +151,90 @@ export const parseSplashActivitySync = (c: Context) => { addSystemInjects(c, injects); - writeCleanFile( - getBuildFilePath(c, platform, splashTemplatePath), - path.join(appFolder, splashPath), - injects, - undefined, - c - ); + writeCleanFile(getBuildFilePath(c, platform, splashPath), path.join(appFolder, splashPath), injects, undefined, c); }; -export const injectPluginKotlinSync = ( - c: RnvContext, - plugin: RenativeConfigPluginPlatform, - key: string, - pkg: string | undefined -) => { - const templ = plugin.templateAndroid; - const mainActivity = templ?.MainActivity_java; - if (mainActivity?.imports) { - mainActivity.imports.forEach((activityImport) => { +export const injectPluginKotlinSync = (c: any, plugin: any, key: any, pkg: any) => { + if (plugin.activityImports instanceof Array) { + plugin.activityImports.forEach((activityImport: any) => { // Avoid duplicate imports if (c.payload.pluginConfigAndroid.pluginActivityImports.indexOf(activityImport) === -1) { - c.payload.pluginConfigAndroid.pluginActivityImports += `import ${activityImport}\n`; + c.payload.pluginConfigAndroid.pluginActivityImports += `import ${activityImport};\n`; } }); } - if (mainActivity?.methods) { + if (plugin.activityMethods instanceof Array) { c.payload.pluginConfigAndroid.pluginActivityMethods += '\n'; - c.payload.pluginConfigAndroid.pluginActivityMethods += `${mainActivity.methods.join('\n ')}`; + c.payload.pluginConfigAndroid.pluginActivityMethods += `${plugin.activityMethods.join('\n ')}`; } + const { mainActivity } = plugin; if (mainActivity) { - if (mainActivity.createMethods) { + if (mainActivity.createMethods instanceof Array) { c.payload.pluginConfigAndroid.pluginActivityCreateMethods += '\n'; c.payload.pluginConfigAndroid.pluginActivityCreateMethods += `${mainActivity.createMethods.join('\n ')}`; } - if (mainActivity.resultMethods) { + if (mainActivity.resultMethods instanceof Array) { c.payload.pluginConfigAndroid.pluginActivityResultMethods += '\n'; c.payload.pluginConfigAndroid.pluginActivityResultMethods += `${mainActivity.resultMethods.join('\n ')}`; } - } - _injectPackage(c, plugin, pkg); + if (mainActivity.imports instanceof Array) { + mainActivity.imports.forEach((v: any) => { + c.payload.pluginConfigAndroid.pluginActivityImports += `import ${v}\n`; + }); + } - const mainApplication = templ?.MainApplication_java; + if (mainActivity.methods instanceof Array) { + c.payload.pluginConfigAndroid.pluginActivityMethods += '\n'; + c.payload.pluginConfigAndroid.pluginActivityMethods += `${mainActivity.methods.join('\n ')}`; + } + } - if (mainApplication?.packages) { - mainApplication.packages.forEach((v) => { - _injectPackage(c, plugin, v); + if (plugin.imports) { + plugin.imports.forEach((v: any) => { + c.payload.pluginConfigAndroid.pluginApplicationImports += `import ${v}\n`; }); } - if (mainApplication?.createMethods) { - c.payload.pluginConfigAndroid.pluginApplicationCreateMethods += '\n'; - c.payload.pluginConfigAndroid.pluginApplicationCreateMethods += `${mainApplication.createMethods.join( - '\n ' - )}`; + _injectPackage(c, plugin, pkg); + + if (plugin.MainApplication) { + if (plugin.MainApplication.packages) { + plugin.MainApplication.packages.forEach((v: any) => { + _injectPackage(c, plugin, v); + }); + } } - if (mainApplication?.imports) { - mainApplication.imports.forEach((v) => { - c.payload.pluginConfigAndroid.pluginApplicationImports += `import ${v}\n`; - }); + const { mainApplication } = plugin; + if (mainApplication) { + if (mainApplication.createMethods instanceof Array) { + c.payload.pluginConfigAndroid.pluginApplicationCreateMethods += '\n'; + c.payload.pluginConfigAndroid.pluginApplicationCreateMethods += `${mainApplication.createMethods.join( + '\n ' + )}`; + } + + if (mainApplication.imports instanceof Array) { + mainApplication.imports.forEach((v: any) => { + c.payload.pluginConfigAndroid.pluginApplicationImports += `import ${v}\n`; + }); + } + + if (mainApplication.methods instanceof Array) { + c.payload.pluginConfigAndroid.pluginApplicationMethods += '\n'; + c.payload.pluginConfigAndroid.pluginApplicationMethods += `${mainApplication.methods.join('\n ')}`; + } } - if (mainApplication?.methods) { - c.payload.pluginConfigAndroid.pluginApplicationMethods += '\n'; - c.payload.pluginConfigAndroid.pluginApplicationMethods += `${mainApplication.methods.join('\n ')}`; + if (plugin.mainApplicationMethods) { + logWarning( + `Plugin ${key} in ${c.paths.project.config} is using DEPRECATED "${c.platform}": { MainApplicationMethods }. Use "${c.platform}": { "mainApplication": { "methods": []}} instead` + ); + c.payload.pluginConfigAndroid.pluginApplicationMethods += `\n${plugin.mainApplicationMethods}\n`; } }; @@ -280,7 +243,7 @@ const _injectPackage = (c: RnvContext, plugin: RenativeConfigPluginPlatform, pkg c.payload.pluginConfigAndroid.pluginApplicationImports += `import ${pkg}\n`; } let packageParams = ''; - const mainApplication = plugin.templateAndroid?.MainApplication_java; + const mainApplication = plugin.templateAndroid?.MainApplication_java; // TODO ADD KOTLIN WHEN READY if (mainApplication?.packageParams) { packageParams = mainApplication.packageParams.join(','); } diff --git a/packages/sdk-android/src/runner.ts b/packages/sdk-android/src/runner.ts index 7c08fff717..2396c5f22b 100644 --- a/packages/sdk-android/src/runner.ts +++ b/packages/sdk-android/src/runner.ts @@ -34,6 +34,7 @@ import { DEFAULTS, RnvPlatform, logInfo, + cleanFolder, } from '@rnv/core'; import { parseAndroidManifestSync, injectPluginManifestSync } from './manifestParser'; import { @@ -42,7 +43,7 @@ import { parseMainApplicationSync, injectPluginKotlinSync, parseFlipperSync, -} from './kotlinParser'; +} from './javaParser'; import { parseAppBuildGradleSync, parseBuildGradleSync, @@ -396,6 +397,9 @@ export const configureProject = async (c: Context) => { mkdirSync(path.join(appFolder, 'app/src/main/assets')); fsWriteFileSync(path.join(appFolder, `app/src/main/assets/${outputFile}.bundle`), '{}'); + // cleanup potentially existing folders from previous builds with different appId + await cleanFolder(path.join(appFolder, 'app/src/main/java')); + // INJECTORS c.payload.pluginConfigAndroid = { pluginIncludes: "include ':app'", diff --git a/packages/sdk-apple/src/objectiveCParser.ts b/packages/sdk-apple/src/objectiveCParser.ts new file mode 100644 index 0000000000..0d54596959 --- /dev/null +++ b/packages/sdk-apple/src/objectiveCParser.ts @@ -0,0 +1,351 @@ +import path from 'path'; +import { + RenativeConfigPluginPlatform, + // getEntryFile, + getAppTemplateFolder, + getConfigProp, + // getGetJsBundleFile, + sanitizeColor, + getFlavouredProp, + addSystemInjects, + chalk, + logTask, + logDebug, + logWarning, + parsePlugins, + writeCleanFile, + RnvPlatform, + RenativeConfigAppDelegateMethod, +} from '@rnv/core'; +import { + Context, + ObjectiveCAppDelegate, + PayloadAppDelegateKey, + PayloadAppDelegateMethod, + PayloadAppDelegateSubKey, + SwiftAppDelegateKey, + SwiftAppDelegateSubKey, + SwiftMethod, +} from './types'; + +export const parseAppDelegate = ( + c: Context, + platform: RnvPlatform, + appFolder: string, + appFolderName: string + // isBundled = false, +) => + new Promise((resolve) => { + logTask('parseAppDelegateSync'); + const appDelegateMm = 'AppDelegate.mm'; + const appDelegateH = 'AppDelegate.h'; + // const entryFile = getEntryFile(c, platform); + + // const forceBundle = getGetJsBundleFile(c, platform); + // let bundle; + // if (forceBundle) { + // bundle = forceBundle; + // } else if (isBundled) { + // bundle = `RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "${entryFile}", fallbackResource: nil)`; + // } else { + // bundle = `URL(string: "http://${ip}:${newPort}/${entryFile}.bundle?platform=ios")`; + // } + + // PLUGINS + parsePlugins(c, platform, (plugin, pluginPlat, key) => { + injectPluginObjectiveCSync(c, pluginPlat, key); + }); + + // BG COLOR + // let pluginBgColor = 'vc.view.backgroundColor = UIColor.white'; + // const UI_COLORS = ['black', 'blue', 'brown', 'clear', 'cyan', 'darkGray', 'gray', 'green', 'lightGray', 'magneta', 'orange', 'purple', 'red', 'white', 'yellow']; + // if (backgroundColor) { + // if (UI_COLORS.includes(backgroundColor)) { + // pluginBgColor = `vc.view.backgroundColor = UIColor.${backgroundColor}`; + // } else { + // logWarning(`Your choosen color in renative.json for platform ${chalk().white(platform)} is not supported by UIColor. use one of the predefined ones: ${chalk().white(UI_COLORS.join(','))}`); + // } + // } + + const clr = sanitizeColor(getConfigProp(c, platform, 'backgroundColor'), 'backgroundColor').rgbDecimal; + const pluginBgColor = `vc.view.backgroundColor = UIColor(red: ${clr[0]}, green: ${clr[1]}, blue: ${clr[2]}, alpha: ${clr[3]})`; + const methods: ObjectiveCAppDelegate = { + application: { + didFinishLaunchingWithOptions: { + isRequired: true, + func: '- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {', + begin: ` + self.moduleName = @"RNVApp"; + // You can add your custom initial props in the dictionary below. + // They will be passed down to the ViewController used by React Native. + self.initialProps = @{}; + [super application:application didFinishLaunchingWithOptions:launchOptions]; + `, + render: (v) => `${v};`, + end: 'return YES;', + }, + sourceURLForBridge: { + isRequired: true, + func: '- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge {', + begin: ` + #if DEBUG + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; + #else + return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; + #endif + `, + render: (v) => `${v};`, + end: null, + }, + applicationDidBecomeActive: { + func: '- (void)applicationDidBecomeActive:(UIApplication *)application {', + begin: null, + render: (v) => `${v};`, + end: null, + }, + open: { + func: '- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options {', + begin: 'BOOL handled = false;', + render: (v) => `if(!handled) { handled = ${v}; }`, + end: 'return handled;', + }, + continue: { + func: '- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray> *restorableObjects))restorationHandler {', + begin: null, + render: (v) => `return ${v};`, + end: null, + }, + supportedInterfaceOrientationsFor: { + func: ' - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {', + begin: null, + render: (v) => `return ${v};`, + end: null, + }, + didConnectCarInterfaceController: { + //Deprecated + func: '- (void)application:(UIApplication *)application didConnectCarInterfaceController:(CPInterfaceController *)interfaceController toWindow:(CPWindow *)window {', + begin: null, + render: (v) => `${v};`, + end: null, + }, + didDisconnectCarInterfaceController: { + //Deprecated + func: '- (void)application:(UIApplication *)application didDisconnectCarInterfaceController:(CPInterfaceController *)interfaceController fromWindow:(CPWindow *)window {', + begin: null, + render: (v) => `${v};`, + end: null, + }, + didReceiveRemoteNotification: { + func: '- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)notification fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))handler {', + begin: null, + render: (v) => `${v};`, + end: null, + }, + didFailToRegisterForRemoteNotificationsWithError: { + func: '- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error; {', + begin: null, + render: (v) => `${v};`, + end: null, + }, + // didReceive: { //Deprecated + // func: 'func application(_ application: UIApplication, didReceive notification: UILocalNotification) {', + // begin: null, + // render: (v) => `${v}`, + // end: null, + // }, + requestAuthorizationWithOptions: { + func: '- (void)requestAuthorizationWithOptions:(UNAuthorizationOptions)options completionHandler:(void (^)(BOOL granted, NSError *error))completionHandler {', + begin: null, + render: (v) => `${v};`, + end: null, + }, + didRegisterForRemoteNotificationsWithDeviceToken: { + func: '- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {', + begin: null, + render: (v) => `${v};`, + end: null, + }, + }, + userNotificationCenter: { + willPresent: { + func: '- (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler {', + begin: null, + render: (v) => `${v};`, + end: null, + }, + }, + }; + + const constructMethod = (lines: Array, method: SwiftMethod) => { + let output = ''; + if (lines.length || method.isRequired) { + output += `\n${method.func}\n`; + if (method.begin) output += ` ${method.begin}\n`; + lines.forEach((v) => { + output += ` ${method.render(v)}\n`; + }); + if (method.end) output += ` ${method.end}\n`; + output += '}\n'; + } + return output; + }; + + // REORDER Injects + const injectors: Array<{ + f: SwiftMethod; + lines: Array; + }> = []; + let cleanedLinesArr; + const mk = Object.keys(methods) as Array; + mk.forEach((key) => { + const method = methods[key]; + const mk2 = Object.keys(method) as Array; + mk2.forEach((key2) => { + const f = method[key2]; + const lines: Array = + c.payload.pluginConfigiOS.appDelegateMmMethods[key][key2] || []; + + const cleanedLines: Record = {}; + + lines.forEach((l) => { + if (!cleanedLines[l.value]) { + cleanedLines[l.value] = l; + } + + if (cleanedLines[l.value].weight < l.weight) { + cleanedLines[l.value] = l; + } + }); + cleanedLinesArr = Object.values(cleanedLines) + .sort((a, b) => a.order - b.order) + .map((v) => v.value); + + injectors.push({ + f, + lines: cleanedLinesArr, + }); + }); + }); + injectors.forEach((v) => { + c.payload.pluginConfigiOS.pluginAppDelegateMmMethods += constructMethod(v.lines, v.f); + }); + + const injectsMm = [ + // { pattern: '{{BUNDLE}}', override: bundle }, + // { pattern: '{{ENTRY_FILE}}', override: entryFile }, + // { pattern: '{{IP}}', override: ip }, + // { pattern: '{{PORT}}', override: newPort }, + { pattern: '{{BACKGROUND_COLOR}}', override: pluginBgColor }, + { + pattern: '{{APPDELEGATE_MM_IMPORTS}}', + override: c.payload.pluginConfigiOS.pluginAppDelegateMmImports, + }, + { + pattern: '{{APPDELEGATE_METHODS}}', + override: `${c.payload.pluginConfigiOS.pluginAppDelegateMmMethods}`, + }, + ]; + const injectsH = [ + { + pattern: '{{APPDELEGATE_H_IMPORTS}}', + override: c.payload.pluginConfigiOS.pluginAppDelegateHImports, + }, + { + pattern: '{{APPDELEGATE_H_EXTENSIONS}}', + override: c.payload.pluginConfigiOS.pluginAppDelegateHExtensions + ? ` <${c.payload.pluginConfigiOS.pluginAppDelegateHExtensions}>` + : '', + }, + ]; + addSystemInjects(c, injectsMm); + + writeCleanFile( + path.join(getAppTemplateFolder(c, platform)!, appFolderName, appDelegateMm), + path.join(appFolder, appFolderName, appDelegateMm), + injectsMm, + undefined, + c + ); + addSystemInjects(c, injectsH); + + writeCleanFile( + path.join(getAppTemplateFolder(c, platform)!, appFolderName, appDelegateH), + path.join(appFolder, appFolderName, appDelegateH), + injectsH, + undefined, + c + ); + resolve(); + }); + +export const injectPluginObjectiveCSync = (c: Context, plugin: RenativeConfigPluginPlatform, key: string) => { + logDebug(`injectPluginObjectiveCSync:${c.platform}:${key}`); + const templateXcode = getFlavouredProp(c, plugin, 'templateXcode'); + const appDelegateMmImports = templateXcode?.AppDelegate_mm?.appDelegateImports; + + if (appDelegateMmImports) { + addAppDelegateImports(c, appDelegateMmImports, 'pluginAppDelegateMmImports'); + } + // if (plugin.appDelegateMethods instanceof Array) { + // c.payload.pluginConfigiOS.pluginAppDelegateMethods += `${plugin.appDelegateMethods.join('\n ')}`; + // } + const appDelegateHhImports = templateXcode?.AppDelegate_h?.appDelegateImports; + if (appDelegateHhImports) { + addAppDelegateImports(c, appDelegateHhImports, 'pluginAppDelegateHImports'); + } + const appDelegateExtensions = templateXcode?.AppDelegate_h?.appDelegateExtensions; + if (appDelegateExtensions instanceof Array) { + appDelegateExtensions.forEach((appDelegateExtension, idx) => { + // Avoid duplicate imports + logDebug('appDelegateExtensions add'); + if (c.payload.pluginConfigiOS.pluginAppDelegateHExtensions.indexOf(appDelegateExtension) === -1) { + logDebug('appDelegateExtensions add ok'); + c.payload.pluginConfigiOS.pluginAppDelegateHExtensions += `${appDelegateExtension}${ + idx < appDelegateExtensions.length - 1 ? ', ' : '' + }`; + } + }); + } + + const appDelegateMethods = templateXcode?.AppDelegate_mm?.appDelegateMethods; + if (appDelegateMethods) { + const admk = Object.keys(appDelegateMethods) as Array; + admk.forEach((delKey) => { + const amdk2 = Object.keys(appDelegateMethods[delKey]) as Array; + amdk2.forEach((key2) => { + const plugArr: Array = + c.payload.pluginConfigiOS.appDelegateMmMethods[delKey][key2]; + if (!plugArr) { + logWarning(`appDelegateMethods.${delKey}.${chalk().red(key2)} not supported. SKIPPING.`); + } else { + const plugVal: Array = appDelegateMethods[delKey][key2]; + if (plugVal) { + plugVal.forEach((v) => { + const isString = typeof v === 'string'; + plugArr.push({ + order: isString ? 0 : v?.order || 0, + value: isString ? v : v?.value, + weight: isString ? 0 : v?.weight || 0, + }); + }); + } + } + }); + }); + } +}; + +export const addAppDelegateImports = ( + c: Context, + appDelegateImports: string[], + target: 'pluginAppDelegateHImports' | 'pluginAppDelegateMmImports' +) => { + appDelegateImports.forEach((appDelegateImport) => { + // Avoid duplicate imports + logDebug(`${target.replace('plugin', '')} add`); + if (c.payload.pluginConfigiOS[target].indexOf(appDelegateImport) === -1) { + logDebug(`${target.replace('plugin', '')} add ok`); + c.payload.pluginConfigiOS[target] += `#import "${appDelegateImport}"\n`; + } + }); +}; diff --git a/packages/sdk-apple/src/runner.ts b/packages/sdk-apple/src/runner.ts index 6999bc2577..0631cfa5cb 100644 --- a/packages/sdk-apple/src/runner.ts +++ b/packages/sdk-apple/src/runner.ts @@ -32,7 +32,7 @@ import { getAppleDevices } from './deviceManager'; import { getAppFolderName } from './common'; import { parseEntitlementsPlist, parseExportOptionsPlist, parseInfoPlist } from './plistParser'; import { parsePodFile } from './podfileParser'; -// import { parseAppDelegate } from './swiftParser'; +import { parseAppDelegate } from './objectiveCParser'; import { parseXcodeProject } from './xcodeParser'; import { parseXcscheme } from './xcschemeParser'; import { AppleDevice, Context } from './types'; @@ -734,10 +734,11 @@ export const configureXcodeProject = async (c: Context) => { embeddedFonts: [], embeddedFontSources: [], ignoreProjectFonts: [], - pluginAppDelegateImports: '', - pluginAppDelegateMethods: '', - pluginAppDelegateExtensions: '', - appDelegateMethods: { + pluginAppDelegateHImports: '', + pluginAppDelegateHExtensions: '', + pluginAppDelegateMmImports: '', + pluginAppDelegateMmMethods: '', + appDelegateMmMethods: { application: { didFinishLaunchingWithOptions: [], applicationDidBecomeActive: [], @@ -821,7 +822,7 @@ export const configureXcodeProject = async (c: Context) => { await copyAssetsFolder(c, platform, appFolderName); await copyAppleAssets(c, platform, appFolderName); - // await parseAppDelegate(c, platform, appFolder, appFolderName, bundleAssets, bundlerIp); + await parseAppDelegate(c, platform, appFolder, appFolderName); await parseExportOptionsPlist(c, platform); await parseXcscheme(c, platform); await parsePodFile(c, platform); diff --git a/packages/sdk-apple/src/swiftParser.ts b/packages/sdk-apple/src/swiftParser.ts index cbe0847d5a..7fdf1de2fe 100644 --- a/packages/sdk-apple/src/swiftParser.ts +++ b/packages/sdk-apple/src/swiftParser.ts @@ -1,315 +1,315 @@ import path from 'path'; -import { - RenativeConfigPluginPlatform, - getEntryFile, - getAppTemplateFolder, - getConfigProp, - getGetJsBundleFile, - sanitizeColor, - getFlavouredProp, - addSystemInjects, - chalk, - logTask, - logDebug, - logWarning, - parsePlugins, - writeCleanFile, - RnvPlatform, - RenativeConfigAppDelegateMethod, -} from '@rnv/core'; -import { - Context, - PayloadAppDelegateKey, - PayloadAppDelegateMethod, - PayloadAppDelegateSubKey, - SwiftAppDelegate, - SwiftAppDelegateKey, - SwiftAppDelegateSubKey, - SwiftMethod, -} from './types'; +// import { +// RenativeConfigPluginPlatform, +// getEntryFile, +// getAppTemplateFolder, +// getConfigProp, +// getGetJsBundleFile, +// sanitizeColor, +// getFlavouredProp, +// addSystemInjects, +// chalk, +// logTask, +// logDebug, +// logWarning, +// parsePlugins, +// writeCleanFile, +// RnvPlatform, +// RenativeConfigAppDelegateMethod, +// } from '@rnv/core'; +// import { +// Context, +// PayloadAppDelegateKey, +// PayloadAppDelegateMethod, +// PayloadAppDelegateSubKey, +// SwiftAppDelegate, +// SwiftAppDelegateKey, +// SwiftAppDelegateSubKey, +// SwiftMethod, +// } from './types'; -export const parseAppDelegate = ( - c: Context, - platform: RnvPlatform, - appFolder: string, - appFolderName: string, - isBundled = false, - ip = 'localhost' -) => - new Promise((resolve) => { - const newPort = c.runtime?.port; - logTask('parseAppDelegateSync', `ip:${ip} port:${newPort}`); - const appDelegate = 'AppDelegate.swift'; +// export const parseAppDelegate = ( +// c: Context, +// platform: RnvPlatform, +// appFolder: string, +// appFolderName: string, +// isBundled = false, +// ip = 'localhost' +// ) => +// new Promise((resolve) => { +// const newPort = c.runtime?.port; +// logTask('parseAppDelegateSync', `ip:${ip} port:${newPort}`); +// const appDelegate = 'AppDelegate.swift'; - const entryFile = getEntryFile(c, platform); +// const entryFile = getEntryFile(c, platform); - const forceBundle = getGetJsBundleFile(c, platform); - let bundle; - if (forceBundle) { - bundle = forceBundle; - } else if (isBundled) { - bundle = `RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "${entryFile}", fallbackResource: nil)`; - } else { - bundle = `URL(string: "http://${ip}:${newPort}/${entryFile}.bundle?platform=ios")`; - } +// const forceBundle = getGetJsBundleFile(c, platform); +// let bundle; +// if (forceBundle) { +// bundle = forceBundle; +// } else if (isBundled) { +// bundle = `RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "${entryFile}", fallbackResource: nil)`; +// } else { +// bundle = `URL(string: "http://${ip}:${newPort}/${entryFile}.bundle?platform=ios")`; +// } - // PLUGINS - parsePlugins(c, platform, (plugin, pluginPlat, key) => { - injectPluginSwiftSync(c, pluginPlat, key); - }); +// // PLUGINS +// parsePlugins(c, platform, (plugin, pluginPlat, key) => { +// injectPluginSwiftSync(c, pluginPlat, key); +// }); - // BG COLOR - // let pluginBgColor = 'vc.view.backgroundColor = UIColor.white'; - // const UI_COLORS = ['black', 'blue', 'brown', 'clear', 'cyan', 'darkGray', 'gray', 'green', 'lightGray', 'magneta', 'orange', 'purple', 'red', 'white', 'yellow']; - // if (backgroundColor) { - // if (UI_COLORS.includes(backgroundColor)) { - // pluginBgColor = `vc.view.backgroundColor = UIColor.${backgroundColor}`; - // } else { - // logWarning(`Your choosen color in renative.json for platform ${chalk().white(platform)} is not supported by UIColor. use one of the predefined ones: ${chalk().white(UI_COLORS.join(','))}`); - // } - // } +// // BG COLOR +// // let pluginBgColor = 'vc.view.backgroundColor = UIColor.white'; +// // const UI_COLORS = ['black', 'blue', 'brown', 'clear', 'cyan', 'darkGray', 'gray', 'green', 'lightGray', 'magneta', 'orange', 'purple', 'red', 'white', 'yellow']; +// // if (backgroundColor) { +// // if (UI_COLORS.includes(backgroundColor)) { +// // pluginBgColor = `vc.view.backgroundColor = UIColor.${backgroundColor}`; +// // } else { +// // logWarning(`Your choosen color in renative.json for platform ${chalk().white(platform)} is not supported by UIColor. use one of the predefined ones: ${chalk().white(UI_COLORS.join(','))}`); +// // } +// // } - const clr = sanitizeColor(getConfigProp(c, platform, 'backgroundColor'), 'backgroundColor').rgbDecimal; - const pluginBgColor = `vc.view.backgroundColor = UIColor(red: ${clr[0]}, green: ${clr[1]}, blue: ${clr[2]}, alpha: ${clr[3]})`; - const methods: SwiftAppDelegate = { - application: { - didFinishLaunchingWithOptions: { - isRequired: true, - func: 'func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {', - begin: ` - self.window = UIWindow(frame: UIScreen.main.bounds) - let vc = UIViewController() - let v = RCTRootView( - bundleURL: bundleUrl!, - moduleName: moduleName, - initialProperties: nil, - launchOptions: launchOptions) - vc.view = v - ${pluginBgColor} - v.frame = vc.view.bounds - self.window?.rootViewController = vc - self.window?.makeKeyAndVisible() - UNUserNotificationCenter.current().delegate = self - `, - render: (v) => `${v}`, - end: 'return true', - }, - applicationDidBecomeActive: { - func: 'func applicationDidBecomeActive(_ application: UIApplication) {', - begin: null, - render: (v) => `${v}`, - end: null, - }, - open: { - func: 'func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {', - begin: 'var handled = false', - render: (v) => `if(!handled) { handled = ${v} }`, - end: 'return handled', - }, - continue: { - func: 'func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {', - begin: null, - render: (v) => `return ${v}`, - end: null, - }, - supportedInterfaceOrientationsFor: { - func: 'func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {', - begin: null, - render: (v) => `return ${v}`, - end: null, - }, - didConnectCarInterfaceController: { - func: 'func application(_ application: UIApplication, didConnectCarInterfaceController interfaceController: CPInterfaceController, to window: CPWindow) {', - begin: null, - render: (v) => `return ${v}`, - end: null, - }, - didDisconnectCarInterfaceController: { - func: 'func application(_ application: UIApplication, didDisconnectCarInterfaceController interfaceController: CPInterfaceController, from window: CPWindow) {', - begin: null, - render: (v) => `return ${v}`, - end: null, - }, - didReceiveRemoteNotification: { - func: 'func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {', - begin: null, - render: (v) => `${v}`, - end: null, - }, - didFailToRegisterForRemoteNotificationsWithError: { - func: 'func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {', - begin: null, - render: (v) => `${v}`, - end: null, - }, - didReceive: { - func: 'func application(_ application: UIApplication, didReceive notification: UILocalNotification) {', - begin: null, - render: (v) => `${v}`, - end: null, - }, - didRegister: { - func: 'func application(_ application: UIApplication, didRegister notificationSettings: UIUserNotificationSettings) {', - begin: null, - render: (v) => `${v}`, - end: null, - }, - didRegisterForRemoteNotificationsWithDeviceToken: { - func: 'func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {', - begin: null, - render: (v) => `${v}`, - end: null, - }, - }, - userNotificationCenter: { - willPresent: { - func: 'func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {', - begin: null, - render: (v) => `${v}`, - end: null, - }, - }, - }; +// const clr = sanitizeColor(getConfigProp(c, platform, 'backgroundColor'), 'backgroundColor').rgbDecimal; +// const pluginBgColor = `vc.view.backgroundColor = UIColor(red: ${clr[0]}, green: ${clr[1]}, blue: ${clr[2]}, alpha: ${clr[3]})`; +// const methods: SwiftAppDelegate = { +// application: { +// didFinishLaunchingWithOptions: { +// isRequired: true, +// func: 'func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {', +// begin: ` +// self.window = UIWindow(frame: UIScreen.main.bounds) +// let vc = UIViewController() +// let v = RCTRootView( +// bundleURL: bundleUrl!, +// moduleName: moduleName, +// initialProperties: nil, +// launchOptions: launchOptions) +// vc.view = v +// ${pluginBgColor} +// v.frame = vc.view.bounds +// self.window?.rootViewController = vc +// self.window?.makeKeyAndVisible() +// UNUserNotificationCenter.current().delegate = self +// `, +// render: (v) => `${v}`, +// end: 'return true', +// }, +// applicationDidBecomeActive: { +// func: 'func applicationDidBecomeActive(_ application: UIApplication) {', +// begin: null, +// render: (v) => `${v}`, +// end: null, +// }, +// open: { +// func: 'func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {', +// begin: 'var handled = false', +// render: (v) => `if(!handled) { handled = ${v} }`, +// end: 'return handled', +// }, +// continue: { +// func: 'func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {', +// begin: null, +// render: (v) => `return ${v}`, +// end: null, +// }, +// supportedInterfaceOrientationsFor: { +// func: 'func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {', +// begin: null, +// render: (v) => `return ${v}`, +// end: null, +// }, +// didConnectCarInterfaceController: { +// func: 'func application(_ application: UIApplication, didConnectCarInterfaceController interfaceController: CPInterfaceController, to window: CPWindow) {', +// begin: null, +// render: (v) => `return ${v}`, +// end: null, +// }, +// didDisconnectCarInterfaceController: { +// func: 'func application(_ application: UIApplication, didDisconnectCarInterfaceController interfaceController: CPInterfaceController, from window: CPWindow) {', +// begin: null, +// render: (v) => `return ${v}`, +// end: null, +// }, +// didReceiveRemoteNotification: { +// func: 'func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {', +// begin: null, +// render: (v) => `${v}`, +// end: null, +// }, +// didFailToRegisterForRemoteNotificationsWithError: { +// func: 'func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {', +// begin: null, +// render: (v) => `${v}`, +// end: null, +// }, +// didReceive: { +// func: 'func application(_ application: UIApplication, didReceive notification: UILocalNotification) {', +// begin: null, +// render: (v) => `${v}`, +// end: null, +// }, +// didRegister: { +// func: 'func application(_ application: UIApplication, didRegister notificationSettings: UIUserNotificationSettings) {', +// begin: null, +// render: (v) => `${v}`, +// end: null, +// }, +// didRegisterForRemoteNotificationsWithDeviceToken: { +// func: 'func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {', +// begin: null, +// render: (v) => `${v}`, +// end: null, +// }, +// }, +// userNotificationCenter: { +// willPresent: { +// func: 'func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {', +// begin: null, +// render: (v) => `${v}`, +// end: null, +// }, +// }, +// }; - const constructMethod = (lines: Array, method: SwiftMethod) => { - let output = ''; - if (lines.length || method.isRequired) { - output += `\n${method.func}\n`; - if (method.begin) output += ` ${method.begin}\n`; - lines.forEach((v) => { - output += ` ${method.render(v)}\n`; - }); - if (method.end) output += ` ${method.end}\n`; - output += '}\n'; - } - return output; - }; +// const constructMethod = (lines: Array, method: SwiftMethod) => { +// let output = ''; +// if (lines.length || method.isRequired) { +// output += `\n${method.func}\n`; +// if (method.begin) output += ` ${method.begin}\n`; +// lines.forEach((v) => { +// output += ` ${method.render(v)}\n`; +// }); +// if (method.end) output += ` ${method.end}\n`; +// output += '}\n'; +// } +// return output; +// }; - // REORDER Injects - const injectors: Array<{ - f: SwiftMethod; - lines: Array; - }> = []; - let cleanedLinesArr; - const mk = Object.keys(methods) as Array; - mk.forEach((key) => { - const method = methods[key]; - const mk2 = Object.keys(method) as Array; - mk2.forEach((key2) => { - const f = method[key2]; - const lines: Array = c.payload.pluginConfigiOS.appDelegateMethods[key][key2]; - const cleanedLines: Record = {}; +// // REORDER Injects +// const injectors: Array<{ +// f: SwiftMethod; +// lines: Array; +// }> = []; +// let cleanedLinesArr; +// const mk = Object.keys(methods) as Array; +// mk.forEach((key) => { +// const method = methods[key]; +// const mk2 = Object.keys(method) as Array; +// mk2.forEach((key2) => { +// const f = method[key2]; +// const lines: Array = c.payload.pluginConfigiOS.appDelegateMethods[key][key2]; +// const cleanedLines: Record = {}; - lines.forEach((l) => { - if (!cleanedLines[l.value]) { - cleanedLines[l.value] = l; - } +// lines.forEach((l) => { +// if (!cleanedLines[l.value]) { +// cleanedLines[l.value] = l; +// } - if (cleanedLines[l.value].weight < l.weight) { - cleanedLines[l.value] = l; - } - }); - cleanedLinesArr = Object.values(cleanedLines) - .sort((a, b) => a.order - b.order) - .map((v) => v.value); +// if (cleanedLines[l.value].weight < l.weight) { +// cleanedLines[l.value] = l; +// } +// }); +// cleanedLinesArr = Object.values(cleanedLines) +// .sort((a, b) => a.order - b.order) +// .map((v) => v.value); - injectors.push({ - f, - lines: cleanedLinesArr, - }); - }); - }); +// injectors.push({ +// f, +// lines: cleanedLinesArr, +// }); +// }); +// }); - injectors.forEach((v) => { - c.payload.pluginConfigiOS.pluginAppDelegateMethods += constructMethod(v.lines, v.f); - }); +// injectors.forEach((v) => { +// c.payload.pluginConfigiOS.pluginAppDelegateMethods += constructMethod(v.lines, v.f); +// }); - const injects = [ - { pattern: '{{BUNDLE}}', override: bundle }, - { pattern: '{{ENTRY_FILE}}', override: entryFile }, - { pattern: '{{IP}}', override: ip }, - { pattern: '{{PORT}}', override: newPort }, - { pattern: '{{BACKGROUND_COLOR}}', override: pluginBgColor }, - { - pattern: '{{APPDELEGATE_IMPORTS}}', - override: c.payload.pluginConfigiOS.pluginAppDelegateImports, - }, - { - pattern: '{{APPDELEGATE_METHODS}}', - override: c.payload.pluginConfigiOS.pluginAppDelegateMethods, - }, - { - pattern: '{{APPDELEGATE_EXTENSIONS}}', - override: c.payload.pluginConfigiOS.pluginAppDelegateExtensions, - }, - ]; +// const injects = [ +// { pattern: '{{BUNDLE}}', override: bundle }, +// { pattern: '{{ENTRY_FILE}}', override: entryFile }, +// { pattern: '{{IP}}', override: ip }, +// { pattern: '{{PORT}}', override: newPort }, +// { pattern: '{{BACKGROUND_COLOR}}', override: pluginBgColor }, +// { +// pattern: '{{APPDELEGATE_IMPORTS}}', +// override: c.payload.pluginConfigiOS.pluginAppDelegateImports, +// }, +// { +// pattern: '{{APPDELEGATE_METHODS}}', +// override: c.payload.pluginConfigiOS.pluginAppDelegateMethods, +// }, +// { +// pattern: '{{APPDELEGATE_EXTENSIONS}}', +// override: c.payload.pluginConfigiOS.pluginAppDelegateExtensions, +// }, +// ]; - addSystemInjects(c, injects); +// addSystemInjects(c, injects); - writeCleanFile( - path.join(getAppTemplateFolder(c, platform)!, appFolderName, appDelegate), - path.join(appFolder, appFolderName, appDelegate), - injects, - undefined, - c - ); - resolve(); - }); +// writeCleanFile( +// path.join(getAppTemplateFolder(c, platform)!, appFolderName, appDelegate), +// path.join(appFolder, appFolderName, appDelegate), +// injects, +// undefined, +// c +// ); +// resolve(); +// }); -export const injectPluginSwiftSync = (c: Context, plugin: RenativeConfigPluginPlatform, key: string) => { - logDebug(`injectPluginSwiftSync:${c.platform}:${key}`); - const templateXcode = getFlavouredProp(c, plugin, 'templateXcode'); - const appDelegateImports = templateXcode?.AppDelegate_mm?.appDelegateImports; - if (appDelegateImports) { - appDelegateImports.forEach((appDelegateImport) => { - // Avoid duplicate imports - logDebug('appDelegateImports add'); - if (c.payload.pluginConfigiOS.pluginAppDelegateImports.indexOf(appDelegateImport) === -1) { - logDebug('appDelegateImports add ok'); - c.payload.pluginConfigiOS.pluginAppDelegateImports += `import ${appDelegateImport}\n`; - } - }); - } - // if (plugin.appDelegateMethods instanceof Array) { - // c.payload.pluginConfigiOS.pluginAppDelegateMethods += `${plugin.appDelegateMethods.join('\n ')}`; - // } +// export const injectPluginSwiftSync = (c: Context, plugin: RenativeConfigPluginPlatform, key: string) => { +// logDebug(`injectPluginSwiftSync:${c.platform}:${key}`); +// const templateXcode = getFlavouredProp(c, plugin, 'templateXcode'); +// const appDelegateImports = templateXcode?.AppDelegate_mm?.appDelegateImports; +// if (appDelegateImports) { +// appDelegateImports.forEach((appDelegateImport) => { +// // Avoid duplicate imports +// logDebug('appDelegateImports add'); +// if (c.payload.pluginConfigiOS.pluginAppDelegateImports.indexOf(appDelegateImport) === -1) { +// logDebug('appDelegateImports add ok'); +// c.payload.pluginConfigiOS.pluginAppDelegateImports += `import ${appDelegateImport}\n`; +// } +// }); +// } +// // if (plugin.appDelegateMethods instanceof Array) { +// // c.payload.pluginConfigiOS.pluginAppDelegateMethods += `${plugin.appDelegateMethods.join('\n ')}`; +// // } - const appDelegateExtensions = templateXcode?.AppDelegate_mm?.appDelegateExtensions; - if (appDelegateExtensions instanceof Array) { - appDelegateExtensions.forEach((appDelegateExtension) => { - // Avoid duplicate imports - logDebug('appDelegateExtensions add'); - if (c.payload.pluginConfigiOS.pluginAppDelegateExtensions.indexOf(appDelegateExtension) === -1) { - logDebug('appDelegateExtensions add ok'); - c.payload.pluginConfigiOS.pluginAppDelegateExtensions += `, ${appDelegateExtension}`; - } - }); - } +// const appDelegateExtensions = templateXcode?.AppDelegate_mm?.appDelegateExtensions; +// if (appDelegateExtensions instanceof Array) { +// appDelegateExtensions.forEach((appDelegateExtension) => { +// // Avoid duplicate imports +// logDebug('appDelegateExtensions add'); +// if (c.payload.pluginConfigiOS.pluginAppDelegateExtensions.indexOf(appDelegateExtension) === -1) { +// logDebug('appDelegateExtensions add ok'); +// c.payload.pluginConfigiOS.pluginAppDelegateExtensions += `, ${appDelegateExtension}`; +// } +// }); +// } - const appDelegateMethods = templateXcode?.AppDelegate_mm?.appDelegateMethods; - if (appDelegateMethods) { - const admk = Object.keys(appDelegateMethods) as Array; - admk.forEach((delKey) => { - const amdk2 = Object.keys(appDelegateMethods[delKey]) as Array; - amdk2.forEach((key2) => { - const plugArr: Array = - c.payload.pluginConfigiOS.appDelegateMethods[delKey][key2]; - if (!plugArr) { - logWarning(`appDelegateMethods.${delKey}.${chalk().red(key2)} not supported. SKIPPING.`); - } else { - const plugVal: Array = appDelegateMethods[delKey][key2]; - if (plugVal) { - plugVal.forEach((v) => { - const isString = typeof v === 'string'; - plugArr.push({ - order: isString ? 0 : v?.order || 0, - value: isString ? v : v?.value, - weight: isString ? 0 : v?.weight || 0, - }); - }); - } - } - }); - }); - } -}; +// const appDelegateMethods = templateXcode?.AppDelegate_mm?.appDelegateMethods; +// if (appDelegateMethods) { +// const admk = Object.keys(appDelegateMethods) as Array; +// admk.forEach((delKey) => { +// const amdk2 = Object.keys(appDelegateMethods[delKey]) as Array; +// amdk2.forEach((key2) => { +// const plugArr: Array = +// c.payload.pluginConfigiOS.appDelegateMethods[delKey][key2]; +// if (!plugArr) { +// logWarning(`appDelegateMethods.${delKey}.${chalk().red(key2)} not supported. SKIPPING.`); +// } else { +// const plugVal: Array = appDelegateMethods[delKey][key2]; +// if (plugVal) { +// plugVal.forEach((v) => { +// const isString = typeof v === 'string'; +// plugArr.push({ +// order: isString ? 0 : v?.order || 0, +// value: isString ? v : v?.value, +// weight: isString ? 0 : v?.weight || 0, +// }); +// }); +// } +// } +// }); +// }); +// } +// }; diff --git a/packages/sdk-apple/src/types.ts b/packages/sdk-apple/src/types.ts index 80e0ff7197..fa6cbab25f 100644 --- a/packages/sdk-apple/src/types.ts +++ b/packages/sdk-apple/src/types.ts @@ -36,10 +36,11 @@ export type Payload = { staticPodDefinition: string; embeddedFontSources: Array; ignoreProjectFonts: Array; - pluginAppDelegateImports: string; - pluginAppDelegateMethods: string; - pluginAppDelegateExtensions: string; - appDelegateMethods: { + pluginAppDelegateMmImports: string; + pluginAppDelegateMmMethods: string; + pluginAppDelegateHExtensions: string; + pluginAppDelegateHImports: string; + appDelegateMmMethods: { application: { didFinishLaunchingWithOptions: Array; applicationDidBecomeActive: Array; @@ -84,10 +85,10 @@ export type PayloadAppDelegateMethod = { weight: number; }; -export type PayloadAppDelegateKey = keyof Payload['pluginConfigiOS']['appDelegateMethods']; +export type PayloadAppDelegateKey = keyof Payload['pluginConfigiOS']['appDelegateMmMethods']; -export type PayloadAppDelegateSubKey = keyof Payload['pluginConfigiOS']['appDelegateMethods']['application'] & - keyof Payload['pluginConfigiOS']['appDelegateMethods']['userNotificationCenter']; +export type PayloadAppDelegateSubKey = keyof Payload['pluginConfigiOS']['appDelegateMmMethods']['application'] & + keyof Payload['pluginConfigiOS']['appDelegateMmMethods']['userNotificationCenter']; export type Context = RnvContext; @@ -119,6 +120,28 @@ export type SwiftAppDelegate = { }; }; + +export type ObjectiveCAppDelegate = { + application: { + didFinishLaunchingWithOptions: SwiftMethod; + applicationDidBecomeActive: SwiftMethod; + sourceURLForBridge: SwiftMethod; + open: SwiftMethod; + continue: SwiftMethod; + supportedInterfaceOrientationsFor: SwiftMethod; + didConnectCarInterfaceController: SwiftMethod; + didDisconnectCarInterfaceController: SwiftMethod; + didReceiveRemoteNotification: SwiftMethod; + didFailToRegisterForRemoteNotificationsWithError: SwiftMethod; + // didReceive: SwiftMethod; + requestAuthorizationWithOptions: SwiftMethod; + didRegisterForRemoteNotificationsWithDeviceToken: SwiftMethod; + }; + userNotificationCenter: { + willPresent: SwiftMethod; + }; +}; + export type SwiftAppDelegateSubKey = keyof SwiftAppDelegate['application'] & keyof SwiftAppDelegate['userNotificationCenter']; diff --git a/yarn.lock b/yarn.lock index 7661e8083f..d0affb9dd4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17454,6 +17454,13 @@ react-is@^17.0.1: resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== +react-native-carplay@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/react-native-carplay/-/react-native-carplay-2.3.0.tgz#6cbd5d9d7207f68b5f5d37b6a9c8ea161808b435" + integrity sha512-IgDW8snk3Lpx37USGOxyDm3hC3JRvH30LjX2farR42QQgB8z7FDdDN+2cpPElg1j3W2OiUlzi2ydne35EmOCFw== + dependencies: + traverse "^0.6.6" + react-native-gesture-handler@2.13.1: version "2.13.1" resolved "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.13.1.tgz#bad89caacd62c4560b9953b02f85f37ee42d5d4c" @@ -17465,6 +17472,11 @@ react-native-gesture-handler@2.13.1: lodash "^4.17.21" prop-types "^15.7.2" +react-native-splash-screen@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/react-native-splash-screen/-/react-native-splash-screen-3.3.0.tgz#3af71ed17afe50fee69590a45aec399d071ead02" + integrity sha512-rGjt6HkoSXxMqH4SQUJ1gnPQlPJV8+J47+4yhgTIan4bVvAwJhEeJH7wWt9hXSdH4+VfwTS0GTaflj1Tw83IhA== + react-native-permissions@3.10.1: version "3.10.1" resolved "https://registry.yarnpkg.com/react-native-permissions/-/react-native-permissions-3.10.1.tgz#cb0171c8d12113869deaabbdfb979aad1a44752b" @@ -19977,6 +19989,11 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" integrity sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ== +traverse@^0.6.6: + version "0.6.8" + resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.8.tgz#5e5e0c41878b57e4b73ad2f3d1e36a715ea4ab15" + integrity sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA== + treeverse@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/treeverse/-/treeverse-3.0.0.tgz#dd82de9eb602115c6ebd77a574aae67003cb48c8"