From 25c889e2ffb643c8484ca0aa293359e5a7657d6c Mon Sep 17 00:00:00 2001 From: floydkim Date: Wed, 18 Feb 2026 21:26:09 +0900 Subject: [PATCH 1/8] fix(setup): make iOS project patch resilient across RN template variants RN 0.74.7 template can omit SUPPORTED_PLATFORMS in project.pbxproj, so the previous mandatory replacement failed during setup. Use optional replacement for SUPPORTED_PLATFORMS (and CODE_SIGN_IDENTITY) so setup remains compatible across RN template variants. --- scripts/setupExampleApp/runSetupExampleApp.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/scripts/setupExampleApp/runSetupExampleApp.ts b/scripts/setupExampleApp/runSetupExampleApp.ts index 3830eada..b7b8670a 100644 --- a/scripts/setupExampleApp/runSetupExampleApp.ts +++ b/scripts/setupExampleApp/runSetupExampleApp.ts @@ -210,17 +210,15 @@ async function configureIosVersioning(context: SetupContext): Promise { "IPHONEOS_DEPLOYMENT_TARGET = 16.0;", "IPHONEOS_DEPLOYMENT_TARGET" ); - nextContent = replaceAllOrThrow( + nextContent = replaceAllIfFound( nextContent, /"CODE_SIGN_IDENTITY\[sdk=iphoneos\*\]" = "iPhone Developer";/g, '"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "-";\n\t\t\t\tCODE_SIGNING_ALLOWED = NO;\n\t\t\t\tCODE_SIGNING_REQUIRED = NO;', - "CODE_SIGN_IDENTITY" ); - nextContent = replaceAllOrThrow( + nextContent = replaceAllIfFound( nextContent, /SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";/g, 'SUPPORTED_PLATFORMS = iphonesimulator;', - "SUPPORTED_PLATFORMS" ); nextContent = replaceAllOrThrow( nextContent, @@ -531,6 +529,14 @@ function replaceAllOrThrow( return replaced; } +function replaceAllIfFound( + input: string, + matcher: RegExp, + replacement: string, +): string { + return input.replace(matcher, () => replacement); +} + function executeCommand(command: string, args: string[], cwd: string): Promise { return new Promise((resolve, reject) => { const child = spawn(command, args, { From 5c7466fd07e93be5d2fc5c35b09802c829ca29e1 Mon Sep 17 00:00:00 2001 From: floydkim Date: Wed, 18 Feb 2026 23:03:34 +0900 Subject: [PATCH 2/8] chore(e2e): handle safe area for 0.74~0.80 --- scripts/setupExampleApp/runSetupExampleApp.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/setupExampleApp/runSetupExampleApp.ts b/scripts/setupExampleApp/runSetupExampleApp.ts index b7b8670a..e49e213e 100644 --- a/scripts/setupExampleApp/runSetupExampleApp.ts +++ b/scripts/setupExampleApp/runSetupExampleApp.ts @@ -325,6 +325,8 @@ function applyLocalPackageDependency(context: SetupContext) { packageJson.dependencies = packageJson.dependencies ?? {}; packageJson.dependencies["@bravemobile/react-native-code-push"] = "latest"; + packageJson.dependencies["react-native-safe-area-context"] = + packageJson.dependencies["react-native-safe-area-context"] ?? "^5.0.0"; ensureLocalCodePushSyncScript(packageJson, context); const serialized = `${JSON.stringify(packageJson, null, 2)}\n`; From e4a37e75f8296439915a3157980b4086bc75d76d Mon Sep 17 00:00:00 2001 From: floydkim Date: Wed, 18 Feb 2026 23:07:40 +0900 Subject: [PATCH 3/8] fix(Android): support legacy RN versions --- android/app/proguard-rules.pro | 9 +++ .../codepush/react/CodePushNativeModule.java | 77 +++++++++++++++---- 2 files changed, 69 insertions(+), 17 deletions(-) diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro index a86b4ff4..418cefcf 100644 --- a/android/app/proguard-rules.pro +++ b/android/app/proguard-rules.pro @@ -20,11 +20,20 @@ -keepclassmembers class com.facebook.react.ReactInstanceManager { private final ** mBundleLoader; } +# Activity.getReactHost() +-keepclassmembers class com.facebook.react.ReactActivity { + protected ** getReactHost(...); +} # bridgeless -keepclassmembers class com.facebook.react.defaults.DefaultReactHostDelegate { private ** jsBundleLoader; } # bridgeless +-keepclassmembers class * extends com.facebook.react.runtime.ReactHostDelegate { + private ** jsBundleLoader; + private ** _jsBundleLoader; +} +# bridgeless -keepclassmembers class com.facebook.react.runtime.ReactHostImpl { private final ** mReactHostDelegate; # RN < 0.81 private final ** reactHostDelegate; # RN 0.81+ diff --git a/android/app/src/main/java/com/microsoft/codepush/react/CodePushNativeModule.java b/android/app/src/main/java/com/microsoft/codepush/react/CodePushNativeModule.java index 3861b27f..69b24949 100644 --- a/android/app/src/main/java/com/microsoft/codepush/react/CodePushNativeModule.java +++ b/android/app/src/main/java/com/microsoft/codepush/react/CodePushNativeModule.java @@ -35,6 +35,7 @@ import java.io.IOException; import java.lang.reflect.Field; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -151,26 +152,31 @@ private void setJSBundleLoaderBridge(JSBundleLoader latestJSBundleLoader) throws @OptIn(markerClass = UnstableReactNativeAPI.class) private void setJSBundleLoaderBridgeless(ReactHost reactHost, JSBundleLoader latestJSBundleLoader) throws NoSuchFieldException, IllegalAccessException { - Field reactHostDelegateField; - try { - // RN < 0.81 - reactHostDelegateField = reactHost.getClass().getDeclaredField("mReactHostDelegate"); - } catch (NoSuchFieldException e) { + // RN < 0.81 + Field reactHostDelegateField = resolveDeclaredField(reactHost.getClass(), "mReactHostDelegate"); + if (reactHostDelegateField == null) { // RN >= 0.81 - reactHostDelegateField = reactHost.getClass().getDeclaredField("reactHostDelegate"); + reactHostDelegateField = resolveDeclaredField(reactHost.getClass(), "reactHostDelegate"); + } + if (reactHostDelegateField == null) { + throw new NoSuchFieldException("Unable to resolve ReactHostDelegate field."); } + reactHostDelegateField.setAccessible(true); ReactHostDelegate reactHostDelegate = (ReactHostDelegate) reactHostDelegateField.get(reactHost); assert reactHostDelegate != null; - Field jsBundleLoaderField; - try { - // Expo ReactHost delegate keeps this mutable backing field specifically - // so integrations can override the bundle loader at runtime. - jsBundleLoaderField = reactHostDelegate.getClass().getDeclaredField("_jsBundleLoader"); - } catch (NoSuchFieldException ignored) { + + // Expo ReactHost delegate keeps this mutable backing field specifically + // so integrations can override the bundle loader at runtime. + Field jsBundleLoaderField = resolveDeclaredField(reactHostDelegate.getClass(), "_jsBundleLoader"); + if (jsBundleLoaderField == null) { // Fallback for non-Expo delegates. - jsBundleLoaderField = reactHostDelegate.getClass().getDeclaredField("jsBundleLoader"); + jsBundleLoaderField = resolveDeclaredField(reactHostDelegate.getClass(), "jsBundleLoader"); + } + if (jsBundleLoaderField == null) { + throw new NoSuchFieldException("Unable to resolve JSBundleLoader field."); } + jsBundleLoaderField.setAccessible(true); jsBundleLoaderField.set(reactHostDelegate, latestJSBundleLoader); } @@ -239,14 +245,51 @@ private ReactDelegate resolveReactDelegate() { return currentActivity.getReactDelegate(); } + // TODO: deprecate legacy versions and use `reactDelegate.getReactHost()` private ReactHost resolveReactHost() { - ReactDelegate reactDelegate = resolveReactDelegate(); - if (reactDelegate == null) { - CodePushUtils.log("Unable to resolve ReactDelegate"); + ReactActivity currentActivity = (ReactActivity) getReactApplicationContext().getCurrentActivity(); + if (currentActivity == null) { return null; } - return reactDelegate.getReactHost(); + Method activityGetReactHostMethod = resolveDeclaredMethod(currentActivity.getClass(), "getReactHost"); + if (activityGetReactHostMethod != null) { + try { + activityGetReactHostMethod.setAccessible(true); + Object reactHost = activityGetReactHostMethod.invoke(currentActivity); + if (reactHost instanceof ReactHost) { + return (ReactHost) reactHost; + } + } catch (Exception e) { + CodePushUtils.log("Unable to resolve ReactHost from Activity.getReactHost(): " + e.getMessage()); + } + } + + return null; + } + + private Method resolveDeclaredMethod(Class targetClass, String methodName) { + Class cursor = targetClass; + while (cursor != null) { + try { + return cursor.getDeclaredMethod(methodName); + } catch (NoSuchMethodException ignored) { + cursor = cursor.getSuperclass(); + } + } + return null; + } + + private Field resolveDeclaredField(Class targetClass, String fieldName) { + Class cursor = targetClass; + while (cursor != null) { + try { + return cursor.getDeclaredField(fieldName); + } catch (NoSuchFieldException ignored) { + cursor = cursor.getSuperclass(); + } + } + return null; } private void restartAppInternal(boolean onlyIfUpdateIsPending) { From b9a59f5fb5bb898287cc087e5aff1b90bff0376b Mon Sep 17 00:00:00 2001 From: floydkim Date: Wed, 18 Feb 2026 23:30:05 +0900 Subject: [PATCH 4/8] fix(e2e): replace axios with fetch for release history retrieval https://github.com/axios/axios/issues/7357 --- scripts/setupExampleApp/templates/App.tsx.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/setupExampleApp/templates/App.tsx.txt b/scripts/setupExampleApp/templates/App.tsx.txt index d8e75222..5ddbbbca 100644 --- a/scripts/setupExampleApp/templates/App.tsx.txt +++ b/scripts/setupExampleApp/templates/App.tsx.txt @@ -12,7 +12,6 @@ import CodePush, { ReleaseHistoryInterface, UpdateCheckRequest, } from '@bravemobile/react-native-code-push'; -import axios from 'axios'; import { SafeAreaProvider, useSafeAreaInsets } from 'react-native-safe-area-context'; // Set this to true before run `npx code-push release` to release a new bundle @@ -126,13 +125,17 @@ async function releaseHistoryFetcher( const releaseHistoryUrl = `${CODEPUSH_HOST}/histories/${getPlatform()}/${IDENTIFIER}/${jsonFileName}`; try { - const { data } = await axios.get(releaseHistoryUrl, { + const response = await fetch(releaseHistoryUrl, { + method: 'GET', headers: { Accept: 'application/json', 'Cache-Control': 'no-cache', }, }); - return data; + if (!response.ok) { + throw new Error(`Failed to fetch release history: ${response.status} ${response.statusText}`); + } + return (await response.json()) as ReleaseHistoryInterface; } catch (error) { console.error(error); throw error; From 74fed022449abaa3cd3fe762034ffce43ee1598a Mon Sep 17 00:00:00 2001 From: floydkim Date: Thu, 19 Feb 2026 22:20:30 +0900 Subject: [PATCH 5/8] chore(e2e): reset watchman project before e2e runs --- e2e/run.ts | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/e2e/run.ts b/e2e/run.ts index b1e2d22d..de849dab 100644 --- a/e2e/run.ts +++ b/e2e/run.ts @@ -28,6 +28,7 @@ const program = new Command() async function main() { const options = program.parse(process.argv).opts(); const appPath = getAppPath(options.app); + const repoRoot = path.resolve(__dirname, ".."); if (!fs.existsSync(appPath)) { console.error(`Example app not found: ${appPath}`); @@ -35,6 +36,7 @@ async function main() { return; } + await resetWatchmanProject(repoRoot); await syncLocalLibraryIfAvailable(appPath, options.maestroOnly ?? false); const releaseIdentifier = getCodePushReleaseIdentifier(appPath); @@ -252,6 +254,50 @@ function runMaestro(flowsDir: string, platform: "ios" | "android", appId: string void main(); +async function resetWatchmanProject(repoRoot: string): Promise { + console.log("\n=== [watchman] ==="); + + const watchDel = await runWatchmanCommand(["watch-del", repoRoot]); + if (!watchDel.ok && !watchDel.message.includes("not watched")) { + console.warn(`[warn] watchman watch-del failed: ${watchDel.message}`); + } + + const watchProject = await runWatchmanCommand(["watch-project", repoRoot]); + if (!watchProject.ok) { + console.warn(`[warn] watchman watch-project failed: ${watchProject.message}`); + return; + } + + console.log("[watchman] watch reset done"); +} + +function runWatchmanCommand(args: string[]): Promise<{ ok: boolean; message: string }> { + console.log(`[command] watchman ${args.join(" ")}`); + + return new Promise((resolve) => { + const child = spawn("watchman", args, { + stdio: ["ignore", "pipe", "pipe"], + }); + let output = ""; + child.stdout?.on("data", (chunk) => { + output += chunk.toString(); + }); + child.stderr?.on("data", (chunk) => { + output += chunk.toString(); + }); + child.on("error", (error) => { + resolve({ ok: false, message: error.message }); + }); + child.on("close", (code) => { + if (code === 0) { + resolve({ ok: true, message: output.trim() }); + } else { + resolve({ ok: false, message: output.trim() }); + } + }); + }); +} + function resetAppStateBeforeFlows( platform: "ios" | "android", appId: string, From f73c7fd8604e3352cefe026d01447ce539ac0ddd Mon Sep 17 00:00:00 2001 From: floydkim Date: Thu, 19 Feb 2026 22:20:33 +0900 Subject: [PATCH 6/8] chore(e2e): improve RN CLI matrix runner and disable new architecture for RN < 0.77 --- scripts/e2e/run-rn-cli-matrix.sh | 107 ++++++++++++++++-- scripts/setupExampleApp/runSetupExampleApp.ts | 48 ++++++++ 2 files changed, 144 insertions(+), 11 deletions(-) diff --git a/scripts/e2e/run-rn-cli-matrix.sh b/scripts/e2e/run-rn-cli-matrix.sh index b5b5428e..0360137f 100755 --- a/scripts/e2e/run-rn-cli-matrix.sh +++ b/scripts/e2e/run-rn-cli-matrix.sh @@ -6,17 +6,24 @@ EXAMPLES_DIR="$ROOT_DIR/Examples" RN_VERSIONS=( "0.74.7" + "0.75.5" "0.76.9" + "0.77.3" + "0.78.3" "0.79.7" "0.80.3" "0.81.6" "0.82.1" "0.83.2" - "0.84.1" + "0.84.0" ) FORCE_RECREATE=0 SKIP_SETUP=0 +FAILED_E2E=() +PASSED_E2E=() +RUN_ANDROID=1 +RUN_IOS=1 while [[ $# -gt 0 ]]; do case "$1" in @@ -28,9 +35,35 @@ while [[ $# -gt 0 ]]; do SKIP_SETUP=1 shift ;; + --only) + if [[ $# -lt 2 ]]; then + echo "Missing value for --only (android|ios)" >&2 + exit 1 + fi + case "$2" in + android) + RUN_ANDROID=1 + RUN_IOS=0 + ;; + ios) + RUN_ANDROID=0 + RUN_IOS=1 + ;; + *) + echo "Invalid platform for --only: $2 (expected: android|ios)" >&2 + exit 1 + ;; + esac + shift 2 + ;; + --skip-platform) + echo "Unknown option: $1" >&2 + echo "Use --only android|ios instead." >&2 + exit 1 + ;; *) echo "Unknown option: $1" >&2 - echo "Usage: $0 [--force-recreate] [--skip-setup]" >&2 + echo "Usage: $0 [--force-recreate] [--skip-setup] [--only android|ios]" >&2 exit 1 ;; esac @@ -71,27 +104,79 @@ setup_app_if_needed() { run_cmd npm run setup-example-app -- -v "$rn_version" } -run_e2e_for_app() { +run_e2e_for_app_platform() { local app_name="$1" + local platform="$2" + + if run_cmd npm run e2e -- --app "$app_name" --platform "$platform"; then + PASSED_E2E+=("${app_name}:${platform}") + else + FAILED_E2E+=("${app_name}:${platform}") + echo "[warn] e2e failed (app=${app_name}, platform=${platform})" + fi +} + +print_e2e_summary() { + echo + echo "============================================================" + echo "[E2E SUMMARY]" + echo "============================================================" + echo "passed: ${#PASSED_E2E[@]}" + echo "failed: ${#FAILED_E2E[@]}" - run_cmd npm run e2e -- --app "$app_name" --platform android - run_cmd npm run e2e -- --app "$app_name" --platform ios + if [[ ${#FAILED_E2E[@]} -gt 0 ]]; then + echo + echo "Failed E2E targets:" + for failed in "${FAILED_E2E[@]}"; do + echo " - $failed" + done + fi } main() { cd "$ROOT_DIR" + if [[ "$RUN_ANDROID" -eq 0 && "$RUN_IOS" -eq 0 ]]; then + echo "Both platforms are skipped. Nothing to run." + return 0 + fi + for rn_version in "${RN_VERSIONS[@]}"; do local_app_name="$(app_name_from_rn_version "$rn_version")" + setup_app_if_needed "$rn_version" "$local_app_name" + done + if [[ "$RUN_ANDROID" -eq 1 ]]; then echo - echo "============================================================" - echo "[RN CLI] version=$rn_version app=$local_app_name" - echo "============================================================" + echo "############################################################" + echo "[E2E] platform=android (all versions)" + echo "############################################################" + for rn_version in "${RN_VERSIONS[@]}"; do + local_app_name="$(app_name_from_rn_version "$rn_version")" + echo + echo "[ANDROID] version=$rn_version app=$local_app_name" + run_e2e_for_app_platform "$local_app_name" "android" + done + fi - setup_app_if_needed "$rn_version" "$local_app_name" - run_e2e_for_app "$local_app_name" - done + if [[ "$RUN_IOS" -eq 1 ]]; then + echo + echo "############################################################" + echo "[E2E] platform=ios (all versions)" + echo "############################################################" + for rn_version in "${RN_VERSIONS[@]}"; do + local_app_name="$(app_name_from_rn_version "$rn_version")" + echo + echo "[iOS] version=$rn_version app=$local_app_name" + run_e2e_for_app_platform "$local_app_name" "ios" + done + fi + + print_e2e_summary + + if [[ ${#FAILED_E2E[@]} -gt 0 ]]; then + return 1 + fi } main diff --git a/scripts/setupExampleApp/runSetupExampleApp.ts b/scripts/setupExampleApp/runSetupExampleApp.ts index e49e213e..92e967c9 100644 --- a/scripts/setupExampleApp/runSetupExampleApp.ts +++ b/scripts/setupExampleApp/runSetupExampleApp.ts @@ -59,6 +59,11 @@ const setupSteps: SetupStep[] = [ description: "Configure Android version information", run: configureAndroidVersioning }, + { + name: "configure-new-architecture", + description: "Disable new architecture for RN <= 0.76", + run: configureNewArchitecture + }, { name: "configure-local-code-link", description: "Configure local library link", @@ -291,6 +296,49 @@ async function configureAndroidVersioning(context: SetupContext): Promise }); } +async function configureNewArchitecture(context: SetupContext): Promise { + if (!shouldDisableNewArchitecture(context.rnVersion)) { + console.log("[skip] RN >= 0.77, keeping template new architecture setting"); + return; + } + + const androidGradlePropertiesPath = path.join( + context.projectPath, + "android", + "gradle.properties" + ); + + updateTextFile(androidGradlePropertiesPath, (content) => { + if (/^newArchEnabled\s*=.*$/m.test(content)) { + return content.replace(/^newArchEnabled\s*=.*$/m, "newArchEnabled=false"); + } + + const suffix = content.endsWith("\n") ? "" : "\n"; + return `${content}${suffix}newArchEnabled=false\n`; + }); + + const iosPodfilePath = path.join(context.projectPath, "ios", "Podfile"); + updateTextFile(iosPodfilePath, (content) => { + const envLine = "ENV['RCT_NEW_ARCH_ENABLED'] = '0'"; + if (content.includes(envLine)) { + return content; + } + + if (/ENV\['RCT_NEW_ARCH_ENABLED'\]\s*=\s*'1'/.test(content)) { + return content.replace( + /ENV\['RCT_NEW_ARCH_ENABLED'\]\s*=\s*'1'/, + envLine + ); + } + + return `${envLine}\n${content}`; + }); +} + +function shouldDisableNewArchitecture(rnVersion: string): boolean { + return semver.lt(rnVersion, "0.77.0"); +} + async function configureLocalCodeLink(context: SetupContext): Promise { applyLocalPackageDependency(context); await ensureRequiredDevDependencies(context); From 5a073e6a67d2c96c2faf6a748a7287ba09cb300c Mon Sep 17 00:00:00 2001 From: floydkim Date: Thu, 19 Feb 2026 23:33:16 +0900 Subject: [PATCH 7/8] refactor(e2e): simplify code-push command invocation --- e2e/helpers/prepare-bundle.ts | 19 +++++++++++-------- e2e/run.ts | 20 ++++++++++---------- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/e2e/helpers/prepare-bundle.ts b/e2e/helpers/prepare-bundle.ts index e76c44f7..2456246a 100644 --- a/e2e/helpers/prepare-bundle.ts +++ b/e2e/helpers/prepare-bundle.ts @@ -49,8 +49,8 @@ export async function prepareBundle( setReleasingBundle(appPath, true); try { - await runCodePushCommand(appPath, platform, appName, [ - "code-push", "create-history", + await runCodePushCommand(appPath, platform, [ + "create-history", "-c", "code-push.config.local.ts", "-b", "1.0.0", "-p", platform, @@ -69,8 +69,8 @@ function runCodePushRelease( framework?: "expo", ): Promise { const { frameworkArgs, entryFile } = getCodePushReleaseArgs(appPath, framework); - return runCodePushCommand(appPath, platform, appName, [ - "code-push", "release", + return runCodePushCommand(appPath, platform, [ + "release", "-c", "code-push.config.local.ts", "-b", "1.0.0", "-v", "1.0.1", @@ -118,13 +118,16 @@ function resolveReactNativeEntryFile(appPath: string): string { export function runCodePushCommand( appPath: string, platform: "ios" | "android", - appName: string, args: string[], ): Promise { - console.log(`[command] npx ${args.join(" ")} (cwd: ${appPath})`); + const command = "npx"; + const commandArgs = ["code-push", ...args]; + const commandLabel = `npx ${commandArgs.join(" ")}`; + + console.log(`[command] ${commandLabel} (cwd: ${appPath})`); return new Promise((resolve, reject) => { - const child = spawn("npx", args, { + const child = spawn(command, commandArgs, { cwd: appPath, stdio: "inherit", env: { @@ -136,7 +139,7 @@ export function runCodePushCommand( child.on("error", reject); child.on("close", (code) => { if (code === 0) resolve(); - else reject(new Error(`npx ${args[0]} ${args[1]} failed (exit code: ${code})`)); + else reject(new Error(`${commandLabel} failed (exit code: ${code})`)); }); }); } diff --git a/e2e/run.ts b/e2e/run.ts index de849dab..ce39c8f4 100644 --- a/e2e/run.ts +++ b/e2e/run.ts @@ -71,8 +71,8 @@ async function main() { // 6. Disable release for rollback test console.log("\n=== [disable-release] ==="); - await runCodePushCommand(appPath, options.platform, options.app, [ - "code-push", "update-history", + await runCodePushCommand(appPath, options.platform, [ + "update-history", "-c", "code-push.config.local.ts", "-b", "1.0.0", "-v", "1.0.1", @@ -92,16 +92,16 @@ async function main() { setReleasingBundle(appPath, true); const { entryFile, frameworkArgs } = getCodePushReleaseArgs(appPath, options.framework); try { - await runCodePushCommand(appPath, options.platform, options.app, [ - "code-push", "create-history", + await runCodePushCommand(appPath, options.platform, [ + "create-history", "-c", "code-push.config.local.ts", "-b", "1.0.0", "-p", options.platform, "-i", releaseIdentifier, ]); setReleaseMarker(appPath, "1.0.1"); - await runCodePushCommand(appPath, options.platform, options.app, [ - "code-push", "release", + await runCodePushCommand(appPath, options.platform, [ + "release", "-c", "code-push.config.local.ts", "-b", "1.0.0", "-v", "1.0.1", ...frameworkArgs, @@ -109,8 +109,8 @@ async function main() { "-e", entryFile, "-m", "true", ]); setReleaseMarker(appPath, "1.0.2"); - await runCodePushCommand(appPath, options.platform, options.app, [ - "code-push", "release", + await runCodePushCommand(appPath, options.platform, [ + "release", "-c", "code-push.config.local.ts", "-b", "1.0.0", "-v", "1.0.2", ...frameworkArgs, @@ -129,8 +129,8 @@ async function main() { // 10. Disable only 1.0.2 → rollback target is 1.0.1 (not binary) console.log("\n=== [disable-release: 1.0.2 only] ==="); - await runCodePushCommand(appPath, options.platform, options.app, [ - "code-push", "update-history", + await runCodePushCommand(appPath, options.platform, [ + "update-history", "-c", "code-push.config.local.ts", "-b", "1.0.0", "-v", "1.0.2", "-p", options.platform, "-i", releaseIdentifier, From 923105b161284db10c95d629d7bd583f1862523b Mon Sep 17 00:00:00 2001 From: floydkim Date: Fri, 20 Feb 2026 00:23:22 +0900 Subject: [PATCH 8/8] chore(e2e): add RN CLI example apps (E2E passed) --- Examples/RN0747/.bundle/config | 2 + Examples/RN0747/.eslintrc.js | 4 + Examples/RN0747/.gitignore | 74 + Examples/RN0747/.prettierrc.js | 7 + Examples/RN0747/.watchmanconfig | 1 + Examples/RN0747/App.tsx | 191 + Examples/RN0747/Gemfile | 11 + Examples/RN0747/Gemfile.lock | 104 + Examples/RN0747/README.md | 79 + Examples/RN0747/__tests__/App.test.tsx | 17 + Examples/RN0747/android/app/build.gradle | 118 + Examples/RN0747/android/app/debug.keystore | Bin 0 -> 2257 bytes .../RN0747/android/app/proguard-rules.pro | 10 + .../android/app/src/main/AndroidManifest.xml | 25 + .../src/main/java/com/rn0747/MainActivity.kt | 22 + .../main/java/com/rn0747/MainApplication.kt | 45 + .../res/drawable/rn_edit_text_material.xml | 37 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 9 + Examples/RN0747/android/build.gradle | 21 + Examples/RN0747/android/gradle.properties | 41 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 63721 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + Examples/RN0747/android/gradlew | 249 + Examples/RN0747/android/gradlew.bat | 92 + Examples/RN0747/android/settings.gradle | 4 + Examples/RN0747/app.json | 4 + Examples/RN0747/babel.config.js | 3 + Examples/RN0747/code-push.config.ts | 116 + Examples/RN0747/index.js | 9 + Examples/RN0747/ios/.xcode.env | 11 + Examples/RN0747/ios/Podfile | 41 + Examples/RN0747/ios/Podfile.lock | 1427 ++ .../ios/RN0747.xcodeproj/project.pbxproj | 716 + .../xcshareddata/xcschemes/RN0747.xcscheme | 88 + .../contents.xcworkspacedata | 10 + Examples/RN0747/ios/RN0747/AppDelegate.h | 6 + Examples/RN0747/ios/RN0747/AppDelegate.mm | 32 + .../AppIcon.appiconset/Contents.json | 53 + .../ios/RN0747/Images.xcassets/Contents.json | 6 + Examples/RN0747/ios/RN0747/Info.plist | 52 + .../RN0747/ios/RN0747/LaunchScreen.storyboard | 47 + .../RN0747/ios/RN0747/PrivacyInfo.xcprivacy | 37 + Examples/RN0747/ios/RN0747/main.m | 10 + Examples/RN0747/ios/RN0747Tests/Info.plist | 24 + Examples/RN0747/ios/RN0747Tests/RN0747Tests.m | 66 + Examples/RN0747/jest.config.js | 3 + Examples/RN0747/metro.config.js | 11 + Examples/RN0747/package-lock.json | 13100 +++++++++++++++ Examples/RN0747/package.json | 45 + Examples/RN0747/tsconfig.json | 16 + Examples/RN0755/.bundle/config | 2 + Examples/RN0755/.eslintrc.js | 4 + Examples/RN0755/.gitignore | 74 + Examples/RN0755/.prettierrc.js | 7 + Examples/RN0755/.watchmanconfig | 1 + Examples/RN0755/App.tsx | 191 + Examples/RN0755/Gemfile | 10 + Examples/RN0755/Gemfile.lock | 104 + Examples/RN0755/README.md | 79 + Examples/RN0755/__tests__/App.test.tsx | 17 + Examples/RN0755/android/app/build.gradle | 119 + Examples/RN0755/android/app/debug.keystore | Bin 0 -> 2257 bytes .../RN0755/android/app/proguard-rules.pro | 10 + .../android/app/src/main/AndroidManifest.xml | 26 + .../src/main/java/com/rn0755/MainActivity.kt | 22 + .../main/java/com/rn0755/MainApplication.kt | 45 + .../res/drawable/rn_edit_text_material.xml | 37 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 9 + Examples/RN0755/android/build.gradle | 21 + Examples/RN0755/android/gradle.properties | 39 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43453 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + Examples/RN0755/android/gradlew | 249 + Examples/RN0755/android/gradlew.bat | 92 + Examples/RN0755/android/settings.gradle | 6 + Examples/RN0755/app.json | 4 + Examples/RN0755/babel.config.js | 3 + Examples/RN0755/code-push.config.ts | 116 + Examples/RN0755/index.js | 9 + Examples/RN0755/ios/.xcode.env | 11 + Examples/RN0755/ios/Podfile | 41 + Examples/RN0755/ios/Podfile.lock | 1792 ++ .../ios/RN0755.xcodeproj/project.pbxproj | 717 + .../xcshareddata/xcschemes/RN0755.xcscheme | 88 + .../contents.xcworkspacedata | 10 + Examples/RN0755/ios/RN0755/AppDelegate.h | 6 + Examples/RN0755/ios/RN0755/AppDelegate.mm | 32 + .../AppIcon.appiconset/Contents.json | 53 + .../ios/RN0755/Images.xcassets/Contents.json | 6 + Examples/RN0755/ios/RN0755/Info.plist | 52 + .../RN0755/ios/RN0755/LaunchScreen.storyboard | 47 + .../RN0755/ios/RN0755/PrivacyInfo.xcprivacy | 37 + Examples/RN0755/ios/RN0755/main.m | 10 + Examples/RN0755/ios/RN0755Tests/Info.plist | 24 + Examples/RN0755/ios/RN0755Tests/RN0755Tests.m | 66 + Examples/RN0755/jest.config.js | 3 + Examples/RN0755/metro.config.js | 11 + Examples/RN0755/package-lock.json | 13003 +++++++++++++++ Examples/RN0755/package.json | 45 + Examples/RN0755/tsconfig.json | 16 + Examples/RN0769/.bundle/config | 2 + Examples/RN0769/.eslintrc.js | 4 + Examples/RN0769/.gitignore | 74 + Examples/RN0769/.prettierrc.js | 7 + Examples/RN0769/.watchmanconfig | 1 + Examples/RN0769/App.tsx | 191 + Examples/RN0769/Gemfile | 10 + Examples/RN0769/Gemfile.lock | 104 + Examples/RN0769/README.md | 79 + Examples/RN0769/__tests__/App.test.tsx | 17 + Examples/RN0769/android/app/build.gradle | 119 + Examples/RN0769/android/app/debug.keystore | Bin 0 -> 2257 bytes .../RN0769/android/app/proguard-rules.pro | 10 + .../android/app/src/main/AndroidManifest.xml | 26 + .../src/main/java/com/rn0769/MainActivity.kt | 22 + .../main/java/com/rn0769/MainApplication.kt | 46 + .../res/drawable/rn_edit_text_material.xml | 37 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 9 + Examples/RN0769/android/build.gradle | 21 + Examples/RN0769/android/gradle.properties | 39 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43583 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + Examples/RN0769/android/gradlew | 252 + Examples/RN0769/android/gradlew.bat | 94 + Examples/RN0769/android/settings.gradle | 6 + Examples/RN0769/app.json | 4 + Examples/RN0769/babel.config.js | 3 + Examples/RN0769/code-push.config.ts | 116 + Examples/RN0769/index.js | 9 + Examples/RN0769/ios/.xcode.env | 11 + Examples/RN0769/ios/Podfile | 41 + Examples/RN0769/ios/Podfile.lock | 1861 +++ .../ios/RN0769.xcodeproj/project.pbxproj | 709 + .../xcshareddata/xcschemes/RN0769.xcscheme | 88 + .../contents.xcworkspacedata | 10 + Examples/RN0769/ios/RN0769/AppDelegate.h | 6 + Examples/RN0769/ios/RN0769/AppDelegate.mm | 32 + .../AppIcon.appiconset/Contents.json | 53 + .../ios/RN0769/Images.xcassets/Contents.json | 6 + Examples/RN0769/ios/RN0769/Info.plist | 52 + .../RN0769/ios/RN0769/LaunchScreen.storyboard | 47 + .../RN0769/ios/RN0769/PrivacyInfo.xcprivacy | 37 + Examples/RN0769/ios/RN0769/main.m | 10 + Examples/RN0769/ios/RN0769Tests/Info.plist | 24 + Examples/RN0769/ios/RN0769Tests/RN0769Tests.m | 66 + Examples/RN0769/jest.config.js | 3 + Examples/RN0769/metro.config.js | 11 + Examples/RN0769/package-lock.json | 13478 ++++++++++++++++ Examples/RN0769/package.json | 48 + Examples/RN0769/tsconfig.json | 16 + Examples/RN0773/.bundle/config | 2 + Examples/RN0773/.eslintrc.js | 4 + Examples/RN0773/.gitignore | 74 + Examples/RN0773/.prettierrc.js | 7 + Examples/RN0773/.watchmanconfig | 1 + Examples/RN0773/App.tsx | 191 + Examples/RN0773/Gemfile | 10 + Examples/RN0773/Gemfile.lock | 104 + Examples/RN0773/README.md | 97 + Examples/RN0773/__tests__/App.test.tsx | 13 + Examples/RN0773/android/app/build.gradle | 119 + Examples/RN0773/android/app/debug.keystore | Bin 0 -> 2257 bytes .../RN0773/android/app/proguard-rules.pro | 10 + .../android/app/src/main/AndroidManifest.xml | 26 + .../src/main/java/com/rn0773/MainActivity.kt | 22 + .../main/java/com/rn0773/MainApplication.kt | 46 + .../res/drawable/rn_edit_text_material.xml | 37 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 9 + Examples/RN0773/android/build.gradle | 21 + Examples/RN0773/android/gradle.properties | 39 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43583 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + Examples/RN0773/android/gradlew | 252 + Examples/RN0773/android/gradlew.bat | 94 + Examples/RN0773/android/settings.gradle | 6 + Examples/RN0773/app.json | 4 + Examples/RN0773/babel.config.js | 3 + Examples/RN0773/code-push.config.ts | 116 + Examples/RN0773/index.js | 9 + Examples/RN0773/ios/.xcode.env | 11 + Examples/RN0773/ios/Podfile | 35 + Examples/RN0773/ios/Podfile.lock | 1874 +++ .../ios/RN0773.xcodeproj/project.pbxproj | 496 + .../xcshareddata/xcschemes/RN0773.xcscheme | 88 + .../contents.xcworkspacedata | 10 + Examples/RN0773/ios/RN0773/AppDelegate.swift | 30 + .../AppIcon.appiconset/Contents.json | 53 + .../ios/RN0773/Images.xcassets/Contents.json | 6 + Examples/RN0773/ios/RN0773/Info.plist | 52 + .../RN0773/ios/RN0773/LaunchScreen.storyboard | 47 + .../RN0773/ios/RN0773/PrivacyInfo.xcprivacy | 37 + .../ios/RN0773/RN0773-Bridging-Header.h | 1 + Examples/RN0773/jest.config.js | 3 + Examples/RN0773/metro.config.js | 11 + Examples/RN0773/package-lock.json | 13329 +++++++++++++++ Examples/RN0773/package.json | 48 + Examples/RN0773/tsconfig.json | 16 + Examples/RN0783/.bundle/config | 2 + Examples/RN0783/.eslintrc.js | 4 + Examples/RN0783/.gitignore | 75 + Examples/RN0783/.prettierrc.js | 7 + Examples/RN0783/.watchmanconfig | 1 + Examples/RN0783/App.tsx | 191 + Examples/RN0783/Gemfile | 10 + Examples/RN0783/Gemfile.lock | 104 + Examples/RN0783/README.md | 97 + Examples/RN0783/__tests__/App.test.tsx | 13 + Examples/RN0783/android/app/build.gradle | 119 + Examples/RN0783/android/app/debug.keystore | Bin 0 -> 2257 bytes .../RN0783/android/app/proguard-rules.pro | 10 + .../android/app/src/main/AndroidManifest.xml | 26 + .../src/main/java/com/rn0783/MainActivity.kt | 22 + .../main/java/com/rn0783/MainApplication.kt | 46 + .../res/drawable/rn_edit_text_material.xml | 37 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 9 + Examples/RN0783/android/build.gradle | 21 + Examples/RN0783/android/gradle.properties | 39 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43583 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + Examples/RN0783/android/gradlew | 251 + Examples/RN0783/android/gradlew.bat | 94 + Examples/RN0783/android/settings.gradle | 6 + Examples/RN0783/app.json | 4 + Examples/RN0783/babel.config.js | 3 + Examples/RN0783/code-push.config.ts | 116 + Examples/RN0783/index.js | 9 + Examples/RN0783/ios/.xcode.env | 11 + Examples/RN0783/ios/Podfile | 35 + Examples/RN0783/ios/Podfile.lock | 1900 +++ .../ios/RN0783.xcodeproj/project.pbxproj | 496 + .../xcshareddata/xcschemes/RN0783.xcscheme | 88 + .../contents.xcworkspacedata | 10 + Examples/RN0783/ios/RN0783/AppDelegate.swift | 30 + .../AppIcon.appiconset/Contents.json | 53 + .../ios/RN0783/Images.xcassets/Contents.json | 6 + Examples/RN0783/ios/RN0783/Info.plist | 52 + .../RN0783/ios/RN0783/LaunchScreen.storyboard | 47 + .../RN0783/ios/RN0783/PrivacyInfo.xcprivacy | 37 + .../ios/RN0783/RN0783-Bridging-Header.h | 1 + Examples/RN0783/jest.config.js | 3 + Examples/RN0783/metro.config.js | 11 + Examples/RN0783/package-lock.json | 13283 +++++++++++++++ Examples/RN0783/package.json | 48 + Examples/RN0783/tsconfig.json | 16 + Examples/RN0797/.bundle/config | 2 + Examples/RN0797/.eslintrc.js | 4 + Examples/RN0797/.gitignore | 75 + Examples/RN0797/.prettierrc.js | 7 + Examples/RN0797/.watchmanconfig | 1 + Examples/RN0797/App.tsx | 191 + Examples/RN0797/Gemfile | 16 + Examples/RN0797/Gemfile.lock | 111 + Examples/RN0797/README.md | 97 + Examples/RN0797/__tests__/App.test.tsx | 13 + Examples/RN0797/android/app/build.gradle | 119 + Examples/RN0797/android/app/debug.keystore | Bin 0 -> 2257 bytes .../RN0797/android/app/proguard-rules.pro | 10 + .../android/app/src/main/AndroidManifest.xml | 26 + .../src/main/java/com/rn0797/MainActivity.kt | 22 + .../main/java/com/rn0797/MainApplication.kt | 46 + .../res/drawable/rn_edit_text_material.xml | 37 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 9 + Examples/RN0797/android/build.gradle | 21 + Examples/RN0797/android/gradle.properties | 39 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43705 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + Examples/RN0797/android/gradlew | 251 + Examples/RN0797/android/gradlew.bat | 94 + Examples/RN0797/android/settings.gradle | 6 + Examples/RN0797/app.json | 4 + Examples/RN0797/babel.config.js | 3 + Examples/RN0797/code-push.config.ts | 116 + Examples/RN0797/index.js | 9 + Examples/RN0797/ios/.xcode.env | 11 + Examples/RN0797/ios/Podfile | 35 + Examples/RN0797/ios/Podfile.lock | 2054 +++ .../ios/RN0797.xcodeproj/project.pbxproj | 496 + .../xcshareddata/xcschemes/RN0797.xcscheme | 88 + .../contents.xcworkspacedata | 10 + Examples/RN0797/ios/RN0797/AppDelegate.swift | 48 + .../AppIcon.appiconset/Contents.json | 53 + .../ios/RN0797/Images.xcassets/Contents.json | 6 + Examples/RN0797/ios/RN0797/Info.plist | 52 + .../RN0797/ios/RN0797/LaunchScreen.storyboard | 47 + .../RN0797/ios/RN0797/PrivacyInfo.xcprivacy | 37 + .../ios/RN0797/RN0797-Bridging-Header.h | 1 + Examples/RN0797/jest.config.js | 3 + Examples/RN0797/metro.config.js | 11 + Examples/RN0797/package-lock.json | 13023 +++++++++++++++ Examples/RN0797/package.json | 48 + Examples/RN0797/tsconfig.json | 16 + Examples/RN0803/.bundle/config | 2 + Examples/RN0803/.eslintrc.js | 4 + Examples/RN0803/.gitignore | 75 + Examples/RN0803/.prettierrc.js | 5 + Examples/RN0803/.watchmanconfig | 1 + Examples/RN0803/App.tsx | 191 + Examples/RN0803/Gemfile | 16 + Examples/RN0803/Gemfile.lock | 111 + Examples/RN0803/README.md | 97 + Examples/RN0803/__tests__/App.test.tsx | 13 + Examples/RN0803/android/app/build.gradle | 119 + Examples/RN0803/android/app/debug.keystore | Bin 0 -> 2257 bytes .../RN0803/android/app/proguard-rules.pro | 10 + .../android/app/src/main/AndroidManifest.xml | 26 + .../src/main/java/com/rn0803/MainActivity.kt | 22 + .../main/java/com/rn0803/MainApplication.kt | 40 + .../res/drawable/rn_edit_text_material.xml | 37 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 9 + Examples/RN0803/android/build.gradle | 21 + Examples/RN0803/android/gradle.properties | 39 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43764 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + Examples/RN0803/android/gradlew | 251 + Examples/RN0803/android/gradlew.bat | 99 + Examples/RN0803/android/settings.gradle | 6 + Examples/RN0803/app.json | 4 + Examples/RN0803/babel.config.js | 3 + Examples/RN0803/code-push.config.ts | 116 + Examples/RN0803/index.js | 9 + Examples/RN0803/ios/.xcode.env | 11 + Examples/RN0803/ios/Podfile | 35 + Examples/RN0803/ios/Podfile.lock | 2545 +++ .../ios/RN0803.xcodeproj/project.pbxproj | 496 + .../xcshareddata/xcschemes/RN0803.xcscheme | 88 + .../contents.xcworkspacedata | 10 + Examples/RN0803/ios/RN0803/AppDelegate.swift | 48 + .../AppIcon.appiconset/Contents.json | 53 + .../ios/RN0803/Images.xcassets/Contents.json | 6 + Examples/RN0803/ios/RN0803/Info.plist | 53 + .../RN0803/ios/RN0803/LaunchScreen.storyboard | 47 + .../RN0803/ios/RN0803/PrivacyInfo.xcprivacy | 37 + .../ios/RN0803/RN0803-Bridging-Header.h | 1 + Examples/RN0803/jest.config.js | 3 + Examples/RN0803/metro.config.js | 11 + Examples/RN0803/package-lock.json | 13012 +++++++++++++++ Examples/RN0803/package.json | 49 + Examples/RN0803/tsconfig.json | 16 + Examples/RN0816/.bundle/config | 2 + Examples/RN0816/.eslintrc.js | 4 + Examples/RN0816/.gitignore | 75 + Examples/RN0816/.prettierrc.js | 5 + Examples/RN0816/.watchmanconfig | 1 + Examples/RN0816/App.tsx | 191 + Examples/RN0816/Gemfile | 16 + Examples/RN0816/Gemfile.lock | 111 + Examples/RN0816/README.md | 97 + Examples/RN0816/__tests__/App.test.tsx | 13 + Examples/RN0816/android/app/build.gradle | 119 + Examples/RN0816/android/app/debug.keystore | Bin 0 -> 2257 bytes .../RN0816/android/app/proguard-rules.pro | 10 + .../android/app/src/main/AndroidManifest.xml | 27 + .../src/main/java/com/rn0816/MainActivity.kt | 22 + .../main/java/com/rn0816/MainApplication.kt | 40 + .../res/drawable/rn_edit_text_material.xml | 37 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 9 + Examples/RN0816/android/build.gradle | 21 + Examples/RN0816/android/gradle.properties | 44 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 43764 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + Examples/RN0816/android/gradlew | 251 + Examples/RN0816/android/gradlew.bat | 99 + Examples/RN0816/android/settings.gradle | 6 + Examples/RN0816/app.json | 4 + Examples/RN0816/babel.config.js | 3 + Examples/RN0816/code-push.config.ts | 116 + Examples/RN0816/index.js | 9 + Examples/RN0816/ios/.xcode.env | 11 + Examples/RN0816/ios/Podfile | 35 + Examples/RN0816/ios/Podfile.lock | 2669 +++ .../ios/RN0816.xcodeproj/project.pbxproj | 488 + .../xcshareddata/xcschemes/RN0816.xcscheme | 88 + .../contents.xcworkspacedata | 10 + Examples/RN0816/ios/RN0816/AppDelegate.swift | 48 + .../AppIcon.appiconset/Contents.json | 53 + .../ios/RN0816/Images.xcassets/Contents.json | 6 + Examples/RN0816/ios/RN0816/Info.plist | 53 + .../RN0816/ios/RN0816/LaunchScreen.storyboard | 47 + .../RN0816/ios/RN0816/PrivacyInfo.xcprivacy | 37 + .../ios/RN0816/RN0816-Bridging-Header.h | 1 + Examples/RN0816/jest.config.js | 3 + Examples/RN0816/metro.config.js | 11 + Examples/RN0816/package-lock.json | 12487 ++++++++++++++ Examples/RN0816/package.json | 49 + Examples/RN0816/tsconfig.json | 20 + Examples/RN0821/.bundle/config | 2 + Examples/RN0821/.eslintrc.js | 4 + Examples/RN0821/.gitignore | 75 + Examples/RN0821/.prettierrc.js | 5 + Examples/RN0821/.watchmanconfig | 1 + Examples/RN0821/App.tsx | 191 + Examples/RN0821/Gemfile | 16 + Examples/RN0821/Gemfile.lock | 111 + Examples/RN0821/README.md | 97 + Examples/RN0821/__tests__/App.test.tsx | 13 + Examples/RN0821/android/app/build.gradle | 119 + Examples/RN0821/android/app/debug.keystore | Bin 0 -> 2257 bytes .../RN0821/android/app/proguard-rules.pro | 10 + .../android/app/src/main/AndroidManifest.xml | 27 + .../src/main/java/com/rn0821/MainActivity.kt | 22 + .../main/java/com/rn0821/MainApplication.kt | 29 + .../res/drawable/rn_edit_text_material.xml | 37 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 9 + Examples/RN0821/android/build.gradle | 21 + Examples/RN0821/android/gradle.properties | 44 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 45457 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + Examples/RN0821/android/gradlew | 251 + Examples/RN0821/android/gradlew.bat | 99 + Examples/RN0821/android/settings.gradle | 6 + Examples/RN0821/app.json | 4 + Examples/RN0821/babel.config.js | 3 + Examples/RN0821/code-push.config.ts | 116 + Examples/RN0821/index.js | 9 + Examples/RN0821/ios/.xcode.env | 11 + Examples/RN0821/ios/Podfile | 34 + Examples/RN0821/ios/Podfile.lock | 2745 ++++ .../ios/RN0821.xcodeproj/project.pbxproj | 488 + .../xcshareddata/xcschemes/RN0821.xcscheme | 88 + .../contents.xcworkspacedata | 10 + Examples/RN0821/ios/RN0821/AppDelegate.swift | 48 + .../AppIcon.appiconset/Contents.json | 53 + .../ios/RN0821/Images.xcassets/Contents.json | 6 + Examples/RN0821/ios/RN0821/Info.plist | 55 + .../RN0821/ios/RN0821/LaunchScreen.storyboard | 47 + .../RN0821/ios/RN0821/PrivacyInfo.xcprivacy | 37 + .../ios/RN0821/RN0821-Bridging-Header.h | 1 + Examples/RN0821/jest.config.js | 3 + Examples/RN0821/metro.config.js | 11 + Examples/RN0821/package-lock.json | 12407 ++++++++++++++ Examples/RN0821/package.json | 49 + Examples/RN0821/tsconfig.json | 20 + Examples/RN0832/.bundle/config | 2 + Examples/RN0832/.eslintrc.js | 4 + Examples/RN0832/.gitignore | 75 + Examples/RN0832/.prettierrc.js | 5 + Examples/RN0832/.watchmanconfig | 1 + Examples/RN0832/App.tsx | 191 + Examples/RN0832/Gemfile | 16 + Examples/RN0832/Gemfile.lock | 111 + Examples/RN0832/README.md | 97 + Examples/RN0832/__tests__/App.test.tsx | 13 + Examples/RN0832/android/app/build.gradle | 119 + Examples/RN0832/android/app/debug.keystore | Bin 0 -> 2257 bytes .../RN0832/android/app/proguard-rules.pro | 10 + .../android/app/src/main/AndroidManifest.xml | 27 + .../src/main/java/com/rn0832/MainActivity.kt | 22 + .../main/java/com/rn0832/MainApplication.kt | 29 + .../res/drawable/rn_edit_text_material.xml | 37 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 9 + Examples/RN0832/android/build.gradle | 21 + Examples/RN0832/android/gradle.properties | 44 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 45457 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + Examples/RN0832/android/gradlew | 251 + Examples/RN0832/android/gradlew.bat | 99 + Examples/RN0832/android/settings.gradle | 6 + Examples/RN0832/app.json | 4 + Examples/RN0832/babel.config.js | 3 + Examples/RN0832/code-push.config.ts | 116 + Examples/RN0832/index.js | 9 + Examples/RN0832/ios/.xcode.env | 11 + Examples/RN0832/ios/Podfile | 34 + Examples/RN0832/ios/Podfile.lock | 2889 ++++ .../ios/RN0832.xcodeproj/project.pbxproj | 490 + .../xcshareddata/xcschemes/RN0832.xcscheme | 88 + .../contents.xcworkspacedata | 10 + Examples/RN0832/ios/RN0832/AppDelegate.swift | 48 + .../AppIcon.appiconset/Contents.json | 53 + .../ios/RN0832/Images.xcassets/Contents.json | 6 + Examples/RN0832/ios/RN0832/Info.plist | 55 + .../RN0832/ios/RN0832/LaunchScreen.storyboard | 47 + .../RN0832/ios/RN0832/PrivacyInfo.xcprivacy | 37 + .../ios/RN0832/RN0832-Bridging-Header.h | 1 + Examples/RN0832/jest.config.js | 3 + Examples/RN0832/metro.config.js | 11 + Examples/RN0832/package-lock.json | 12498 ++++++++++++++ Examples/RN0832/package.json | 49 + Examples/RN0832/tsconfig.json | 25 + Examples/RN0840/.bundle/config | 2 + Examples/RN0840/.eslintrc.js | 4 + Examples/RN0840/.gitignore | 75 + Examples/RN0840/.prettierrc.js | 5 + Examples/RN0840/.watchmanconfig | 1 + Examples/RN0840/App.tsx | 191 + Examples/RN0840/Gemfile | 16 + Examples/RN0840/Gemfile.lock | 111 + Examples/RN0840/README.md | 97 + Examples/RN0840/__tests__/App.test.tsx | 13 + Examples/RN0840/android/app/build.gradle | 119 + Examples/RN0840/android/app/debug.keystore | Bin 0 -> 2257 bytes .../RN0840/android/app/proguard-rules.pro | 10 + .../android/app/src/main/AndroidManifest.xml | 27 + .../src/main/java/com/rn0840/MainActivity.kt | 22 + .../main/java/com/rn0840/MainApplication.kt | 29 + .../res/drawable/rn_edit_text_material.xml | 37 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3056 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5024 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2096 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2858 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4569 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7098 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6464 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10676 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9250 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15523 bytes .../app/src/main/res/values/strings.xml | 3 + .../app/src/main/res/values/styles.xml | 9 + Examples/RN0840/android/build.gradle | 21 + Examples/RN0840/android/gradle.properties | 44 + .../android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 45457 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + Examples/RN0840/android/gradlew | 251 + Examples/RN0840/android/gradlew.bat | 99 + Examples/RN0840/android/settings.gradle | 6 + Examples/RN0840/app.json | 4 + Examples/RN0840/babel.config.js | 3 + Examples/RN0840/code-push.config.ts | 116 + Examples/RN0840/index.js | 9 + Examples/RN0840/ios/.xcode.env | 11 + Examples/RN0840/ios/Podfile | 34 + Examples/RN0840/ios/Podfile.lock | 2187 +++ .../ios/RN0840.xcodeproj/project.pbxproj | 504 + .../xcshareddata/xcschemes/RN0840.xcscheme | 88 + .../contents.xcworkspacedata | 10 + Examples/RN0840/ios/RN0840/AppDelegate.swift | 48 + .../AppIcon.appiconset/Contents.json | 53 + .../ios/RN0840/Images.xcassets/Contents.json | 6 + Examples/RN0840/ios/RN0840/Info.plist | 60 + .../RN0840/ios/RN0840/LaunchScreen.storyboard | 47 + .../RN0840/ios/RN0840/PrivacyInfo.xcprivacy | 37 + .../ios/RN0840/RN0840-Bridging-Header.h | 1 + Examples/RN0840/jest.config.js | 3 + Examples/RN0840/metro.config.js | 11 + Examples/RN0840/package-lock.json | 12484 ++++++++++++++ Examples/RN0840/package.json | 49 + Examples/RN0840/tsconfig.json | 25 + 647 files changed, 192141 insertions(+) create mode 100644 Examples/RN0747/.bundle/config create mode 100644 Examples/RN0747/.eslintrc.js create mode 100644 Examples/RN0747/.gitignore create mode 100644 Examples/RN0747/.prettierrc.js create mode 100644 Examples/RN0747/.watchmanconfig create mode 100644 Examples/RN0747/App.tsx create mode 100644 Examples/RN0747/Gemfile create mode 100644 Examples/RN0747/Gemfile.lock create mode 100644 Examples/RN0747/README.md create mode 100644 Examples/RN0747/__tests__/App.test.tsx create mode 100644 Examples/RN0747/android/app/build.gradle create mode 100644 Examples/RN0747/android/app/debug.keystore create mode 100644 Examples/RN0747/android/app/proguard-rules.pro create mode 100644 Examples/RN0747/android/app/src/main/AndroidManifest.xml create mode 100644 Examples/RN0747/android/app/src/main/java/com/rn0747/MainActivity.kt create mode 100644 Examples/RN0747/android/app/src/main/java/com/rn0747/MainApplication.kt create mode 100644 Examples/RN0747/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 Examples/RN0747/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 Examples/RN0747/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 Examples/RN0747/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 Examples/RN0747/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 Examples/RN0747/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 Examples/RN0747/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 Examples/RN0747/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 Examples/RN0747/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0747/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 Examples/RN0747/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0747/android/app/src/main/res/values/strings.xml create mode 100644 Examples/RN0747/android/app/src/main/res/values/styles.xml create mode 100644 Examples/RN0747/android/build.gradle create mode 100644 Examples/RN0747/android/gradle.properties create mode 100644 Examples/RN0747/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Examples/RN0747/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 Examples/RN0747/android/gradlew create mode 100644 Examples/RN0747/android/gradlew.bat create mode 100644 Examples/RN0747/android/settings.gradle create mode 100644 Examples/RN0747/app.json create mode 100644 Examples/RN0747/babel.config.js create mode 100644 Examples/RN0747/code-push.config.ts create mode 100644 Examples/RN0747/index.js create mode 100644 Examples/RN0747/ios/.xcode.env create mode 100644 Examples/RN0747/ios/Podfile create mode 100644 Examples/RN0747/ios/Podfile.lock create mode 100644 Examples/RN0747/ios/RN0747.xcodeproj/project.pbxproj create mode 100644 Examples/RN0747/ios/RN0747.xcodeproj/xcshareddata/xcschemes/RN0747.xcscheme create mode 100644 Examples/RN0747/ios/RN0747.xcworkspace/contents.xcworkspacedata create mode 100644 Examples/RN0747/ios/RN0747/AppDelegate.h create mode 100644 Examples/RN0747/ios/RN0747/AppDelegate.mm create mode 100644 Examples/RN0747/ios/RN0747/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Examples/RN0747/ios/RN0747/Images.xcassets/Contents.json create mode 100644 Examples/RN0747/ios/RN0747/Info.plist create mode 100644 Examples/RN0747/ios/RN0747/LaunchScreen.storyboard create mode 100644 Examples/RN0747/ios/RN0747/PrivacyInfo.xcprivacy create mode 100644 Examples/RN0747/ios/RN0747/main.m create mode 100644 Examples/RN0747/ios/RN0747Tests/Info.plist create mode 100644 Examples/RN0747/ios/RN0747Tests/RN0747Tests.m create mode 100644 Examples/RN0747/jest.config.js create mode 100644 Examples/RN0747/metro.config.js create mode 100644 Examples/RN0747/package-lock.json create mode 100644 Examples/RN0747/package.json create mode 100644 Examples/RN0747/tsconfig.json create mode 100644 Examples/RN0755/.bundle/config create mode 100644 Examples/RN0755/.eslintrc.js create mode 100644 Examples/RN0755/.gitignore create mode 100644 Examples/RN0755/.prettierrc.js create mode 100644 Examples/RN0755/.watchmanconfig create mode 100644 Examples/RN0755/App.tsx create mode 100644 Examples/RN0755/Gemfile create mode 100644 Examples/RN0755/Gemfile.lock create mode 100644 Examples/RN0755/README.md create mode 100644 Examples/RN0755/__tests__/App.test.tsx create mode 100644 Examples/RN0755/android/app/build.gradle create mode 100644 Examples/RN0755/android/app/debug.keystore create mode 100644 Examples/RN0755/android/app/proguard-rules.pro create mode 100644 Examples/RN0755/android/app/src/main/AndroidManifest.xml create mode 100644 Examples/RN0755/android/app/src/main/java/com/rn0755/MainActivity.kt create mode 100644 Examples/RN0755/android/app/src/main/java/com/rn0755/MainApplication.kt create mode 100644 Examples/RN0755/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 Examples/RN0755/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 Examples/RN0755/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 Examples/RN0755/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 Examples/RN0755/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 Examples/RN0755/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 Examples/RN0755/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 Examples/RN0755/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 Examples/RN0755/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0755/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 Examples/RN0755/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0755/android/app/src/main/res/values/strings.xml create mode 100644 Examples/RN0755/android/app/src/main/res/values/styles.xml create mode 100644 Examples/RN0755/android/build.gradle create mode 100644 Examples/RN0755/android/gradle.properties create mode 100644 Examples/RN0755/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Examples/RN0755/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 Examples/RN0755/android/gradlew create mode 100644 Examples/RN0755/android/gradlew.bat create mode 100644 Examples/RN0755/android/settings.gradle create mode 100644 Examples/RN0755/app.json create mode 100644 Examples/RN0755/babel.config.js create mode 100644 Examples/RN0755/code-push.config.ts create mode 100644 Examples/RN0755/index.js create mode 100644 Examples/RN0755/ios/.xcode.env create mode 100644 Examples/RN0755/ios/Podfile create mode 100644 Examples/RN0755/ios/Podfile.lock create mode 100644 Examples/RN0755/ios/RN0755.xcodeproj/project.pbxproj create mode 100644 Examples/RN0755/ios/RN0755.xcodeproj/xcshareddata/xcschemes/RN0755.xcscheme create mode 100644 Examples/RN0755/ios/RN0755.xcworkspace/contents.xcworkspacedata create mode 100644 Examples/RN0755/ios/RN0755/AppDelegate.h create mode 100644 Examples/RN0755/ios/RN0755/AppDelegate.mm create mode 100644 Examples/RN0755/ios/RN0755/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Examples/RN0755/ios/RN0755/Images.xcassets/Contents.json create mode 100644 Examples/RN0755/ios/RN0755/Info.plist create mode 100644 Examples/RN0755/ios/RN0755/LaunchScreen.storyboard create mode 100644 Examples/RN0755/ios/RN0755/PrivacyInfo.xcprivacy create mode 100644 Examples/RN0755/ios/RN0755/main.m create mode 100644 Examples/RN0755/ios/RN0755Tests/Info.plist create mode 100644 Examples/RN0755/ios/RN0755Tests/RN0755Tests.m create mode 100644 Examples/RN0755/jest.config.js create mode 100644 Examples/RN0755/metro.config.js create mode 100644 Examples/RN0755/package-lock.json create mode 100644 Examples/RN0755/package.json create mode 100644 Examples/RN0755/tsconfig.json create mode 100644 Examples/RN0769/.bundle/config create mode 100644 Examples/RN0769/.eslintrc.js create mode 100644 Examples/RN0769/.gitignore create mode 100644 Examples/RN0769/.prettierrc.js create mode 100644 Examples/RN0769/.watchmanconfig create mode 100644 Examples/RN0769/App.tsx create mode 100644 Examples/RN0769/Gemfile create mode 100644 Examples/RN0769/Gemfile.lock create mode 100644 Examples/RN0769/README.md create mode 100644 Examples/RN0769/__tests__/App.test.tsx create mode 100644 Examples/RN0769/android/app/build.gradle create mode 100644 Examples/RN0769/android/app/debug.keystore create mode 100644 Examples/RN0769/android/app/proguard-rules.pro create mode 100644 Examples/RN0769/android/app/src/main/AndroidManifest.xml create mode 100644 Examples/RN0769/android/app/src/main/java/com/rn0769/MainActivity.kt create mode 100644 Examples/RN0769/android/app/src/main/java/com/rn0769/MainApplication.kt create mode 100644 Examples/RN0769/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 Examples/RN0769/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 Examples/RN0769/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 Examples/RN0769/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 Examples/RN0769/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 Examples/RN0769/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 Examples/RN0769/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 Examples/RN0769/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 Examples/RN0769/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0769/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 Examples/RN0769/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0769/android/app/src/main/res/values/strings.xml create mode 100644 Examples/RN0769/android/app/src/main/res/values/styles.xml create mode 100644 Examples/RN0769/android/build.gradle create mode 100644 Examples/RN0769/android/gradle.properties create mode 100644 Examples/RN0769/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Examples/RN0769/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 Examples/RN0769/android/gradlew create mode 100644 Examples/RN0769/android/gradlew.bat create mode 100644 Examples/RN0769/android/settings.gradle create mode 100644 Examples/RN0769/app.json create mode 100644 Examples/RN0769/babel.config.js create mode 100644 Examples/RN0769/code-push.config.ts create mode 100644 Examples/RN0769/index.js create mode 100644 Examples/RN0769/ios/.xcode.env create mode 100644 Examples/RN0769/ios/Podfile create mode 100644 Examples/RN0769/ios/Podfile.lock create mode 100644 Examples/RN0769/ios/RN0769.xcodeproj/project.pbxproj create mode 100644 Examples/RN0769/ios/RN0769.xcodeproj/xcshareddata/xcschemes/RN0769.xcscheme create mode 100644 Examples/RN0769/ios/RN0769.xcworkspace/contents.xcworkspacedata create mode 100644 Examples/RN0769/ios/RN0769/AppDelegate.h create mode 100644 Examples/RN0769/ios/RN0769/AppDelegate.mm create mode 100644 Examples/RN0769/ios/RN0769/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Examples/RN0769/ios/RN0769/Images.xcassets/Contents.json create mode 100644 Examples/RN0769/ios/RN0769/Info.plist create mode 100644 Examples/RN0769/ios/RN0769/LaunchScreen.storyboard create mode 100644 Examples/RN0769/ios/RN0769/PrivacyInfo.xcprivacy create mode 100644 Examples/RN0769/ios/RN0769/main.m create mode 100644 Examples/RN0769/ios/RN0769Tests/Info.plist create mode 100644 Examples/RN0769/ios/RN0769Tests/RN0769Tests.m create mode 100644 Examples/RN0769/jest.config.js create mode 100644 Examples/RN0769/metro.config.js create mode 100644 Examples/RN0769/package-lock.json create mode 100644 Examples/RN0769/package.json create mode 100644 Examples/RN0769/tsconfig.json create mode 100644 Examples/RN0773/.bundle/config create mode 100644 Examples/RN0773/.eslintrc.js create mode 100644 Examples/RN0773/.gitignore create mode 100644 Examples/RN0773/.prettierrc.js create mode 100644 Examples/RN0773/.watchmanconfig create mode 100644 Examples/RN0773/App.tsx create mode 100644 Examples/RN0773/Gemfile create mode 100644 Examples/RN0773/Gemfile.lock create mode 100644 Examples/RN0773/README.md create mode 100644 Examples/RN0773/__tests__/App.test.tsx create mode 100644 Examples/RN0773/android/app/build.gradle create mode 100644 Examples/RN0773/android/app/debug.keystore create mode 100644 Examples/RN0773/android/app/proguard-rules.pro create mode 100644 Examples/RN0773/android/app/src/main/AndroidManifest.xml create mode 100644 Examples/RN0773/android/app/src/main/java/com/rn0773/MainActivity.kt create mode 100644 Examples/RN0773/android/app/src/main/java/com/rn0773/MainApplication.kt create mode 100644 Examples/RN0773/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 Examples/RN0773/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 Examples/RN0773/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 Examples/RN0773/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 Examples/RN0773/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 Examples/RN0773/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 Examples/RN0773/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 Examples/RN0773/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 Examples/RN0773/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0773/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 Examples/RN0773/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0773/android/app/src/main/res/values/strings.xml create mode 100644 Examples/RN0773/android/app/src/main/res/values/styles.xml create mode 100644 Examples/RN0773/android/build.gradle create mode 100644 Examples/RN0773/android/gradle.properties create mode 100644 Examples/RN0773/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Examples/RN0773/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 Examples/RN0773/android/gradlew create mode 100644 Examples/RN0773/android/gradlew.bat create mode 100644 Examples/RN0773/android/settings.gradle create mode 100644 Examples/RN0773/app.json create mode 100644 Examples/RN0773/babel.config.js create mode 100644 Examples/RN0773/code-push.config.ts create mode 100644 Examples/RN0773/index.js create mode 100644 Examples/RN0773/ios/.xcode.env create mode 100644 Examples/RN0773/ios/Podfile create mode 100644 Examples/RN0773/ios/Podfile.lock create mode 100644 Examples/RN0773/ios/RN0773.xcodeproj/project.pbxproj create mode 100644 Examples/RN0773/ios/RN0773.xcodeproj/xcshareddata/xcschemes/RN0773.xcscheme create mode 100644 Examples/RN0773/ios/RN0773.xcworkspace/contents.xcworkspacedata create mode 100644 Examples/RN0773/ios/RN0773/AppDelegate.swift create mode 100644 Examples/RN0773/ios/RN0773/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Examples/RN0773/ios/RN0773/Images.xcassets/Contents.json create mode 100644 Examples/RN0773/ios/RN0773/Info.plist create mode 100644 Examples/RN0773/ios/RN0773/LaunchScreen.storyboard create mode 100644 Examples/RN0773/ios/RN0773/PrivacyInfo.xcprivacy create mode 100644 Examples/RN0773/ios/RN0773/RN0773-Bridging-Header.h create mode 100644 Examples/RN0773/jest.config.js create mode 100644 Examples/RN0773/metro.config.js create mode 100644 Examples/RN0773/package-lock.json create mode 100644 Examples/RN0773/package.json create mode 100644 Examples/RN0773/tsconfig.json create mode 100644 Examples/RN0783/.bundle/config create mode 100644 Examples/RN0783/.eslintrc.js create mode 100644 Examples/RN0783/.gitignore create mode 100644 Examples/RN0783/.prettierrc.js create mode 100644 Examples/RN0783/.watchmanconfig create mode 100644 Examples/RN0783/App.tsx create mode 100644 Examples/RN0783/Gemfile create mode 100644 Examples/RN0783/Gemfile.lock create mode 100644 Examples/RN0783/README.md create mode 100644 Examples/RN0783/__tests__/App.test.tsx create mode 100644 Examples/RN0783/android/app/build.gradle create mode 100644 Examples/RN0783/android/app/debug.keystore create mode 100644 Examples/RN0783/android/app/proguard-rules.pro create mode 100644 Examples/RN0783/android/app/src/main/AndroidManifest.xml create mode 100644 Examples/RN0783/android/app/src/main/java/com/rn0783/MainActivity.kt create mode 100644 Examples/RN0783/android/app/src/main/java/com/rn0783/MainApplication.kt create mode 100644 Examples/RN0783/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 Examples/RN0783/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 Examples/RN0783/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 Examples/RN0783/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 Examples/RN0783/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 Examples/RN0783/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 Examples/RN0783/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 Examples/RN0783/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 Examples/RN0783/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0783/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 Examples/RN0783/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0783/android/app/src/main/res/values/strings.xml create mode 100644 Examples/RN0783/android/app/src/main/res/values/styles.xml create mode 100644 Examples/RN0783/android/build.gradle create mode 100644 Examples/RN0783/android/gradle.properties create mode 100644 Examples/RN0783/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Examples/RN0783/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 Examples/RN0783/android/gradlew create mode 100644 Examples/RN0783/android/gradlew.bat create mode 100644 Examples/RN0783/android/settings.gradle create mode 100644 Examples/RN0783/app.json create mode 100644 Examples/RN0783/babel.config.js create mode 100644 Examples/RN0783/code-push.config.ts create mode 100644 Examples/RN0783/index.js create mode 100644 Examples/RN0783/ios/.xcode.env create mode 100644 Examples/RN0783/ios/Podfile create mode 100644 Examples/RN0783/ios/Podfile.lock create mode 100644 Examples/RN0783/ios/RN0783.xcodeproj/project.pbxproj create mode 100644 Examples/RN0783/ios/RN0783.xcodeproj/xcshareddata/xcschemes/RN0783.xcscheme create mode 100644 Examples/RN0783/ios/RN0783.xcworkspace/contents.xcworkspacedata create mode 100644 Examples/RN0783/ios/RN0783/AppDelegate.swift create mode 100644 Examples/RN0783/ios/RN0783/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Examples/RN0783/ios/RN0783/Images.xcassets/Contents.json create mode 100644 Examples/RN0783/ios/RN0783/Info.plist create mode 100644 Examples/RN0783/ios/RN0783/LaunchScreen.storyboard create mode 100644 Examples/RN0783/ios/RN0783/PrivacyInfo.xcprivacy create mode 100644 Examples/RN0783/ios/RN0783/RN0783-Bridging-Header.h create mode 100644 Examples/RN0783/jest.config.js create mode 100644 Examples/RN0783/metro.config.js create mode 100644 Examples/RN0783/package-lock.json create mode 100644 Examples/RN0783/package.json create mode 100644 Examples/RN0783/tsconfig.json create mode 100644 Examples/RN0797/.bundle/config create mode 100644 Examples/RN0797/.eslintrc.js create mode 100644 Examples/RN0797/.gitignore create mode 100644 Examples/RN0797/.prettierrc.js create mode 100644 Examples/RN0797/.watchmanconfig create mode 100644 Examples/RN0797/App.tsx create mode 100644 Examples/RN0797/Gemfile create mode 100644 Examples/RN0797/Gemfile.lock create mode 100644 Examples/RN0797/README.md create mode 100644 Examples/RN0797/__tests__/App.test.tsx create mode 100644 Examples/RN0797/android/app/build.gradle create mode 100644 Examples/RN0797/android/app/debug.keystore create mode 100644 Examples/RN0797/android/app/proguard-rules.pro create mode 100644 Examples/RN0797/android/app/src/main/AndroidManifest.xml create mode 100644 Examples/RN0797/android/app/src/main/java/com/rn0797/MainActivity.kt create mode 100644 Examples/RN0797/android/app/src/main/java/com/rn0797/MainApplication.kt create mode 100644 Examples/RN0797/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 Examples/RN0797/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 Examples/RN0797/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 Examples/RN0797/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 Examples/RN0797/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 Examples/RN0797/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 Examples/RN0797/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 Examples/RN0797/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 Examples/RN0797/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0797/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 Examples/RN0797/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0797/android/app/src/main/res/values/strings.xml create mode 100644 Examples/RN0797/android/app/src/main/res/values/styles.xml create mode 100644 Examples/RN0797/android/build.gradle create mode 100644 Examples/RN0797/android/gradle.properties create mode 100644 Examples/RN0797/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Examples/RN0797/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 Examples/RN0797/android/gradlew create mode 100644 Examples/RN0797/android/gradlew.bat create mode 100644 Examples/RN0797/android/settings.gradle create mode 100644 Examples/RN0797/app.json create mode 100644 Examples/RN0797/babel.config.js create mode 100644 Examples/RN0797/code-push.config.ts create mode 100644 Examples/RN0797/index.js create mode 100644 Examples/RN0797/ios/.xcode.env create mode 100644 Examples/RN0797/ios/Podfile create mode 100644 Examples/RN0797/ios/Podfile.lock create mode 100644 Examples/RN0797/ios/RN0797.xcodeproj/project.pbxproj create mode 100644 Examples/RN0797/ios/RN0797.xcodeproj/xcshareddata/xcschemes/RN0797.xcscheme create mode 100644 Examples/RN0797/ios/RN0797.xcworkspace/contents.xcworkspacedata create mode 100644 Examples/RN0797/ios/RN0797/AppDelegate.swift create mode 100644 Examples/RN0797/ios/RN0797/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Examples/RN0797/ios/RN0797/Images.xcassets/Contents.json create mode 100644 Examples/RN0797/ios/RN0797/Info.plist create mode 100644 Examples/RN0797/ios/RN0797/LaunchScreen.storyboard create mode 100644 Examples/RN0797/ios/RN0797/PrivacyInfo.xcprivacy create mode 100644 Examples/RN0797/ios/RN0797/RN0797-Bridging-Header.h create mode 100644 Examples/RN0797/jest.config.js create mode 100644 Examples/RN0797/metro.config.js create mode 100644 Examples/RN0797/package-lock.json create mode 100644 Examples/RN0797/package.json create mode 100644 Examples/RN0797/tsconfig.json create mode 100644 Examples/RN0803/.bundle/config create mode 100644 Examples/RN0803/.eslintrc.js create mode 100644 Examples/RN0803/.gitignore create mode 100644 Examples/RN0803/.prettierrc.js create mode 100644 Examples/RN0803/.watchmanconfig create mode 100644 Examples/RN0803/App.tsx create mode 100644 Examples/RN0803/Gemfile create mode 100644 Examples/RN0803/Gemfile.lock create mode 100644 Examples/RN0803/README.md create mode 100644 Examples/RN0803/__tests__/App.test.tsx create mode 100644 Examples/RN0803/android/app/build.gradle create mode 100644 Examples/RN0803/android/app/debug.keystore create mode 100644 Examples/RN0803/android/app/proguard-rules.pro create mode 100644 Examples/RN0803/android/app/src/main/AndroidManifest.xml create mode 100644 Examples/RN0803/android/app/src/main/java/com/rn0803/MainActivity.kt create mode 100644 Examples/RN0803/android/app/src/main/java/com/rn0803/MainApplication.kt create mode 100644 Examples/RN0803/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 Examples/RN0803/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 Examples/RN0803/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 Examples/RN0803/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 Examples/RN0803/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 Examples/RN0803/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 Examples/RN0803/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 Examples/RN0803/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 Examples/RN0803/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0803/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 Examples/RN0803/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0803/android/app/src/main/res/values/strings.xml create mode 100644 Examples/RN0803/android/app/src/main/res/values/styles.xml create mode 100644 Examples/RN0803/android/build.gradle create mode 100644 Examples/RN0803/android/gradle.properties create mode 100644 Examples/RN0803/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Examples/RN0803/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 Examples/RN0803/android/gradlew create mode 100644 Examples/RN0803/android/gradlew.bat create mode 100644 Examples/RN0803/android/settings.gradle create mode 100644 Examples/RN0803/app.json create mode 100644 Examples/RN0803/babel.config.js create mode 100644 Examples/RN0803/code-push.config.ts create mode 100644 Examples/RN0803/index.js create mode 100644 Examples/RN0803/ios/.xcode.env create mode 100644 Examples/RN0803/ios/Podfile create mode 100644 Examples/RN0803/ios/Podfile.lock create mode 100644 Examples/RN0803/ios/RN0803.xcodeproj/project.pbxproj create mode 100644 Examples/RN0803/ios/RN0803.xcodeproj/xcshareddata/xcschemes/RN0803.xcscheme create mode 100644 Examples/RN0803/ios/RN0803.xcworkspace/contents.xcworkspacedata create mode 100644 Examples/RN0803/ios/RN0803/AppDelegate.swift create mode 100644 Examples/RN0803/ios/RN0803/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Examples/RN0803/ios/RN0803/Images.xcassets/Contents.json create mode 100644 Examples/RN0803/ios/RN0803/Info.plist create mode 100644 Examples/RN0803/ios/RN0803/LaunchScreen.storyboard create mode 100644 Examples/RN0803/ios/RN0803/PrivacyInfo.xcprivacy create mode 100644 Examples/RN0803/ios/RN0803/RN0803-Bridging-Header.h create mode 100644 Examples/RN0803/jest.config.js create mode 100644 Examples/RN0803/metro.config.js create mode 100644 Examples/RN0803/package-lock.json create mode 100644 Examples/RN0803/package.json create mode 100644 Examples/RN0803/tsconfig.json create mode 100644 Examples/RN0816/.bundle/config create mode 100644 Examples/RN0816/.eslintrc.js create mode 100644 Examples/RN0816/.gitignore create mode 100644 Examples/RN0816/.prettierrc.js create mode 100644 Examples/RN0816/.watchmanconfig create mode 100644 Examples/RN0816/App.tsx create mode 100644 Examples/RN0816/Gemfile create mode 100644 Examples/RN0816/Gemfile.lock create mode 100644 Examples/RN0816/README.md create mode 100644 Examples/RN0816/__tests__/App.test.tsx create mode 100644 Examples/RN0816/android/app/build.gradle create mode 100644 Examples/RN0816/android/app/debug.keystore create mode 100644 Examples/RN0816/android/app/proguard-rules.pro create mode 100644 Examples/RN0816/android/app/src/main/AndroidManifest.xml create mode 100644 Examples/RN0816/android/app/src/main/java/com/rn0816/MainActivity.kt create mode 100644 Examples/RN0816/android/app/src/main/java/com/rn0816/MainApplication.kt create mode 100644 Examples/RN0816/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 Examples/RN0816/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 Examples/RN0816/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 Examples/RN0816/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 Examples/RN0816/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 Examples/RN0816/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 Examples/RN0816/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 Examples/RN0816/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 Examples/RN0816/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0816/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 Examples/RN0816/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0816/android/app/src/main/res/values/strings.xml create mode 100644 Examples/RN0816/android/app/src/main/res/values/styles.xml create mode 100644 Examples/RN0816/android/build.gradle create mode 100644 Examples/RN0816/android/gradle.properties create mode 100644 Examples/RN0816/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Examples/RN0816/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 Examples/RN0816/android/gradlew create mode 100644 Examples/RN0816/android/gradlew.bat create mode 100644 Examples/RN0816/android/settings.gradle create mode 100644 Examples/RN0816/app.json create mode 100644 Examples/RN0816/babel.config.js create mode 100644 Examples/RN0816/code-push.config.ts create mode 100644 Examples/RN0816/index.js create mode 100644 Examples/RN0816/ios/.xcode.env create mode 100644 Examples/RN0816/ios/Podfile create mode 100644 Examples/RN0816/ios/Podfile.lock create mode 100644 Examples/RN0816/ios/RN0816.xcodeproj/project.pbxproj create mode 100644 Examples/RN0816/ios/RN0816.xcodeproj/xcshareddata/xcschemes/RN0816.xcscheme create mode 100644 Examples/RN0816/ios/RN0816.xcworkspace/contents.xcworkspacedata create mode 100644 Examples/RN0816/ios/RN0816/AppDelegate.swift create mode 100644 Examples/RN0816/ios/RN0816/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Examples/RN0816/ios/RN0816/Images.xcassets/Contents.json create mode 100644 Examples/RN0816/ios/RN0816/Info.plist create mode 100644 Examples/RN0816/ios/RN0816/LaunchScreen.storyboard create mode 100644 Examples/RN0816/ios/RN0816/PrivacyInfo.xcprivacy create mode 100644 Examples/RN0816/ios/RN0816/RN0816-Bridging-Header.h create mode 100644 Examples/RN0816/jest.config.js create mode 100644 Examples/RN0816/metro.config.js create mode 100644 Examples/RN0816/package-lock.json create mode 100644 Examples/RN0816/package.json create mode 100644 Examples/RN0816/tsconfig.json create mode 100644 Examples/RN0821/.bundle/config create mode 100644 Examples/RN0821/.eslintrc.js create mode 100644 Examples/RN0821/.gitignore create mode 100644 Examples/RN0821/.prettierrc.js create mode 100644 Examples/RN0821/.watchmanconfig create mode 100644 Examples/RN0821/App.tsx create mode 100644 Examples/RN0821/Gemfile create mode 100644 Examples/RN0821/Gemfile.lock create mode 100644 Examples/RN0821/README.md create mode 100644 Examples/RN0821/__tests__/App.test.tsx create mode 100644 Examples/RN0821/android/app/build.gradle create mode 100644 Examples/RN0821/android/app/debug.keystore create mode 100644 Examples/RN0821/android/app/proguard-rules.pro create mode 100644 Examples/RN0821/android/app/src/main/AndroidManifest.xml create mode 100644 Examples/RN0821/android/app/src/main/java/com/rn0821/MainActivity.kt create mode 100644 Examples/RN0821/android/app/src/main/java/com/rn0821/MainApplication.kt create mode 100644 Examples/RN0821/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 Examples/RN0821/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 Examples/RN0821/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 Examples/RN0821/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 Examples/RN0821/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 Examples/RN0821/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 Examples/RN0821/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 Examples/RN0821/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 Examples/RN0821/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0821/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 Examples/RN0821/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0821/android/app/src/main/res/values/strings.xml create mode 100644 Examples/RN0821/android/app/src/main/res/values/styles.xml create mode 100644 Examples/RN0821/android/build.gradle create mode 100644 Examples/RN0821/android/gradle.properties create mode 100644 Examples/RN0821/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Examples/RN0821/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 Examples/RN0821/android/gradlew create mode 100644 Examples/RN0821/android/gradlew.bat create mode 100644 Examples/RN0821/android/settings.gradle create mode 100644 Examples/RN0821/app.json create mode 100644 Examples/RN0821/babel.config.js create mode 100644 Examples/RN0821/code-push.config.ts create mode 100644 Examples/RN0821/index.js create mode 100644 Examples/RN0821/ios/.xcode.env create mode 100644 Examples/RN0821/ios/Podfile create mode 100644 Examples/RN0821/ios/Podfile.lock create mode 100644 Examples/RN0821/ios/RN0821.xcodeproj/project.pbxproj create mode 100644 Examples/RN0821/ios/RN0821.xcodeproj/xcshareddata/xcschemes/RN0821.xcscheme create mode 100644 Examples/RN0821/ios/RN0821.xcworkspace/contents.xcworkspacedata create mode 100644 Examples/RN0821/ios/RN0821/AppDelegate.swift create mode 100644 Examples/RN0821/ios/RN0821/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Examples/RN0821/ios/RN0821/Images.xcassets/Contents.json create mode 100644 Examples/RN0821/ios/RN0821/Info.plist create mode 100644 Examples/RN0821/ios/RN0821/LaunchScreen.storyboard create mode 100644 Examples/RN0821/ios/RN0821/PrivacyInfo.xcprivacy create mode 100644 Examples/RN0821/ios/RN0821/RN0821-Bridging-Header.h create mode 100644 Examples/RN0821/jest.config.js create mode 100644 Examples/RN0821/metro.config.js create mode 100644 Examples/RN0821/package-lock.json create mode 100644 Examples/RN0821/package.json create mode 100644 Examples/RN0821/tsconfig.json create mode 100644 Examples/RN0832/.bundle/config create mode 100644 Examples/RN0832/.eslintrc.js create mode 100644 Examples/RN0832/.gitignore create mode 100644 Examples/RN0832/.prettierrc.js create mode 100644 Examples/RN0832/.watchmanconfig create mode 100644 Examples/RN0832/App.tsx create mode 100644 Examples/RN0832/Gemfile create mode 100644 Examples/RN0832/Gemfile.lock create mode 100644 Examples/RN0832/README.md create mode 100644 Examples/RN0832/__tests__/App.test.tsx create mode 100644 Examples/RN0832/android/app/build.gradle create mode 100644 Examples/RN0832/android/app/debug.keystore create mode 100644 Examples/RN0832/android/app/proguard-rules.pro create mode 100644 Examples/RN0832/android/app/src/main/AndroidManifest.xml create mode 100644 Examples/RN0832/android/app/src/main/java/com/rn0832/MainActivity.kt create mode 100644 Examples/RN0832/android/app/src/main/java/com/rn0832/MainApplication.kt create mode 100644 Examples/RN0832/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 Examples/RN0832/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 Examples/RN0832/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 Examples/RN0832/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 Examples/RN0832/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 Examples/RN0832/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 Examples/RN0832/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 Examples/RN0832/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 Examples/RN0832/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0832/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 Examples/RN0832/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0832/android/app/src/main/res/values/strings.xml create mode 100644 Examples/RN0832/android/app/src/main/res/values/styles.xml create mode 100644 Examples/RN0832/android/build.gradle create mode 100644 Examples/RN0832/android/gradle.properties create mode 100644 Examples/RN0832/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Examples/RN0832/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 Examples/RN0832/android/gradlew create mode 100644 Examples/RN0832/android/gradlew.bat create mode 100644 Examples/RN0832/android/settings.gradle create mode 100644 Examples/RN0832/app.json create mode 100644 Examples/RN0832/babel.config.js create mode 100644 Examples/RN0832/code-push.config.ts create mode 100644 Examples/RN0832/index.js create mode 100644 Examples/RN0832/ios/.xcode.env create mode 100644 Examples/RN0832/ios/Podfile create mode 100644 Examples/RN0832/ios/Podfile.lock create mode 100644 Examples/RN0832/ios/RN0832.xcodeproj/project.pbxproj create mode 100644 Examples/RN0832/ios/RN0832.xcodeproj/xcshareddata/xcschemes/RN0832.xcscheme create mode 100644 Examples/RN0832/ios/RN0832.xcworkspace/contents.xcworkspacedata create mode 100644 Examples/RN0832/ios/RN0832/AppDelegate.swift create mode 100644 Examples/RN0832/ios/RN0832/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Examples/RN0832/ios/RN0832/Images.xcassets/Contents.json create mode 100644 Examples/RN0832/ios/RN0832/Info.plist create mode 100644 Examples/RN0832/ios/RN0832/LaunchScreen.storyboard create mode 100644 Examples/RN0832/ios/RN0832/PrivacyInfo.xcprivacy create mode 100644 Examples/RN0832/ios/RN0832/RN0832-Bridging-Header.h create mode 100644 Examples/RN0832/jest.config.js create mode 100644 Examples/RN0832/metro.config.js create mode 100644 Examples/RN0832/package-lock.json create mode 100644 Examples/RN0832/package.json create mode 100644 Examples/RN0832/tsconfig.json create mode 100644 Examples/RN0840/.bundle/config create mode 100644 Examples/RN0840/.eslintrc.js create mode 100644 Examples/RN0840/.gitignore create mode 100644 Examples/RN0840/.prettierrc.js create mode 100644 Examples/RN0840/.watchmanconfig create mode 100644 Examples/RN0840/App.tsx create mode 100644 Examples/RN0840/Gemfile create mode 100644 Examples/RN0840/Gemfile.lock create mode 100644 Examples/RN0840/README.md create mode 100644 Examples/RN0840/__tests__/App.test.tsx create mode 100644 Examples/RN0840/android/app/build.gradle create mode 100644 Examples/RN0840/android/app/debug.keystore create mode 100644 Examples/RN0840/android/app/proguard-rules.pro create mode 100644 Examples/RN0840/android/app/src/main/AndroidManifest.xml create mode 100644 Examples/RN0840/android/app/src/main/java/com/rn0840/MainActivity.kt create mode 100644 Examples/RN0840/android/app/src/main/java/com/rn0840/MainApplication.kt create mode 100644 Examples/RN0840/android/app/src/main/res/drawable/rn_edit_text_material.xml create mode 100644 Examples/RN0840/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 Examples/RN0840/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 Examples/RN0840/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 Examples/RN0840/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 Examples/RN0840/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 Examples/RN0840/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 Examples/RN0840/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 Examples/RN0840/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0840/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 Examples/RN0840/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 Examples/RN0840/android/app/src/main/res/values/strings.xml create mode 100644 Examples/RN0840/android/app/src/main/res/values/styles.xml create mode 100644 Examples/RN0840/android/build.gradle create mode 100644 Examples/RN0840/android/gradle.properties create mode 100644 Examples/RN0840/android/gradle/wrapper/gradle-wrapper.jar create mode 100644 Examples/RN0840/android/gradle/wrapper/gradle-wrapper.properties create mode 100755 Examples/RN0840/android/gradlew create mode 100644 Examples/RN0840/android/gradlew.bat create mode 100644 Examples/RN0840/android/settings.gradle create mode 100644 Examples/RN0840/app.json create mode 100644 Examples/RN0840/babel.config.js create mode 100644 Examples/RN0840/code-push.config.ts create mode 100644 Examples/RN0840/index.js create mode 100644 Examples/RN0840/ios/.xcode.env create mode 100644 Examples/RN0840/ios/Podfile create mode 100644 Examples/RN0840/ios/Podfile.lock create mode 100644 Examples/RN0840/ios/RN0840.xcodeproj/project.pbxproj create mode 100644 Examples/RN0840/ios/RN0840.xcodeproj/xcshareddata/xcschemes/RN0840.xcscheme create mode 100644 Examples/RN0840/ios/RN0840.xcworkspace/contents.xcworkspacedata create mode 100644 Examples/RN0840/ios/RN0840/AppDelegate.swift create mode 100644 Examples/RN0840/ios/RN0840/Images.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Examples/RN0840/ios/RN0840/Images.xcassets/Contents.json create mode 100644 Examples/RN0840/ios/RN0840/Info.plist create mode 100644 Examples/RN0840/ios/RN0840/LaunchScreen.storyboard create mode 100644 Examples/RN0840/ios/RN0840/PrivacyInfo.xcprivacy create mode 100644 Examples/RN0840/ios/RN0840/RN0840-Bridging-Header.h create mode 100644 Examples/RN0840/jest.config.js create mode 100644 Examples/RN0840/metro.config.js create mode 100644 Examples/RN0840/package-lock.json create mode 100644 Examples/RN0840/package.json create mode 100644 Examples/RN0840/tsconfig.json diff --git a/Examples/RN0747/.bundle/config b/Examples/RN0747/.bundle/config new file mode 100644 index 00000000..848943bb --- /dev/null +++ b/Examples/RN0747/.bundle/config @@ -0,0 +1,2 @@ +BUNDLE_PATH: "vendor/bundle" +BUNDLE_FORCE_RUBY_PLATFORM: 1 diff --git a/Examples/RN0747/.eslintrc.js b/Examples/RN0747/.eslintrc.js new file mode 100644 index 00000000..187894b6 --- /dev/null +++ b/Examples/RN0747/.eslintrc.js @@ -0,0 +1,4 @@ +module.exports = { + root: true, + extends: '@react-native', +}; diff --git a/Examples/RN0747/.gitignore b/Examples/RN0747/.gitignore new file mode 100644 index 00000000..d5ae4566 --- /dev/null +++ b/Examples/RN0747/.gitignore @@ -0,0 +1,74 @@ +# OSX +# +.DS_Store + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +**/.xcode.env.local + +# Android/IntelliJ +# +build/ +.idea +.gradle +local.properties +*.iml +*.hprof +.cxx/ +*.keystore +!debug.keystore + +# node.js +# +node_modules/ +npm-debug.log +yarn-error.log + +# fastlane +# +# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the +# screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/ + +**/fastlane/report.xml +**/fastlane/Preview.html +**/fastlane/screenshots +**/fastlane/test_output + +# Bundle artifact +*.jsbundle + +# Ruby / CocoaPods +**/Pods/ +/vendor/bundle/ + +# Temporary files created by Metro to check the health of the file watcher +.metro-health-check* + +# testing +/coverage + +# Yarn +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions diff --git a/Examples/RN0747/.prettierrc.js b/Examples/RN0747/.prettierrc.js new file mode 100644 index 00000000..2b540746 --- /dev/null +++ b/Examples/RN0747/.prettierrc.js @@ -0,0 +1,7 @@ +module.exports = { + arrowParens: 'avoid', + bracketSameLine: true, + bracketSpacing: false, + singleQuote: true, + trailingComma: 'all', +}; diff --git a/Examples/RN0747/.watchmanconfig b/Examples/RN0747/.watchmanconfig new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/Examples/RN0747/.watchmanconfig @@ -0,0 +1 @@ +{} diff --git a/Examples/RN0747/App.tsx b/Examples/RN0747/App.tsx new file mode 100644 index 00000000..a2567a56 --- /dev/null +++ b/Examples/RN0747/App.tsx @@ -0,0 +1,191 @@ +import React, { useCallback, useState } from 'react'; +import { + Button, + Platform, + ScrollView, + StatusBar, + Text, + TextInput, + View, +} from 'react-native'; +import CodePush, { + ReleaseHistoryInterface, + UpdateCheckRequest, +} from '@bravemobile/react-native-code-push'; +import { SafeAreaProvider, useSafeAreaInsets } from 'react-native-safe-area-context'; + +// Set this to true before run `npx code-push release` to release a new bundle +const IS_RELEASING_BUNDLE = false; + +const REACT_NATIVE_VERSION = (() => { + const { major, minor, patch, prerelease } = Platform.constants.reactNativeVersion; + return `${major}.${minor}.${patch}` + (prerelease ? `-${prerelease}` : ''); +})(); + +function App() { + const { top } = useSafeAreaInsets(); + const [syncResult, setSyncResult] = useState(''); + const [progress, setProgress] = useState(0); + const [runningMetadata, setRunningMetadata] = useState(''); + const [pendingMetadata, setPendingMetadata] = useState(''); + const [latestMetadata, setLatestMetadata] = useState(''); + + const handleSync = useCallback(() => { + CodePush.sync( + {}, + status => { + setSyncResult(findKeyByValue(CodePush.SyncStatus, status) ?? ''); + }, + ({ receivedBytes, totalBytes }) => { + setProgress(Math.round((receivedBytes / totalBytes) * 100)); + }, + mismatch => { + console.log('CodePush mismatch', JSON.stringify(mismatch, null, 2)); + }, + ).catch(error => { + console.error(error); + console.log('Sync failed', error.message ?? 'Unknown error'); + }); + }, []); + + const handleMetadata = useCallback(async () => { + const [running, pending, latest] = await Promise.all([ + CodePush.getUpdateMetadata(CodePush.UpdateState.RUNNING), + CodePush.getUpdateMetadata(CodePush.UpdateState.PENDING), + CodePush.getUpdateMetadata(CodePush.UpdateState.LATEST), + ]); + setRunningMetadata(JSON.stringify(running ?? null, null, 2)); + setPendingMetadata(JSON.stringify(pending ?? null, null, 2)); + setLatestMetadata(JSON.stringify(latest ?? null, null, 2)); + }, []); + + return ( + + + {`React Native ${REACT_NATIVE_VERSION}`} + + {IS_RELEASING_BUNDLE && + {'UPDATED!'} + } + + + +