@react-native-ohos/react-native-reanimated 3.18.1-rc.6 → 4.0.0-rc.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 (275) hide show
  1. package/compatibility.json +161 -0
  2. package/harmony/reanimated/BuildProfile.ets +1 -1
  3. package/harmony/reanimated/build-profile.json5 +8 -1
  4. package/harmony/reanimated/oh-package.json5 +3 -2
  5. package/harmony/reanimated/src/main/cpp/CMakeLists.txt +31 -40
  6. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.cpp +11 -16
  7. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/AnimatedSensor/AnimatedSensorModule.h +3 -4
  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 +93 -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 +44 -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 +110 -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 +51 -39
  158. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitHook.h +13 -15
  159. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedCommitShadowNode.h +0 -3
  160. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.cpp +22 -53
  161. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ReanimatedMountHook.h +12 -8
  162. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp +46 -37
  163. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/ShadowTreeCloner.h +3 -10
  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 +4 -2
  171. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.cpp +62 -157
  172. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsManager.h +38 -46
  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} +303 -276
  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 +5 -65
  180. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsUtils.h +52 -82
  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 +957 -552
  187. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxy.h +87 -111
  188. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.cpp +115 -163
  189. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/NativeModules/ReanimatedModuleProxySpec.h +38 -54
  190. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.cpp +34 -36
  191. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/RNRuntimeDecorator.h +8 -0
  192. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.cpp +46 -58
  193. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/RuntimeDecorators/UIRuntimeDecorator.h +5 -9
  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 +26 -57
  197. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/ReanimatedSystraceSection.h +12 -33
  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 +3 -4
  200. package/harmony/reanimated/src/main/cpp/ReanimatedModule.cpp +60 -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 +12 -1
  209. package/harmony/reanimated/src/main/ets/ReanimatedPackage.ts +1 -4
  210. package/harmony/reanimated.har +0 -0
  211. package/package.json +36 -18
  212. package/scripts/deploy.js +191 -0
  213. package/scripts/set-reanimated-version.js +37 -0
  214. package/scripts/update-version.js +119 -0
  215. package/scripts/validate-react-native-version.js +46 -0
  216. package/scripts/validate-worklets-build.js +17 -0
  217. package/scripts/validate-worklets-version.js +79 -0
  218. package/scripts/worklets-version.json +4 -0
  219. package/LICENSE +0 -21
  220. package/README.OpenSource +0 -11
  221. package/README.md +0 -10
  222. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/PropsRegistry.cpp +0 -68
  223. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Fabric/PropsRegistry.h +0 -68
  224. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/LayoutAnimations/LayoutAnimationsProxy.h +0 -147
  225. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/CollectionUtils.h +0 -14
  226. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeaturesConfig.cpp +0 -5
  227. package/harmony/reanimated/src/main/cpp/Common/cpp/reanimated/Tools/FeaturesConfig.h +0 -19
  228. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxy.cpp +0 -47
  229. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxy.h +0 -59
  230. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxySpec.cpp +0 -27
  231. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/NativeModules/WorkletsModuleProxySpec.h +0 -25
  232. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/EventHandlerRegistry.cpp +0 -94
  233. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/EventHandlerRegistry.h +0 -49
  234. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.cpp +0 -8
  235. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Registries/WorkletRuntimeRegistry.h +0 -39
  236. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/SharedItems/Shareables.cpp +0 -326
  237. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/SharedItems/Shareables.h +0 -345
  238. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/AsyncQueue.cpp +0 -52
  239. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/AsyncQueue.h +0 -35
  240. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/Defs.h +0 -10
  241. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSISerializer.cpp +0 -342
  242. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSISerializer.h +0 -47
  243. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSLogger.cpp +0 -16
  244. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSLogger.h +0 -20
  245. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSScheduler.cpp +0 -20
  246. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/JSScheduler.h +0 -29
  247. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/PlatformLogger.h +0 -16
  248. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ReanimatedJSIUtils.cpp +0 -26
  249. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ReanimatedJSIUtils.h +0 -199
  250. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ReanimatedVersion.cpp +0 -95
  251. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/SingleInstanceChecker.h +0 -72
  252. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/ThreadSafeQueue.h +0 -49
  253. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/UIScheduler.cpp +0 -20
  254. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/UIScheduler.h +0 -22
  255. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/WorkletEventHandler.cpp +0 -29
  256. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/Tools/WorkletEventHandler.h +0 -41
  257. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/RNRuntimeWorkletDecorator.cpp +0 -16
  258. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/RNRuntimeWorkletDecorator.h +0 -19
  259. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedHermesRuntime.cpp +0 -112
  260. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedHermesRuntime.h +0 -127
  261. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedRuntime.cpp +0 -53
  262. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/ReanimatedRuntime.h +0 -22
  263. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/RuntimeInitialization.md +0 -191
  264. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.cpp +0 -155
  265. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntime.h +0 -90
  266. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeCollector.h +0 -36
  267. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.cpp +0 -182
  268. package/harmony/reanimated/src/main/cpp/Common/cpp/worklets/WorkletRuntime/WorkletRuntimeDecorator.h +0 -22
  269. package/harmony/reanimated/src/main/cpp/ReanimatedLogger.cpp +0 -33
  270. package/harmony/reanimated/src/main/cpp/WorkletsModule.cpp +0 -61
  271. package/harmony/reanimated/src/main/cpp/WorkletsModule.h +0 -22
  272. package/harmony/reanimated/src/main/cpp/patches/AnimatedSensor/AnimatedSensorModule.cpp +0 -89
  273. package/harmony/reanimated/src/main/cpp/patches/Fabric/ShadowTreeCloner.cpp +0 -95
  274. package/harmony/reanimated/src/main/cpp/patches/NativeModules/ReanimatedModuleProxy.cpp +0 -964
  275. package/harmony/reanimated/src/main/ets/WorkletsModule.ts +0 -15
