@algocare/react-native-code-push 12.6.4 → 13.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/CodePush.podspec +6 -8
  2. package/README.md +343 -586
  3. package/android/app/build.gradle +2 -1
  4. package/android/app/proguard-rules.pro +14 -0
  5. package/android/app/src/debug/AndroidManifest.xml +9 -0
  6. package/android/app/src/main/AndroidManifest.xml +1 -2
  7. package/android/app/src/main/java/com/microsoft/codepush/react/CodePush.java +14 -139
  8. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushConstants.java +0 -3
  9. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushNativeModule.java +108 -63
  10. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushUpdateManager.java +2 -33
  11. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushUpdateUtils.java +13 -109
  12. package/android/build.gradle +3 -0
  13. package/app.plugin.js +1 -0
  14. package/bin/code-push.js +6 -0
  15. package/cli/commands/bundleCommand/bundleCodePush.ts +118 -0
  16. package/cli/commands/bundleCommand/index.ts +34 -0
  17. package/cli/commands/createHistoryCommand/createReleaseHistory.ts +37 -0
  18. package/cli/commands/createHistoryCommand/createReleaseHistoryList.ts +40 -0
  19. package/cli/commands/createHistoryCommand/index.ts +44 -0
  20. package/cli/commands/createPullRequestHistoryCommand/createPullRequestHistory.ts +33 -0
  21. package/cli/commands/createPullRequestHistoryCommand/index.ts +31 -0
  22. package/cli/commands/createPullRequestReleaseCommand/addToPullRequestRelease.ts +71 -0
  23. package/cli/commands/createPullRequestReleaseCommand/createPullRequestRelease.ts +75 -0
  24. package/cli/commands/createPullRequestReleaseCommand/index.ts +74 -0
  25. package/cli/commands/getPackageHashCommand/index.ts +45 -0
  26. package/cli/commands/initCommand/index.ts +14 -0
  27. package/cli/commands/initCommand/initAndroid.ts +91 -0
  28. package/cli/commands/initCommand/initIos.ts +123 -0
  29. package/cli/commands/initCommand/test/initAndroid.test.ts +128 -0
  30. package/cli/commands/initCommand/test/initIos.test.ts +99 -0
  31. package/cli/commands/releaseCommand/addToReleaseHistory.ts +57 -0
  32. package/cli/commands/releaseCommand/index.ts +90 -0
  33. package/cli/commands/releaseCommand/release.ts +105 -0
  34. package/cli/commands/removePullRequestHistoryCommand/index.ts +37 -0
  35. package/cli/commands/removePullRequestHistoryCommand/removePullRequestHistory.ts +28 -0
  36. package/cli/commands/showHistoryCommand/index.ts +31 -0
  37. package/cli/commands/updateHistoryCommand/index.ts +55 -0
  38. package/cli/commands/updateHistoryCommand/updateReleaseHistory.ts +42 -0
  39. package/cli/constant.ts +4 -0
  40. package/cli/dist/commands/bundleCommand/bundleCodePush.js +65 -0
  41. package/cli/dist/commands/bundleCommand/index.js +15 -0
  42. package/cli/dist/commands/createHistoryCommand/createReleaseHistory.js +25 -0
  43. package/cli/dist/commands/createHistoryCommand/createReleaseHistoryList.js +27 -0
  44. package/cli/dist/commands/createHistoryCommand/index.js +20 -0
  45. package/cli/dist/commands/createPullRequestHistoryCommand/createPullRequestHistory.js +23 -0
  46. package/cli/dist/commands/createPullRequestHistoryCommand/index.js +15 -0
  47. package/cli/dist/commands/createPullRequestReleaseCommand/addToPullRequestRelease.js +51 -0
  48. package/cli/dist/commands/createPullRequestReleaseCommand/createPullRequestRelease.js +39 -0
  49. package/cli/dist/commands/createPullRequestReleaseCommand/index.js +35 -0
  50. package/cli/dist/commands/getPackageHashCommand/index.js +26 -0
  51. package/cli/dist/commands/initCommand/index.js +12 -0
  52. package/cli/dist/commands/initCommand/initAndroid.js +73 -0
  53. package/cli/dist/commands/initCommand/initIos.js +108 -0
  54. package/cli/dist/commands/initCommand/test/initAndroid.test.js +113 -0
  55. package/cli/dist/commands/initCommand/test/initIos.test.js +95 -0
  56. package/cli/dist/commands/releaseCommand/addToReleaseHistory.js +35 -0
  57. package/cli/dist/commands/releaseCommand/index.js +45 -0
  58. package/cli/dist/commands/releaseCommand/release.js +62 -0
  59. package/cli/dist/commands/removePullRequestHistoryCommand/index.js +19 -0
  60. package/cli/dist/commands/removePullRequestHistoryCommand/removePullRequestHistory.js +18 -0
  61. package/cli/dist/commands/showHistoryCommand/index.js +15 -0
  62. package/cli/dist/commands/updateHistoryCommand/index.js +31 -0
  63. package/cli/dist/commands/updateHistoryCommand/updateReleaseHistory.js +28 -0
  64. package/cli/dist/constant.js +4 -0
  65. package/cli/dist/functions/getReactTempDir.js +10 -0
  66. package/cli/{functions → dist/functions}/makeCodePushBundle.js +5 -11
  67. package/cli/{functions → dist/functions}/prepareToBundleJS.js +2 -5
  68. package/cli/dist/functions/runExpoBundleCommand.js +35 -0
  69. package/cli/{functions → dist/functions}/runHermesEmitBinaryCommand.js +36 -71
  70. package/cli/{functions → dist/functions}/runReactNativeBundleCommand.js +19 -24
  71. package/cli/dist/index.js +54 -0
  72. package/cli/dist/utils/datetime.js +17 -0
  73. package/cli/dist/utils/file-utils.js +19 -0
  74. package/cli/dist/utils/fsUtils.js +44 -0
  75. package/cli/{utils → dist/utils}/hash-utils.js +19 -130
  76. package/cli/{utils → dist/utils}/promisfied-fs.js +5 -16
  77. package/cli/dist/utils/showLogo.js +21 -0
  78. package/cli/dist/utils/unzip.js +41 -0
  79. package/cli/{utils → dist/utils}/zip.js +15 -51
  80. package/cli/functions/{getReactTempDir.js → getReactTempDir.ts} +2 -6
  81. package/cli/functions/makeCodePushBundle.ts +26 -0
  82. package/cli/functions/prepareToBundleJS.ts +10 -0
  83. package/cli/functions/runExpoBundleCommand.ts +45 -0
  84. package/cli/functions/runHermesEmitBinaryCommand.ts +203 -0
  85. package/cli/functions/runReactNativeBundleCommand.ts +67 -0
  86. package/cli/index.ts +68 -0
  87. package/cli/package.json +35 -0
  88. package/cli/utils/datetime.ts +19 -0
  89. package/cli/utils/{file-utils.js → file-utils.ts} +4 -21
  90. package/cli/utils/fsUtils.ts +50 -0
  91. package/cli/utils/hash-utils.ts +143 -0
  92. package/cli/utils/promisfied-fs.ts +19 -0
  93. package/cli/utils/{showLogo.js → showLogo.ts} +4 -6
  94. package/cli/utils/unzip.ts +46 -0
  95. package/cli/utils/zip.ts +65 -0
  96. package/expo/plugin/withCodePush.js +14 -0
  97. package/expo/plugin/withCodePushAndroid.js +92 -0
  98. package/expo/plugin/withCodePushIos.js +143 -0
  99. package/ios/CodePush/CodePush.h +0 -16
  100. package/ios/CodePush/CodePush.m +30 -20
  101. package/ios/CodePush/CodePushConfig.m +1 -11
  102. package/ios/CodePush/CodePushPackage.m +12 -69
  103. package/ios/CodePush/CodePushUpdateUtils.m +1 -91
  104. package/ios/CodePush/SSZipArchive/Info.plist +26 -0
  105. package/ios/CodePush/SSZipArchive/README.md +1 -1
  106. package/ios/CodePush/SSZipArchive/SSZipArchive.h +129 -27
  107. package/ios/CodePush/SSZipArchive/SSZipArchive.m +1119 -314
  108. package/ios/CodePush/SSZipArchive/SSZipCommon.h +71 -0
  109. package/ios/CodePush/SSZipArchive/Supporting Files/PrivacyInfo.xcprivacy +23 -0
  110. package/ios/CodePush/SSZipArchive/include/ZipArchive.h +25 -0
  111. package/ios/CodePush/SSZipArchive/minizip/LICENSE +17 -0
  112. package/ios/CodePush/SSZipArchive/minizip/mz.h +273 -0
  113. package/ios/CodePush/SSZipArchive/minizip/mz_compat.c +1306 -0
  114. package/ios/CodePush/SSZipArchive/minizip/mz_compat.h +346 -0
  115. package/ios/CodePush/SSZipArchive/minizip/mz_crypt.c +187 -0
  116. package/ios/CodePush/SSZipArchive/minizip/mz_crypt.h +65 -0
  117. package/ios/CodePush/SSZipArchive/minizip/mz_crypt_apple.c +526 -0
  118. package/ios/CodePush/SSZipArchive/minizip/mz_os.c +348 -0
  119. package/ios/CodePush/SSZipArchive/minizip/mz_os.h +176 -0
  120. package/ios/CodePush/SSZipArchive/minizip/mz_os_posix.c +350 -0
  121. package/ios/CodePush/SSZipArchive/minizip/mz_strm.c +556 -0
  122. package/ios/CodePush/SSZipArchive/minizip/mz_strm.h +132 -0
  123. package/ios/CodePush/SSZipArchive/minizip/mz_strm_buf.c +383 -0
  124. package/ios/CodePush/SSZipArchive/minizip/mz_strm_buf.h +42 -0
  125. package/ios/CodePush/SSZipArchive/minizip/mz_strm_mem.c +269 -0
  126. package/ios/CodePush/SSZipArchive/minizip/mz_strm_mem.h +48 -0
  127. package/ios/CodePush/SSZipArchive/minizip/mz_strm_os.h +40 -0
  128. package/ios/CodePush/SSZipArchive/minizip/mz_strm_os_posix.c +203 -0
  129. package/ios/CodePush/SSZipArchive/minizip/mz_strm_pkcrypt.c +334 -0
  130. package/ios/CodePush/SSZipArchive/minizip/mz_strm_pkcrypt.h +46 -0
  131. package/ios/CodePush/SSZipArchive/minizip/mz_strm_split.c +429 -0
  132. package/ios/CodePush/SSZipArchive/minizip/mz_strm_split.h +43 -0
  133. package/ios/CodePush/SSZipArchive/minizip/mz_strm_wzaes.c +360 -0
  134. package/ios/CodePush/SSZipArchive/minizip/mz_strm_wzaes.h +46 -0
  135. package/ios/CodePush/SSZipArchive/minizip/mz_strm_zlib.c +389 -0
  136. package/ios/CodePush/SSZipArchive/minizip/mz_strm_zlib.h +43 -0
  137. package/ios/CodePush/SSZipArchive/minizip/mz_zip.c +2782 -0
  138. package/ios/CodePush/SSZipArchive/minizip/mz_zip.h +262 -0
  139. package/ios/CodePush/SSZipArchive/minizip/mz_zip_rw.c +1942 -0
  140. package/ios/CodePush/SSZipArchive/minizip/mz_zip_rw.h +285 -0
  141. package/ios/CodePush.xcodeproj/project.pbxproj +244 -453
  142. package/ios/PrivacyInfo.xcprivacy +31 -0
  143. package/package.json +68 -42
  144. package/react-native.config.js +1 -1
  145. package/{AlertAdapter.js → src/AlertAdapter.js} +5 -5
  146. package/src/CodePush.js +947 -0
  147. package/{package-mixins.js → src/package-mixins.js} +1 -1
  148. package/{versioning → src/versioning}/BaseVersioning.js +12 -1
  149. package/{versioning → src/versioning}/SemverVersioning.test.js +78 -0
  150. package/typings/react-native-code-push.d.ts +559 -495
  151. package/.claude/commands/release.md +0 -78
  152. package/.claude/skills/npm-release/SKILL.md +0 -89
  153. package/CLAUDE.md +0 -83
  154. package/CONTRIBUTING.md +0 -134
  155. package/CodePush.js +0 -972
  156. package/SECURITY.md +0 -41
  157. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushBuilder.java +0 -37
  158. package/android/app/src/main/java/com/microsoft/codepush/react/CodePushInvalidPublicKeyException.java +0 -12
  159. package/android/app/src/main/java/com/microsoft/codepush/react/ReactInstanceHolder.java +0 -17
  160. package/android/codepush.gradle +0 -162
  161. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  162. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  163. package/android/gradlew +0 -164
  164. package/android/gradlew.bat +0 -90
  165. package/babel.config.js +0 -3
  166. package/cli/commands/bundleCommand/bundleCodePush.js +0 -57
  167. package/cli/commands/bundleCommand/index.js +0 -55
  168. package/cli/commands/common.js +0 -245
  169. package/cli/commands/createHistoryCommand/createReleaseHistory.js +0 -42
  170. package/cli/commands/createHistoryCommand/createReleaseHistoryList.js +0 -52
  171. package/cli/commands/createHistoryCommand/index.js +0 -95
  172. package/cli/commands/createPullRequestHistoryCommand/createPullRequestHistory.js +0 -34
  173. package/cli/commands/createPullRequestHistoryCommand/index.js +0 -29
  174. package/cli/commands/createPullRequestReleaseCommand/addToPullRequestRelease.js +0 -74
  175. package/cli/commands/createPullRequestReleaseCommand/createPullRequestRelease.js +0 -91
  176. package/cli/commands/createPullRequestReleaseCommand/index.js +0 -68
  177. package/cli/commands/getPackageHashCommand/index.js +0 -42
  178. package/cli/commands/releaseCommand/addToReleaseHistory.js +0 -85
  179. package/cli/commands/releaseCommand/index.js +0 -151
  180. package/cli/commands/releaseCommand/release.js +0 -121
  181. package/cli/commands/removePullRequestHistoryCommand/index.js +0 -28
  182. package/cli/commands/removePullRequestHistoryCommand/removePullRequestHistory.js +0 -23
  183. package/cli/commands/showHistoryCommand/index.js +0 -88
  184. package/cli/commands/updateHistoryCommand/index.js +0 -123
  185. package/cli/commands/updateHistoryCommand/updateReleaseHistory.js +0 -69
  186. package/cli/constant.js +0 -8
  187. package/cli/index.js +0 -63
  188. package/cli/utils/datetime.js +0 -22
  189. package/cli/utils/fsUtils.js +0 -64
  190. package/cli/utils/version.js +0 -26
  191. package/code-push.config.example.supabase.ts +0 -114
  192. package/code-push.config.js +0 -229
  193. package/code-push.config.ts +0 -175
  194. package/docs/api-android.md +0 -83
  195. package/docs/api-ios.md +0 -31
  196. package/docs/api-js.md +0 -592
  197. package/docs/multi-deployment-testing-android.md +0 -148
  198. package/docs/multi-deployment-testing-ios.md +0 -59
  199. package/docs/setup-android.md +0 -482
  200. package/docs/setup-ios.md +0 -280
  201. package/eslint.config.mjs +0 -32
  202. package/ios/CodePush/Base64/Base64/MF_Base64Additions.h +0 -34
  203. package/ios/CodePush/Base64/Base64/MF_Base64Additions.m +0 -252
  204. package/ios/CodePush/Base64/README.md +0 -47
  205. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithm.h +0 -69
  206. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmFactory.h +0 -16
  207. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmFactory.m +0 -51
  208. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmNone.h +0 -15
  209. package/ios/CodePush/JWT/Core/Algorithms/Base/JWTAlgorithmNone.m +0 -55
  210. package/ios/CodePush/JWT/Core/Algorithms/ESFamily/JWTAlgorithmESBase.h +0 -24
  211. package/ios/CodePush/JWT/Core/Algorithms/ESFamily/JWTAlgorithmESBase.m +0 -41
  212. package/ios/CodePush/JWT/Core/Algorithms/HSFamily/JWTAlgorithmHSBase.h +0 -28
  213. package/ios/CodePush/JWT/Core/Algorithms/HSFamily/JWTAlgorithmHSBase.m +0 -205
  214. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolder.h +0 -103
  215. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolder.m +0 -322
  216. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolderChain.h +0 -37
  217. package/ios/CodePush/JWT/Core/Algorithms/Holders/JWTAlgorithmDataHolderChain.m +0 -145
  218. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTAlgorithmRSBase.h +0 -35
  219. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTAlgorithmRSBase.m +0 -551
  220. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/JWTRSAlgorithm.h +0 -23
  221. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKey.h +0 -43
  222. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKey.m +0 -230
  223. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKeyExtractor.h +0 -31
  224. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoKeyExtractor.m +0 -113
  225. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoSecurity.h +0 -38
  226. package/ios/CodePush/JWT/Core/Algorithms/RSFamily/RSKeys/JWTCryptoSecurity.m +0 -500
  227. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaim.h +0 -18
  228. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaim.m +0 -214
  229. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSet.h +0 -23
  230. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSet.m +0 -29
  231. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetSerializer.h +0 -19
  232. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetSerializer.m +0 -68
  233. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetVerifier.h +0 -18
  234. package/ios/CodePush/JWT/Core/ClaimSet/JWTClaimsSetVerifier.m +0 -72
  235. package/ios/CodePush/JWT/Core/Coding/JWTCoding+ResultTypes.h +0 -67
  236. package/ios/CodePush/JWT/Core/Coding/JWTCoding+ResultTypes.m +0 -111
  237. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionOne.h +0 -119
  238. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionOne.m +0 -307
  239. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionThree.h +0 -94
  240. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionThree.m +0 -619
  241. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionTwo.h +0 -164
  242. package/ios/CodePush/JWT/Core/Coding/JWTCoding+VersionTwo.m +0 -514
  243. package/ios/CodePush/JWT/Core/Coding/JWTCoding.h +0 -24
  244. package/ios/CodePush/JWT/Core/Coding/JWTCoding.m +0 -11
  245. package/ios/CodePush/JWT/Core/FrameworkSupplement/JWT.h +0 -52
  246. package/ios/CodePush/JWT/Core/FrameworkSupplement/Map.modulemap +0 -5
  247. package/ios/CodePush/JWT/Core/Supplement/JWTBase64Coder.h +0 -28
  248. package/ios/CodePush/JWT/Core/Supplement/JWTBase64Coder.m +0 -70
  249. package/ios/CodePush/JWT/Core/Supplement/JWTDeprecations.h +0 -22
  250. package/ios/CodePush/JWT/Core/Supplement/JWTErrorDescription.h +0 -34
  251. package/ios/CodePush/JWT/Core/Supplement/JWTErrorDescription.m +0 -73
  252. package/ios/CodePush/JWT/LICENSE +0 -19
  253. package/ios/CodePush/JWT/README.md +0 -489
  254. package/ios/CodePush/SSZipArchive/Common.h +0 -81
  255. package/ios/CodePush/SSZipArchive/aes/aes.h +0 -198
  256. package/ios/CodePush/SSZipArchive/aes/aes_via_ace.h +0 -541
  257. package/ios/CodePush/SSZipArchive/aes/aescrypt.c +0 -294
  258. package/ios/CodePush/SSZipArchive/aes/aeskey.c +0 -548
  259. package/ios/CodePush/SSZipArchive/aes/aesopt.h +0 -739
  260. package/ios/CodePush/SSZipArchive/aes/aestab.c +0 -391
  261. package/ios/CodePush/SSZipArchive/aes/aestab.h +0 -173
  262. package/ios/CodePush/SSZipArchive/aes/brg_endian.h +0 -126
  263. package/ios/CodePush/SSZipArchive/aes/brg_types.h +0 -219
  264. package/ios/CodePush/SSZipArchive/aes/entropy.c +0 -54
  265. package/ios/CodePush/SSZipArchive/aes/entropy.h +0 -16
  266. package/ios/CodePush/SSZipArchive/aes/fileenc.c +0 -144
  267. package/ios/CodePush/SSZipArchive/aes/fileenc.h +0 -121
  268. package/ios/CodePush/SSZipArchive/aes/hmac.c +0 -145
  269. package/ios/CodePush/SSZipArchive/aes/hmac.h +0 -103
  270. package/ios/CodePush/SSZipArchive/aes/prng.c +0 -155
  271. package/ios/CodePush/SSZipArchive/aes/prng.h +0 -82
  272. package/ios/CodePush/SSZipArchive/aes/pwd2key.c +0 -103
  273. package/ios/CodePush/SSZipArchive/aes/pwd2key.h +0 -57
  274. package/ios/CodePush/SSZipArchive/aes/sha1.c +0 -258
  275. package/ios/CodePush/SSZipArchive/aes/sha1.h +0 -73
  276. package/ios/CodePush/SSZipArchive/minizip/crypt.h +0 -130
  277. package/ios/CodePush/SSZipArchive/minizip/ioapi.c +0 -369
  278. package/ios/CodePush/SSZipArchive/minizip/ioapi.h +0 -175
  279. package/ios/CodePush/SSZipArchive/minizip/mztools.c +0 -284
  280. package/ios/CodePush/SSZipArchive/minizip/mztools.h +0 -31
  281. package/ios/CodePush/SSZipArchive/minizip/unzip.c +0 -1839
  282. package/ios/CodePush/SSZipArchive/minizip/unzip.h +0 -248
  283. package/ios/CodePush/SSZipArchive/minizip/zip.c +0 -1910
  284. package/ios/CodePush/SSZipArchive/minizip/zip.h +0 -202
  285. package/scripts/generateBundledResourcesHash.js +0 -125
  286. package/scripts/getFilesInFolder.js +0 -19
  287. package/scripts/recordFilesBeforeBundleCommand.js +0 -41
  288. package/scripts/release.sh +0 -86
  289. package/tsconfig.json +0 -20
  290. package/tslint.json +0 -32
  291. /package/{logging.js → src/logging.js} +0 -0
  292. /package/{versioning → src/versioning}/BaseVersioning.test.js +0 -0
  293. /package/{versioning → src/versioning}/IncrementalVersioning.js +0 -0
  294. /package/{versioning → src/versioning}/IncrementalVersioning.test.js +0 -0
  295. /package/{versioning → src/versioning}/SemverVersioning.js +0 -0
  296. /package/{versioning → src/versioning}/index.js +0 -0
