@react-native-ohos/react-native-reanimated 4.0.1 → 4.0.2-beta.1

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 (235) hide show
  1. package/compatibility.json +161 -161
  2. package/harmony/reanimated/BuildProfile.ets +1 -1
  3. package/harmony/reanimated/build-profile.json5 +18 -18
  4. package/harmony/reanimated/hvigorfile.ts +4 -4
  5. package/harmony/reanimated/index.ets +4 -4
  6. package/harmony/reanimated/oh-package-lock.json5 +39 -0
  7. package/harmony/reanimated/oh-package.json5 +12 -12
  8. package/harmony/reanimated/src/main/cpp/CMakeLists.txt +65 -62
  9. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp +81 -81
  10. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h +46 -46
  11. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.cpp +390 -390
  12. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.h +16 -16
  13. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/definitions.h +30 -30
  14. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.cpp +46 -46
  15. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.h +23 -23
  16. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.cpp +53 -53
  17. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.h +21 -21
  18. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.cpp +166 -166
  19. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.h +71 -71
  20. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.cpp +368 -368
  21. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.h +53 -53
  22. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.cpp +594 -594
  23. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.h +67 -67
  24. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.cpp +52 -52
  25. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.h +26 -26
  26. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.cpp +156 -156
  27. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.h +76 -76
  28. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.cpp +94 -94
  29. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.h +33 -33
  30. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.cpp +48 -48
  31. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.h +31 -31
  32. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.cpp +135 -135
  33. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.h +61 -61
  34. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.cpp +100 -100
  35. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.h +45 -45
  36. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.cpp +81 -81
  37. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.h +53 -53
  38. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.cpp +122 -122
  39. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.h +38 -38
  40. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.cpp +82 -82
  41. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.h +63 -63
  42. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValue.h +118 -118
  43. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp +174 -174
  44. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h +111 -111
  45. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.cpp +196 -196
  46. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.h +66 -66
  47. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.cpp +134 -134
  48. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.h +44 -44
  49. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.cpp +174 -174
  50. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.h +49 -49
  51. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.cpp +45 -45
  52. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.h +26 -26
  53. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.cpp +90 -90
  54. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.h +43 -43
  55. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.cpp +17 -17
  56. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.h +13 -13
  57. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.cpp +127 -127
  58. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.h +51 -51
  59. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.cpp +145 -145
  60. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.h +47 -47
  61. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.cpp +69 -69
  62. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.h +22 -22
  63. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.cpp +66 -66
  64. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.h +15 -15
  65. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.cpp +28 -28
  66. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.h +15 -15
  67. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.cpp +13 -13
  68. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.h +12 -12
  69. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.cpp +157 -157
  70. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.h +189 -189
  71. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.cpp +76 -76
  72. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.h +66 -66
  73. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/configs.h +20 -20
  74. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.cpp +136 -136
  75. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.h +40 -40
  76. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.cpp +38 -38
  77. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h +24 -24
  78. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.cpp +58 -58
  79. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h +24 -24
  80. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/blur.h +14 -14
  81. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/brightness.h +14 -14
  82. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/contrast.h +14 -14
  83. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/dropShadow.h +17 -17
  84. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/grayscale.h +14 -14
  85. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/hueRotate.h +14 -14
  86. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/invert.h +14 -14
  87. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/opacity.h +14 -14
  88. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/saturate.h +14 -14
  89. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/sepia.h +14 -14
  90. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.cpp +95 -95
  91. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h +36 -36
  92. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.cpp +41 -41
  93. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.h +32 -32
  94. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.cpp +99 -99
  95. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h +37 -37
  96. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.cpp +308 -308
  97. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.h +100 -100
  98. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.cpp +19 -19
  99. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.h +94 -94
  100. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.cpp +18 -18
  101. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h +43 -43
  102. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/AnimationStyleInterpolator.h +26 -26
  103. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.cpp +103 -103
  104. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h +42 -42
  105. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.cpp +224 -224
  106. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.h +52 -52
  107. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.cpp +218 -218
  108. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h +89 -89
  109. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.cpp +149 -149
  110. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h +33 -33
  111. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.cpp +208 -208
  112. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.h +56 -56
  113. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.cpp +42 -42
  114. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.h +20 -20
  115. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.cpp +41 -41
  116. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.h +39 -39
  117. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.cpp +28 -28
  118. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.h +25 -25
  119. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.cpp +14 -14
  120. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.h +20 -20
  121. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.cpp +39 -39
  122. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.h +25 -25
  123. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.cpp +47 -47
  124. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h +43 -43
  125. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.cpp +70 -70
  126. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.h +40 -40
  127. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.cpp +146 -146
  128. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.h +71 -71
  129. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.cpp +155 -155
  130. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +53 -53
  131. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.cpp +170 -170
  132. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.h +67 -67
  133. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/KeyframeProgressProvider.h +12 -12
  134. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.cpp +41 -41
  135. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.h +31 -31
  136. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.cpp +193 -193
  137. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.h +77 -77
  138. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.cpp +340 -340
  139. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.h +80 -80
  140. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.cpp +45 -45
  141. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.h +29 -29
  142. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.cpp +167 -167
  143. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.h +51 -51
  144. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.cpp +61 -61
  145. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.h +33 -33
  146. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.cpp +80 -80
  147. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.h +39 -39
  148. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.cpp +93 -93
  149. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.h +36 -36
  150. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +111 -111
  151. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.h +33 -33
  152. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.cpp +75 -75
  153. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.h +45 -45
  154. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.cpp +12 -12
  155. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.h +10 -10
  156. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.cpp +36 -36
  157. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.h +23 -23
  158. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.cpp +149 -149
  159. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.h +32 -32
  160. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp +113 -113
  161. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +49 -49
  162. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h +46 -46
  163. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +56 -56
  164. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +37 -37
  165. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp +104 -104
  166. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h +22 -22
  167. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp +72 -72
  168. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h +25 -25
  169. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.cpp +160 -160
  170. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.h +71 -71
  171. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.cpp +161 -161
  172. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.h +65 -65
  173. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h +11 -11
  174. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp +137 -137
  175. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h +82 -82
  176. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.cpp +79 -79
  177. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +81 -81
  178. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.cpp +864 -864
  179. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h +214 -214
  180. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.cpp +897 -897
  181. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h +220 -220
  182. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp +31 -31
  183. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h +146 -146
  184. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.cpp +456 -456
  185. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.h +102 -102
  186. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/SharedTransitions.cpp +544 -544
  187. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.cpp +119 -119
  188. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.h +39 -39
  189. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +1380 -1380
  190. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -230
  191. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.cpp +183 -183
  192. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.h +93 -93
  193. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.cpp +54 -54
  194. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.h +28 -28
  195. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.cpp +58 -58
  196. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.h +31 -31
  197. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.cpp +18 -18
  198. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.h +44 -44
  199. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h +67 -67
  200. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedSystraceSection.h +114 -114
  201. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.cpp +46 -46
  202. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.h +18 -18
  203. package/harmony/reanimated/src/main/cpp/ReanimatedModule.cpp +233 -233
  204. package/harmony/reanimated/src/main/cpp/ReanimatedModule.h +23 -23
  205. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.cpp +56 -56
  206. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.h +30 -30
  207. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.cpp +44 -44
  208. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.h +16 -16
  209. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.cpp +265 -265
  210. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.h +36 -36
  211. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.cpp +35 -35
  212. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.h +23 -23
  213. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.cpp +23 -23
  214. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.h +19 -19
  215. package/harmony/reanimated/src/main/cpp/TransformParser.h +93 -93
  216. package/harmony/reanimated/src/main/ets/AnimationManager.ts +60 -60
  217. package/harmony/reanimated/src/main/ets/ReanimatedModule.ts +51 -51
  218. package/harmony/reanimated/src/main/ets/ReanimatedPackage.ts +25 -25
  219. package/harmony/reanimated/src/main/module.json5 +12 -12
  220. package/harmony/reanimated/src/main/resources/base/element/color.json +7 -7
  221. package/harmony/reanimated/src/main/resources/base/element/string.json +15 -15
  222. package/harmony/reanimated/src/main/resources/base/profile/main_pages.json +5 -5
  223. package/harmony/reanimated/src/main/resources/en_US/element/string.json +15 -15
  224. package/harmony/reanimated/src/main/resources/zh_CN/element/string.json +15 -15
  225. package/harmony/reanimated/ts.ts +6 -6
  226. package/harmony/reanimated.har +0 -0
  227. package/package.json +70 -69
  228. package/scripts/deploy.js +191 -191
  229. package/scripts/set-reanimated-version.js +37 -37
  230. package/scripts/update-version.js +119 -119
  231. package/scripts/validate-react-native-version.js +46 -46
  232. package/scripts/validate-worklets-build.js +17 -17
  233. package/scripts/validate-worklets-version.js +84 -84
  234. package/scripts/worklets-version.json +4 -4
  235. package/src/index.ts +9 -9
