mirror of
				https://gitcode.com/gh_mirrors/re/react-native-pushy.git
				synced 2025-10-31 13:23:12 +08:00 
			
		
		
		
	feat: project init
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								Example/testHotUpdate/cache/test-butler-app.apk
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Example/testHotUpdate/cache/test-butler-app.apk
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										111
									
								
								Example/testHotUpdate/detox.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								Example/testHotUpdate/detox.config.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,111 @@ | ||||
| /** @type {Detox.DetoxConfig} */ | ||||
| module.exports = { | ||||
|   logger: { | ||||
|     level: process.env.CI ? 'debug' : undefined, | ||||
|   }, | ||||
|   testRunner: { | ||||
|     args: { | ||||
|       config: 'e2e/jest.config.js', | ||||
|       maxWorkers: process.env.CI ? 2 : undefined, | ||||
|       _: ['e2e'], | ||||
|     }, | ||||
|   }, | ||||
|   artifacts: { | ||||
|     plugins: { | ||||
|       log: process.env.CI ? 'failing' : undefined, | ||||
|       screenshot: process.env.CI ? 'failing' : undefined, | ||||
|     }, | ||||
|   }, | ||||
|   apps: { | ||||
|     'ios.release': { | ||||
|       type: 'ios.app', | ||||
|       binaryPath: | ||||
|         'ios/build/Build/Products/Release-iphonesimulator/testHotUpdate.app', | ||||
|       build: | ||||
|         'export RCT_NO_LAUNCH_PACKAGER=true && xcodebuild -workspace ios/testHotUpdate.xcworkspace -UseNewBuildSystem=NO -scheme testHotUpdate -configuration Release -sdk iphonesimulator -derivedDataPath ios/build -quiet', | ||||
|     }, | ||||
|     'ios.debug': { | ||||
|       type: 'ios.app', | ||||
|       binaryPath: | ||||
|         'ios/build/Build/Products/Debug-iphonesimulator/testHotUpdate.app', | ||||
|       build: | ||||
|         'xcodebuild -workspace ios/testHotUpdate.xcworkspace -UseNewBuildSystem=NO -scheme testHotUpdate -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build', | ||||
|       start: 'scripts/start-rn.sh ios', | ||||
|     }, | ||||
|     'android.debug': { | ||||
|       type: 'android.apk', | ||||
|       binaryPath: 'android/app/build/outputs/apk/debug/app-debug.apk', | ||||
|       build: | ||||
|         'cd android ; ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug ; cd -', | ||||
|       start: 'scripts/start-rn.sh android', | ||||
|     }, | ||||
|     'android.release': { | ||||
|       type: 'android.apk', | ||||
|       binaryPath: 'android/app/build/outputs/apk/release/app-release.apk', | ||||
|       build: | ||||
|         'cd android ; ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release ; cd -', | ||||
|     }, | ||||
|   }, | ||||
|   devices: { | ||||
|     simulator: { | ||||
|       type: 'ios.simulator', | ||||
|       headless: Boolean(process.env.CI), | ||||
|       device: { | ||||
|         type: 'iPhone 14', | ||||
|       }, | ||||
|     }, | ||||
|     emulator: { | ||||
|       type: 'android.emulator', | ||||
|       headless: Boolean(process.env.CI), | ||||
|       gpuMode: process.env.CI ? 'off' : undefined, | ||||
|       device: { | ||||
|         avdName: 'Pixel_3a_API_33_arm64-v8a', | ||||
|       }, | ||||
|       utilBinaryPaths: ['./cache/test-butler-app.apk'], | ||||
|     }, | ||||
|     'genymotion.emulator.uuid': { | ||||
|       type: 'android.genycloud', | ||||
|       device: { | ||||
|         recipeUUID: 'a50a71d6-da90-4c67-bdfa-5b602b0bbd15', | ||||
|       }, | ||||
|       utilBinaryPaths: ['./cache/test-butler-app.apk'], | ||||
|     }, | ||||
|     'genymotion.emulator.name': { | ||||
|       type: 'android.genycloud', | ||||
|       device: { | ||||
|         recipeName: 'Pixel_3a_API_33_arm64-v8a', | ||||
|       }, | ||||
|       utilBinaryPaths: ['./cache/test-butler-app.apk'], | ||||
|     }, | ||||
|   }, | ||||
|   configurations: { | ||||
|     'ios.sim.release': { | ||||
|       device: 'simulator', | ||||
|       app: 'ios.release', | ||||
|     }, | ||||
|     'ios.sim.debug': { | ||||
|       device: 'simulator', | ||||
|       app: 'ios.debug', | ||||
|     }, | ||||
|     'ios.manual': { | ||||
|       type: 'ios.manual', | ||||
|       behavior: { | ||||
|         launchApp: 'manual', | ||||
|       }, | ||||
|       artifacts: false, | ||||
|       session: { | ||||
|         autoStart: true, | ||||
|         server: 'ws://localhost:8099', | ||||
|         sessionId: 'com.wix.demo.react.native', | ||||
|       }, | ||||
|     }, | ||||
|     'android.emu.debug': { | ||||
|       device: 'emulator', | ||||
|       app: 'android.debug', | ||||
|     }, | ||||
|     'android.emu.release': { | ||||
|       device: 'emulator', | ||||
|       app: 'android.release', | ||||
|     }, | ||||
|   }, | ||||
| }; | ||||
							
								
								
									
										89
									
								
								Example/testHotUpdate/e2e/NativeModule.test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								Example/testHotUpdate/e2e/NativeModule.test.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,89 @@ | ||||