@@ -1,78 +0,0 @@
1
- # npm 배포
2
-
3
- 인자: $ARGUMENTS (patch, minor, major 중 하나. 기본값: patch)
4
-
5
- 아래 단계를 순서대로 실행하세요. 각 단계 완료 후 다음 단계로 넘어가세요.
6
-
7
- ## 1단계: 사전 검증
8
-
9
- 다음을 모두 확인하세요:
10
- - `git status`: working tree가 clean한지
11
- - `git branch --show-current`: master 브랜치인지
12
- - `npm whoami`: npm 로그인 상태인지
13
-
14
- 로그인이 안 되어 있으면 사용자에게 안내:
15
- ```
16
- npm 로그인이 필요합니다.
17
- 계정 정보: https://www.notion.so/algocare/npm-1d59954bcc7b8056b6b6c84612592266
18
- 터미널에서 실행: npm login --scope=@algocare
19
- ```
20
- 로그인 완료 후 다시 확인하세요.
21
-
22
- 검증 실패 시 해당 문제를 안내하고 중단하세요.
23
-
24
- ## 2단계: 버전 bump + commit + tag
25
-
26
- ```bash
27
- npm version $ARGUMENTS --no-git-tag-version
28
- ```
29
-
30
- package.json만 변경됩니다. 이후:
31
- ```bash
32
- git add package.json package-lock.json
33
- git commit -m "v{새버전}"
34
- git tag "v{새버전}"
35
- ```
36
-
37
- ## 3단계: npm publish (사용자 터미널 필요)
38
-
39
- npm OTP 브라우저 인증이 필요하므로 Claude Code에서 직접 실행할 수 없습니다.
40
-
41
- 사용자에게 다음을 안내하세요:
42
- ```
43
- 터미널에서 실행해주세요:
44
- npm publish --access public --ignore-scripts
45
-
46
- 브라우저 인증 완료 후 알려주세요.
47
- ```
48
-
49
- 사용자가 완료했다고 하면 배포 확인:
50
- ```bash
51
- npm view @algocare/react-native-code-push version
52
- ```
53
-
54
- 배포된 버전이 새 버전과 일치하면 다음 단계로. 실패 시 복구 안내:
55
- ```
56
- 복구: git tag -d v{새버전} && git reset --soft HEAD~1 && git checkout package.json
57
- ```
58
-
59
- ## 4단계: git push + GitHub Release
60
-
61
- ```bash
62
- git push && git push --tags
63
- ```
64
-
65
- 이후 GitHub Release 생성:
66
- ```bash
67
- PREV_TAG=$(git tag --sort=-v:refname | sed -n '2p')
68
- # PREV_TAG..새태그 사이의 커밋으로 릴리스 노트 생성
69
- gh release create "v{새버전}" --title "{새버전}" --notes "{릴리스노트}"
70
- ```
71
-
72
- ## 5단계: 완료 보고
73
-
74
- 배포 결과를 요약하세요:
75
- - 패키지: @algocare/react-native-code-push@{새버전}
76
- - npm: 배포 완료
77
- - git: push 완료
78
- - GitHub Release: 생성 완료
@@ -1,89 +0,0 @@
1
- ---
2
- name: npm-release
3
- description: Use when user asks to publish, release, or deploy an npm package. Triggers on "배포", "publish", "release", "npm 배포", "버전 올려". Guides step-by-step npm publish workflow with OTP browser auth handoff.
4
- ---
5
-
6
- # npm Release
7
-
8
- ## Overview
9
-
10
- npm 패키지 배포를 단계별로 수행한다. OTP 브라우저 인증이 필요한 `npm publish`는 사용자 터미널로 넘기고, 나머지는 자동 처리한다.
11
-
12
- ## When to Use
13
-
14
- - 사용자가 "배포해줘", "publish 해줘", "npm 배포", "버전 올려줘", "release 해줘" 등 요청
15
- - 프로젝트에 package.json이 있고 npm 배포가 필요한 경우
16
-
17
- ## When NOT to Use
18
-
19
- - CodePush 번들 배포 (code-push CLI 사용)
20
- - 앱스토어 배포
21
-
22
- ## Workflow
23
-
24
- ### 1. 사전 검증
25
-
26
- 모두 확인:
27
- - `git status`: clean working tree
28
- - `git branch --show-current`: 기본 브랜치 (master/main)
29
- - `npm whoami`: npm 로그인 상태
30
-
31
- 로그인 안 됨 → 안내:
32
- ```
33
- npm 로그인이 필요합니다.
34
- 터미널에서 실행: npm login
35
- ```
36
-
37
- 프로젝트에 release 스크립트나 `/release` 커맨드가 있으면 그것의 로그인 안내를 따른다.
38
-
39
- ### 2. 버전 bump + commit + tag
40
-
41
- ```bash
42
- VERSION_TYPE=patch # 사용자 지정 시 minor/major
43
- npm version $VERSION_TYPE --no-git-tag-version
44
- git add package.json package-lock.json
45
- git commit -m "v{새버전}"
46
- git tag "v{새버전}"
47
- ```
48
-
49
- ### 3. npm publish (사용자 핸드오프)
50
-
51
- **Claude Code에서 직접 실행 불가 (OTP 브라우저 인증 필요)**
52
-
53
- 사용자에게 안내:
54
- ```
55
- 터미널에서 실행해주세요:
56
- npm publish --access public --ignore-scripts
57
-
58
- 브라우저 인증 완료 후 알려주세요.
59
- ```
60
-
61
- 사용자 완료 후 확인:
62
- ```bash
63
- npm view {패키지명} version
64
- ```
65
-
66
- 실패 시 복구 안내:
67
- ```
68
- 복구: git tag -d v{새버전} && git reset --soft HEAD~1 && git checkout package.json
69
- ```
70
-
71
- ### 4. git push + GitHub Release
72
-
73
- ```bash
74
- git push && git push --tags
75
- ```
76
-
77
- GitHub Release 생성 (이전 태그 이후 커밋 기반 노트).
78
-
79
- ### 5. 완료 보고
80
-
81
- 패키지명, 버전, npm/git/GitHub Release 상태 요약.
82
-
83
- ## Common Mistakes
84
-
85
- | 실수 | 해결 |
86
- |------|------|
87
- | Claude Code에서 npm publish 직접 실행 | OTP URL이 마스킹됨. 반드시 사용자 터미널로 넘길 것 |
88
- | package.json에 `"publish"` lifecycle script | `--ignore-scripts`로 재귀 호출 방지 |
89
- | publish 에러 코드만 보고 실패 판정 | `npm view`로 실제 배포 여부 재확인 |
package/CLAUDE.md DELETED
@@ -1,83 +0,0 @@
1
- # CLAUDE.md
2
-
3
- This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
-
5
- ## Overview
6
-
7
- Microsoft react-native-code-push의 알고케어 포크. AWS S3/CDN 기반 자체 CodePush 배포 시스템으로, 네이티브 모듈(iOS/Android)이 런타임에 JS 번들 업데이트를 확인·다운로드·설치하고, CLI가 번들 생성·업로드·히스토리 관리를 담당한다.
8
-
9
- ## Commands
10
-
11
- ```bash
12
- # 테스트
13
- npm run jest # versioning 단위 테스트 (Jest)
14
- npm test # 전체 테스트 (빌드 → 셋업 → 실행)
15
- npm run test:ios # iOS 통합 테스트
16
- npm run test:android # Android 통합 테스트
17
-
18
- # 린트
19
- npm run eslint # ESLint (eslint.config.mjs, 플랫 설정)
20
- npm run tslint # TSLint (test/ 디렉토리)
21
-
22
- # 빌드
23
- npm run build:tests # tsc로 테스트 빌드
24
-
25
- # npm 배포 — `/release` 커맨드 또는 "배포해줘"로 실행
26
- # 상세 워크플로우: .claude/commands/release.md 참조
27
- npm run release # patch (기본)
28
- npm run release -- minor # minor
29
- npm run release -- major # major
30
- ```
31
-
32
- ## Architecture
33
-
34
- ### JS ↔ Native 브릿지
35
-
36
- ```
37
- CodePush.js (진입점, sync/checkForUpdate/HOC)
38
- └─ package-mixins.js (remote.download, local.install)
39
- └─ NativeCodePush (RCT_EXPORT_METHOD)
40
- ├─ iOS: CodePush.m → CodePushPackage.m → CodePushDownloadHandler.m
41
- └─ Android: CodePushNativeModule.java → CodePushUpdateManager.java
42
- ```
43
-
44
- - `CodePush.js`: `sync()`, `checkForUpdate()`, SyncStatus/InstallMode 상수, React HOC (`codePush()`)
45
- - `package-mixins.js`: 네이티브 이벤트(`CodePushDownloadProgress`, `CodePushDownloadComplete`) 구독하여 다운로드 진행률 전달
46
- - 네이티브 모듈은 `RCT_EXPORT_METHOD`로 JS에 노출, `NativeEventEmitter`로 이벤트 전달
47
-
48
- ### 업데이트 흐름
49
-
50
- 1. `checkForUpdate()` → `releaseHistoryFetcher`로 릴리스 히스토리 JSON 조회
51
- 2. `versioning/` 모듈이 버전 비교·필수 업데이트·롤백 판단 (`SemverVersioning` 기본)
52
- 3. `remotePackage.download()` → 네이티브 다운로드 → unzip → `LocalPackage` 반환
53
- 4. `localPackage.install(installMode)` → InstallMode에 따라 즉시/다음 재시작 시 적용
54
-
55
- ### CLI (`cli/index.js`, `code-push` 명령)
56
-
57
- 주요 명령: `bundle`, `release`, `create-history`, `update-history`, `show-history`, `get-package-hash`
58
-
59
- `code-push.config.ts`에서 앱별(user, device, b2c-device, home-device, home-mobile) S3 경로·CDN URL·환경(STG/PRD) 설정.
60
-
61
- ### 앱별 설정
62
-
63
- | 앱 | 타입 | 플랫폼 | 환경변수 |
64
- |---|---|---|---|
65
- | user | B2B | iOS/Android | Infisical |
66
- | device | B2B | Android | Infisical |
67
- | b2c-device | B2C MVP | Android | Infisical |
68
- | home-device | B2C Home | Android | .env |
69
- | home-mobile | B2C Home | iOS/Android | .env |
70
-
71
- ### Versioning (`versioning/`)
72
-
73
- - `BaseVersioning.js` - 릴리스 히스토리 정렬/필터/롤백 로직 (추상)
74
- - `SemverVersioning.js` - Semver 기반 (기본값)
75
- - `IncrementalVersioning.js` - 증분 버전 관리
76
-
77
- ## Key Conventions
78
-
79
- - 패키지: `@algocare/react-native-code-push` (npm scoped, public)
80
- - iOS 네이티브: Objective-C, `NSURLSession` 기반 다운로드, `SSZipArchive`로 unzip
81
- - Android 네이티브: Java, `com.microsoft.codepush.react` 패키지
82
- - TypeScript 타입: `typings/react-native-code-push.d.ts`
83
- - CocoaPods: `CodePush.podspec`
package/CONTRIBUTING.md DELETED
@@ -1,134 +0,0 @@
1
- # Contributing
2
-
3
- ## Using the plugin
4
-
5
- ### Environment setup
6
-
7
- `node.js` and `npm` are needed for using this project. `npm` comes bundled with the `node.js` installer. You can download the `node.js` installer here: https://nodejs.org/download/.
8
-
9
- Once you have installed `node.js` and `npm`, install the dev dependencies for the project.
10
-
11
- ```
12
- npm install
13
- ```
14
-
15
- ### Using the plugin manually
16
-
17
- Follow these steps to test your modifications to the plugin manually:
18
- - clone this repository
19
- - install the dependencies
20
-
21
- Navigate to the root folder from your command line console and run:
22
- ```
23
- npm install
24
- ```
25
- - install the plugin in a React-Native project
26
-
27
- Navigate to the root folder of your React-Native project from your command line console and run:
28
- ```
29
- npm install local_path_to_your_clone_of_this_repo
30
- ```
31
- - configure the plugin using the steps in the README.md
32
- - build and run your app on an emulator or device
33
-
34
- ## Test
35
-
36
- ### Environment setup
37
-
38
- First, make sure you have installed the dependencies for the plugin by following the steps above.
39
-
40
- Then, make sure you have installed `react-native`.
41
-
42
- ```
43
- npm install -g react-native
44
- ```
45
-
46
- To run Android tests, make sure you have `sdk\tools`, `sdk\emulator` and `sdk\platform-tools` in your PATH.
47
-
48
- To run iOS tests, make sure you've installed CocoaPods and have `.gem/bin` in your PATH.
49
-
50
- ### Supported platforms
51
-
52
- The plugin has end to end tests for Android and iOS. Depending on your development machine OS, you can run some or all the tests.
53
-
54
- OS | Supported tests
55
- ------------- | -------------
56
- OS X | Android, iOS
57
- Windows | Android
58
-
59
- ### Test descriptions
60
-
61
- The tests first build the app.
62
-
63
- They then check if the required emulators are currently running.
64
-
65
- If an Android emulator is not running, it attempts to boot the latest Android emulator. You can specify an emulator by adding env variable `ANDROID_EMU=yourEmulatorNameHere` to the npm command. For example: `ANDROID_EMU=yourEmulatorNameHere npm run test:android`.
66
-
67
- If an iOS simulator is not running, it attempts to boot the latest iOS iPhone simulator. You can specify a simulator by adding env variable `IOS_EMU=yourSimulatorNameHere` to the npm command. For example: `IOS_EMU="iPhone 8 (0567DFF8-329E-41A3-BD6D-E48E9DD5EF39)" npm run test:ios`.
68
-
69
- If all the required emulators are not running and the tests fail to boot them, the tests will fail.
70
-
71
- If you would like the tests to always restart the necessary emulators (killing them if they are currently running), setup a env variable `CLEAN=true` to the command. For example: `CLEAN=true npm run test`.
72
-
73
- The desired unit tests are then run.
74
-
75
- If you would like to skip building, add a `:fast` in the command you'd like to run. For example, `npm run test:ios` becomes `npm run test:fast:ios` or `npm run test:android` becomes `npm run test:fast:android`.
76
-
77
- There is a both a full unit test suite and a "core" set of unit tests that you may run. If you would like to run only the core tests, setup a env variable `CORE=true` to the command. For example: `CORE=true npm run test:android`.
78
-
79
- If you would like to pull the plugin from NPM rather than running the tests on the local version, setup a env variable `NPM=true` to the command. For example: `NPM=true npm run test:ios`.
80
-
81
- #### Default
82
-
83
- To run all of the unit tests on Android and iOS:
84
- ```
85
- npm run test
86
- ```
87
-
88
- #### iOS
89
-
90
- To run all of the unit tests on iOS:
91
- ```
92
- npm run test:ios
93
- ```
94
-
95
- #### Android
96
-
97
- To run all of the unit tests on Android:
98
- ```
99
- npm run test:android
100
- ```
101
-
102
- #### More examples
103
-
104
- All possible testing configurations have tasks!
105
-
106
- The platforms are ordered as follows, and ran in that order:
107
- android, ios
108
-
109
- To run the core unit tests on Android:
110
- ```
111
- CORE=true npm run test:android
112
- ```
113
-
114
- To run all of the unit tests on iOS and pull the plugin from NPM:
115
- ```
116
- NPM=true npm run test:ios
117
- ```
118
-
119
- To run all of the unit tests on Android and iOS without building first:
120
- ```
121
- npm run test:fast
122
- ```
123
-
124
- To run all of the unit tests on iOS and restart the emulators:
125
- ```
126
- CLEAN=true npm run test:ios
127
- ```
128
-
129
- To run the core unit tests on Android and pull the plugin from NPM:
130
- ```
131
- NPM=true CORE=true npm run test:android
132
- ```
133
-
134
- ...and so on!