@react-native-ohos/react-native-reanimated 3.18.2-rc.2 → 4.0.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 (282) hide show
  1. package/compatibility.json +161 -0
  2. package/harmony/reanimated/BuildProfile.ets +1 -1
  3. package/harmony/reanimated/build-profile.json5 +18 -11
  4. package/harmony/reanimated/oh-package.json5 +12 -11
  5. package/harmony/reanimated/src/main/cpp/CMakeLists.txt +31 -40
  6. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp +81 -86
  7. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h +46 -47
  8. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.cpp +390 -0
  9. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/InterpolatorRegistry.h +16 -0
  10. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/definitions.h +30 -0
  11. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.cpp +46 -0
  12. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/filters/FilterOp.h +23 -0
  13. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.cpp +53 -0
  14. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/Quaternion.h +21 -0
  15. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.cpp +166 -0
  16. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix.h +71 -0
  17. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.cpp +368 -0
  18. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix2D.h +53 -0
  19. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.cpp +594 -0
  20. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformMatrix3D.h +67 -0
  21. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.cpp +52 -0
  22. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/TransformOp.h +26 -0
  23. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.cpp +156 -0
  24. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/transforms/vectors.h +76 -0
  25. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.cpp +94 -0
  26. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSAngle.h +33 -0
  27. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.cpp +48 -0
  28. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSBoolean.h +31 -0
  29. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.cpp +135 -0
  30. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSColor.h +61 -0
  31. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.cpp +100 -0
  32. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSDiscreteArray.h +45 -0
  33. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.cpp +81 -0
  34. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSKeyword.h +53 -0
  35. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.cpp +122 -0
  36. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSLength.h +38 -0
  37. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.cpp +82 -0
  38. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSNumber.h +63 -0
  39. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValue.h +118 -0
  40. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.cpp +174 -0
  41. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/CSSValueVariant.h +111 -0
  42. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.cpp +196 -0
  43. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSBoxShadow.h +66 -0
  44. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.cpp +134 -0
  45. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/common/values/complex/CSSDropShadow.h +44 -0
  46. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.cpp +174 -0
  47. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSAnimationConfig.h +49 -0
  48. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.cpp +45 -0
  49. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSKeyframesConfig.h +26 -0
  50. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.cpp +90 -0
  51. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/CSSTransitionConfig.h +43 -0
  52. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.cpp +17 -0
  53. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/configs/common.h +13 -0
  54. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.cpp +127 -0
  55. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSAnimation.h +51 -0
  56. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.cpp +145 -0
  57. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/core/CSSTransition.h +47 -0
  58. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.cpp +69 -0
  59. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/EasingFunctions.h +22 -0
  60. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.cpp +66 -0
  61. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/cubicBezier.h +15 -0
  62. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.cpp +28 -0
  63. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/linear.h +15 -0
  64. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.cpp +13 -0
  65. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/easing/steps.h +12 -0
  66. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.cpp +157 -0
  67. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/InterpolatorFactory.h +189 -0
  68. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.cpp +76 -0
  69. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/PropertyInterpolator.h +66 -0
  70. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/configs.h +20 -0
  71. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.cpp +136 -0
  72. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperation.h +40 -0
  73. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.cpp +38 -0
  74. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterOperationInterpolator.h +24 -0
  75. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.cpp +58 -0
  76. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/FilterStyleInterpolator.h +24 -0
  77. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/blur.h +14 -0
  78. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/brightness.h +14 -0
  79. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/contrast.h +14 -0
  80. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/dropShadow.h +17 -0
  81. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/grayscale.h +14 -0
  82. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/hueRotate.h +14 -0
  83. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/invert.h +14 -0
  84. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/opacity.h +14 -0
  85. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/saturate.h +14 -0
  86. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/filters/operations/sepia.h +14 -0
  87. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.cpp +95 -0
  88. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/ArrayPropertiesInterpolator.h +36 -0
  89. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.cpp +41 -0
  90. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/GroupPropertiesInterpolator.h +32 -0
  91. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.cpp +99 -0
  92. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/groups/RecordPropertiesInterpolator.h +37 -0
  93. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.cpp +308 -0
  94. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/OperationsStyleInterpolator.h +100 -0
  95. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.cpp +19 -0
  96. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperation.h +94 -0
  97. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.cpp +18 -0
  98. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/operations/StyleOperationInterpolator.h +43 -0
  99. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/AnimationStyleInterpolator.h +26 -0
  100. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.cpp +103 -0
  101. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/styles/TransitionStyleInterpolator.h +42 -0
  102. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.cpp +224 -0
  103. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperation.h +52 -0
  104. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.cpp +218 -0
  105. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformOperationInterpolator.h +89 -0
  106. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.cpp +149 -0
  107. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/TransformsStyleInterpolator.h +33 -0
  108. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.cpp +208 -0
  109. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/matrix.h +56 -0
  110. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.cpp +42 -0
  111. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/perspective.h +20 -0
  112. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.cpp +41 -0
  113. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/rotate.h +39 -0
  114. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.cpp +28 -0
  115. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/scale.h +25 -0
  116. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.cpp +14 -0
  117. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/skew.h +20 -0
  118. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.cpp +39 -0
  119. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/transforms/operations/translate.h +25 -0
  120. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.cpp +47 -0
  121. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ResolvableValueInterpolator.h +43 -0
  122. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.cpp +70 -0
  123. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/SimpleValueInterpolator.h +40 -0
  124. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.cpp +146 -0
  125. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/interpolation/values/ValueInterpolator.h +71 -0
  126. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.cpp +155 -0
  127. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/misc/ViewStylesRepository.h +53 -0
  128. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.cpp +170 -0
  129. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/AnimationProgressProvider.h +67 -0
  130. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/KeyframeProgressProvider.h +12 -0
  131. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.cpp +41 -0
  132. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/RawProgressProvider.h +31 -0
  133. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.cpp +193 -0
  134. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/progress/TransitionProgressProvider.h +77 -0
  135. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.cpp +340 -0
  136. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSAnimationsRegistry.h +80 -0
  137. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.cpp +45 -0
  138. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSKeyframesRegistry.h +29 -0
  139. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.cpp +167 -0
  140. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/CSSTransitionsRegistry.h +51 -0
  141. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.cpp +61 -0
  142. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/registries/StaticPropsRegistry.h +33 -0
  143. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.cpp +80 -0
  144. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGBrush.h +39 -0
  145. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.cpp +93 -0
  146. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGLength.h +36 -0
  147. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.cpp +111 -0
  148. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/svg/values/SVGStrokeDashArray.h +33 -0
  149. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.cpp +75 -0
  150. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/DelayedItemsManager.h +45 -0
  151. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.cpp +12 -0
  152. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/algorithms.h +10 -0
  153. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.cpp +36 -0
  154. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/interpolators.h +23 -0
  155. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.cpp +149 -0
  156. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/CSS/utils/props.h +32 -0
  157. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.cpp +113 -101
  158. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +49 -51
  159. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h +46 -49
  160. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +56 -96
  161. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +37 -33
  162. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp +104 -95
  163. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h +22 -29
  164. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.cpp +72 -0
  165. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/AnimatedPropsRegistry.h +25 -0
  166. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.cpp +160 -0
  167. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistry.h +71 -0
  168. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.cpp +161 -0
  169. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/updates/UpdatesRegistryManager.h +65 -0
  170. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationType.h +11 -9
  171. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp +137 -232
  172. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h +82 -90
  173. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.cpp +79 -0
  174. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxyCommon.h +81 -0
  175. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.cpp +864 -0
  176. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Experimental.h +214 -0
  177. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/{LayoutAnimationsProxy.cpp → LayoutAnimationsProxy_Legacy.cpp} +897 -870
  178. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy_Legacy.h +220 -0
  179. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.cpp +31 -91
  180. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h +146 -176
  181. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.cpp +456 -0
  182. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/PropsDiffer.h +102 -0
  183. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/SharedTransitions.cpp +544 -0
  184. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.cpp +119 -0
  185. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/PropValueProcessor.h +39 -0
  186. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.cpp +1380 -971
  187. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +230 -252
  188. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.cpp +183 -231
  189. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.h +93 -109
  190. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.cpp +54 -56
  191. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.h +28 -20
  192. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.cpp +58 -70
  193. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.h +31 -35
  194. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.cpp +18 -0
  195. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeatureFlags.h +44 -0
  196. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/PlatformDepMethodsHolder.h +67 -98
  197. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedSystraceSection.h +114 -135
  198. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedVersion.cpp +46 -0
  199. package/harmony/reanimated/src/main/cpp/Common/cpp/{worklets → reanimated}/Tools/ReanimatedVersion.h +18 -19
  200. package/harmony/reanimated/src/main/cpp/ReanimatedModule.cpp +63 -85
  201. package/harmony/reanimated/src/main/cpp/ReanimatedNodesManager.cpp +1 -0
  202. package/harmony/reanimated/src/main/cpp/ReanimatedPackage.cpp +0 -3
  203. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.cpp +266 -0
  204. package/harmony/reanimated/src/main/cpp/ReanimatedSensor.h +36 -0
  205. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.cpp +36 -0
  206. package/harmony/reanimated/src/main/cpp/ReanimatedSensorContainer.h +23 -0
  207. package/harmony/reanimated/src/main/cpp/ReanimatedUIScheduler.h +3 -3
  208. package/harmony/reanimated/src/main/ets/ReanimatedModule.ts +5 -1
  209. package/harmony/reanimated/src/main/ets/ReanimatedPackage.ts +1 -4
  210. package/harmony/reanimated/src/main/module.json5 +12 -12
  211. package/harmony/reanimated/src/main/resources/base/element/color.json +7 -7
  212. package/harmony/reanimated/src/main/resources/base/element/string.json +15 -15
  213. package/harmony/reanimated/src/main/resources/base/profile/main_pages.json +5 -5
  214. package/harmony/reanimated/src/main/resources/en_US/element/string.json +15 -15
  215. package/harmony/reanimated/src/main/resources/zh_CN/element/string.json +15 -15
  216. package/harmony/reanimated/ts.ts +6 -6
  217. package/harmony/reanimated.har +0 -0
  218. package/package.json +69 -50
  219. package/scripts/deploy.js +191 -0
  220. package/scripts/set-reanimated-version.js +37 -0
  221. package/scripts/update-version.js +119 -0
  222. package/scripts/validate-react-native-version.js +46 -0
  223. package/scripts/validate-worklets-build.js +17 -0
  224. package/scripts/validate-worklets-version.js +84 -0
  225. package/scripts/worklets-version.json +4 -0
  226. package/LICENSE +0 -21
  227. package/README.OpenSource +0 -11
  228. package/README.md +0 -10
  229. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/PropsRegistry.cpp +0 -68
  230. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/PropsRegistry.h +0 -68
  231. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy.h +0 -147
  232. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/CollectionUtils.h +0 -14
  233. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeaturesConfig.cpp +0 -5
  234. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeaturesConfig.h +0 -19
  235. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxy.cpp +0 -47
  236. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxy.h +0 -59
  237. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxySpec.cpp +0 -27
  238. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxySpec.h +0 -25
  239. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/EventHandlerRegistry.cpp +0 -94
  240. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/EventHandlerRegistry.h +0 -49
  241. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.cpp +0 -8
  242. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.h +0 -39
  243. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/SharedItems/Shareables.cpp +0 -326
  244. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/SharedItems/Shareables.h +0 -345
  245. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/AsyncQueue.cpp +0 -52
  246. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/AsyncQueue.h +0 -35
  247. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/Defs.h +0 -10
  248. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSISerializer.cpp +0 -342
  249. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSISerializer.h +0 -47
  250. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSLogger.cpp +0 -16
  251. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSLogger.h +0 -20
  252. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSScheduler.cpp +0 -20
  253. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSScheduler.h +0 -29
  254. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/PlatformLogger.h +0 -16
  255. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ReanimatedJSIUtils.cpp +0 -26
  256. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ReanimatedJSIUtils.h +0 -199
  257. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ReanimatedVersion.cpp +0 -95
  258. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/SingleInstanceChecker.h +0 -72
  259. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ThreadSafeQueue.h +0 -49
  260. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/UIScheduler.cpp +0 -20
  261. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/UIScheduler.h +0 -22
  262. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/WorkletEventHandler.cpp +0 -29
  263. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/WorkletEventHandler.h +0 -41
  264. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/RNRuntimeWorkletDecorator.cpp +0 -16
  265. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/RNRuntimeWorkletDecorator.h +0 -19
  266. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedHermesRuntime.cpp +0 -112
  267. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedHermesRuntime.h +0 -127
  268. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedRuntime.cpp +0 -53
  269. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedRuntime.h +0 -22
  270. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/RuntimeInitialization.md +0 -191
  271. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.cpp +0 -173
  272. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.h +0 -90
  273. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeCollector.h +0 -36
  274. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.cpp +0 -189
  275. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.h +0 -22
  276. package/harmony/reanimated/src/main/cpp/ReanimatedLogger.cpp +0 -33
  277. package/harmony/reanimated/src/main/cpp/WorkletsModule.cpp +0 -61
  278. package/harmony/reanimated/src/main/cpp/WorkletsModule.h +0 -22
  279. package/harmony/reanimated/src/main/cpp/patches/AnimatedSensor/AnimatedSensorModule.cpp +0 -89
  280. package/harmony/reanimated/src/main/cpp/patches/Fabric/ShadowTreeCloner.cpp +0 -95
  281. package/harmony/reanimated/src/main/cpp/patches/NativeModules/ReanimatedModuleProxy.cpp +0 -964
  282. package/harmony/reanimated/src/main/ets/WorkletsModule.ts +0 -15