@@ -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,79 @@
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
+ /**
12
+ * @param {string} reanimatedVersion
13
+ * @returns {{ ok: boolean; message?: string }}
14
+ */
15
+ function validateVersion(reanimatedVersion) {
16
+ let workletsVersion;
17
+ try {
18
+ const { version } = require('react-native-worklets/package.json');
19
+ workletsVersion = version;
20
+ } catch (_e) {
21
+ return {
22
+ ok: false,
23
+ message:
24
+ "react-native-worklets package isn't installed. Please install a version between " +
25
+ expectedVersion.min +
26
+ ' and ' +
27
+ expectedVersion.max +
28
+ ' to use Reanimated ' +
29
+ reanimatedVersion +
30
+ '.',
31
+ };
32
+ }
33
+
34
+ if (semverPrerelease(workletsVersion)) {
35
+ /**
36
+ * Don't perform any checks for pre-release versions, like nightlies or
37
+ * feature previews. The user knows what they're doing.
38
+ */
39
+ return { ok: true };
40
+ }
41
+
42
+ const supportedWorkletsVersions = [];
43
+
44
+ for (const key in compatibilityFile[architecture]) {
45
+ if (semverSatisfies(reanimatedVersion, key)) {
46
+ supportedWorkletsVersions.push(
47
+ // @ts-ignore
48
+ ...compatibilityFile[architecture][key]['react-native-worklets']
49
+ );
50
+ }
51
+ }
52
+
53
+ if (supportedWorkletsVersions.length === 0) {
54
+ return { ok: true };
55
+ }
56
+
57
+ for (const version of supportedWorkletsVersions) {
58
+ if (semverSatisfies(workletsVersion, version)) {
59
+ return { ok: true };
60
+ }
61
+ }
62
+
63
+ const earliestSupportedVersion = supportedWorkletsVersions[0];
64
+ const latestSupportedVersion =
65
+ supportedWorkletsVersions[supportedWorkletsVersions.length - 1];
66
+
67
+ const isHigher = semverOutside(workletsVersion, latestSupportedVersion, '>');
68
+
69
+ const installMessage = isHigher
70
+ ? `Please install the latest supported version of Worklets ${latestSupportedVersion} or older`
71
+ : `Please install Worklets ${earliestSupportedVersion} or newer`;
72
+
73
+ return {
74
+ ok: false,
75
+ 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`,
76
+ };
77
+ }
78
+
79
+ 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).
@@ -1,68 +0,0 @@
1
- #ifdef RCT_NEW_ARCH_ENABLED
2
-
3
- #include <reanimated/Fabric/PropsRegistry.h>
4
-
5
- namespace reanimated {
6
-
7
- std::lock_guard<std::mutex> PropsRegistry::createLock() const {
8
- return std::lock_guard<std::mutex>(mutex_);
9
- }
10
-
11
- void PropsRegistry::update(
12
- const ShadowNode::Shared &shadowNode,
13
- folly::dynamic &&props) {
14
- const auto tag = shadowNode->getTag();
15
- const auto it = map_.find(tag);
16
- if (it == map_.cend()) {
17
- // we need to store ShadowNode because `ShadowNode::getFamily`
18
- // returns `ShadowNodeFamily const &` which is non-owning
19
- map_[tag] = std::make_pair(shadowNode, props);
20
- } else {
21
- // no need to update `.first` because ShadowNode's family never changes
22
- // merge new props with old props
23
- it->second.second.update(props);
24
- }
25
- }
26
-
27
- void PropsRegistry::for_each(std::function<void(
28
- const ShadowNodeFamily &family,
29
- const folly::dynamic &props)> callback) const {
30
- for (const auto &[_, value] : map_) {
31
- callback(value.first->getFamily(), value.second);
32
- }
33
- }
34
-
35
- void PropsRegistry::markNodeAsRemovable(const ShadowNode::Shared &shadowNode) {
36
- removableShadowNodes_[shadowNode->getTag()] = shadowNode;
37
- }
38
-
39
- void PropsRegistry::unmarkNodeAsRemovable(Tag viewTag) {
40
- removableShadowNodes_.erase(viewTag);
41
- }
42
-
43
- void PropsRegistry::handleNodeRemovals(const RootShadowNode &rootShadowNode) {
44
- for (auto it = removableShadowNodes_.begin();
45
- it != removableShadowNodes_.end();) {
46
- const auto &shadowNode = it->second;
47
- const auto &family = shadowNode->getFamily();
48
- const auto &ancestors = family.getAncestors(rootShadowNode);
49
-
50
- // Skip if the node hasn't been removed
51
- if (!ancestors.empty()) {
52
- ++it;
53
- continue;
54
- }
55
-
56
- const auto tag = shadowNode->getTag();
57
- map_.erase(tag);
58
- it = removableShadowNodes_.erase(it);
59
- }
60
- }
61
-
62
- void PropsRegistry::remove(const Tag tag) {
63
- map_.erase(tag);
64
- }
65
-
66
- } // namespace reanimated
67
-
68
- #endif // RCT_NEW_ARCH_ENABLED
@@ -1,68 +0,0 @@
1
- #pragma once
2
- #ifdef RCT_NEW_ARCH_ENABLED
3
-
4
- #include <react/renderer/components/root/RootShadowNode.h>
5
- #include <react/renderer/core/ShadowNode.h>
6
-
7
- #include <unordered_map>
8
- #include <utility>
9
-
10
- using namespace facebook;
11
- using namespace react;
12
-
13
- namespace reanimated {
14
-
15
- class PropsRegistry {
16
- public:
17
- std::lock_guard<std::mutex> createLock() const;
18
- // returns a lock you need to hold when calling any of the methods below
19
-
20
- void update(const ShadowNode::Shared &shadowNode, folly::dynamic &&props);
21
-
22
- void for_each(std::function<void(
23
- const ShadowNodeFamily &family,
24
- const folly::dynamic &props)> callback) const;
25
-
26
- void remove(const Tag tag);
27
-
28
- void pauseReanimatedCommits() {
29
- isPaused_ = true;
30
- }
31
-
32
- bool shouldReanimatedSkipCommit() {
33
- return isPaused_;
34
- }
35
-
36
- void unpauseReanimatedCommits() {
37
- isPaused_ = false;
38
- }
39
-
40
- void pleaseCommitAfterPause() {
41
- shouldCommitAfterPause_ = true;
42
- }
43
-
44
- bool shouldCommitAfterPause() {
45
- return shouldCommitAfterPause_.exchange(false);
46
- }
47
-
48
- bool isEmpty() {
49
- return map_.empty();
50
- }
51
-
52
- void markNodeAsRemovable(const ShadowNode::Shared &shadowNode);
53
- void unmarkNodeAsRemovable(Tag viewTag);
54
- void handleNodeRemovals(const RootShadowNode &rootShadowNode);
55
-
56
- private:
57
- std::unordered_map<Tag, std::pair<ShadowNode::Shared, folly::dynamic>> map_;
58
- std::unordered_map<Tag, ShadowNode::Shared> removableShadowNodes_;
59
-
60
- mutable std::mutex mutex_; // Protects `map_`.
61
-
62
- std::atomic<bool> isPaused_;
63
- std::atomic<bool> shouldCommitAfterPause_;
64
- };
65
-
66
- } // namespace reanimated
67
-
68
- #endif // RCT_NEW_ARCH_ENABLED