| import {by, device, element, expect} from 'detox'; | ||||
|  | ||||
| describe('测试Native模块的方法', () => { | ||||
|   beforeAll(async () => { | ||||
|     await device.launchApp(); | ||||
|   }); | ||||
|  | ||||
|   it('setLocalHashInfo', async () => { | ||||
|     await element(by.id('testcase')).longPress(); | ||||
|     await element(by.id('setLocalHashInfo')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await expect(element(by.text('done'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|   }); | ||||
|  | ||||
|   it('getLocalHashInfo', async () => { | ||||
|     await element(by.id('getLocalHashInfo')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await expect(element(by.text('done'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|   }); | ||||
|  | ||||
|   it('setUuid', async () => { | ||||
|     await element(by.id('setUuid')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await expect(element(by.text('done'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|   }); | ||||
|  | ||||
|   it('setBlockUpdate', async () => { | ||||
|     await element(by.id('setBlockUpdate')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await expect(element(by.text('done'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|   }); | ||||
|  | ||||
|   it('reloadUpdate', async () => { | ||||
|     await element(by.id('reloadUpdate')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await expect(element(by.text('刚刚更新失败了,版本被回滚.'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|   }); | ||||
|  | ||||
|   it('setNeedUpdate', async () => { | ||||
|     await element(by.id('testcase')).longPress(); | ||||
|     await element(by.id('setNeedUpdate')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await expect(element(by.text('done'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|   }); | ||||
|  | ||||
|   it('markSuccess', async () => { | ||||
|     await element(by.id('markSuccess')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await expect(element(by.text('done'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|   }); | ||||
|  | ||||
|   it('downloadPatchFromPpk', async () => { | ||||
|     await element(by.id('downloadPatchFromPpk')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await expect(element(by.text('failed to open zip file'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|   }); | ||||
|  | ||||
|   it('downloadPatchFromPackage', async () => { | ||||
|     await element(by.id('downloadPatchFromPackage')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await expect(element(by.text('failed to open zip file'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|   }); | ||||
|  | ||||
|   it('downloadFullUpdate', async () => { | ||||
|     await element(by.id('downloadFullUpdate')).tap(); | ||||
|     await element(by.id('submit')).tap(); | ||||
|     await expect(element(by.text('failed to open zip file'))).toBeVisible(); | ||||
|     await element(by.text('OK')).tap(); | ||||
|   }); | ||||
|  | ||||
|   if (device.getPlatform() === 'android') { | ||||
|     it('downloadAndInstallApk', async () => { | ||||
|       await element(by.id('testcase')).longPress(); | ||||
|       await element(by.id('downloadAndInstallApk')).tap(); | ||||
|       await element(by.id('submit')).tap(); | ||||
|       await expect(element(by.text('failed to open zip file'))).toBeVisible(); | ||||
|       await element(by.text('OK')).tap(); | ||||
|     }); | ||||
|   } | ||||
| }); | ||||
							
								
								
									
										29
									
								
								Example/testHotUpdate/e2e/globalSetup.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								Example/testHotUpdate/e2e/globalSetup.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| import { execSync } from 'child_process'; | ||||
|  | ||||
| import { pathExists, ensureDir } from 'fs-extra'; | ||||
|  | ||||
| import { resolveConfig } from 'detox/internals'; | ||||
| import { globalSetup } from 'detox/runners/jest'; | ||||
|  | ||||
| export default async function customGlobalSetup() { | ||||
|   const config = await resolveConfig(); | ||||
|   if (config.device.type === 'android.emulator') { | ||||
|     await downloadTestButlerAPK(); | ||||
|   } | ||||
|  | ||||
|   await globalSetup(); | ||||
| } | ||||
|  | ||||
| async function downloadTestButlerAPK() { | ||||
|   const version = '2.2.1'; | ||||
|   const artifactUrl = `https://repo1.maven.org/maven2/com/linkedin/testbutler/test-butler-app/${version}/test-butler-app-${version}.apk`; | ||||
|   const filePath = `cache/test-butler-app.apk`; | ||||
|  | ||||
|   await ensureDir('cache'); | ||||
|   if (!(await pathExists(filePath))) { | ||||
|     console.log(`\nDownloading Test-Butler APK v${version}...`); | ||||
|     execSync(`curl -f -o ${filePath} ${artifactUrl}`); | ||||
|   } | ||||
| } | ||||
|  | ||||
| module.exports = customGlobalSetup; | ||||
							
								
								
									
										16
									
								
								Example/testHotUpdate/e2e/jest.config.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								Example/testHotUpdate/e2e/jest.config.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| /** @type {import('jest').Config} */ | ||||
| module.exports = { | ||||
|   maxWorkers: 1, | ||||
|   globalSetup: './globalSetup.ts', | ||||
|   globalTeardown: 'detox/runners/jest/globalTeardown', | ||||
|   testEnvironment: 'detox/runners/jest/testEnvironment', | ||||
|   setupFilesAfterEnv: ['./setup.ts'], | ||||
|   testRunner: 'jest-circus/runner', | ||||
|   testTimeout: 120000, | ||||
|   testMatch: ['**/*.test.ts'], | ||||
|   transform: { | ||||
|     '\\.tsx?$': 'ts-jest', | ||||
|   }, | ||||
|   reporters: ['detox/runners/jest/reporter'], | ||||
|   verbose: true, | ||||
| }; | ||||
							
								
								
									
										5
									
								
								Example/testHotUpdate/e2e/setup.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								Example/testHotUpdate/e2e/setup.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| import { device } from 'detox'; | ||||
|  | ||||
| beforeAll(async () => { | ||||
|   await device.launchApp(); | ||||
| }); | ||||
| @@ -89,11 +89,6 @@ PODS: | ||||
|     - DoubleConversion | ||||
|     - fmt (~> 6.2.1) | ||||
|     - glog | ||||
|   - RCT-Folly/Fabric (2021.07.22.00): | ||||
|     - boost | ||||
|     - DoubleConversion | ||||
|     - fmt (~> 6.2.1) | ||||
|     - glog | ||||
|   - RCT-Folly/Futures (2021.07.22.00): | ||||
|     - boost | ||||
|     - DoubleConversion | ||||
| @@ -126,10 +121,8 @@ PODS: | ||||
|     - RCTRequired | ||||
|     - RCTTypeSafety | ||||
|     - React-Core | ||||
|     - React-graphics | ||||
|     - React-jsi | ||||
|     - React-jsiexecutor | ||||
|     - React-rncore | ||||
|     - ReactCommon/turbomodule/bridging | ||||
|     - ReactCommon/turbomodule/core | ||||
|   - React-Core (0.71.1): | ||||
| @@ -278,326 +271,6 @@ PODS: | ||||
|     - React-logger (= 0.71.1) | ||||
|     - React-perflogger (= 0.71.1) | ||||
|     - React-runtimeexecutor (= 0.71.1) | ||||
|   - React-Fabric (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Fabric/animations (= 0.71.1) | ||||
|     - React-Fabric/attributedstring (= 0.71.1) | ||||
|     - React-Fabric/butter (= 0.71.1) | ||||
|     - React-Fabric/componentregistry (= 0.71.1) | ||||
|     - React-Fabric/componentregistrynative (= 0.71.1) | ||||
|     - React-Fabric/components (= 0.71.1) | ||||
|     - React-Fabric/config (= 0.71.1) | ||||
|     - React-Fabric/core (= 0.71.1) | ||||
|     - React-Fabric/debug_core (= 0.71.1) | ||||
|     - React-Fabric/debug_renderer (= 0.71.1) | ||||
|     - React-Fabric/imagemanager (= 0.71.1) | ||||
|     - React-Fabric/leakchecker (= 0.71.1) | ||||
|     - React-Fabric/mapbuffer (= 0.71.1) | ||||
|     - React-Fabric/mounting (= 0.71.1) | ||||
|     - React-Fabric/runtimescheduler (= 0.71.1) | ||||
|     - React-Fabric/scheduler (= 0.71.1) | ||||
|     - React-Fabric/telemetry (= 0.71.1) | ||||
|     - React-Fabric/templateprocessor (= 0.71.1) | ||||
|     - React-Fabric/textlayoutmanager (= 0.71.1) | ||||
|     - React-Fabric/uimanager (= 0.71.1) | ||||
|     - React-Fabric/utils (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/animations (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/attributedstring (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/butter (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/componentregistry (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/componentregistrynative (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/components (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Fabric/components/activityindicator (= 0.71.1) | ||||
|     - React-Fabric/components/image (= 0.71.1) | ||||
|     - React-Fabric/components/inputaccessory (= 0.71.1) | ||||
|     - React-Fabric/components/legacyviewmanagerinterop (= 0.71.1) | ||||
|     - React-Fabric/components/modal (= 0.71.1) | ||||
|     - React-Fabric/components/root (= 0.71.1) | ||||
|     - React-Fabric/components/safeareaview (= 0.71.1) | ||||
|     - React-Fabric/components/scrollview (= 0.71.1) | ||||
|     - React-Fabric/components/slider (= 0.71.1) | ||||
|     - React-Fabric/components/text (= 0.71.1) | ||||
|     - React-Fabric/components/textinput (= 0.71.1) | ||||
|     - React-Fabric/components/unimplementedview (= 0.71.1) | ||||
|     - React-Fabric/components/view (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/components/activityindicator (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/components/image (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/components/inputaccessory (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/components/legacyviewmanagerinterop (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/components/modal (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/components/root (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/components/safeareaview (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/components/scrollview (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/components/slider (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/components/text (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/components/textinput (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/components/unimplementedview (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/components/view (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|     - Yoga | ||||
|   - React-Fabric/config (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/core (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/debug_core (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/debug_renderer (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/imagemanager (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - React-RCTImage (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/leakchecker (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/mapbuffer (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/mounting (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/runtimescheduler (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/scheduler (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/telemetry (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/templateprocessor (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/textlayoutmanager (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-Fabric/uimanager | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/uimanager (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-Fabric/utils (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - RCTRequired (= 0.71.1) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
|     - React-graphics (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-jsiexecutor (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-graphics (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - React-Core/Default (= 0.71.1) | ||||
|   - React-hermes (0.71.1): | ||||
|     - DoubleConversion | ||||
|     - glog | ||||
| @@ -624,34 +297,19 @@ PODS: | ||||
|   - React-jsinspector (0.71.1) | ||||
|   - React-logger (0.71.1): | ||||
|     - glog | ||||
|   - react-native-update (9.1.0): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTRequired | ||||
|     - RCTTypeSafety | ||||
|   - react-native-update (9.0.0): | ||||
|     - React | ||||
|     - React-Codegen | ||||
|     - React-Core | ||||
|     - react-native-update/HDiffPatch (= 9.1.0) | ||||
|     - react-native-update/RCTPushy (= 9.1.0) | ||||
|     - ReactCommon/turbomodule/core | ||||
|     - react-native-update/HDiffPatch (= 9.0.0) | ||||
|     - react-native-update/RCTPushy (= 9.0.0) | ||||
|     - SSZipArchive | ||||
|   - react-native-update/HDiffPatch (9.1.0): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTRequired | ||||
|     - RCTTypeSafety | ||||
|   - react-native-update/HDiffPatch (9.0.0): | ||||
|     - React | ||||
|     - React-Codegen | ||||
|     - React-Core | ||||
|     - ReactCommon/turbomodule/core | ||||
|     - SSZipArchive | ||||
|   - react-native-update/RCTPushy (9.1.0): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTRequired | ||||
|     - RCTTypeSafety | ||||
|   - react-native-update/RCTPushy (9.0.0): | ||||
|     - React | ||||
|     - React-Codegen | ||||
|     - React-Core | ||||
|     - ReactCommon/turbomodule/core | ||||
|     - SSZipArchive | ||||
|   - React-perflogger (0.71.1) | ||||
|   - React-RCTActionSheet (0.71.1): | ||||
| @@ -668,8 +326,6 @@ PODS: | ||||
|     - RCTRequired | ||||
|     - RCTTypeSafety | ||||
|     - React-Core | ||||
|     - React-graphics | ||||
|     - React-RCTFabric | ||||
|     - ReactCommon/turbomodule/core | ||||
|   - React-RCTBlob (0.71.1): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
| @@ -679,11 +335,6 @@ PODS: | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - React-RCTNetwork (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-RCTFabric (0.71.1): | ||||
|     - RCT-Folly/Fabric (= 2021.07.22.00) | ||||
|     - React-Core (= 0.71.1) | ||||
|     - React-Fabric (= 0.71.1) | ||||
|     - React-RCTImage (= 0.71.1) | ||||
|   - React-RCTImage (0.71.1): | ||||
|     - RCT-Folly (= 2021.07.22.00) | ||||
|     - RCTTypeSafety (= 0.71.1) | ||||
| @@ -719,7 +370,6 @@ PODS: | ||||
|     - React-Core/RCTVibrationHeaders (= 0.71.1) | ||||
|     - React-jsi (= 0.71.1) | ||||
|     - ReactCommon/turbomodule/core (= 0.71.1) | ||||
|   - React-rncore (0.71.1) | ||||
|   - React-runtimeexecutor (0.71.1): | ||||
|     - React-jsi (= 0.71.1) | ||||
|   - ReactCommon/turbomodule/bridging (0.71.1): | ||||
| @@ -779,7 +429,6 @@ DEPENDENCIES: | ||||
|   - libevent (~> 2.1.12) | ||||
|   - OpenSSL-Universal (= 1.1.1100) | ||||
|   - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) | ||||
|   - RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) | ||||
|   - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) | ||||
|   - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) | ||||
|   - React (from `../node_modules/react-native/`) | ||||
| @@ -790,8 +439,6 @@ DEPENDENCIES: | ||||
|   - React-Core/RCTWebSocket (from `../node_modules/react-native/`) | ||||
|   - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) | ||||
|   - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) | ||||
|   - React-Fabric (from `../node_modules/react-native/ReactCommon`) | ||||
|   - React-graphics (from `../node_modules/react-native/ReactCommon/react/renderer/graphics`) | ||||
|   - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) | ||||
|   - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) | ||||
|   - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) | ||||
| @@ -803,14 +450,12 @@ DEPENDENCIES: | ||||
|   - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) | ||||
|   - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) | ||||
|   - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) | ||||
|   - React-RCTFabric (from `../node_modules/react-native/React`) | ||||
|   - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) | ||||
|   - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) | ||||
|   - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) | ||||
|   - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) | ||||
|   - React-RCTText (from `../node_modules/react-native/Libraries/Text`) | ||||
|   - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) | ||||
|   - React-rncore (from `../node_modules/react-native/ReactCommon`) | ||||
|   - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) | ||||
|   - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) | ||||
|   - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) | ||||
| @@ -865,10 +510,6 @@ EXTERNAL SOURCES: | ||||
|     :path: "../node_modules/react-native/React/CoreModules" | ||||
|   React-cxxreact: | ||||
|     :path: "../node_modules/react-native/ReactCommon/cxxreact" | ||||
|   React-Fabric: | ||||
|     :path: "../node_modules/react-native/ReactCommon" | ||||
|   React-graphics: | ||||
|     :path: "../node_modules/react-native/ReactCommon/react/renderer/graphics" | ||||
|   React-hermes: | ||||
|     :path: "../node_modules/react-native/ReactCommon/hermes" | ||||
|   React-jsi: | ||||
| @@ -891,8 +532,6 @@ EXTERNAL SOURCES: | ||||
|     :path: "../node_modules/react-native/Libraries/AppDelegate" | ||||
|   React-RCTBlob: | ||||
|     :path: "../node_modules/react-native/Libraries/Blob" | ||||
|   React-RCTFabric: | ||||
|     :path: "../node_modules/react-native/React" | ||||
|   React-RCTImage: | ||||
|     :path: "../node_modules/react-native/Libraries/Image" | ||||
|   React-RCTLinking: | ||||
| @@ -905,8 +544,6 @@ EXTERNAL SOURCES: | ||||
|     :path: "../node_modules/react-native/Libraries/Text" | ||||
|   React-RCTVibration: | ||||
|     :path: "../node_modules/react-native/Libraries/Vibration" | ||||
|   React-rncore: | ||||
|     :path: "../node_modules/react-native/ReactCommon" | ||||
|   React-runtimeexecutor: | ||||
|     :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" | ||||
|   ReactCommon: | ||||
| @@ -919,7 +556,7 @@ SPEC CHECKSUMS: | ||||
|   CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 | ||||
|   DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 | ||||
|   FBLazyVector: ad72713385db5289b19f1ead07e8e4aa26dcb01d | ||||
|   FBReactNativeSpec: 06fc2a521838dc240b499699d43467b071c66908 | ||||
|   FBReactNativeSpec: df2602c11e33d310433496e28a48b4b2be652a61 | ||||
|   Flipper: 26fc4b7382499f1281eb8cb921e5c3ad6de91fe0 | ||||
|   Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c | ||||
|   Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 | ||||
| @@ -939,31 +576,27 @@ SPEC CHECKSUMS: | ||||
|   RCTTypeSafety: c276d85975bde3d8448907235c70bf0da257adfd | ||||
|   React: e481a67971af1ce9639c9f746b753dd0e84ca108 | ||||
|   React-callinvoker: 1051c04a94fa9d243786b86380606bad701a3b31 | ||||
|   React-Codegen: d4bc58865453b6a797405aa99f9fa1da3c9e58c6 | ||||
|   React-Codegen: 14b1e716d361d5ad95e0ce1a338f3fa0733a98b5 | ||||
|   React-Core: 698fc3baecb80d511d987475a16d036cec6d287f | ||||
|   React-CoreModules: 59245305f41ff0adfeac334acc0594dea4585a7c | ||||
|   React-cxxreact: 49accd2954b0f532805dbcd1918fa6962f32f247 | ||||
|   React-Fabric: 30982dc19c7511bedf1751b0a0c21a5b816e2a3e | ||||
|   React-graphics: beabc29b026e7472ced1482557effedd15a09cf1 | ||||
|   React-hermes: d068733294581a085e95b6024e8d951b005e26d3 | ||||
|   React-jsi: 122b9bce14f4c6c7cb58f28f87912cfe091885fa | ||||
|   React-jsiexecutor: 60cf272aababc5212410e4249d17cea14fc36caa | ||||
|   React-jsinspector: ff56004b0c974b688a6548c156d5830ad751ae07 | ||||
|   React-logger: 60a0b5f8bed667ecf9e24fecca1f30d125de6d75 | ||||
|   react-native-update: b9d44d250953e61f1b42c22fa4d585a6bb5dd4d6 | ||||
|   react-native-update: 2b5ef06bfeaa668614c8deb7ec4d20dcf56f9278 | ||||
|   React-perflogger: ec8eef2a8f03ecfa6361c2c5fb9197ef4a29cc85 | ||||
|   React-RCTActionSheet: a0c023b86cf4c862fa9c4eb0f6f91fbe878fb2de | ||||
|   React-RCTAnimation: 168d53718c74153947c0109f55900faa64d79439 | ||||
|   React-RCTAppDelegate: 5f34addd2f9d8c542c129b562b7f3db0cc599a3d | ||||
|   React-RCTAppDelegate: a8efbab128b34aa07a9491c85a41401210b1bec5 | ||||
|   React-RCTBlob: 9bcbfc893bfda9f6b2eb016329d38c0f6366d31a | ||||
|   React-RCTFabric: cec4e89720e8778aa132e5515be1af251d2e9b6a | ||||
|   React-RCTImage: 3fcd4570b4b0f1ac2f4b4b6308dba33ce66c5b50 | ||||
|   React-RCTLinking: 1edb8e1bb3fc39bf9e13c63d6aaaa3f0c3d18683 | ||||
|   React-RCTNetwork: 500a79e0e0f67678077df727fabba87a55c043e1 | ||||
|   React-RCTSettings: cc4414eb84ad756d619076c3999fecbf12896d6f | ||||
|   React-RCTText: 2a34261f3da6e34f47a62154def657546ebfa5e1 | ||||
|   React-RCTVibration: 49d531ec8498e0afa2c9b22c2205784372e3d4f3 | ||||
|   React-rncore: b802bc9f6985c482127b066c869999a09d25edeb | ||||
|   React-runtimeexecutor: 311feb67600774723fe10eb8801d3138cae9ad67 | ||||
|   ReactCommon: 03be76588338a27a88d103b35c3c44a3fd43d136 | ||||
|   SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608 | ||||
|   | ||||
| @@ -211,7 +211,7 @@ | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 			buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "testHotupdate" */; | ||||
| 			buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "testHotUpdate" */; | ||||
| 			compatibilityVersion = "Xcode 12.0"; | ||||
| 			developmentRegion = en; | ||||
| 			hasScannedForEncodings = 0; | ||||
| @@ -689,7 +689,7 @@ | ||||
| 			defaultConfigurationIsVisible = 0; | ||||
| 			defaultConfigurationName = Release; | ||||
| 		}; | ||||
| 		83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "testHotupdate" */ = { | ||||
| 		83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "testHotUpdate" */ = { | ||||
| 			isa = XCConfigurationList; | ||||
| 			buildConfigurations = ( | ||||
| 				83CBBA201A601CBA00E9B192 /* Debug */, | ||||
|   | ||||
| @@ -7,4 +7,7 @@ | ||||
|    <FileRef | ||||
|       location = "group:Pods/Pods.xcodeproj"> | ||||
|    </FileRef> | ||||
|    <FileRef | ||||
|       location = "group:testHotUpdate.xcodeproj"> | ||||
|    </FileRef> | ||||
| </Workspace> | ||||
|   | ||||
| @@ -24,17 +24,6 @@ | ||||
| 	<string>$(CURRENT_PROJECT_VERSION)</string> | ||||
| 	<key>LSRequiresIPhoneOS</key> | ||||
| 	<true/> | ||||
| 	<key>NSAppTransportSecurity</key> | ||||
| 	<dict> | ||||
| 		<key>NSExceptionDomains</key> | ||||
| 		<dict> | ||||
| 			<key>localhost</key> | ||||
| 			<dict> | ||||
| 				<key>NSExceptionAllowsInsecureHTTPLoads</key> | ||||
| 				<true/> | ||||
| 			</dict> | ||||
| 		</dict> | ||||
| 	</dict> | ||||
| 	<key>NSLocationWhenInUseUsageDescription</key> | ||||
| 	<string></string> | ||||
| 	<key>UILaunchStoryboardName</key> | ||||
| @@ -51,5 +40,18 @@ | ||||
| 	</array> | ||||
| 	<key>UIViewControllerBasedStatusBarAppearance</key> | ||||
| 	<false/> | ||||
| 	<key>NSAppTransportSecurity</key> | ||||
| 	<dict> | ||||
| 		<key>NSAllowsArbitraryLoads</key> | ||||
| 		<true/> | ||||
| 		<key>NSExceptionDomains</key> | ||||
| 		<dict> | ||||
| 			<key>localhost</key> | ||||
| 			<dict> | ||||
| 				<key>NSExceptionAllowsInsecureHTTPLoads</key> | ||||
| 				<true/> | ||||
| 			</dict> | ||||
| 		</dict> | ||||
| 	</dict> | ||||
| </dict> | ||||
| </plist> | ||||
|   | ||||
| @@ -25,11 +25,15 @@ | ||||
|     "@types/react": "^18.0.24", | ||||
|     "@types/react-test-renderer": "^18.0.0", | ||||
|     "babel-jest": "^29.2.1", | ||||
|     "detox": "^20.5.0", | ||||
|     "eslint": "^8.19.0", | ||||
|     "fs-extra": "^11.1.0", | ||||
|     "jest": "^29.2.1", | ||||
|     "metro-react-native-babel-preset": "0.73.7", | ||||
|     "prettier": "^2.4.1", | ||||
|     "react-test-renderer": "18.2.0" | ||||
|     "react-test-renderer": "18.2.0", | ||||
|     "ts-jest": "^29.0.5", | ||||
|     "typescript": "^4.9.5" | ||||
|   }, | ||||
|   "jest": { | ||||
|     "preset": "react-native" | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| /* eslint-disable react-native/no-inline-styles */ | ||||
| /* eslint-disable react/react-in-jsx-scope */ | ||||
| import {useState} from 'react'; | ||||
| import {useCallback, useMemo, useState} from 'react'; | ||||
| import { | ||||
|   ActivityIndicator, | ||||
|   Alert, | ||||
| @@ -10,14 +10,117 @@ import { | ||||
|   StyleSheet, | ||||
|   SafeAreaView, | ||||
|   Text, | ||||
|   ScrollView, | ||||
|   View, | ||||
|   TouchableOpacity, | ||||
| } from 'react-native'; | ||||
|  | ||||
| import {PushyModule} from 'react-native-update'; | ||||
|  | ||||
| const Hash = '9D5CE6EBA420717BE7E7D308B11F8207681B066C951D68F3994D19828F342474'; | ||||
| const UUID = '00000000-0000-0000-0000-000000000000'; | ||||
| const DownloadUrl = | ||||
|   'http://cos.pgyer.com/697913e94d7441f20c686e2b0996a1aa.apk?sign=363b035b7ef52c199c268abfacee3712&t=1678603669&response-content-disposition=attachment%3Bfilename%3DtestHotupdate_1.0.apk'; | ||||
| export default function TestConsole({visible}) { | ||||
|   const [text, setText] = useState(''); | ||||
|   const [running, setRunning] = useState(false); | ||||
|   const [options, setOptions] = useState(); | ||||
|   const NativeTestMethod = useMemo(() => { | ||||
|     return [ | ||||
|       { | ||||
|         name: 'setLocalHashInfo', | ||||
|         invoke: () => { | ||||
|           setText( | ||||
|             `setLocalHashInfo\n${Hash}\n{\"version\":\"1.0.0\",\"size\":\"19M\"}`, | ||||
|           ); | ||||
|         }, | ||||
|       }, | ||||
|       { | ||||
|         name: 'getLocalHashInfo', | ||||
|         invoke: () => { | ||||
|           setText(`getLocalHashInfo\n${Hash}`); | ||||
|         }, | ||||
|       }, | ||||
|       { | ||||
|         name: 'setUuid', | ||||
|         invoke: () => { | ||||
|           setText(`setUuid\n${UUID}`); | ||||
|         }, | ||||
|       }, | ||||
|       { | ||||
|         name: 'setBlockUpdate', | ||||
|         invoke: () => { | ||||
|           setText('setBlockUpdate'); | ||||
|           setOptions({reason: 'application has been block', until: 1673082950}); | ||||
|         }, | ||||
|       }, | ||||
|       { | ||||
|         name: 'reloadUpdate', | ||||
|         invoke: () => { | ||||
|           setText('reloadUpdate'); | ||||
|           setOptions({hash: Hash}); | ||||
|         }, | ||||
|       }, | ||||
|       { | ||||
|         name: 'setNeedUpdate', | ||||
|         invoke: () => { | ||||
|           setText('setNeedUpdate'); | ||||
|           setOptions({hash: Hash}); | ||||
|         }, | ||||
|       }, | ||||
|       { | ||||
|         name: 'markSuccess', | ||||
|         invoke: () => { | ||||
|           setText('markSuccess'); | ||||
|         }, | ||||
|       }, | ||||
|       { | ||||
|         name: 'downloadPatchFromPpk', | ||||
|         invoke: () => { | ||||
|           setText('downloadPatchFromPpk'); | ||||
|           setOptions({updateUrl: DownloadUrl, hash: Hash, originHash: Hash}); | ||||
|         }, | ||||
|       }, | ||||
|       { | ||||
|         name: 'downloadPatchFromPackage', | ||||
|         invoke: () => { | ||||
|           setText('downloadPatchFromPackage'); | ||||
|           setOptions({updateUrl: DownloadUrl, hash: Hash}); | ||||
|         }, | ||||
|       }, | ||||
|       { | ||||
|         name: 'downloadFullUpdate', | ||||
|         invoke: () => { | ||||
|           setText('downloadFullUpdate'); | ||||
|           setOptions({updateUrl: DownloadUrl, hash: Hash}); | ||||
|         }, | ||||
|       }, | ||||
|       { | ||||
|         name: 'downloadAndInstallApk', | ||||
|         invoke: () => { | ||||
|           setText('downloadAndInstallApk'); | ||||
|           setOptions({url: DownloadUrl, target: Hash, hash: Hash}); | ||||
|         }, | ||||
|       }, | ||||
|     ]; | ||||
|   }, []); | ||||
|  | ||||
|   const renderTestView = useCallback(() => { | ||||
|     const views = []; | ||||
|     for (let i = 0; i < NativeTestMethod.length; i++) { | ||||
|       views.push( | ||||
|         <TouchableOpacity | ||||
|           key={i} | ||||
|           testID={NativeTestMethod[i].name} | ||||
|           onPress={() => { | ||||
|             NativeTestMethod[i].invoke(); | ||||
|           }} | ||||
|           style={{width: 10, height: 10, backgroundColor: 'red'}} | ||||
|         />, | ||||
|       ); | ||||
|     } | ||||
|     return <View>{views}</View>; | ||||
|   }, [NativeTestMethod]); | ||||
|  | ||||
|   return ( | ||||
|     <Modal visible={visible}> | ||||
|       <SafeAreaView style={{flex: 1, padding: 10}}> | ||||
| @@ -42,25 +145,27 @@ export default function TestConsole({visible}) { | ||||
|         {running && <ActivityIndicator />} | ||||
|         <Button | ||||
|           title="执行" | ||||
|           testID="submit" | ||||
|           onPress={async () => { | ||||
|             setRunning(true); | ||||
|             try { | ||||
|               const inputs = text.split('\n'); | ||||
|               const methodName = inputs[0]; | ||||
|               let params; | ||||
|               let params = []; | ||||
|               if (inputs.length === 1) { | ||||
|                 await PushyModule[methodName](); | ||||
|                 if (options) { | ||||
|                   await PushyModule[methodName](options); | ||||
|                 } else { | ||||
|                   await PushyModule[methodName](); | ||||
|                 } | ||||
|               } else { | ||||
|                 if (inputs.length === 2) { | ||||
|                   params = inputs[1]; | ||||
|                   params = [inputs[1]]; | ||||
|                 } else { | ||||
|                   params = {}; | ||||
|                   for (let i = 1; i < inputs.length; i += 2) { | ||||
|                     params[inputs[i]] = inputs[i + 1]; | ||||
|                   } | ||||
|                   params = [inputs[1], inputs[2]]; | ||||
|                   console.log({inputs, params}); | ||||
|                 } | ||||
|                 await PushyModule[methodName](params); | ||||
|                 await PushyModule[methodName](...params); | ||||
|               } | ||||
|               Alert.alert('done'); | ||||
|             } catch (e) { | ||||
| @@ -69,9 +174,11 @@ export default function TestConsole({visible}) { | ||||
|             setRunning(false); | ||||
|           }} | ||||
|         /> | ||||
|         <View style={{marginTop: 15}}> | ||||
|         <ScrollView style={{marginTop: 15}}> | ||||
|           <Button title="重置" onPress={() => setText('')} /> | ||||
|         </View> | ||||
|  | ||||
|           {renderTestView()} | ||||
|         </ScrollView> | ||||
|       </SafeAreaView> | ||||
|     </Modal> | ||||
|   ); | ||||
|   | ||||
| @@ -170,6 +170,7 @@ export default class App extends Component { | ||||
|         </TouchableOpacity> | ||||
|  | ||||
|         <TouchableOpacity | ||||
|           testID="testcase" | ||||
|           style={{marginTop: 15}} | ||||
|           onLongPress={() => { | ||||
|             this.setState({showTestConsole: true}); | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user
	 steven
					steven