package/package.json CHANGED
@@ -1,50 +1,69 @@
1
- {
2
- "name": "@react-native-ohos/react-native-reanimated",
3
- "harmony": {
4
- "alias": "react-native-reanimated",
5
- "redirectInternalImports": true
6
- },
7
- "version": "3.18.2-rc.2",
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-harmony": "*",
22
- "react-native-reanimated": "3.18.0"
23
- },
24
- "author": "",
25
- "license": "ISC",
26
- "dependencies": {
27
- "@types/node": "^20.11.4",
28
- "react-native-reanimated": "3.18.0"
29
- },
30
- "devDependencies": {
31
- "@babel/cli": "^7.23.4",
32
- "@babel/core": "^7.23.7",
33
- "@babel/preset-env": "^7.23.8",
34
- "@babel/preset-typescript": "^7.23.3",
35
- "@babel/runtime": "^7.23.8",
36
- "@types/invariant": "^2.2.35",
37
- "@types/react": "^18.2.15",
38
- "metro-react-native-babel-preset": "^0.77.0",
39
- "react": "18.3.1",
40
- "react-native": "0.77.1",
41
- "react-native-builder-bob": "^0.21.3",
42
- "typescript": "^5.1.6"
43
- },
44
- "files": [
45
- "lib",
46
- "harmony",
47
- "src",
48
- "./harmony.tar.gz"
49
- ]
50
- }
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
+ }
@@ -0,0 +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();
@@ -0,0 +1,37 @@
1
+ const path = require('path');
2
+ const { getFlags, getVersion } = require('../../../scripts/releasing');
3
+ const {
4
+ updateVersion,
5
+ updatePeerDependency,
6
+ } = require('../../../scripts/version-utils');
7
+
8
+ const packageJsonPath = path.resolve(__dirname, '../package.json');
9
+ const jsVersionPath = path.resolve(
10
+ __dirname,
11
+ '../src/platform-specific/jsVersion.ts'
12
+ );
13
+
14
+ const { argv } = process;
15
+ const { currentVersion, newVersion } = getVersion(argv, packageJsonPath);
16
+
17
+ updateVersion(packageJsonPath, jsVersionPath, newVersion);
18
+
19
+ if (getFlags(argv).flags.nightly) {
20
+ const workletsPackageJsonPath = path.resolve(
21
+ __dirname,
22
+ '../../react-native-worklets/package.json'
23
+ );
24
+ const { newVersion: newWorkletsVersion } = getVersion(
25
+ argv,
26
+ workletsPackageJsonPath
27
+ );
28
+
29
+ updatePeerDependency(
30
+ packageJsonPath,
31
+ 'react-native-worklets',
32
+ newWorkletsVersion
33
+ );
34
+ }
35
+
36
+ // Log the current version so it can be restored if needed.
37
+ console.log(currentVersion);
@@ -0,0 +1,119 @@
1
+ //@ts-check
2
+ const fs = require('fs');
3
+ const path = require('path');
4
+ const readline = require('readline');
5
+ const { execSync } = require('node:child_process');
6
+ const JSON5 = require('json5');
7
+
8
+ const PACKAGE_DIR_NAME = 'react-native-harmony-reanimated';
9
+ const MODULE_NAME = 'reanimated';
10
+ const PACKAGE_TGZ_STEM_NAME_WITHOUT_VERSION =
11
+ 'rnoh-react-native-harmony-reanimated';
12
+
13
+ (async function main() {
14
+ const newVersionIndex = process.argv.findIndex(
15
+ (arg) => arg === '--new-version'
16
+ );
17
+ let version;
18
+
19
+ if (newVersionIndex !== -1 && process.argv[newVersionIndex + 1]) {
20
+ version = process.argv[newVersionIndex + 1];
21
+ } else {
22
+ const currentVersion = readPackage('.').version;
23
+ version = await askUserForVersion(currentVersion);
24
+ }
25
+
26
+ updatePackageVersion('.', version);
27
+ console.log(`Updated ${PACKAGE_DIR_NAME}/package.json`);
28
+ updatePackageScript('../tester', version);
29
+ console.log('Updated tester/package.json');
30
+ updateOHPackageVersion(
31
+ `../tester/harmony/${MODULE_NAME}/oh-package.json5`,
32
+ version
33
+ );
34
+ console.log(`Updated ${MODULE_NAME}/oh-package.json5`);
35
+ execSync('npm i && cd ../tester', { stdio: 'inherit' });
36
+ })();
37
+
38
+ /**
39
+ * @param {string} currentVersion
40
+ * @returns {Promise<string>}
41
+ */
42
+ function askUserForVersion(currentVersion) {
43
+ const rl = readline.createInterface({
44
+ input: process.stdin,
45
+ output: process.stdout,
46
+ });
47
+
48
+ return new Promise((resolve) => {
49
+ rl.question(
50
+ `Current version: ${currentVersion}. Enter new version: `,
51
+ (userInput) => {
52
+ rl.close();
53
+ resolve(userInput);
54
+ }
55
+ );
56
+ });
57
+ }
58
+
59
+ /**
60
+ * @param {string} packageDir
61
+ * @returns {{version: string, scripts?: Record<string, string>}} - parsed content of package.json
62
+ */
63
+ function readPackage(packageDir) {
64
+ const packageJsonPath = path.join(packageDir, 'package.json');
65
+ const packageContent = fs.readFileSync(packageJsonPath, 'utf-8');
66
+ return JSON.parse(packageContent);
67
+ }
68
+
69
+ /**
70
+ * @param {string} packageDir
71
+ * @param {string} version
72
+ */
73
+ function updatePackageVersion(packageDir, version) {
74
+ const packageData = readPackage(packageDir);
75
+ packageData.version = version;
76
+
77
+ const packageJsonPath = path.join(packageDir, 'package.json');
78
+ fs.writeFileSync(
79
+ packageJsonPath,
80
+ JSON.stringify(packageData, null, 2),
81
+ 'utf-8'
82
+ );
83
+ }
84
+
85
+ /**
86
+ * @param {string} packageDir
87
+ * @param {string} version
88
+ */
89
+ function updatePackageScript(packageDir, version) {
90
+ const packageData = readPackage(packageDir);
91
+
92
+ for (let script in packageData.scripts) {
93
+ const regex = new RegExp(
94
+ `${PACKAGE_TGZ_STEM_NAME_WITHOUT_VERSION}-\\d*\\.\\d*\\.\\d*`,
95
+ 'g'
96
+ );
97
+ packageData.scripts[script] = packageData.scripts[script].replace(
98
+ regex,
99
+ `${PACKAGE_TGZ_STEM_NAME_WITHOUT_VERSION}-${version}`
100
+ );
101
+ }
102
+ const packageJsonPath = path.join(packageDir, 'package.json');
103
+ fs.writeFileSync(
104
+ packageJsonPath,
105
+ JSON.stringify(packageData, null, 2),
106
+ 'utf-8'
107
+ );
108
+ }
109
+ /**
110
+ * @param {string} ohPackagePath
111
+ * @param {string} version
112
+ */
113
+ function updateOHPackageVersion(ohPackagePath, version) {
114
+ const ohPackageContent = JSON5.parse(
115
+ fs.readFileSync(ohPackagePath).toString()
116
+ );
117
+ ohPackageContent.version = version;
118
+ fs.writeFileSync(ohPackagePath, JSON5.stringify(ohPackageContent, null, 2));
119
+ }
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ const semverSatisfies = require('semver/functions/satisfies');
4
+ const semverPrerelease = require('semver/functions/prerelease');
5
+ const path = require('path');
6
+
7
+ const packageJsonPath = path.resolve(__dirname, '../package.json');
8
+ const packageJson = require(packageJsonPath);
9
+ const reanimatedVersion = packageJson.version;
10
+ const compatibilityFile = require('../compatibility.json');
11
+
12
+ const reactNativeVersion = process.argv[2];
13
+ const architecture = 'fabric';
14
+ const supportedRNVersions = [];
15
+
16
+ if (semverPrerelease(reactNativeVersion)) {
17
+ // Don't perform any checks for pre-release versions, like nightlies or
18
+ // feature previews. The user knows what they're doing.
19
+ process.exit(0);
20
+ }
21
+
22
+ for (const key in compatibilityFile[architecture]) {
23
+ if (semverSatisfies(reanimatedVersion, key)) {
24
+ supportedRNVersions.push(
25
+ // @ts-ignore
26
+ ...compatibilityFile[architecture][key]['react-native']
27
+ );
28
+ }
29
+ }
30
+
31
+ // If user uses a version of Reanimated that is not listed in the compatibility file, we skip the check
32
+ if (supportedRNVersions.length === 0) {
33
+ process.exit(0);
34
+ }
35
+
36
+ for (const version of supportedRNVersions) {
37
+ if (semverSatisfies(reactNativeVersion, `${version}.x`)) {
38
+ process.exit(0);
39
+ }
40
+ }
41
+
42
+ // eslint-disable-next-line reanimated/use-logger
43
+ console.error(
44
+ `[Reanimated] Your installed version of React Native (${reactNativeVersion}) is not compatible with installed version of Reanimated (${reanimatedVersion}). See the documentation for the list of supported versions: https://docs.swmansion.com/react-native-reanimated/docs/guides/compatibility/`
45
+ );
46
+ process.exit(1);
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ // We don't use this script in runtime since `process` might not be available.
4
+
5
+ const path = require('path');
6
+ const packageJsonPath = path.resolve(__dirname, '../package.json');
7
+ const packageJson = require(packageJsonPath);
8
+ const reanimatedVersion = packageJson.version;
9
+
10
+ const validateVersion = require('./validate-worklets-version');
11
+
12
+ const result = validateVersion(reanimatedVersion);
13
+ if (!result.ok) {
14
+ // eslint-disable-next-line reanimated/use-logger
15
+ console.error('[Reanimated] ' + result.message);
16
+ process.exit(1);
17
+ }
@@ -0,0 +1,84 @@
1
+ 'use strict';
2
+
3
+ const semverSatisfies = require('semver/functions/satisfies');
4
+ const semverPrerelease = require('semver/functions/prerelease');
5
+ const semverOutside = require('semver/ranges/outside');
6
+ const expectedVersion = require('./worklets-version.json');
7
+ const compatibilityFile = require('../compatibility.json');
8
+
9
+ const architecture = 'fabric';
10
+
11
+ const HARMONY_WORKLET_LIBNAME = "@react-native-ohos/react-native-worklets";
12
+ /**
13
+ * @param {string} reanimatedVersion
14
+ * @returns {{ ok: boolean; message?: string }}
15
+ */
16
+ function validateVersion(reanimatedVersion) {
17
+ let workletsVersion;
18
+ try {
19
+ const { version, name , dependencies } = require('react-native-worklets/package.json');
20
+ if (name === HARMONY_WORKLET_LIBNAME && dependencies) {
21
+ workletsVersion = dependencies['react-native-worklets'];
22
+ } else{
23
+ workletsVersion = version;
24
+ }
25
+ } catch (_e) {
26
+ return {
27
+ ok: false,
28
+ message:
29
+ "react-native-worklets package isn't installed. Please install a version between " +
30
+ expectedVersion.min +
31
+ ' and ' +
32
+ expectedVersion.max +
33
+ ' to use Reanimated ' +
34
+ reanimatedVersion +
35
+ '.',
36
+ };
37
+ }
38
+
39
+ if (semverPrerelease(workletsVersion)) {
40
+ /**
41
+ * Don't perform any checks for pre-release versions, like nightlies or
42
+ * feature previews. The user knows what they're doing.
43
+ */
44
+ return { ok: true };
45
+ }
46
+
47
+ const supportedWorkletsVersions = [];
48
+
49
+ for (const key in compatibilityFile[architecture]) {
50
+ if (semverSatisfies(reanimatedVersion, key)) {
51
+ supportedWorkletsVersions.push(
52
+ // @ts-ignore
53
+ ...compatibilityFile[architecture][key]['react-native-worklets']
54
+ );
55
+ }
56
+ }
57
+
58
+ if (supportedWorkletsVersions.length === 0) {
59
+ return { ok: true };
60
+ }
61
+
62
+ for (const version of supportedWorkletsVersions) {
63
+ if (semverSatisfies(workletsVersion, version)) {
64
+ return { ok: true };
65
+ }
66
+ }
67
+
68
+ const earliestSupportedVersion = supportedWorkletsVersions[0];
69
+ const latestSupportedVersion =
70
+ supportedWorkletsVersions[supportedWorkletsVersions.length - 1];
71
+
72
+ const isHigher = semverOutside(workletsVersion, latestSupportedVersion, '>');
73
+
74
+ const installMessage = isHigher
75
+ ? `Please install the latest supported version of Worklets ${latestSupportedVersion} or older`
76
+ : `Please install Worklets ${earliestSupportedVersion} or newer`;
77
+
78
+ return {
79
+ ok: false,
80
+ message: `Your installed version of Worklets (${workletsVersion}) is not compatible with installed version of Reanimated (${reanimatedVersion}). ${installMessage}. See the documentation for the list of supported versions: https://docs.swmansion.com/react-native-reanimated/docs/guides/compatibility/#supported-react-native-worklets-versions`,
81
+ };
82
+ }
83
+
84
+ module.exports = validateVersion;
@@ -0,0 +1,4 @@
1
+ {
2
+ "min": "0.7.0",
3
+ "max": "0.7"
4
+ }
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2016 Software Mansion <swmansion.com>
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
package/README.OpenSource DELETED
@@ -1,11 +0,0 @@
1
- [
2
- {
3
- "Name": "react-native-reanimated",
4
- "License": "MIT License",
5
- "License File": "LICENSE",
6
- "Version Number": "3.18.0",
7
- "Owner" : "xiafeng@huawei.com",
8
- "Upstream URL": "https://github.com/software-mansion/react-native-reanimated",
9
- "Description": "React Native's Animated library reimplemented"
10
- }
11
- ]
package/README.md DELETED
@@ -1,10 +0,0 @@
1
- # @react-native-ohos/react-native-reanimated
2
- This project is based on [react-native-reanimated@v3.18.0](https://github.com/software-mansion/react-native-reanimated/tree/3.18.0)
3
-
4
- ## Documentation
5
- [中文](https://gitee.com/react-native-oh-library/usage-docs/blob/master/zh-cn/react-native-reanimated.md)
6
-
7
- [English](https://gitee.com/react-native-oh-library/usage-docs/blob/master/en/react-native-reanimated.md)
8
-
9
- ## License
10
- This library is licensed under [The MIT License (MIT)](https://github.com/react-native-oh-library/react-native-harmony-reanimated/blob/sig/LICENSE).