@@ -1,16 +1,16 @@
1
- {
2
- "string": [
3
- {
4
- "name": "module_desc",
5
- "value": "module description"
6
- },
7
- {
8
- "name": "ReanimatedAbility_desc",
9
- "value": "description"
10
- },
11
- {
12
- "name": "ReanimatedAbility_label",
13
- "value": "label"
14
- }
15
- ]
1
+ {
2
+ "string": [
3
+ {
4
+ "name": "module_desc",
5
+ "value": "module description"
6
+ },
7
+ {
8
+ "name": "ReanimatedAbility_desc",
9
+ "value": "description"
10
+ },
11
+ {
12
+ "name": "ReanimatedAbility_label",
13
+ "value": "label"
14
+ }
15
+ ]
16
16
  }
@@ -1,5 +1,5 @@
1
- {
2
- "src": [
3
- "pages/Index"
4
- ]
5
- }
1
+ {
2
+ "src": [
3
+ "pages/Index"
4
+ ]
5
+ }
@@ -1,16 +1,16 @@
1
- {
2
- "string": [
3
- {
4
- "name": "module_desc",
5
- "value": "module description"
6
- },
7
- {
8
- "name": "ReanimatedAbility_desc",
9
- "value": "description"
10
- },
11
- {
12
- "name": "ReanimatedAbility_label",
13
- "value": "label"
14
- }
15
- ]
1
+ {
2
+ "string": [
3
+ {
4
+ "name": "module_desc",
5
+ "value": "module description"
6
+ },
7
+ {
8
+ "name": "ReanimatedAbility_desc",
9
+ "value": "description"
10
+ },
11
+ {
12
+ "name": "ReanimatedAbility_label",
13
+ "value": "label"
14
+ }
15
+ ]
16
16
  }
@@ -1,16 +1,16 @@
1
- {
2
- "string": [
3
- {
4
- "name": "module_desc",
5
- "value": "模块描述"
6
- },
7
- {
8
- "name": "ReanimatedAbility_desc",
9
- "value": "description"
10
- },
11
- {
12
- "name": "ReanimatedAbility_label",
13
- "value": "label"
14
- }
15
- ]
1
+ {
2
+ "string": [
3
+ {
4
+ "name": "module_desc",
5
+ "value": "模块描述"
6
+ },
7
+ {
8
+ "name": "ReanimatedAbility_desc",
9
+ "value": "description"
10
+ },
11
+ {
12
+ "name": "ReanimatedAbility_label",
13
+ "value": "label"
14
+ }
15
+ ]
16
16
  }
@@ -1,6 +1,6 @@
1
- // Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
2
- // Use of this source code is governed by a MIT license that can be
3
- // found in the LICENSE file.
4
-
5
- export * from './src/main/ets/ReanimatedPackage';
6
- export * from './src/main/ets/ReanimatedModule';
1
+ // Copyright (c) 2025 Huawei Device Co., Ltd. All rights reserved
2
+ // Use of this source code is governed by a MIT license that can be
3
+ // found in the LICENSE file.
4
+
5
+ export * from './src/main/ets/ReanimatedPackage';
6
+ export * from './src/main/ets/ReanimatedModule';
Binary file
package/package.json CHANGED
@@ -1,69 +1,70 @@
1
- {
2
- "name": "@react-native-ohos/react-native-reanimated",
3
- "harmony": {
4
- "alias": "react-native-reanimated",
5
- "redirectInternalImports": true
6
- },
7
- "version": "4.0.1",
8
- "description": "",
9
- "main": "lib/index.js",
10
- "scripts": {
11
- "build": "tsc",
12
- "pack:prod": "npm pack",
13
- "prepack": "npm run build",
14
- "prepublishOnly": "npm run prepack && react-native verify-package-harmony --package-path . --skip-checks oh_package_name_is_derived_from_npm_package_name",
15
- "update_version": "node ./scripts/update-version.js",
16
- "deploy": "node ./scripts/deploy.js"
17
- },
18
- "peerDependencies": {
19
- "react": "*",
20
- "react-native": "*",
21
- "react-native-reanimated": "4.2.1"
22
- },
23
- "author": "",
24
- "license": "ISC",
25
- "dependencies": {
26
- "@types/node": "^24.0.14",
27
- "react-native-reanimated": "4.2.1",
28
- "semver": "7.7.3"
29
- },
30
- "devDependencies": {
31
- "@babel/core": "7.28.4",
32
- "@babel/preset-env": "7.28.3",
33
- "@react-native/babel-preset": "0.82.0",
34
- "@react-native/eslint-config": "0.82.0",
35
- "@react-native/metro-config": "0.82.0",
36
- "@react-native/typescript-config": "0.82.0",
37
- "@testing-library/jest-native": "5.4.3",
38
- "@testing-library/react-hooks": "8.0.1",
39
- "@testing-library/react-native": "13.3.3",
40
- "@types/convert-source-map": "2.0.3",
41
- "@types/jest": "30.0.0",
42
- "@types/node": "24.0.14",
43
- "@types/react": "19.2.2",
44
- "@types/react-test-renderer": "19.1.0",
45
- "@types/semver": "7.7.1",
46
- "clang-format-node": "1.3.5",
47
- "eslint": "9.37.0",
48
- "jest": "30.2.0",
49
- "knip": "5.61.3",
50
- "madge": "8.0.0",
51
- "prettier": "3.6.2",
52
- "react": "19.1.1",
53
- "react-dom": "19.1.1",
54
- "react-native": "0.82.0",
55
- "react-native-builder-bob": "0.40.13",
56
- "react-native-web": "0.21.1",
57
- "react-native-worklets": "0.7.1",
58
- "react-test-renderer": "19.1.1",
59
- "typescript": "5.8.3"
60
- },
61
- "files": [
62
- "lib",
63
- "harmony",
64
- "scripts",
65
- "src",
66
- "./harmony.tar.gz",
67
- "compatibility.json"
68
- ]
69
- }
1
+ {
2
+ "name": "@react-native-ohos/react-native-reanimated",
3
+ "harmony": {
4
+ "alias": "react-native-reanimated",
5
+ "redirectInternalImports": true
6
+ },
7
+ "version": "4.0.2-beta.1",
8
+ "description": "",
9
+ "main": "lib/index.js",
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "pack":"npm pack",
13
+ "pack:prod": "npm pack",
14
+ "prepack": "npm run build",
15
+ "prepublishOnly": "npm run prepack && react-native verify-package-harmony --package-path . --skip-checks oh_package_name_is_derived_from_npm_package_name",
16
+ "update_version": "node ./scripts/update-version.js",
17
+ "deploy": "node ./scripts/deploy.js"
18
+ },
19
+ "peerDependencies": {
20
+ "react": "*",
21
+ "react-native": "*",
22
+ "react-native-reanimated": "4.2.1"
23
+ },
24
+ "author": "",
25
+ "license": "ISC",
26
+ "dependencies": {
27
+ "@types/node": "^24.0.14",
28
+ "react-native-reanimated": "4.2.1",
29
+ "semver": "7.7.3"
30
+ },
31
+ "devDependencies": {
32
+ "@babel/core": "7.28.4",
33
+ "@babel/preset-env": "7.28.3",
34
+ "@react-native/babel-preset": "0.82.0",
35
+ "@react-native/eslint-config": "0.82.0",
36
+ "@react-native/metro-config": "0.82.0",
37
+ "@react-native/typescript-config": "0.82.0",
38
+ "@testing-library/jest-native": "5.4.3",
39
+ "@testing-library/react-hooks": "8.0.1",
40
+ "@testing-library/react-native": "13.3.3",
41
+ "@types/convert-source-map": "2.0.3",
42
+ "@types/jest": "30.0.0",
43
+ "@types/node": "24.0.14",
44
+ "@types/react": "19.2.2",
45
+ "@types/react-test-renderer": "19.1.0",
46
+ "@types/semver": "7.7.1",
47
+ "clang-format-node": "1.3.5",
48
+ "eslint": "9.37.0",
49
+ "jest": "30.2.0",
50
+ "knip": "5.61.3",
51
+ "madge": "8.0.0",
52
+ "prettier": "3.6.2",
53
+ "react": "19.1.1",
54
+ "react-dom": "19.1.1",
55
+ "react-native": "0.82.0",
56
+ "react-native-builder-bob": "0.40.13",
57
+ "react-native-web": "0.21.1",
58
+ "react-native-worklets": "0.7.1",
59
+ "react-test-renderer": "19.1.1",
60
+ "typescript": "5.8.3"
61
+ },
62
+ "files": [
63
+ "lib",
64
+ "harmony",
65
+ "scripts",
66
+ "src",
67
+ "./harmony.tar.gz",
68
+ "compatibility.json"
69
+ ]
70
+ }
package/scripts/deploy.js CHANGED
@@ -1,191 +1,191 @@
1
- // @ts-check
2
- const { execSync } = require('child_process');
3
- const fs = require('node:fs');
4
- const readline = require('readline');
5
-
6
- const RNOH_REPO_TOKEN = process.env.RNOH_REPO_TOKEN ?? '';
7
-
8
- if (!RNOH_REPO_TOKEN) {
9
- console.log('RNOH_REPO_TOKEN not found');
10
- process.exit(1);
11
- }
12
-
13
- const EXPECTED_EXECUTION_DIRECTORY_NAME =
14
- 'react-native-harmony-reanimated';
15
- const GITLAB_URL = 'https://gl.swmansion.com';
16
- const GITLAB_PROJECT_ID = 522;
17
- const MODULE_NAME = 'reanimated';
18
- const HAR_FILE_OUTPUT_PATH = `tester/harmony/${MODULE_NAME}/build/default/outputs/default/${MODULE_NAME}.har`;
19
- const UNSCOPED_NPM_PACKAGE_NAME = 'react-native-harmony-reanimated';
20
-
21
- const rl = readline.createInterface({
22
- input: process.stdin,
23
- output: process.stdout,
24
- });
25
-
26
- function runDeployment() {
27
- if (!process.cwd().endsWith(EXPECTED_EXECUTION_DIRECTORY_NAME)) {
28
- console.log(
29
- `This script should be executed from ${EXPECTED_EXECUTION_DIRECTORY_NAME} directory`
30
- );
31
- process.exit(1);
32
- }
33
-
34
- if (!isRepositoryClean()) {
35
- console.log(
36
- 'Repository should be clean, on main branch and up to date with upstream.'
37
- );
38
- process.exit(1);
39
- }
40
-
41
- let version = '';
42
-
43
- const currentVersion = JSON.parse(
44
- fs.readFileSync('./package.json').toString()
45
- )['version'];
46
- rl.question(
47
- `Current version: ${currentVersion}. Enter new version: `,
48
- (newVersion) => {
49
- version = newVersion;
50
-
51
- execSync(`npm run update_version -- --new-version ${version}`, {
52
- stdio: 'inherit',
53
- });
54
-
55
- rl.question(
56
- `Please generate ${HAR_FILE_OUTPUT_PATH} file. Open DevEco Studio, select any file in '${MODULE_NAME}' module, and run Build > Make Module '${MODULE_NAME}'.\nOnce you finish type 'done': `,
57
- (answer) => {
58
- if (answer !== 'done') {
59
- console.log('Deployment aborted');
60
- process.exit(1);
61
- }
62
- console.log(
63
- `Copying ${`../${HAR_FILE_OUTPUT_PATH}`} to ./harmony dir`
64
- );
65
- if (!fs.existsSync(`../${HAR_FILE_OUTPUT_PATH}`)) {
66
- console.log(`Couldn't find ${HAR_FILE_OUTPUT_PATH}.`);
67
- process.exit(1);
68
- }
69
- fs.rmSync('./harmony', { recursive: true, force: true });
70
- fs.mkdirSync('./harmony');
71
- fs.renameSync(
72
- `../${HAR_FILE_OUTPUT_PATH}`,
73
- `./harmony/${MODULE_NAME}.har`
74
- );
75
-
76
- // const changelogForCurrentVersion = execSync(
77
- // `npm run -s gen:changelog`
78
- // ).toString();
79
- // updateChangelog(version, changelogForCurrentVersion);
80
-
81
- execSync(`npm publish --dry-run`, { stdio: 'inherit' });
82
-
83
- rl.question(
84
- 'Are changes good to be published and pushed to the upstream? (yes/no): ',
85
- async (answer) => {
86
- if (answer.toLowerCase() === 'yes') {
87
- execSync(`npm publish`, { stdio: 'inherit' });
88
- console.log('NPM Package was published successfully.');
89
- execSync(
90
- `git checkout -b release-${UNSCOPED_NPM_PACKAGE_NAME}-${version}`
91
- );
92
- execSync('git add -A');
93
- execSync(
94
- `git commit -m "release: ${UNSCOPED_NPM_PACKAGE_NAME}@${version}"`,
95
- {
96
- stdio: 'inherit',
97
- }
98
- );
99
- execSync(`git push -u origin HEAD --no-verify`, {
100
- stdio: 'inherit',
101
- });
102
-
103
- execSync(`git tag v${version}`);
104
- execSync(`git push -u origin v${version} --no-verify`, {
105
- stdio: 'inherit',
106
- });
107
- const mergeRequestId = await createMergeRequest(
108
- `release-${UNSCOPED_NPM_PACKAGE_NAME}-${version}`,
109
- `release: ${UNSCOPED_NPM_PACKAGE_NAME}@${version}`
110
- );
111
- console.log(`Please merge the following Merge Request:\n
112
- https://gl.swmansion.com/rnoh/${UNSCOPED_NPM_PACKAGE_NAME}/-/merge_requests/${mergeRequestId}`);
113
- rl.close();
114
- } else {
115
- console.log('Deployment aborted.');
116
- rl.close();
117
- }
118
- }
119
- );
120
- }
121
- );
122
- }
123
- );
124
- }
125
-
126
- /**
127
- * @returns {boolean}
128
- */
129
- function isRepositoryClean() {
130
- const status = execSync('git status --porcelain', { encoding: 'utf-8' });
131
- const branch = execSync('git branch --show-current', {
132
- encoding: 'utf-8',
133
- }).trim();
134
- const isUpdated =
135
- execSync('git rev-list HEAD...origin/main --count', {
136
- encoding: 'utf-8',
137
- }).trim() === '0';
138
- return !status && branch === 'main' && isUpdated;
139
- }
140
-
141
- /**
142
- * @param {string} version
143
- * @param {string} changelogForCurrentVersion
144
- */
145
- function updateChangelog(version, changelogForCurrentVersion) {
146
- let data = fs.readFileSync('../CHANGELOG.md').toString();
147
- data = data.replace(
148
- '# Changelog',
149
- `# Changelog\n\n## v${version}\n ${changelogForCurrentVersion}`
150
- );
151
- fs.writeFileSync('../CHANGELOG.md', data);
152
- }
153
-
154
- /**
155
- * @param {string} sourceBranch
156
- * @param {string} title
157
- * @returns {Promise<number>}
158
- */
159
- async function createMergeRequest(sourceBranch, title) {
160
- try {
161
- const response = await fetch(
162
- `${GITLAB_URL}/api/v4/projects/${GITLAB_PROJECT_ID}/merge_requests`,
163
- {
164
- method: 'POST',
165
- headers: {
166
- 'PRIVATE-TOKEN': RNOH_REPO_TOKEN,
167
- 'Content-Type': 'application/json',
168
- },
169
- body: JSON.stringify({
170
- source_branch: sourceBranch,
171
- target_branch: 'main',
172
- title: title,
173
- squash: false,
174
- remove_source_branch: true,
175
- }),
176
- }
177
- );
178
- if (!response.ok) {
179
- throw new Error(
180
- `Failed to create merge request: ${response.statusText} ${response.status}`
181
- );
182
- }
183
- const responseData = await response.json();
184
- return responseData.iid;
185
- } catch (error) {
186
- console.error('Error creating merge request:', error);
187
- throw error;
188
- }
189
- }
190
-
191
- runDeployment();
1
+ // @ts-check
2
+ const { execSync } = require('child_process');
3
+ const fs = require('node:fs');
4
+ const readline = require('readline');
5
+
6
+ const RNOH_REPO_TOKEN = process.env.RNOH_REPO_TOKEN ?? '';
7
+
8
+ if (!RNOH_REPO_TOKEN) {
9
+ console.log('RNOH_REPO_TOKEN not found');
10
+ process.exit(1);
11
+ }
12
+
13
+ const EXPECTED_EXECUTION_DIRECTORY_NAME =
14
+ 'react-native-harmony-reanimated';
15
+ const GITLAB_URL = 'https://gl.swmansion.com';
16
+ const GITLAB_PROJECT_ID = 522;
17
+ const MODULE_NAME = 'reanimated';
18
+ const HAR_FILE_OUTPUT_PATH = `tester/harmony/${MODULE_NAME}/build/default/outputs/default/${MODULE_NAME}.har`;
19
+ const UNSCOPED_NPM_PACKAGE_NAME = 'react-native-harmony-reanimated';
20
+
21
+ const rl = readline.createInterface({
22
+ input: process.stdin,
23
+ output: process.stdout,
24
+ });
25
+
26
+ function runDeployment() {
27
+ if (!process.cwd().endsWith(EXPECTED_EXECUTION_DIRECTORY_NAME)) {
28
+ console.log(
29
+ `This script should be executed from ${EXPECTED_EXECUTION_DIRECTORY_NAME} directory`
30
+ );
31
+ process.exit(1);
32
+ }
33
+
34
+ if (!isRepositoryClean()) {
35
+ console.log(
36
+ 'Repository should be clean, on main branch and up to date with upstream.'
37
+ );
38
+ process.exit(1);
39
+ }
40
+
41
+ let version = '';
42
+
43
+ const currentVersion = JSON.parse(
44
+ fs.readFileSync('./package.json').toString()
45
+ )['version'];
46
+ rl.question(
47
+ `Current version: ${currentVersion}. Enter new version: `,
48
+ (newVersion) => {
49
+ version = newVersion;
50
+
51
+ execSync(`npm run update_version -- --new-version ${version}`, {
52
+ stdio: 'inherit',
53
+ });
54
+
55
+ rl.question(
56
+ `Please generate ${HAR_FILE_OUTPUT_PATH} file. Open DevEco Studio, select any file in '${MODULE_NAME}' module, and run Build > Make Module '${MODULE_NAME}'.\nOnce you finish type 'done': `,
57
+ (answer) => {
58
+ if (answer !== 'done') {
59
+ console.log('Deployment aborted');
60
+ process.exit(1);
61
+ }
62
+ console.log(
63
+ `Copying ${`../${HAR_FILE_OUTPUT_PATH}`} to ./harmony dir`
64
+ );
65
+ if (!fs.existsSync(`../${HAR_FILE_OUTPUT_PATH}`)) {
66
+ console.log(`Couldn't find ${HAR_FILE_OUTPUT_PATH}.`);
67
+ process.exit(1);
68
+ }
69
+ fs.rmSync('./harmony', { recursive: true, force: true });
70
+ fs.mkdirSync('./harmony');
71
+ fs.renameSync(
72
+ `../${HAR_FILE_OUTPUT_PATH}`,
73
+ `./harmony/${MODULE_NAME}.har`
74
+ );
75
+
76
+ // const changelogForCurrentVersion = execSync(
77
+ // `npm run -s gen:changelog`
78
+ // ).toString();
79
+ // updateChangelog(version, changelogForCurrentVersion);
80
+
81
+ execSync(`npm publish --dry-run`, { stdio: 'inherit' });
82
+
83
+ rl.question(
84
+ 'Are changes good to be published and pushed to the upstream? (yes/no): ',
85
+ async (answer) => {
86
+ if (answer.toLowerCase() === 'yes') {
87
+ execSync(`npm publish`, { stdio: 'inherit' });
88
+ console.log('NPM Package was published successfully.');
89
+ execSync(
90
+ `git checkout -b release-${UNSCOPED_NPM_PACKAGE_NAME}-${version}`
91
+ );
92
+ execSync('git add -A');
93
+ execSync(
94
+ `git commit -m "release: ${UNSCOPED_NPM_PACKAGE_NAME}@${version}"`,
95
+ {
96
+ stdio: 'inherit',
97
+ }
98
+ );
99
+ execSync(`git push -u origin HEAD --no-verify`, {
100
+ stdio: 'inherit',
101
+ });
102
+
103
+ execSync(`git tag v${version}`);
104
+ execSync(`git push -u origin v${version} --no-verify`, {
105
+ stdio: 'inherit',
106
+ });
107
+ const mergeRequestId = await createMergeRequest(
108
+ `release-${UNSCOPED_NPM_PACKAGE_NAME}-${version}`,
109
+ `release: ${UNSCOPED_NPM_PACKAGE_NAME}@${version}`
110
+ );
111
+ console.log(`Please merge the following Merge Request:\n
112
+ https://gl.swmansion.com/rnoh/${UNSCOPED_NPM_PACKAGE_NAME}/-/merge_requests/${mergeRequestId}`);
113
+ rl.close();
114
+ } else {
115
+ console.log('Deployment aborted.');
116
+ rl.close();
117
+ }
118
+ }
119
+ );
120
+ }
121
+ );
122
+ }
123
+ );
124
+ }
125
+
126
+ /**
127
+ * @returns {boolean}
128
+ */
129
+ function isRepositoryClean() {
130
+ const status = execSync('git status --porcelain', { encoding: 'utf-8' });
131
+ const branch = execSync('git branch --show-current', {
132
+ encoding: 'utf-8',
133
+ }).trim();
134
+ const isUpdated =
135
+ execSync('git rev-list HEAD...origin/main --count', {
136
+ encoding: 'utf-8',
137
+ }).trim() === '0';
138
+ return !status && branch === 'main' && isUpdated;
139
+ }
140
+
141
+ /**
142
+ * @param {string} version
143
+ * @param {string} changelogForCurrentVersion
144
+ */
145
+ function updateChangelog(version, changelogForCurrentVersion) {
146
+ let data = fs.readFileSync('../CHANGELOG.md').toString();
147
+ data = data.replace(
148
+ '# Changelog',
149
+ `# Changelog\n\n## v${version}\n ${changelogForCurrentVersion}`
150
+ );
151
+ fs.writeFileSync('../CHANGELOG.md', data);
152
+ }
153
+
154
+ /**
155
+ * @param {string} sourceBranch
156
+ * @param {string} title
157
+ * @returns {Promise<number>}
158
+ */
159
+ async function createMergeRequest(sourceBranch, title) {
160
+ try {
161
+ const response = await fetch(
162
+ `${GITLAB_URL}/api/v4/projects/${GITLAB_PROJECT_ID}/merge_requests`,
163
+ {
164
+ method: 'POST',
165
+ headers: {
166
+ 'PRIVATE-TOKEN': RNOH_REPO_TOKEN,
167
+ 'Content-Type': 'application/json',
168
+ },
169
+ body: JSON.stringify({
170
+ source_branch: sourceBranch,
171
+ target_branch: 'main',
172
+ title: title,
173
+ squash: false,
174
+ remove_source_branch: true,
175
+ }),
176
+ }
177
+ );
178
+ if (!response.ok) {
179
+ throw new Error(
180
+ `Failed to create merge request: ${response.statusText} ${response.status}`
181
+ );
182
+ }
183
+ const responseData = await response.json();
184
+ return responseData.iid;
185
+ } catch (error) {
186
+ console.error('Error creating merge request:', error);
187
+ throw error;
188
+ }
189
+ }
190
+
191
+ runDeployment();