@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,322 +0,0 @@
1
- //
2
- // JWTAlgorithmDataHolder.m
3
- // JWT
4
- //
5
- // Created by Lobanov Dmitry on 31.08.16.
6
- // Copyright © 2016 Karma. All rights reserved.
7
- //
8
-
9
- #import "JWTAlgorithmDataHolder.h"
10
- #import "JWTAlgorithmFactory.h"
11
- #import "JWTAlgorithmNone.h"
12
- #import "JWTRSAlgorithm.h"
13
- #import "JWTAlgorithmHSBase.h"
14
- #import "JWTAlgorithmRSBase.h"
15
- #import "JWTBase64Coder.h"
16
-
17
- @interface JWTAlgorithmBaseDataHolder()
18
- // not needed by algorithm adoption.
19
- // @property (copy, nonatomic, readwrite) NSData *internalSecretData;
20
- // @property (strong, nonatomic, readwrite) id <JWTAlgorithm> internalAlgorithm;
21
-
22
- #pragma mark - Setters
23
- /**
24
- Sets jwtSecret and returns the JWTAlgorithmBaseDataHolder to allow for method chaining
25
- */
26
- @property (copy, nonatomic, readwrite) JWTAlgorithmBaseDataHolder *(^secret)(NSString *secret);
27
-
28
- /**
29
- Sets jwtSecretData and returns the JWTAlgorithmBaseDataHolder to allow for method chaining
30
- */
31
- @property (copy, nonatomic, readwrite) JWTAlgorithmBaseDataHolder *(^secretData)(NSData *secretData);
32
-
33
- /**
34
- Sets jwtAlgorithm and returns the JWTAlgorithmBaseDataHolder to allow for method chaining
35
- */
36
- @property (copy, nonatomic, readwrite) JWTAlgorithmBaseDataHolder *(^algorithm)(id<JWTAlgorithm>algorithm);
37
-
38
- /**
39
- Sets jwtAlgorithmName and returns the JWTAlgorithmBaseDataHolder to allow for method chaining. See list of names in appropriate headers.
40
- */
41
- @property (copy, nonatomic, readwrite) JWTAlgorithmBaseDataHolder *(^algorithmName)(NSString *algorithmName);
42
-
43
- /**
44
- Sets stringCoder and returns the JWTAlgorithmBaseDataHolder to allow for method chaining. See list of names in appropriate headers.
45
- */
46
- @property (copy, nonatomic, readwrite) JWTAlgorithmBaseDataHolder *(^stringCoder)(id<JWTStringCoder__Protocol> stringCoder);
47
- @end
48
-
49
- @interface JWTAlgorithmBaseDataHolder (Convertions)
50
-
51
- - (NSData *)dataFromString:(NSString *)string;
52
- - (NSString *)stringFromData:(NSData *)data;
53
-
54
- @end
55
-
56
- @implementation JWTAlgorithmBaseDataHolder (Convertions)
57
- #pragma mark - Convertions
58
- - (NSData *)dataFromString:(NSString *)string {
59
- NSData *result = [self.internalStringCoder dataWithString:string];
60
-
61
- if (result == nil) {
62
- // tell about it?!
63
- NSLog(@"%@ %@ something went wrong. Data is not base64encoded", self.debugDescription, NSStringFromSelector(_cmd));
64
- }
65
-
66
- return result;// ?: [string dataUsingEncoding:NSUTF8StringEncoding];
67
- }
68
-
69
- - (NSString *)stringFromData:(NSData *)data {
70
- NSString *result = [self.internalStringCoder stringWithData:data];
71
-
72
- if (result == nil) {
73
- NSLog(@"%@ %@ something went wrong. String is not base64encoded", self.debugDescription, NSStringFromSelector(_cmd));
74
- }
75
- return result ?: [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
76
- }
77
- @end
78
-
79
- @interface JWTAlgorithmBaseDataHolder (Fluent)
80
- - (void)setupFluent;
81
- @end
82
-
83
- @implementation JWTAlgorithmBaseDataHolder (Fluent)
84
- #pragma mark - Fluent
85
- - (instancetype)secretData:(NSData *)secretData {
86
- self.internalSecretData = secretData;
87
- return self;
88
- }
89
-
90
- - (instancetype)secret:(NSString *)secret {
91
- self.internalSecretData = [self dataFromString:secret];
92
- return self;
93
- }
94
-
95
- - (instancetype)algorithm:(id<JWTAlgorithm>)algorithm {
96
- self.internalAlgorithm = algorithm;
97
- return self;
98
- }
99
-
100
- - (instancetype)algorithmName:(NSString *)algorithmName {
101
- self.internalAlgorithm = [JWTAlgorithmFactory algorithmByName:algorithmName];
102
- return self;
103
- }
104
-
105
- - (instancetype)stringCoder:(id<JWTStringCoder__Protocol>)stringCoder {
106
- self.internalStringCoder = stringCoder;
107
- return self;
108
- }
109
-
110
- - (void)setupFluent {
111
- __weak typeof(self) weakSelf = self;
112
- self.secret = ^(NSString *secret) {
113
- return [weakSelf secret:secret];
114
- };
115
-
116
- self.secretData = ^(NSData *secretData) {
117
- return [weakSelf secretData:secretData];
118
- };
119
-
120
- self.algorithm = ^(id<JWTAlgorithm> algorithm) {
121
- return [weakSelf algorithm:algorithm];
122
- };
123
-
124
- self.algorithmName = ^(NSString *algorithmName) {
125
- return [weakSelf algorithmName:algorithmName];
126
- };
127
-
128
- self.stringCoder = ^(id <JWTStringCoder__Protocol> stringCoder) {
129
- return [weakSelf stringCoder:stringCoder];
130
- };
131
- }
132
- @end
133
-
134
- @interface JWTAlgorithmBaseDataHolder (Debug)
135
- - (NSDictionary *)debugInformation;
136
- @end
137
- @implementation JWTAlgorithmBaseDataHolder (Debug)
138
- - (NSString *)debugDescription {
139
- return [[self debugInformation] debugDescription];
140
- }
141
- - (NSDictionary *)debugInformation {
142
- return @{
143
- @"algorithmName" : self.internalAlgorithmName ?: @"unknown",
144
- @"algorithm" : [self.internalAlgorithm debugDescription] ?: @"unknown",
145
- @"secretData" : [self.internalSecretData debugDescription] ?: @"unknown",
146
- @"stringCoder" : [self.internalStringCoder debugDescription] ?: @"unknown"
147
- };
148
- }
149
-
150
- @end
151
-
152
- @implementation JWTAlgorithmBaseDataHolder
153
- @synthesize internalAlgorithm;
154
- @synthesize internalSecretData;
155
- @synthesize internalStringCoder = _internalStringCoder;
156
-
157
- - (id<JWTStringCoder__Protocol>)internalStringCoder {
158
- return _internalStringCoder ?: [JWTBase64Coder new];
159
- }
160
-
161
- #pragma mark - Custom Getters
162
- - (NSString *)internalAlgorithmName {
163
- return [self.internalAlgorithm name];
164
- }
165
-
166
- - (NSString *)internalSecret {
167
- return [self stringFromData:self.internalSecretData];
168
- }
169
-
170
- - (instancetype)init {
171
- self = [super init];
172
- if (self) {
173
- [self setupFluent];
174
- }
175
- return self;
176
- }
177
-
178
- #pragma mark - Copy
179
- - (id)copyWithZone:(NSZone *)zone {
180
- JWTAlgorithmBaseDataHolder *holder = [self.class new];
181
- holder.internalAlgorithm = self.internalAlgorithm;
182
- holder.internalSecretData = self.internalSecretData;
183
- holder.internalStringCoder = self.internalStringCoder;
184
- return holder;
185
- }
186
- @end
187
-
188
- @interface JWTAlgorithmBaseDataHolder(Create)
189
- - (instancetype)initWithAlgorithmName:(NSString *)name;
190
- @end
191
-
192
- @implementation JWTAlgorithmBaseDataHolder(Create)
193
- - (instancetype)initWithAlgorithmName:(NSString *)name {
194
- return [self init].algorithmName(name);
195
- }
196
- @end
197
-
198
- @implementation JWTAlgorithmNoneDataHolder
199
- - (instancetype)init {
200
- if (self = [super init]) {
201
- self.internalAlgorithm = [JWTAlgorithmFactory algorithmByName:JWTAlgorithmNameNone];
202
- self.internalSecretData = nil;
203
- }
204
- return self;
205
- }
206
- @end
207
-
208
- @implementation JWTAlgorithmHSFamilyDataHolder
209
- + (instancetype)createWithAlgorithm256 {
210
- return [[self alloc] initWithAlgorithmName:JWTAlgorithmNameHS256];
211
- }
212
- + (instancetype)createWithAlgorithm384 {
213
- return [[self alloc] initWithAlgorithmName:JWTAlgorithmNameHS384];
214
- }
215
- + (instancetype)createWithAlgorithm512 {
216
- return [[self alloc] initWithAlgorithmName:JWTAlgorithmNameHS512];
217
- }
218
- @end
219
-
220
- @interface JWTAlgorithmRSFamilyDataHolder()
221
- #pragma mark - Getters
222
- @property (copy, nonatomic, readwrite) NSString *internalPrivateKeyCertificatePassphrase;
223
- @property (copy, nonatomic, readwrite) NSString *internalKeyExtractorType;
224
- @property (strong, nonatomic, readwrite) id<JWTCryptoKeyProtocol> internalSignKey;
225
- @property (strong, nonatomic, readwrite) id<JWTCryptoKeyProtocol> internalVerifyKey;
226
- #pragma mark - Setters
227
- @property (copy, nonatomic, readwrite) JWTAlgorithmRSFamilyDataHolder *(^privateKeyCertificatePassphrase)(NSString *privateKeyCertificatePassphrase);
228
- @property (copy, nonatomic, readwrite) JWTAlgorithmRSFamilyDataHolder *(^keyExtractorType)(NSString *keyExtractorType);
229
- @property (copy, nonatomic, readwrite) JWTAlgorithmRSFamilyDataHolder *(^signKey)(id<JWTCryptoKeyProtocol> signKey);
230
- @property (copy, nonatomic, readwrite) JWTAlgorithmRSFamilyDataHolder *(^verifyKey)(id<JWTCryptoKeyProtocol> verifyKey);
231
- @end
232
-
233
- @implementation JWTAlgorithmRSFamilyDataHolder (Debug)
234
- - (NSDictionary *)debugInformation {
235
- NSDictionary *add = @{@"privateKeyCertificatePassphrase" : self.internalPrivateKeyCertificatePassphrase ?: @"unknown",
236
- @"keyExtractorType" : self.internalKeyExtractorType ?: @"unknown",
237
- @"signKey" : [self.signKey debugDescription] ?: @"unknown",
238
- @"verifyKey" : [self.verifyKey debugDescription] ?: @"unknown"
239
- };
240
- NSMutableDictionary *result = [[super debugInformation] mutableCopy];
241
- [result addEntriesFromDictionary:add];
242
- return result;
243
- }
244
- @end
245
-
246
- @implementation JWTAlgorithmRSFamilyDataHolder
247
-
248
- #pragma mark - Initialization
249
- + (instancetype)createWithAlgorithm256 {
250
- return [[self alloc] initWithAlgorithmName:JWTAlgorithmNameRS256];
251
- }
252
-
253
- + (instancetype)createWithAlgorithm384 {
254
- return [[self alloc] initWithAlgorithmName:JWTAlgorithmNameRS384];
255
- }
256
-
257
- + (instancetype)createWithAlgorithm512 {
258
- return [[self alloc] initWithAlgorithmName:JWTAlgorithmNameRS512];
259
- }
260
-
261
- #pragma mark - Getters
262
- - (id<JWTAlgorithm>)internalAlgorithm {
263
- id <JWTAlgorithm> algorithm = [super internalAlgorithm];
264
- if ([algorithm conformsToProtocol:@protocol(JWTRSAlgorithm)]) {
265
- // copy?
266
- id<JWTRSAlgorithm>currentAlgorithm = [(id <JWTRSAlgorithm>)algorithm copyWithZone:nil];
267
- currentAlgorithm.privateKeyCertificatePassphrase = self.internalPrivateKeyCertificatePassphrase;
268
- currentAlgorithm.keyExtractorType = self.internalKeyExtractorType;
269
- currentAlgorithm.signKey = self.internalSignKey;
270
- currentAlgorithm.verifyKey = self.internalVerifyKey;
271
- algorithm = currentAlgorithm;
272
- }
273
- return algorithm;
274
- }
275
-
276
- #pragma mark - Setters
277
- - (instancetype)privateKeyCertificatePassphrase:(NSString *)passphrase {
278
- self.internalPrivateKeyCertificatePassphrase = passphrase;
279
- return self;
280
- }
281
- - (instancetype)keyExtractorType:(NSString *)type {
282
- self.internalKeyExtractorType = type;
283
- return self;
284
- }
285
- - (instancetype)signKey:(id<JWTCryptoKeyProtocol>)key {
286
- self.internalSignKey = key;
287
- return self;
288
- }
289
- - (instancetype)verifyKey:(id<JWTCryptoKeyProtocol>)key {
290
- self.internalVerifyKey = key;
291
- return self;
292
- }
293
-
294
- #pragma mark - Copy
295
- - (id)copyWithZone:(NSZone *)zone {
296
- JWTAlgorithmRSFamilyDataHolder *holder = [super copyWithZone:zone];
297
- holder.internalPrivateKeyCertificatePassphrase = self.internalPrivateKeyCertificatePassphrase;
298
- holder.internalKeyExtractorType = self.internalKeyExtractorType;
299
- holder.internalSignKey = self.internalSignKey;
300
- holder.internalVerifyKey = self.internalVerifyKey;
301
- return holder;
302
- }
303
- @end
304
-
305
- @implementation JWTAlgorithmRSFamilyDataHolder (Fluent)
306
- - (void)setupFluent {
307
- [super setupFluent];
308
- __weak typeof(self) weakSelf = self;
309
- self.privateKeyCertificatePassphrase = ^(NSString *privateKeyCertificatePassphrase) {
310
- return [weakSelf privateKeyCertificatePassphrase:privateKeyCertificatePassphrase];
311
- };
312
- self.keyExtractorType = ^(NSString *keyExtractorType) {
313
- return [weakSelf keyExtractorType:keyExtractorType];
314
- };
315
- self.signKey = ^(id<JWTCryptoKeyProtocol> key){
316
- return [weakSelf signKey:key];
317
- };
318
- self.verifyKey = ^(id<JWTCryptoKeyProtocol> key){
319
- return [weakSelf verifyKey:key];
320
- };
321
- }
322
- @end
@@ -1,37 +0,0 @@
1
- //
2
- // JWTAlgorithmDataHolderChain.h
3
- // JWT
4
- //
5
- // Created by Lobanov Dmitry on 02.10.16.
6
- // Copyright © 2016 Karma. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- #import "JWTAlgorithmDataHolder.h"
11
-
12
- @interface JWTAlgorithmDataHolderChain : NSObject
13
-
14
- @property (strong, nonatomic, readonly) NSArray *holders;
15
-
16
- #pragma mark - Initialization
17
- - (instancetype)initWithHolders:(NSArray *)holders;
18
- - (instancetype)initWithHolder:(id<JWTAlgorithmDataHolderProtocol>)holder;
19
-
20
- #pragma mark - Appending
21
- - (instancetype)chainByAppendingChain:(JWTAlgorithmDataHolderChain *)chain;
22
- - (instancetype)chainByAppendingHolders:(NSArray *)holders;
23
- - (instancetype)chainByAppendingHolder:(id<JWTAlgorithmDataHolderProtocol>)holder;
24
-
25
- #pragma mark - Create
26
- + (instancetype)chainWithHolders:(NSArray *)holders;
27
- + (instancetype)chainWithHolder:(id<JWTAlgorithmDataHolderProtocol>)holder;
28
- @end
29
-
30
- @interface JWTAlgorithmDataHolderChain (HoldersPopulation)
31
- - (NSArray *)singleAlgorithm:(id<JWTAlgorithm>)algorithm withManySecretData:(NSArray *)secretsData;
32
- - (NSArray *)singleSecretData:(NSData *)secretData withManyAlgorithms:(NSArray *)algorithms;
33
-
34
- - (instancetype)chainByPopulatingAlgorithm:(id<JWTAlgorithm>)algorithm withManySecretData:(NSArray *)secretsData;
35
- - (instancetype)chainByPopulatingSecretData:(NSData *)secretData withManyAlgorithms:(NSArray *)algorithms;
36
-
37
- @end
@@ -1,145 +0,0 @@
1
- //
2
- // JWTAlgorithmDataHolderChain.m
3
- // JWT
4
- //
5
- // Created by Lobanov Dmitry on 02.10.16.
6
- // Copyright © 2016 Karma. All rights reserved.
7
- //
8
-
9
- #import "JWTAlgorithmDataHolderChain.h"
10
-
11
- @interface JWTAlgorithmDataHolderChain()
12
-
13
- @property (strong, nonatomic, readwrite) NSArray *holders;
14
-
15
- @end
16
-
17
- @implementation JWTAlgorithmDataHolderChain
18
-
19
- - (NSArray *)holders {
20
- if (!_holders) {
21
- _holders = @[];
22
- }
23
- return _holders;
24
- }
25
-
26
- #pragma mark - Initialization
27
- - (instancetype)initWithHolders:(NSArray *)holders {
28
- self = [super init];
29
- if (holders) {
30
- // check that holders conform to protocol
31
- NSArray *checkedHolders = [holders filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id _Nullable evaluatedObject, NSDictionary<NSString *,id> * _Nullable bindings) {
32
- return [evaluatedObject conformsToProtocol:@protocol(JWTAlgorithmDataHolderProtocol)];
33
- }]];
34
- self.holders = checkedHolders;
35
- }
36
- return self;
37
- }
38
-
39
- - (instancetype)initWithHolder:(id<JWTAlgorithmDataHolderProtocol>)holder {
40
- if (holder) {
41
- return [self initWithHolders:@[holder]];
42
- }
43
- return nil;
44
- }
45
-
46
- #pragma mark - Appending
47
- - (instancetype)chainByAppendingChain:(JWTAlgorithmDataHolderChain *)chain {
48
- NSArray *holders = self.holders;
49
- if (chain) {
50
- holders = [holders arrayByAddingObjectsFromArray:chain.holders];
51
- }
52
- return [[self.class alloc] initWithHolders:holders];
53
- }
54
-
55
- - (instancetype)chainByAppendingHolders:(NSArray *)holders {
56
- // create new chain with holders
57
- JWTAlgorithmDataHolderChain *chain = nil;
58
- if (holders) {
59
- chain = [[self.class alloc] initWithHolders:holders];
60
- }
61
- return [self chainByAppendingChain:chain];
62
- }
63
-
64
- - (instancetype)chainByAppendingHolder:(id<JWTAlgorithmDataHolderProtocol>)holder {
65
- return [self chainByAppendingHolders:holder ? @[holder] : nil];
66
- }
67
-
68
- #pragma mark - Create
69
- + (instancetype)chainWithHolders:(NSArray *)holders {
70
- return [[self new] chainByAppendingHolders:holders];
71
- }
72
-
73
- + (instancetype)chainWithHolder:(id<JWTAlgorithmDataHolderProtocol>)holder {
74
- return [[self new] chainByAppendingHolder:holder];
75
- }
76
-
77
- #pragma mark - Debug
78
- - (NSString *)debugDescription {
79
- return [NSString stringWithFormat:@"%@ holders: %@", self.class, [self.holders valueForKey:@"debugDescription"]];
80
- }
81
- @end
82
-
83
- @implementation JWTAlgorithmDataHolderChain (Convenient)
84
- - (id<JWTAlgorithmDataHolderProtocol>)firstHolderByAlgorithm:(id<JWTAlgorithm>)algorithm {
85
- NSInteger index = [self.holders indexOfObjectPassingTest:^BOOL(id <JWTAlgorithmDataHolderProtocol> _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
86
- return [[[obj internalAlgorithm] name] isEqualToString:[algorithm name]];
87
- }];
88
- if (index != NSNotFound) {
89
- return self.holders[index];
90
- }
91
-
92
- return nil;
93
- }
94
- - (id<JWTAlgorithmDataHolderProtocol>)firstHolderBySecretData:(NSData *)secretData {
95
- NSInteger index = [self.holders indexOfObjectPassingTest:^BOOL(id <JWTAlgorithmDataHolderProtocol> _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
96
- return [[obj internalSecretData] isEqualToData:secretData];
97
- }];
98
- if (index != NSNotFound) {
99
- return self.holders[index];
100
- }
101
-
102
- return nil;
103
- }
104
- - (NSArray *)singleAlgorithm:(id<JWTAlgorithm>)algorithm withManySecretData:(NSArray *)secretsData {
105
- NSArray *holders = @[];
106
-
107
- id holder = [self firstHolderByAlgorithm:algorithm];
108
-
109
- if (!holder) {
110
- return holders;
111
- }
112
-
113
- for (NSData *secretData in secretsData) {
114
- id<JWTAlgorithmDataHolderProtocol> newHolder = [holder copy];
115
- [newHolder setInternalSecretData:secretData];
116
- holders = [holders arrayByAddingObject:newHolder];
117
- }
118
- return holders;
119
- }
120
-
121
- - (NSArray *)singleSecretData:(NSData *)secretData withManyAlgorithms:(NSArray *)algorithms {
122
- NSArray *holders = @[];
123
-
124
- id holder = [self firstHolderBySecretData:secretData];
125
-
126
- if (!holder) {
127
- return holders;
128
- }
129
-
130
- for (id<JWTAlgorithm>algorithm in algorithms) {
131
- id<JWTAlgorithmDataHolderProtocol> newHolder = [holder copy];
132
- [newHolder setInternalAlgorithm:algorithm];
133
- [holders arrayByAddingObject:newHolder];
134
- }
135
- return holders;
136
- }
137
-
138
- - (instancetype)chainByPopulatingAlgorithm:(id<JWTAlgorithm>)algorithm withManySecretData:(NSArray *)secretsData {
139
- return [[self.class alloc] initWithHolders:[self singleAlgorithm:algorithm withManySecretData:secretsData]];
140
- }
141
-
142
- - (instancetype)chainByPopulatingSecretData:(NSData *)secretData withManyAlgorithms:(NSArray *)algorithms {
143
- return [[self.class alloc] initWithHolders:[self singleSecretData:secretData withManyAlgorithms:algorithms]];
144
- }
145
- @end
@@ -1,35 +0,0 @@
1
- //
2
- // JWTAlgorithmRSBase.h
3
- // JWT
4
- //
5
- // Created by Lobanov Dmitry on 13.03.16.
6
- // Copyright © 2016 Karma. All rights reserved.
7
- //
8
-
9
- #import <Foundation/Foundation.h>
10
- #import "JWTRSAlgorithm.h"
11
- extern NSString *const JWTAlgorithmNameRS256;
12
- extern NSString *const JWTAlgorithmNameRS384;
13
- extern NSString *const JWTAlgorithmNameRS512;
14
-
15
- @interface JWTAlgorithmRSBase : NSObject <JWTRSAlgorithm>
16
-
17
- @property (assign, nonatomic, readonly) size_t ccSHANumberDigestLength;
18
- @property (assign, nonatomic, readonly) uint32_t secPaddingPKCS1SHANumber;
19
- - (unsigned char *)CC_SHANumberWithData:(const void *)data withLength:(uint32_t)len withHashBytes:(unsigned char *)hashBytes;
20
-
21
- @end
22
-
23
- @interface JWTAlgorithmRSBase (Create)
24
-
25
- + (instancetype)algorithm256;
26
- + (instancetype)algorithm384;
27
- + (instancetype)algorithm512;
28
- + (instancetype)mutableAlgorithm __deprecated;
29
-
30
- @end
31
-
32
- /*
33
- // when you can't live without mutability, uncomment.
34
- @class JWTAlgorithmRSFamilyMemberMutable;
35
- */