@shopify/react-native-skia 2.2.18 → 2.2.19

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 (402) hide show
  1. package/apple/SkiaCVPixelBufferUtils.mm +4 -8
  2. package/cpp/api/recorder/Drawings.h +21 -42
  3. package/cpp/jsi/JsiHostObject.cpp +16 -0
  4. package/jestSetup.js +1 -1
  5. package/lib/commonjs/Platform/Platform.js.map +1 -1
  6. package/lib/commonjs/Platform/Platform.web.js +0 -1
  7. package/lib/commonjs/Platform/Platform.web.js.map +1 -1
  8. package/lib/commonjs/animation/functions/interpolate.js +0 -1
  9. package/lib/commonjs/animation/functions/interpolate.js.map +1 -1
  10. package/lib/commonjs/dom/nodes/datatypes/Fitting.js.map +1 -1
  11. package/lib/commonjs/dom/types/Drawings.js.map +1 -1
  12. package/lib/commonjs/external/reanimated/useVideo.js.map +1 -1
  13. package/lib/commonjs/renderer/Canvas.js +1 -3
  14. package/lib/commonjs/renderer/Canvas.js.map +1 -1
  15. package/lib/commonjs/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  16. package/lib/commonjs/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  17. package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
  18. package/lib/commonjs/skia/core/Image.js.map +1 -1
  19. package/lib/commonjs/skia/types/JsiInstance.d.ts +1 -1
  20. package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
  21. package/lib/commonjs/skia/types/Matrix4.js.map +1 -1
  22. package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
  23. package/lib/commonjs/skia/types/Shader/Shader.js +1 -3
  24. package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
  25. package/lib/commonjs/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
  26. package/lib/commonjs/skia/web/Host.d.ts +2 -1
  27. package/lib/commonjs/skia/web/Host.js +8 -0
  28. package/lib/commonjs/skia/web/Host.js.map +1 -1
  29. package/lib/commonjs/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  30. package/lib/commonjs/skia/web/JsiSkAnimatedImage.js +0 -6
  31. package/lib/commonjs/skia/web/JsiSkAnimatedImage.js.map +1 -1
  32. package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +0 -1
  33. package/lib/commonjs/skia/web/JsiSkCanvas.js +0 -6
  34. package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
  35. package/lib/commonjs/skia/web/JsiSkColor.js +0 -1
  36. package/lib/commonjs/skia/web/JsiSkColor.js.map +1 -1
  37. package/lib/commonjs/skia/web/JsiSkColorFilter.d.ts +0 -1
  38. package/lib/commonjs/skia/web/JsiSkColorFilter.js +0 -6
  39. package/lib/commonjs/skia/web/JsiSkColorFilter.js.map +1 -1
  40. package/lib/commonjs/skia/web/JsiSkContourMeasure.d.ts +0 -1
  41. package/lib/commonjs/skia/web/JsiSkContourMeasure.js +0 -6
  42. package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
  43. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  44. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js +0 -6
  45. package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  46. package/lib/commonjs/skia/web/JsiSkData.d.ts +0 -1
  47. package/lib/commonjs/skia/web/JsiSkData.js +0 -6
  48. package/lib/commonjs/skia/web/JsiSkData.js.map +1 -1
  49. package/lib/commonjs/skia/web/JsiSkDataFactory.js.map +1 -1
  50. package/lib/commonjs/skia/web/JsiSkFont.d.ts +0 -1
  51. package/lib/commonjs/skia/web/JsiSkFont.js +0 -6
  52. package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
  53. package/lib/commonjs/skia/web/JsiSkFontMgr.js +1 -1
  54. package/lib/commonjs/skia/web/JsiSkFontMgr.js.map +1 -1
  55. package/lib/commonjs/skia/web/JsiSkImage.d.ts +0 -1
  56. package/lib/commonjs/skia/web/JsiSkImage.js +0 -6
  57. package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
  58. package/lib/commonjs/skia/web/JsiSkImageFilter.d.ts +0 -1
  59. package/lib/commonjs/skia/web/JsiSkImageFilter.js +0 -6
  60. package/lib/commonjs/skia/web/JsiSkImageFilter.js.map +1 -1
  61. package/lib/commonjs/skia/web/JsiSkMaskFilter.d.ts +0 -1
  62. package/lib/commonjs/skia/web/JsiSkMaskFilter.js +0 -6
  63. package/lib/commonjs/skia/web/JsiSkMaskFilter.js.map +1 -1
  64. package/lib/commonjs/skia/web/JsiSkMatrix.d.ts +0 -1
  65. package/lib/commonjs/skia/web/JsiSkMatrix.js +0 -6
  66. package/lib/commonjs/skia/web/JsiSkMatrix.js.map +1 -1
  67. package/lib/commonjs/skia/web/JsiSkPaint.d.ts +0 -1
  68. package/lib/commonjs/skia/web/JsiSkPaint.js +0 -6
  69. package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
  70. package/lib/commonjs/skia/web/JsiSkParagraph.d.ts +0 -1
  71. package/lib/commonjs/skia/web/JsiSkParagraph.js +0 -3
  72. package/lib/commonjs/skia/web/JsiSkParagraph.js.map +1 -1
  73. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  74. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js +0 -3
  75. package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js.map +1 -1
  76. package/lib/commonjs/skia/web/JsiSkPath.d.ts +0 -1
  77. package/lib/commonjs/skia/web/JsiSkPath.js +0 -6
  78. package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
  79. package/lib/commonjs/skia/web/JsiSkPathEffect.d.ts +0 -1
  80. package/lib/commonjs/skia/web/JsiSkPathEffect.js +0 -6
  81. package/lib/commonjs/skia/web/JsiSkPathEffect.js.map +1 -1
  82. package/lib/commonjs/skia/web/JsiSkPicture.d.ts +0 -1
  83. package/lib/commonjs/skia/web/JsiSkPicture.js +2 -6
  84. package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
  85. package/lib/commonjs/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  86. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js +0 -6
  87. package/lib/commonjs/skia/web/JsiSkPictureRecorder.js.map +1 -1
  88. package/lib/commonjs/skia/web/JsiSkPoint.d.ts +1 -2
  89. package/lib/commonjs/skia/web/JsiSkPoint.js +0 -6
  90. package/lib/commonjs/skia/web/JsiSkPoint.js.map +1 -1
  91. package/lib/commonjs/skia/web/JsiSkRRect.d.ts +2 -2
  92. package/lib/commonjs/skia/web/JsiSkRRect.js +3 -6
  93. package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -1
  94. package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +1 -2
  95. package/lib/commonjs/skia/web/JsiSkRSXform.js +0 -6
  96. package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -1
  97. package/lib/commonjs/skia/web/JsiSkRect.d.ts +0 -1
  98. package/lib/commonjs/skia/web/JsiSkRect.js +0 -6
  99. package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
  100. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  101. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js +0 -6
  102. package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  103. package/lib/commonjs/skia/web/JsiSkSVG.d.ts +1 -1
  104. package/lib/commonjs/skia/web/JsiSkSVG.js +5 -8
  105. package/lib/commonjs/skia/web/JsiSkSVG.js.map +1 -1
  106. package/lib/commonjs/skia/web/JsiSkShader.d.ts +0 -1
  107. package/lib/commonjs/skia/web/JsiSkShader.js +0 -6
  108. package/lib/commonjs/skia/web/JsiSkShader.js.map +1 -1
  109. package/lib/commonjs/skia/web/JsiSkSurface.d.ts +1 -1
  110. package/lib/commonjs/skia/web/JsiSkSurface.js +3 -6
  111. package/lib/commonjs/skia/web/JsiSkSurface.js.map +1 -1
  112. package/lib/commonjs/skia/web/JsiSkTextBlob.d.ts +0 -1
  113. package/lib/commonjs/skia/web/JsiSkTextBlob.js +0 -6
  114. package/lib/commonjs/skia/web/JsiSkTextBlob.js.map +1 -1
  115. package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +0 -1
  116. package/lib/commonjs/skia/web/JsiSkTypeface.js +0 -6
  117. package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
  118. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  119. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js +0 -12
  120. package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
  121. package/lib/commonjs/skia/web/JsiSkVertices.d.ts +0 -1
  122. package/lib/commonjs/skia/web/JsiSkVertices.js +0 -6
  123. package/lib/commonjs/skia/web/JsiSkVertices.js.map +1 -1
  124. package/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +0 -1
  125. package/lib/commonjs/skia/web/JsiSkottieAnimation.js +0 -3
  126. package/lib/commonjs/skia/web/JsiSkottieAnimation.js.map +1 -1
  127. package/lib/commonjs/skia/web/JsiVideo.d.ts +1 -0
  128. package/lib/commonjs/skia/web/JsiVideo.js +4 -1
  129. package/lib/commonjs/skia/web/JsiVideo.js.map +1 -1
  130. package/lib/commonjs/sksg/Container.native.js.map +1 -1
  131. package/lib/commonjs/sksg/Container.web.js.map +1 -1
  132. package/lib/commonjs/sksg/Elements.js.map +1 -1
  133. package/lib/commonjs/sksg/Reconciler.js.map +1 -1
  134. package/lib/commonjs/sksg/Recorder/Visitor.js.map +1 -1
  135. package/lib/commonjs/sksg/StaticContainer.js.map +1 -1
  136. package/lib/commonjs/views/SkiaPictureView.web.js +3 -1
  137. package/lib/commonjs/views/SkiaPictureView.web.js.map +1 -1
  138. package/lib/module/Platform/Platform.js.map +1 -1
  139. package/lib/module/Platform/Platform.web.js +0 -1
  140. package/lib/module/Platform/Platform.web.js.map +1 -1
  141. package/lib/module/animation/functions/interpolate.js +0 -1
  142. package/lib/module/animation/functions/interpolate.js.map +1 -1
  143. package/lib/module/dom/nodes/datatypes/Fitting.js.map +1 -1
  144. package/lib/module/dom/types/Drawings.js.map +1 -1
  145. package/lib/module/external/reanimated/useVideo.js.map +1 -1
  146. package/lib/module/renderer/Canvas.js +1 -3
  147. package/lib/module/renderer/Canvas.js.map +1 -1
  148. package/lib/module/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  149. package/lib/module/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  150. package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
  151. package/lib/module/skia/core/Image.js.map +1 -1
  152. package/lib/module/skia/types/JsiInstance.d.ts +1 -1
  153. package/lib/module/skia/types/JsiInstance.js.map +1 -1
  154. package/lib/module/skia/types/Matrix4.js.map +1 -1
  155. package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
  156. package/lib/module/skia/types/Shader/Shader.js +1 -3
  157. package/lib/module/skia/types/Shader/Shader.js.map +1 -1
  158. package/lib/module/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
  159. package/lib/module/skia/web/Host.d.ts +2 -1
  160. package/lib/module/skia/web/Host.js +8 -0
  161. package/lib/module/skia/web/Host.js.map +1 -1
  162. package/lib/module/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  163. package/lib/module/skia/web/JsiSkAnimatedImage.js +0 -6
  164. package/lib/module/skia/web/JsiSkAnimatedImage.js.map +1 -1
  165. package/lib/module/skia/web/JsiSkCanvas.d.ts +0 -1
  166. package/lib/module/skia/web/JsiSkCanvas.js +0 -6
  167. package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
  168. package/lib/module/skia/web/JsiSkColor.js +0 -1
  169. package/lib/module/skia/web/JsiSkColor.js.map +1 -1
  170. package/lib/module/skia/web/JsiSkColorFilter.d.ts +0 -1
  171. package/lib/module/skia/web/JsiSkColorFilter.js +0 -6
  172. package/lib/module/skia/web/JsiSkColorFilter.js.map +1 -1
  173. package/lib/module/skia/web/JsiSkContourMeasure.d.ts +0 -1
  174. package/lib/module/skia/web/JsiSkContourMeasure.js +0 -6
  175. package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
  176. package/lib/module/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  177. package/lib/module/skia/web/JsiSkContourMeasureIter.js +0 -6
  178. package/lib/module/skia/web/JsiSkContourMeasureIter.js.map +1 -1
  179. package/lib/module/skia/web/JsiSkData.d.ts +0 -1
  180. package/lib/module/skia/web/JsiSkData.js +0 -6
  181. package/lib/module/skia/web/JsiSkData.js.map +1 -1
  182. package/lib/module/skia/web/JsiSkDataFactory.js.map +1 -1
  183. package/lib/module/skia/web/JsiSkFont.d.ts +0 -1
  184. package/lib/module/skia/web/JsiSkFont.js +0 -6
  185. package/lib/module/skia/web/JsiSkFont.js.map +1 -1
  186. package/lib/module/skia/web/JsiSkFontMgr.js +1 -1
  187. package/lib/module/skia/web/JsiSkFontMgr.js.map +1 -1
  188. package/lib/module/skia/web/JsiSkImage.d.ts +0 -1
  189. package/lib/module/skia/web/JsiSkImage.js +0 -6
  190. package/lib/module/skia/web/JsiSkImage.js.map +1 -1
  191. package/lib/module/skia/web/JsiSkImageFilter.d.ts +0 -1
  192. package/lib/module/skia/web/JsiSkImageFilter.js +0 -6
  193. package/lib/module/skia/web/JsiSkImageFilter.js.map +1 -1
  194. package/lib/module/skia/web/JsiSkMaskFilter.d.ts +0 -1
  195. package/lib/module/skia/web/JsiSkMaskFilter.js +0 -6
  196. package/lib/module/skia/web/JsiSkMaskFilter.js.map +1 -1
  197. package/lib/module/skia/web/JsiSkMatrix.d.ts +0 -1
  198. package/lib/module/skia/web/JsiSkMatrix.js +0 -6
  199. package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
  200. package/lib/module/skia/web/JsiSkPaint.d.ts +0 -1
  201. package/lib/module/skia/web/JsiSkPaint.js +0 -6
  202. package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
  203. package/lib/module/skia/web/JsiSkParagraph.d.ts +0 -1
  204. package/lib/module/skia/web/JsiSkParagraph.js +0 -3
  205. package/lib/module/skia/web/JsiSkParagraph.js.map +1 -1
  206. package/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  207. package/lib/module/skia/web/JsiSkParagraphBuilder.js +0 -3
  208. package/lib/module/skia/web/JsiSkParagraphBuilder.js.map +1 -1
  209. package/lib/module/skia/web/JsiSkPath.d.ts +0 -1
  210. package/lib/module/skia/web/JsiSkPath.js +0 -6
  211. package/lib/module/skia/web/JsiSkPath.js.map +1 -1
  212. package/lib/module/skia/web/JsiSkPathEffect.d.ts +0 -1
  213. package/lib/module/skia/web/JsiSkPathEffect.js +0 -6
  214. package/lib/module/skia/web/JsiSkPathEffect.js.map +1 -1
  215. package/lib/module/skia/web/JsiSkPicture.d.ts +0 -1
  216. package/lib/module/skia/web/JsiSkPicture.js +0 -6
  217. package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
  218. package/lib/module/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  219. package/lib/module/skia/web/JsiSkPictureRecorder.js +0 -6
  220. package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -1
  221. package/lib/module/skia/web/JsiSkPoint.d.ts +1 -2
  222. package/lib/module/skia/web/JsiSkPoint.js +0 -6
  223. package/lib/module/skia/web/JsiSkPoint.js.map +1 -1
  224. package/lib/module/skia/web/JsiSkRRect.d.ts +2 -2
  225. package/lib/module/skia/web/JsiSkRRect.js +3 -6
  226. package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
  227. package/lib/module/skia/web/JsiSkRSXform.d.ts +1 -2
  228. package/lib/module/skia/web/JsiSkRSXform.js +0 -6
  229. package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
  230. package/lib/module/skia/web/JsiSkRect.d.ts +0 -1
  231. package/lib/module/skia/web/JsiSkRect.js +0 -6
  232. package/lib/module/skia/web/JsiSkRect.js.map +1 -1
  233. package/lib/module/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  234. package/lib/module/skia/web/JsiSkRuntimeEffect.js +0 -6
  235. package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
  236. package/lib/module/skia/web/JsiSkSVG.d.ts +1 -1
  237. package/lib/module/skia/web/JsiSkSVG.js +5 -8
  238. package/lib/module/skia/web/JsiSkSVG.js.map +1 -1
  239. package/lib/module/skia/web/JsiSkShader.d.ts +0 -1
  240. package/lib/module/skia/web/JsiSkShader.js +0 -6
  241. package/lib/module/skia/web/JsiSkShader.js.map +1 -1
  242. package/lib/module/skia/web/JsiSkSurface.d.ts +1 -1
  243. package/lib/module/skia/web/JsiSkSurface.js +3 -6
  244. package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
  245. package/lib/module/skia/web/JsiSkTextBlob.d.ts +0 -1
  246. package/lib/module/skia/web/JsiSkTextBlob.js +0 -6
  247. package/lib/module/skia/web/JsiSkTextBlob.js.map +1 -1
  248. package/lib/module/skia/web/JsiSkTypeface.d.ts +0 -1
  249. package/lib/module/skia/web/JsiSkTypeface.js +0 -6
  250. package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
  251. package/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  252. package/lib/module/skia/web/JsiSkTypefaceFontProvider.js +0 -12
  253. package/lib/module/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
  254. package/lib/module/skia/web/JsiSkVertices.d.ts +0 -1
  255. package/lib/module/skia/web/JsiSkVertices.js +0 -6
  256. package/lib/module/skia/web/JsiSkVertices.js.map +1 -1
  257. package/lib/module/skia/web/JsiSkottieAnimation.d.ts +0 -1
  258. package/lib/module/skia/web/JsiSkottieAnimation.js +0 -3
  259. package/lib/module/skia/web/JsiSkottieAnimation.js.map +1 -1
  260. package/lib/module/skia/web/JsiVideo.d.ts +1 -0
  261. package/lib/module/skia/web/JsiVideo.js +4 -1
  262. package/lib/module/skia/web/JsiVideo.js.map +1 -1
  263. package/lib/module/sksg/Container.native.js.map +1 -1
  264. package/lib/module/sksg/Container.web.js.map +1 -1
  265. package/lib/module/sksg/Elements.js.map +1 -1
  266. package/lib/module/sksg/Reconciler.js.map +1 -1
  267. package/lib/module/sksg/Recorder/Visitor.js.map +1 -1
  268. package/lib/module/sksg/StaticContainer.js.map +1 -1
  269. package/lib/module/views/SkiaPictureView.web.js +3 -1
  270. package/lib/module/views/SkiaPictureView.web.js.map +1 -1
  271. package/lib/typescript/eslint.config.d.mts +2 -0
  272. package/lib/typescript/jest.config.d.ts +11 -2
  273. package/lib/typescript/lib/commonjs/skia/web/Host.d.ts +2 -0
  274. package/lib/typescript/lib/commonjs/skia/web/JsiSkFontMgr.d.ts +0 -1
  275. package/lib/typescript/lib/commonjs/skia/web/JsiSkParagraph.d.ts +0 -1
  276. package/lib/typescript/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  277. package/lib/typescript/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
  278. package/lib/typescript/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +0 -1
  279. package/lib/typescript/lib/commonjs/skia/web/JsiVideo.d.ts +1 -0
  280. package/lib/typescript/lib/module/skia/web/Host.d.ts +2 -0
  281. package/lib/typescript/lib/module/skia/web/JsiSkFontMgr.d.ts +0 -1
  282. package/lib/typescript/lib/module/skia/web/JsiSkParagraph.d.ts +0 -1
  283. package/lib/typescript/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  284. package/lib/typescript/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
  285. package/lib/typescript/lib/module/skia/web/JsiSkottieAnimation.d.ts +0 -1
  286. package/lib/typescript/lib/module/skia/web/JsiVideo.d.ts +1 -0
  287. package/lib/typescript/src/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
  288. package/lib/typescript/src/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
  289. package/lib/typescript/src/skia/types/JsiInstance.d.ts +1 -1
  290. package/lib/typescript/src/skia/web/Host.d.ts +2 -1
  291. package/lib/typescript/src/skia/web/JsiSkAnimatedImage.d.ts +0 -1
  292. package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +0 -1
  293. package/lib/typescript/src/skia/web/JsiSkColorFilter.d.ts +0 -1
  294. package/lib/typescript/src/skia/web/JsiSkContourMeasure.d.ts +0 -1
  295. package/lib/typescript/src/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
  296. package/lib/typescript/src/skia/web/JsiSkData.d.ts +0 -1
  297. package/lib/typescript/src/skia/web/JsiSkFont.d.ts +0 -1
  298. package/lib/typescript/src/skia/web/JsiSkImage.d.ts +0 -1
  299. package/lib/typescript/src/skia/web/JsiSkImageFilter.d.ts +0 -1
  300. package/lib/typescript/src/skia/web/JsiSkMaskFilter.d.ts +0 -1
  301. package/lib/typescript/src/skia/web/JsiSkMatrix.d.ts +0 -1
  302. package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +0 -1
  303. package/lib/typescript/src/skia/web/JsiSkParagraph.d.ts +0 -1
  304. package/lib/typescript/src/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
  305. package/lib/typescript/src/skia/web/JsiSkPath.d.ts +0 -1
  306. package/lib/typescript/src/skia/web/JsiSkPathEffect.d.ts +0 -1
  307. package/lib/typescript/src/skia/web/JsiSkPicture.d.ts +0 -1
  308. package/lib/typescript/src/skia/web/JsiSkPictureRecorder.d.ts +0 -1
  309. package/lib/typescript/src/skia/web/JsiSkPoint.d.ts +1 -2
  310. package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +2 -2
  311. package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +1 -2
  312. package/lib/typescript/src/skia/web/JsiSkRect.d.ts +0 -1
  313. package/lib/typescript/src/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
  314. package/lib/typescript/src/skia/web/JsiSkSVG.d.ts +1 -1
  315. package/lib/typescript/src/skia/web/JsiSkShader.d.ts +0 -1
  316. package/lib/typescript/src/skia/web/JsiSkSurface.d.ts +1 -1
  317. package/lib/typescript/src/skia/web/JsiSkTextBlob.d.ts +0 -1
  318. package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +0 -1
  319. package/lib/typescript/src/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
  320. package/lib/typescript/src/skia/web/JsiSkVertices.d.ts +0 -1
  321. package/lib/typescript/src/skia/web/JsiSkottieAnimation.d.ts +0 -1
  322. package/lib/typescript/src/skia/web/JsiVideo.d.ts +1 -0
  323. package/package.json +14 -12
  324. package/scripts/setup-canvaskit.js +15 -9
  325. package/src/Platform/Platform.ts +2 -2
  326. package/src/Platform/Platform.web.tsx +0 -1
  327. package/src/__tests__/setup.ts +1 -4
  328. package/src/animation/functions/interpolate.ts +0 -1
  329. package/src/dom/nodes/datatypes/Fitting.ts +1 -1
  330. package/src/dom/types/Drawings.ts +1 -1
  331. package/src/external/reanimated/useVideo.ts +1 -1
  332. package/src/renderer/Canvas.tsx +1 -2
  333. package/src/renderer/__tests__/FitBox.spec.tsx +0 -1
  334. package/src/renderer/__tests__/Picture.spec.tsx +8 -5
  335. package/src/renderer/__tests__/Surfaces.spec.tsx +11 -16
  336. package/src/renderer/__tests__/documentation/Group.spec.tsx +0 -1
  337. package/src/renderer/__tests__/e2e/AnimatedImages.spec.tsx +0 -1
  338. package/src/renderer/__tests__/e2e/Drawings.spec.tsx +0 -4
  339. package/src/renderer/__tests__/e2e/Group.spec.tsx +0 -1
  340. package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +0 -2
  341. package/src/renderer/__tests__/e2e/Paint.spec.tsx +0 -1
  342. package/src/renderer/__tests__/e2e/Paths.spec.tsx +1 -6
  343. package/src/renderer/__tests__/e2e/RuntimeShader.spec.tsx +0 -1
  344. package/src/renderer/__tests__/e2e/Skottie.spec.tsx +6 -6
  345. package/src/renderer/__tests__/e2e/Surfaces.spec.tsx +2 -2
  346. package/src/renderer/__tests__/e2e/TextPath.spec.tsx +0 -2
  347. package/src/renderer/__tests__/e2e/Video.ts +0 -1
  348. package/src/renderer/__tests__/e2e/setup/Paragraph.ts +5 -1
  349. package/src/renderer/__tests__/e2e/setup/SVG.ts +5 -1
  350. package/src/renderer/__tests__/e2e/setup/SkiaObject.ts +1 -1
  351. package/src/renderer/__tests__/setup.tsx +0 -1
  352. package/src/renderer/processors/Animations/Animations.ts +4 -4
  353. package/src/skia/__tests__/Path.spec.ts +1 -3
  354. package/src/skia/core/Image.ts +1 -1
  355. package/src/skia/types/JsiInstance.ts +1 -1
  356. package/src/skia/types/Matrix4.ts +4 -4
  357. package/src/skia/types/NativeBuffer/NativeBufferFactory.ts +1 -1
  358. package/src/skia/types/Shader/Shader.ts +0 -1
  359. package/src/skia/web/CanvasKitWebGLBufferImpl.ts +4 -1
  360. package/src/skia/web/Host.ts +14 -1
  361. package/src/skia/web/JsiSkAnimatedImage.ts +0 -4
  362. package/src/skia/web/JsiSkCanvas.ts +0 -4
  363. package/src/skia/web/JsiSkColor.ts +1 -1
  364. package/src/skia/web/JsiSkColorFilter.ts +0 -4
  365. package/src/skia/web/JsiSkContourMeasure.ts +0 -4
  366. package/src/skia/web/JsiSkContourMeasureIter.ts +0 -4
  367. package/src/skia/web/JsiSkData.ts +0 -4
  368. package/src/skia/web/JsiSkDataFactory.ts +1 -1
  369. package/src/skia/web/JsiSkFont.ts +0 -4
  370. package/src/skia/web/JsiSkFontMgr.ts +2 -1
  371. package/src/skia/web/JsiSkImage.ts +0 -4
  372. package/src/skia/web/JsiSkImageFilter.ts +0 -4
  373. package/src/skia/web/JsiSkMaskFilter.ts +0 -4
  374. package/src/skia/web/JsiSkMatrix.ts +2 -6
  375. package/src/skia/web/JsiSkPaint.ts +0 -4
  376. package/src/skia/web/JsiSkParagraph.ts +0 -4
  377. package/src/skia/web/JsiSkParagraphBuilder.ts +0 -4
  378. package/src/skia/web/JsiSkPath.ts +0 -4
  379. package/src/skia/web/JsiSkPathEffect.ts +0 -4
  380. package/src/skia/web/JsiSkPicture.ts +0 -4
  381. package/src/skia/web/JsiSkPictureRecorder.ts +0 -4
  382. package/src/skia/web/JsiSkPoint.ts +0 -4
  383. package/src/skia/web/JsiSkRRect.ts +3 -3
  384. package/src/skia/web/JsiSkRSXform.ts +5 -3
  385. package/src/skia/web/JsiSkRect.ts +0 -4
  386. package/src/skia/web/JsiSkRuntimeEffect.ts +5 -5
  387. package/src/skia/web/JsiSkSVG.ts +2 -2
  388. package/src/skia/web/JsiSkShader.ts +0 -4
  389. package/src/skia/web/JsiSkSurface.ts +2 -2
  390. package/src/skia/web/JsiSkTextBlob.ts +0 -4
  391. package/src/skia/web/JsiSkTypeface.ts +0 -4
  392. package/src/skia/web/JsiSkTypefaceFontProvider.ts +0 -12
  393. package/src/skia/web/JsiSkVertices.ts +0 -4
  394. package/src/skia/web/JsiSkottieAnimation.ts +0 -3
  395. package/src/skia/web/JsiVideo.ts +5 -1
  396. package/src/sksg/Container.native.ts +4 -1
  397. package/src/sksg/Container.web.ts +4 -1
  398. package/src/sksg/Elements.tsx +0 -1
  399. package/src/sksg/Reconciler.ts +4 -1
  400. package/src/sksg/Recorder/Visitor.ts +1 -1
  401. package/src/sksg/StaticContainer.ts +4 -1
  402. package/src/views/SkiaPictureView.web.tsx +12 -3
@@ -10,6 +10,5 @@ export declare class JsiSkParagraphBuilder extends HostObject<ParagraphBuilder,
10
10
  reset(): void;
11
11
  pushStyle(style: SkTextStyle, foregroundPaint?: SkPaint | undefined, backgroundPaint?: SkPaint | undefined): SkParagraphBuilder;
12
12
  pop(): SkParagraphBuilder;
13
- dispose(): void;
14
13
  private makePaint;
15
14
  }
@@ -5,7 +5,6 @@ import { JsiSkPoint } from "./JsiSkPoint";
5
5
  import { JsiSkRect } from "./JsiSkRect";
6
6
  export declare class JsiSkPath extends HostObject<Path, "Path"> implements SkPath {
7
7
  constructor(CanvasKit: CanvasKit, ref: Path);
8
- dispose: () => void;
9
8
  addPath(src: SkPath, matrix?: SkMatrix, extend?: boolean): this;
10
9
  addArc(oval: SkRect, startAngleInDegrees: number, sweepAngleInDegrees: number): this;
11
10
  addOval(oval: SkRect, isCCW?: boolean, startIndex?: number): this;
@@ -3,5 +3,4 @@ import type { SkPathEffect } from "../types/PathEffect";
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkPathEffect extends HostObject<PathEffect, "PathEffect"> implements SkPathEffect {
5
5
  constructor(CanvasKit: CanvasKit, ref: PathEffect);
6
- dispose: () => void;
7
6
  }
@@ -4,7 +4,6 @@ import { HostObject } from "./Host";
4
4
  import { JsiSkShader } from "./JsiSkShader";
5
5
  export declare class JsiSkPicture extends HostObject<Picture, "Picture"> implements SkPicture {
6
6
  constructor(CanvasKit: CanvasKit, ref: Picture);
7
- dispose: () => void;
8
7
  makeShader(tmx: TileMode, tmy: TileMode, mode: FilterMode, localMatrix?: SkMatrix, tileRect?: SkRect): JsiSkShader;
9
8
  serialize(): Uint8Array<ArrayBufferLike> | null;
10
9
  }
@@ -6,7 +6,6 @@ import { JsiSkCanvas } from "./JsiSkCanvas";
6
6
  import { JsiSkPicture } from "./JsiSkPicture";
7
7
  export declare class JsiSkPictureRecorder extends HostObject<PictureRecorder, "PictureRecorder"> implements SkPictureRecorder {
8
8
  constructor(CanvasKit: CanvasKit, ref: PictureRecorder);
9
- dispose: () => void;
10
9
  beginRecording(bounds?: SkRect): JsiSkCanvas;
11
10
  finishRecordingAsPicture(): JsiSkPicture;
12
11
  }
@@ -2,9 +2,8 @@ import type { CanvasKit, Point } from "canvaskit-wasm";
2
2
  import type { SkPoint } from "../types";
3
3
  import { BaseHostObject } from "./Host";
4
4
  export declare class JsiSkPoint extends BaseHostObject<Point, "Point"> implements SkPoint {
5
- static fromValue(point: SkPoint): Float32Array<ArrayBuffer>;
5
+ static fromValue(point: SkPoint): Point;
6
6
  constructor(CanvasKit: CanvasKit, ref: Point);
7
- dispose: () => void;
8
7
  get x(): number;
9
8
  get y(): number;
10
9
  }
@@ -3,8 +3,8 @@ import type { InputRRect, SkRect, SkRRect } from "../types";
3
3
  import { BaseHostObject } from "./Host";
4
4
  import { JsiSkRect } from "./JsiSkRect";
5
5
  export declare class JsiSkRRect extends BaseHostObject<RRect, "RRect"> implements SkRRect {
6
- dispose: () => void;
7
- static fromValue(CanvasKit: CanvasKit, rect: InputRRect): Float32Array<ArrayBuffer>;
6
+ [Symbol.dispose](): void;
7
+ static fromValue(CanvasKit: CanvasKit, rect: InputRRect): import("canvaskit-wasm").Rect;
8
8
  constructor(CanvasKit: CanvasKit, rect: SkRect, rx: number, ry: number);
9
9
  get rx(): number;
10
10
  get ry(): number;
@@ -3,12 +3,11 @@ import type { SkRSXform } from "../types";
3
3
  import { BaseHostObject } from "./Host";
4
4
  export type RSXform = Float32Array;
5
5
  export declare class JsiSkRSXform extends BaseHostObject<RSXform, "RSXform"> implements SkRSXform {
6
- static fromValue(rsxform: SkRSXform): Float32Array<ArrayBuffer>;
6
+ static fromValue(rsxform: SkRSXform): RSXform;
7
7
  constructor(CanvasKit: CanvasKit, ref: RSXform);
8
8
  set(scos: number, ssin: number, tx: number, ty: number): void;
9
9
  get scos(): number;
10
10
  get ssin(): number;
11
11
  get tx(): number;
12
12
  get ty(): number;
13
- dispose: () => void;
14
13
  }
@@ -3,7 +3,6 @@ import type { SkHostRect, SkRect } from "../types";
3
3
  import { BaseHostObject } from "./Host";
4
4
  export declare class JsiSkRect extends BaseHostObject<Rect, "Rect"> implements SkHostRect {
5
5
  static fromValue(CanvasKit: CanvasKit, rect: SkRect): Rect;
6
- dispose: () => void;
7
6
  constructor(CanvasKit: CanvasKit, ref: Rect);
8
7
  setXYWH(x: number, y: number, width: number, height: number): void;
9
8
  get x(): number;
@@ -6,7 +6,6 @@ import { JsiSkShader } from "./JsiSkShader";
6
6
  export declare class JsiSkRuntimeEffect extends HostObject<RuntimeEffect, "RuntimeEffect"> implements SkRuntimeEffect {
7
7
  private sksl;
8
8
  constructor(CanvasKit: CanvasKit, ref: RuntimeEffect, sksl: string);
9
- dispose: () => void;
10
9
  source(): string;
11
10
  makeShader(uniforms: number[], localMatrix?: SkMatrix): JsiSkShader;
12
11
  makeShaderWithChildren(uniforms: number[], children?: SkShader[], localMatrix?: SkMatrix): JsiSkShader;
@@ -5,5 +5,5 @@ export declare class JsiSkSVG extends HostObject<HTMLImageElement, "SVG"> implem
5
5
  constructor(CanvasKit: CanvasKit, ref: HTMLImageElement);
6
6
  width(): number;
7
7
  height(): number;
8
- dispose: () => void;
8
+ [Symbol.dispose](): void;
9
9
  }
@@ -3,5 +3,4 @@ import type { SkShader } from "../types";
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkShader extends HostObject<Shader, "Shader"> implements SkShader {
5
5
  constructor(CanvasKit: CanvasKit, ref: Shader);
6
- dispose: () => void;
7
6
  }
@@ -4,7 +4,7 @@ import { HostObject } from "./Host";
4
4
  import { JsiSkImage } from "./JsiSkImage";
5
5
  export declare class JsiSkSurface extends HostObject<Surface, "Surface"> implements SkSurface {
6
6
  constructor(CanvasKit: CanvasKit, ref: Surface);
7
- dispose: () => void;
7
+ [Symbol.dispose](): void;
8
8
  flush(): void;
9
9
  width(): number;
10
10
  height(): number;
@@ -3,5 +3,4 @@ import type { SkTextBlob } from "../types";
3
3
  import { HostObject } from "./Host";
4
4
  export declare class JsiSkTextBlob extends HostObject<TextBlob, "TextBlob"> implements SkTextBlob {
5
5
  constructor(CanvasKit: CanvasKit, ref: TextBlob);
6
- dispose: () => void;
7
6
  }
@@ -6,5 +6,4 @@ export declare class JsiSkTypeface extends HostObject<Typeface, "Typeface"> impl
6
6
  get bold(): boolean;
7
7
  get italic(): boolean;
8
8
  getGlyphIDs(str: string, numCodePoints?: number): number[];
9
- dispose: () => void;
10
9
  }
@@ -3,11 +3,9 @@ import type { SkTypefaceFontProvider } from "../types/Paragraph/TypefaceFontProv
3
3
  import type { FontStyle, SkTypeface } from "../types";
4
4
  import { HostObject } from "./Host";
5
5
  export declare class JsiSkTypefaceFontProvider extends HostObject<TypefaceFontProvider, "FontMgr"> implements SkTypefaceFontProvider {
6
- private allocatedPointers;
7
6
  constructor(CanvasKit: CanvasKit, ref: TypefaceFontProvider);
8
7
  matchFamilyStyle(_name: string, _style: FontStyle): SkTypeface;
9
8
  countFamilies(): number;
10
9
  getFamilyName(index: number): string;
11
10
  registerFont(typeface: SkTypeface, familyName: string): void;
12
- dispose(): void;
13
11
  }
@@ -4,7 +4,6 @@ import { HostObject } from "./Host";
4
4
  import { JsiSkRect } from "./JsiSkRect";
5
5
  export declare class JsiSkVertices extends HostObject<Vertices, "Vertices"> implements SkVertices {
6
6
  constructor(CanvasKit: CanvasKit, ref: Vertices);
7
- dispose: () => void;
8
7
  bounds(): JsiSkRect;
9
8
  uniqueID(): number;
10
9
  }
@@ -55,5 +55,4 @@ export declare class JsiSkottieAnimation extends HostObject<ManagedSkottieAnimat
55
55
  height: number;
56
56
  };
57
57
  version(): string;
58
- dispose(): void;
59
58
  }
@@ -20,5 +20,6 @@ export declare class JsiVideo implements Video {
20
20
  pause(): void;
21
21
  play(): void;
22
22
  setVolume(volume: number): void;
23
+ [Symbol.dispose](): void;
23
24
  dispose(): void;
24
25
  }
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "setup-skia-web": "scripts/setup-canvaskit.js"
9
9
  },
10
10
  "title": "React Native Skia",
11
- "version": "2.2.18",
11
+ "version": "2.2.19",
12
12
  "description": "High-performance React Native Graphics using Skia",
13
13
  "main": "lib/module/index.js",
14
14
  "react-native": "src/index.ts",
@@ -43,14 +43,14 @@
43
43
  "release": "semantic-release",
44
44
  "build": "bob build && merge-dirs lib/typescript/src lib/commonjs && merge-dirs lib/typescript/src lib/module",
45
45
  "clean-skia": "yarn rimraf ./libs && yarn rimraf ../../externals/skia/out",
46
- "build-skia": "ts-node ./scripts/build-skia.ts",
47
- "copy-skia-headers": "ts-node ./scripts/copy-skia-headers.ts",
48
- "install-skia": "ts-node ./scripts/download-artifacts.ts && yarn copy-skia-headers",
46
+ "build-skia": "tsx ./scripts/build-skia.ts",
47
+ "copy-skia-headers": "tsx ./scripts/copy-skia-headers.ts",
48
+ "install-skia": "tsx ./scripts/download-artifacts.ts && yarn copy-skia-headers",
49
49
  "clang-format": "yarn clang-format-ios && yarn clang-format-android && yarn clang-format-common",
50
50
  "clang-format-ios": "find apple/ -iname '*.h' -o -iname '*.mm' -o -iname '*.cpp' | xargs clang-format -i",
51
51
  "clang-format-android": "find android/cpp/ -iname '*.h' -o -iname '*.m' -o -iname '*.cpp' | xargs clang-format -i",
52
52
  "clang-format-common": "find cpp/ \\( -path 'cpp//skia' -prune \\) -o \\( -iname '*.h' -o -iname '*.m' -o -iname '*.cpp' \\) -print | xargs clang-format -i",
53
- "workflow-copy-libs": "yarn ts-node ./scripts/workflow-copy-libs.ts",
53
+ "workflow-copy-libs": "tsx ./scripts/workflow-copy-libs.ts",
54
54
  "cpplint": "cpplint --linelength=230 --filter=-legal/copyright,-whitespace/indent,-whitespace/comments,-whitespace/ending_newline,-build/include_order,-runtime/references,-readability/todo,-whitespace/blank_line,-whitespace/todo,-runtime/int,-build/c++11,-whitespace/parens --exclude=package/cpp/skia --exclude=package/ios --exclude=package/android/build --exclude=package/node_modules --recursive package"
55
55
  },
56
56
  "repository": {
@@ -90,20 +90,22 @@
90
90
  },
91
91
  "devDependencies": {
92
92
  "@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6",
93
+ "@babel/plugin-transform-explicit-resource-management": "^7.28.0",
93
94
  "@semantic-release/commit-analyzer": "^13.0.0",
94
95
  "@semantic-release/exec": "^7.0.3",
95
96
  "@semantic-release/github": "^10.3.3",
96
97
  "@semantic-release/release-notes-generator": "^14.0.1",
97
- "@types/jest": "29.5.6",
98
+ "@types/jest": "30.0.0",
98
99
  "@types/pixelmatch": "5.2.4",
99
100
  "@types/pngjs": "6.0.1",
100
101
  "@types/react": "^19.0.0",
101
102
  "@types/react-reconciler": "0.28.9",
102
103
  "@types/ws": "8.5.3",
103
- "eslint": "8",
104
- "eslint-config-react-native-wcandillon": "^3.10.2",
105
- "eslint-plugin-import": "2.27.5",
106
- "jest": "29.6.4",
104
+ "eslint": "9.36.0",
105
+ "eslint-config-react-native-wcandillon": "4.0.1",
106
+ "eslint-plugin-import": "2.32.0",
107
+ "eslint-plugin-react-hooks": "^5.2.0",
108
+ "jest": "30.0.0",
107
109
  "jest-diff": "29.7.0",
108
110
  "merge-dirs": "0.2.1",
109
111
  "pixelmatch": "5.3.0",
@@ -116,8 +118,8 @@
116
118
  "rimraf": "3.0.2",
117
119
  "semantic-release": "^24.1.0",
118
120
  "semantic-release-yarn": "^3.0.2",
119
- "ts-jest": "29.1.1",
120
- "ts-node": "^10.9.2",
121
+ "ts-jest": "29.4.3",
122
+ "tsx": "^4.20.5",
121
123
  "typescript": "^5.2.2",
122
124
  "ws": "8.18.0"
123
125
  },
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env node
2
- /* eslint-disable max-len */
3
2
 
4
3
  /**
5
4
  * A script to automate the setup of `@shopify/react-native-skia` for web.
@@ -39,23 +38,26 @@ const lime = (text) => `\x1b[32m${text}\x1b[0m`;
39
38
 
40
39
  function getWetherItsAnExpoProjectWithMetro() {
41
40
  try {
42
- const appJsonPath = path.join(process.cwd(), 'app.json');
41
+ const appJsonPath = path.join(process.cwd(), "app.json");
43
42
 
44
43
  console.log(
45
44
  `› Reading Expo settings from (if any):\n ${gray(appJsonPath)}`
46
45
  );
47
46
 
48
47
  const appJson = require(appJsonPath);
49
- const isAnExpoProjectWithMetro = appJson.expo && appJson.expo.web && appJson.expo.web.bundler === 'metro';
48
+ const isAnExpoProjectWithMetro =
49
+ appJson.expo && appJson.expo.web && appJson.expo.web.bundler === "metro";
50
50
  if (isAnExpoProjectWithMetro) {
51
- console.log(` ${gray(`Expo project with metro bundler detected`)}\n`);
51
+ console.log(` ${gray("Expo project with metro bundler detected")}\n`);
52
52
  return true;
53
53
  } else {
54
- console.log(` ${gray(`Metro bundler not detected. Assuming the project is using Webpack.`)}\n`);
54
+ console.log(
55
+ ` ${gray(`Metro bundler not detected. Assuming the project is using Webpack.`)}\n`
56
+ );
55
57
  return false;
56
58
  }
57
59
  } catch (error) {
58
- console.log(` ${gray(`No Expo settings found`)}\n`);
60
+ console.log(` ${gray("No Expo settings found")}\n`);
59
61
  return false;
60
62
  }
61
63
  }
@@ -65,7 +67,8 @@ function getWasmFilePath() {
65
67
  return require.resolve("canvaskit-wasm/bin/full/canvaskit.wasm");
66
68
  } catch (error) {
67
69
  console.error(
68
- `Could not find 'canvaskit-wasm'. Please install '@shopify/react-native-skia' and ensure it can be resolved from your project: ${process.cwd()}`
70
+ `Could not find 'canvaskit-wasm'.
71
+ Please install '@shopify/react-native-skia' and ensure it can be resolved from your project: ${process.cwd()}`
69
72
  );
70
73
  process.exit(1);
71
74
  }
@@ -73,7 +76,9 @@ function getWasmFilePath() {
73
76
 
74
77
  function getOutputFilePath(isAnExpoProjectWithMetro) {
75
78
  // Default to using `web` public path.
76
- const publicFolder = path.resolve(args[0] || ((isAnExpoProjectWithMetro) ? "public" : "web/static/js"));
79
+ const publicFolder = path.resolve(
80
+ args[0] || (isAnExpoProjectWithMetro ? "public" : "web/static/js")
81
+ );
77
82
  const publicLocation = "./canvaskit.wasm";
78
83
  const output = path.join(publicFolder, publicLocation);
79
84
 
@@ -99,7 +104,8 @@ function copyFile(from, to) {
99
104
  console.log(lime("› Success! You are almost there:"));
100
105
  console.log(
101
106
  gray(
102
- "› To load React Native Skia Web, follow these instructions : https://shopify.github.io/react-native-skia/docs/getting-started/web"
107
+ `› To load React Native Skia Web,
108
+ follow these instructions: https://shopify.github.io/react-native-skia/docs/getting-started/web`
103
109
  )
104
110
  );
105
111
  })();
@@ -19,8 +19,8 @@ export const Platform: IPlatform = {
19
19
  return isRNModule(source)
20
20
  ? Image.resolveAssetSource(source).uri
21
21
  : "uri" in source
22
- ? source.uri
23
- : source.default;
22
+ ? source.uri
23
+ : source.default;
24
24
  },
25
25
  findNodeHandle,
26
26
  View,
@@ -7,7 +7,6 @@ import { isRNModule } from "../skia/types";
7
7
 
8
8
  import type { IPlatform } from "./IPlatform";
9
9
 
10
- // eslint-disable-next-line max-len
11
10
  // https://github.com/necolas/react-native-web/blob/master/packages/react-native-web/src/modules/useElementLayout/index.js
12
11
  const DOM_LAYOUT_HANDLER_NAME = "__reactLayoutHandler";
13
12
  type OnLayout = ((event: LayoutChangeEvent) => void) | undefined;
@@ -1,4 +1,3 @@
1
- /* eslint-disable max-len */
2
1
  import path from "path";
3
2
  import fs from "fs";
4
3
 
@@ -24,10 +23,9 @@ export const processResult = (
24
23
  overwrite = false
25
24
  ) => {
26
25
  surface.flush();
27
- const image = surface.makeImageSnapshot();
26
+ using image = surface.makeImageSnapshot();
28
27
  surface.getCanvas().clear(Float32Array.of(0, 0, 0, 0));
29
28
  const result = checkImage(image, relPath, { overwrite });
30
- image.dispose();
31
29
  return result;
32
30
  };
33
31
 
@@ -99,7 +97,6 @@ export const checkImage = (
99
97
  };
100
98
 
101
99
  declare global {
102
- // eslint-disable-next-line @typescript-eslint/no-namespace
103
100
  namespace jest {
104
101
  interface Matchers<R> {
105
102
  /**
@@ -1,4 +1,3 @@
1
- /* eslint-disable max-len */
2
1
  export enum Extrapolate {
3
2
  IDENTITY = "identity",
4
3
  CLAMP = "clamp",
@@ -19,7 +19,7 @@ export const rect2rect = (
19
19
  { translateX: number },
20
20
  { translateY: number },
21
21
  { scaleX: number },
22
- { scaleY: number }
22
+ { scaleY: number },
23
23
  ] => {
24
24
  "worklet";
25
25
  const scaleX = dst.width / src.width;
@@ -84,7 +84,7 @@ export interface PatchProps extends DrawingNodeProps {
84
84
  CubicBezierHandle,
85
85
  CubicBezierHandle,
86
86
  CubicBezierHandle,
87
- CubicBezierHandle
87
+ CubicBezierHandle,
88
88
  ];
89
89
  texture?: readonly [SkPoint, SkPoint, SkPoint, SkPoint];
90
90
  blendMode?: SkEnum<typeof BlendMode>;
@@ -78,7 +78,7 @@ export const useVideo = (
78
78
  const lastTimestamp = Rea.useSharedValue(-1);
79
79
  const duration = useMemo(() => video?.duration() ?? 0, [video]);
80
80
  const framerate = useMemo(
81
- () => (Platform.OS === "web" ? -1 : video?.framerate() ?? 0),
81
+ () => (Platform.OS === "web" ? -1 : (video?.framerate() ?? 0)),
82
82
  [video]
83
83
  );
84
84
  const size = useMemo(() => video?.size() ?? { width: 0, height: 0 }, [video]);
@@ -81,7 +81,6 @@ export const Canvas = ({
81
81
  }: CanvasProps) => {
82
82
  if (onLayout && isFabric) {
83
83
  console.error(
84
- // eslint-disable-next-line max-len
85
84
  "<Canvas onLayout={onLayout} /> is not supported on the new architecture, to fix the issue, see: https://shopify.github.io/react-native-skia/docs/canvas/overview/#getting-the-canvas-size"
86
85
  );
87
86
  }
@@ -145,7 +144,7 @@ export const Canvas = ({
145
144
  measureInWindow: (callback) => {
146
145
  viewRef.current?.measureInWindow(callback);
147
146
  },
148
- } as CanvasRef)
147
+ }) as CanvasRef
149
148
  );
150
149
 
151
150
  const onLayoutWeb = useCallback(
@@ -663,7 +663,6 @@ describe("FitBox", () => {
663
663
  });
664
664
  test("draw Skia logo", () => {
665
665
  const skiaLogo =
666
- // eslint-disable-next-line max-len
667
666
  "M465.63 273.956C409.11 212.516 348.87 258.846 362.34 310.646C367.09 328.936 381.05 347.906 407.6 363.056C444.3 383.986 460.05 408.286 461.42 430.426C464.57 481.036 392.6 520.356 324 482.376M490 430.426C589.17 299.226 590.11 228.576 568.77 222.366C554.04 218.586 529.13 244.036 518 301.366C505.52 367.526 500.67 405.066 490 494.956C505.58 451.676 514.49 414.746 545.45 389.956C554.589 382.551 565.818 378.197 577.56 377.506C628.71 374.806 621.17 446.096 541.95 430.406M541.95 430.426C575.55 436.726 571.27 458.036 580.75 482.326C582.111 485.913 584.445 489.051 587.49 491.386C607.49 506.386 643.49 476.616 654.36 457.216C671.21 432.636 684.24 404.916 697.36 378.486M697.38 378.486C684.12 411.766 675.597 437.196 671.81 454.776C668.54 481.546 675.24 493.636 686.32 496.256C710.7 502.016 756.23 461.896 763.13 431.256C776.37 372.396 862.18 350.556 881.97 419.656M881.97 419.636C862.18 350.536 776.21 372.376 763.13 431.236C759.37 455.676 766.85 473.336 779.67 483.966C786.621 489.63 794.908 493.417 803.74 494.966C818.132 497.496 832.957 495.178 845.89 488.376C846.69 487.956 847.49 487.516 848.29 487.056C856.441 482.27 863.382 475.672 868.574 467.773C873.765 459.875 877.069 450.887 878.23 441.506C881.09 419.196 888.04 394.656 892.59 378.086M892.59 378.076C885.36 404.426 872.1 449.746 878.77 476.156C880.283 482.292 884.122 487.599 889.475 490.958C894.828 494.316 901.277 495.463 907.46 494.156C925.39 490.256 943.78 472.156 955.09 454.336M714.5 338C714.5 339.933 712.933 341.5 711 341.5C709.067 341.5 707.5 339.933 707.5 338C707.5 336.067 709.067 334.5 711 334.5C712.933 334.5 714.5 336.067 714.5 338Z";
668
667
  const { Skia } = importSkia();
669
668
  const path = Skia.Path.MakeFromSVGString(skiaLogo)!;
@@ -43,11 +43,14 @@ const CheckPicture2 = ({}: EmptyProps) => {
43
43
  }, [Skia]);
44
44
  const picture = useMemo(
45
45
  () =>
46
- createPicture((canvas) => {
47
- const paint = Skia.Paint();
48
- paint.setColor(Skia.Color(color));
49
- canvas.drawCircle(r, r, r, paint);
50
- }, Skia.XYWHRect(0, 0, r * 2, r * 2)),
46
+ createPicture(
47
+ (canvas) => {
48
+ const paint = Skia.Paint();
49
+ paint.setColor(Skia.Color(color));
50
+ canvas.drawCircle(r, r, r, paint);
51
+ },
52
+ Skia.XYWHRect(0, 0, r * 2, r * 2)
53
+ ),
51
54
  // eslint-disable-next-line react-hooks/exhaustive-deps
52
55
  []
53
56
  );
@@ -12,15 +12,13 @@ describe("Surface", () => {
12
12
  // When leaking, the WASM memory limit will be reached quite quickly
13
13
  // causing the test to fail
14
14
  for (let i = 0; i < 500; i++) {
15
- const surface = Skia.Surface.Make(1920, 1080)!;
15
+ using surface = Skia.Surface.Make(1920, 1080)!;
16
16
  const canvas = surface.getCanvas();
17
17
  canvas.clear(Skia.Color("cyan"));
18
18
  surface.flush();
19
- const image = surface.makeImageSnapshot();
20
- const copy = image.makeNonTextureImage();
21
- copy.dispose();
22
- image.dispose();
23
- surface.dispose();
19
+ using image = surface.makeImageSnapshot();
20
+ using copy = image.makeNonTextureImage();
21
+ expect(copy).toBeDefined();
24
22
  }
25
23
  });
26
24
  it("A raster surface shouldn't leak (1)", () => {
@@ -28,13 +26,12 @@ describe("Surface", () => {
28
26
  // When leaking, the WASM memory limit will be reached quite quickly
29
27
  // causing the test to fail
30
28
  for (let i = 0; i < 500; i++) {
31
- const surface = Skia.Surface.Make(1920, 1080)!;
29
+ using surface = Skia.Surface.Make(1920, 1080)!;
32
30
  const canvas = surface.getCanvas();
33
31
  canvas.clear(Skia.Color("cyan"));
34
32
  surface.flush();
35
- const image = surface.makeImageSnapshot();
36
- image.dispose();
37
- surface.dispose();
33
+ using image = surface.makeImageSnapshot();
34
+ expect(image).toBeDefined();
38
35
  }
39
36
  });
40
37
  it("A raster surface shouldn't leak (2)", () => {
@@ -42,20 +39,19 @@ describe("Surface", () => {
42
39
  // When leaking, the WASM memory limit will be reached quite quickly
43
40
  // causing the test to fail
44
41
  for (let i = 0; i < 500; i++) {
45
- const surface = Skia.Surface.MakeOffscreen(1920, 1080)!;
42
+ using surface = Skia.Surface.MakeOffscreen(1920, 1080)!;
46
43
  const canvas = surface.getCanvas();
47
44
  canvas.clear(Skia.Color("cyan"));
48
45
  surface.flush();
49
- const image = surface.makeImageSnapshot();
50
- image.dispose();
51
- surface.dispose();
46
+ using image = surface.makeImageSnapshot();
47
+ expect(image).toBeDefined();
52
48
  }
53
49
  });
54
50
  it("A raster surface shouldn't leak (3)", async () => {
55
51
  for (let i = 0; i < 10; i++) {
56
52
  //const t = performance.now();
57
53
  const r = 128;
58
- const surface = await drawOnNode(
54
+ using surface = await drawOnNode(
59
55
  <>
60
56
  <Group blendMode="multiply">
61
57
  <Circle cx={r} cy={r} r={r} color="cyan" />
@@ -67,7 +63,6 @@ describe("Surface", () => {
67
63
  surface.flush();
68
64
  //console.log(`Iteration ${i} took ${Math.floor(performance.now() - t)}ms`);
69
65
  processResult(surface, "snapshots/leak.png");
70
- surface.dispose();
71
66
  }
72
67
  });
73
68
  });
@@ -145,7 +145,6 @@ describe("Group", () => {
145
145
  it("Should scale an SVG Path properly", async () => {
146
146
  const { rect, Skia } = importSkia();
147
147
  const svgPath =
148
- // eslint-disable-next-line max-len
149
148
  "M481.586 193.457C470.446 176.319 382.871 101.323 313.771 101.323C244.671 101.323 207.195 126.054 193.668 142.763C149.967 196.747 134.971 249.875 148.681 302.146C166.676 365.556 216.376 423.397 297.781 475.668C391.183 528.795 451.166 589.207 477.73 656.902C487.156 686.893 488.441 716.456 481.586 745.591C474.731 774.725 461.021 801.289 440.455 825.282C423.317 848.419 400.609 865.128 372.332 875.411C344.054 884.837 309.778 892.12 269.504 897.262C172.674 904.974 93.8398 890.407 33 853.56M559.992 689.035C667.105 531.366 746.796 399.832 799.067 294.434C811.92 264.442 821.346 241.735 827.344 226.31C833.343 210.029 839.341 188.607 845.339 162.043C851.338 135.479 853.48 111.058 851.766 88.7783C849.195 66.4989 838.056 51.0748 818.347 39.9351C798.638 28.7954 784.212 31.7989 761.792 43.7911C724.945 63.4998 700.095 97.3473 687.242 145.334C679.53 165.899 671.817 189.892 664.105 217.313C657.25 244.734 652.109 265.728 648.681 280.295C646.111 294.862 641.398 321.426 634.542 359.987C627.687 397.69 623.403 419.969 621.689 426.825C604.551 533.937 583.985 689.464 559.992 893.406C586.556 800.861 616.976 727.167 651.252 672.326C663.248 648.333 673.531 629.481 682.1 615.771C690.669 602.06 703.094 587.065 719.375 570.784C736.513 554.502 754.508 542.506 773.36 534.794C837.627 510.801 883.9 512.943 912.177 541.221C929.315 559.215 937.884 581.066 937.884 606.773C938.741 632.48 928.887 652.617 908.321 667.185C868.047 689.464 806.779 696.748 724.517 689.035C738.227 693.32 748.51 697.176 755.365 700.604C763.077 703.174 772.503 707.459 783.643 713.457C795.639 719.455 804.637 726.739 810.635 735.308C817.49 743.877 821.775 753.731 823.488 764.871C824.345 769.155 825.631 777.296 827.344 789.293C829.915 801.289 832.057 810.287 833.771 816.285C835.485 822.283 837.627 829.995 840.198 839.421C843.626 848.847 847.482 856.987 851.766 863.843C856.907 869.841 862.906 875.839 869.761 881.838C891.183 902.403 926.745 899.832 976.445 874.125C991.012 867.27 1004.29 858.701 1016.29 848.418C1029.14 838.136 1041.14 825.711 1052.28 811.143C1064.28 795.719 1073.7 783.294 1080.56 773.868C1087.41 763.586 1096.84 748.59 1108.84 728.881C1120.83 709.173 1129.4 695.891 1134.54 689.035C1161.96 634.194 1189.38 579.352 1216.8 524.511C1174.82 629.909 1147.82 710.458 1135.83 766.156C1130.69 782.437 1128.54 801.289 1129.4 822.712C1130.26 844.134 1136.68 861.272 1148.68 874.125C1157.25 884.408 1167.96 891.263 1180.81 894.691C1194.53 898.119 1207.38 897.69 1219.38 893.406C1271.65 877.981 1314.06 847.99 1346.62 803.431C1365.48 777.724 1390.75 739.592 1422.46 689.035M1275.93 367.699C1263.93 367.699 1256.65 362.129 1254.08 350.989C1252.37 338.993 1253.65 328.71 1257.94 320.141C1261.37 313.272 1272.5 314.999 1283.64 314.999C1294.78 314.999 1303.74 321.228 1304.21 329.138M1804.21 655.616C1782.79 595.634 1756.65 558.358 1725.8 543.791C1696.67 526.653 1664.11 518.513 1628.12 519.37C1592.13 519.37 1559.99 528.796 1531.71 547.647C1505.15 563.071 1482.44 583.637 1463.59 609.344C1444.74 634.194 1431.89 661.615 1425.03 691.606C1419.03 720.741 1419.89 750.304 1427.6 780.295C1436.17 809.43 1450.74 834.28 1471.3 854.845C1503.87 882.266 1543.28 895.976 1589.56 895.976C1635.83 895.976 1675.67 882.266 1709.09 854.845C1722.8 841.135 1732.66 831.281 1738.66 825.282C1744.65 819.284 1751.51 810.715 1759.22 799.575C1767.79 788.436 1774.65 776.868 1779.79 764.871M1835.06 523.226C1811.92 618.341 1796.5 701.032 1788.78 771.298C1781.07 825.282 1791.35 862.557 1819.63 883.123C1841.05 900.261 1874.47 897.69 1919.89 875.411C1959.31 856.559 1997.01 819.712 2033 764.871";
150
149
  const path = Skia.Path.MakeFromSVGString(svgPath)!;
151
150
  expect(path).toBeTruthy();
@@ -44,7 +44,6 @@ describe("Animated Images", () => {
44
44
  return frame.encodeToBase64();
45
45
  });
46
46
  expect(result).toEqual(
47
- // eslint-disable-next-line max-len
48
47
  "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAAXNSR0IArs4c6QAAAANzQklUCAgI2+FP4AAAAAxJREFUCJljSFwlDwACmgErMAA+hwAAAABJRU5ErkJggg=="
49
48
  );
50
49
  });
@@ -77,7 +77,6 @@ describe("Drawings", () => {
77
77
  const { Skia } = importSkia();
78
78
  const { width, height } = surface;
79
79
  const path = Skia.Path.MakeFromSVGString(
80
- // eslint-disable-next-line max-len
81
80
  "M512.213 204.005C500.312 185.697 406.758 105.581 332.94 105.581C259.122 105.581 219.088 132 204.638 149.85C157.952 207.52 141.933 264.275 156.579 320.115C175.803 387.854 228.896 449.644 315.859 505.483C415.638 562.238 479.716 626.774 508.093 699.091C518.163 731.13 519.536 762.711 512.213 793.835C504.889 824.959 490.243 853.336 468.273 878.967C449.965 903.683 425.707 921.534 395.499 932.518C365.291 942.588 328.675 950.369 285.651 955.861C182.21 964.1 97.9935 948.538 33 909.176M595.972 733.419C710.397 564.985 795.529 424.47 851.369 311.876C865.1 279.837 875.169 255.579 881.577 239.102C887.985 221.709 894.393 198.824 900.801 170.447C907.208 142.069 909.497 115.98 907.666 92.1797C904.92 68.3793 893.02 51.9021 871.965 40.0019C850.911 28.1016 835.5 31.3101 811.549 44.1212C772.187 65.1754 745.64 101.334 731.909 152.596C723.67 174.566 715.432 200.197 707.193 229.49C699.87 258.783 694.378 281.21 690.716 296.772C687.97 312.334 682.935 340.711 675.612 381.904C668.289 422.182 663.712 445.982 661.881 453.306C643.573 567.731 621.603 733.876 595.972 951.742C624.349 852.878 656.846 774.154 693.462 715.568C706.278 689.937 717.263 669.798 726.417 655.152C735.571 640.505 748.844 624.486 766.237 607.093C784.545 589.701 803.768 576.885 823.907 568.646C892.562 543.015 941.994 545.304 972.202 575.512C990.51 594.735 999.664 618.078 999.664 645.54C1000.58 673.002 990.052 694.514 968.083 710.076C925.059 733.876 859.608 741.657 771.729 733.419C786.375 737.996 797.36 742.115 804.683 745.776C812.922 748.523 822.992 753.1 834.892 759.508C847.707 765.915 857.319 773.696 863.727 782.85C871.05 792.004 875.627 802.531 877.458 814.432C878.373 819.009 879.746 827.705 881.577 840.521C884.323 853.336 886.612 862.948 888.443 869.356C890.273 875.763 892.562 884.002 895.308 894.072C898.97 904.141 903.089 912.837 907.666 920.16C913.159 926.568 919.566 932.976 926.89 939.384C949.775 961.354 987.764 958.607 1040.86 931.145C1056.42 923.822 1070.61 914.668 1083.42 903.683C1097.15 892.698 1109.97 879.425 1121.87 863.863C1134.69 847.386 1144.76 834.113 1152.08 824.043C1159.4 813.058 1169.47 797.039 1182.29 775.985C1195.1 754.931 1204.26 740.742 1209.75 733.419C1239.04 674.833 1268.33 616.247 1297.63 557.661C1252.77 670.256 1223.94 756.304 1211.12 815.805C1205.63 833.197 1203.34 853.336 1204.26 876.221C1205.17 899.106 1212.04 917.414 1224.85 931.145C1234.01 942.13 1245.45 949.453 1259.18 953.115C1273.83 956.777 1287.56 956.319 1300.37 951.742C1356.21 935.265 1401.53 903.226 1436.31 855.625C1456.45 828.163 1483.45 787.427 1517.32 733.419M1360.79 390.143C1347.97 390.143 1340.19 384.193 1337.45 372.293C1335.62 359.477 1336.99 348.492 1341.57 339.338C1345.24 332 1357.13 333.846 1369.03 333.846C1380.93 333.846 1390.5 340.5 1391 348.95M1925.13 697.718C1902.25 633.64 1874.33 593.82 1841.38 578.258C1810.25 559.95 1775.47 551.254 1737.02 552.169C1698.57 552.169 1664.25 562.238 1634.04 582.377C1605.66 598.855 1581.4 620.824 1561.26 648.286C1541.12 674.833 1527.39 704.126 1520.07 736.165C1513.66 767.288 1514.58 798.87 1522.82 830.909C1531.97 862.032 1547.53 888.579 1569.5 910.549C1604.29 939.842 1646.4 954.488 1695.83 954.488C1745.26 954.488 1787.82 939.842 1823.53 910.549C1838.17 895.902 1848.7 885.375 1855.11 878.967C1861.51 872.56 1868.84 863.406 1877.08 851.505C1886.23 839.605 1893.55 827.247 1899.05 814.432M1958.09 556.288C1933.37 657.898 1916.9 746.234 1908.66 821.297C1900.42 878.967 1911.4 918.787 1941.61 940.757C1964.5 959.065 2000.2 956.319 2048.71 932.518C2090.82 912.38 2131.1 873.017 2169.55 814.432"
82
81
  )!;
83
82
  const PADDING = width / 16;
@@ -120,7 +119,6 @@ describe("Drawings", () => {
120
119
  const { Skia } = importSkia();
121
120
  const { width, height } = surface;
122
121
  const path = Skia.Path.MakeFromSVGString(
123
- // eslint-disable-next-line max-len
124
122
  "M512.213 204.005C500.312 185.697 406.758 105.581 332.94 105.581C259.122 105.581 219.088 132 204.638 149.85C157.952 207.52 141.933 264.275 156.579 320.115C175.803 387.854 228.896 449.644 315.859 505.483C415.638 562.238 479.716 626.774 508.093 699.091C518.163 731.13 519.536 762.711 512.213 793.835C504.889 824.959 490.243 853.336 468.273 878.967C449.965 903.683 425.707 921.534 395.499 932.518C365.291 942.588 328.675 950.369 285.651 955.861C182.21 964.1 97.9935 948.538 33 909.176M595.972 733.419C710.397 564.985 795.529 424.47 851.369 311.876C865.1 279.837 875.169 255.579 881.577 239.102C887.985 221.709 894.393 198.824 900.801 170.447C907.208 142.069 909.497 115.98 907.666 92.1797C904.92 68.3793 893.02 51.9021 871.965 40.0019C850.911 28.1016 835.5 31.3101 811.549 44.1212C772.187 65.1754 745.64 101.334 731.909 152.596C723.67 174.566 715.432 200.197 707.193 229.49C699.87 258.783 694.378 281.21 690.716 296.772C687.97 312.334 682.935 340.711 675.612 381.904C668.289 422.182 663.712 445.982 661.881 453.306C643.573 567.731 621.603 733.876 595.972 951.742C624.349 852.878 656.846 774.154 693.462 715.568C706.278 689.937 717.263 669.798 726.417 655.152C735.571 640.505 748.844 624.486 766.237 607.093C784.545 589.701 803.768 576.885 823.907 568.646C892.562 543.015 941.994 545.304 972.202 575.512C990.51 594.735 999.664 618.078 999.664 645.54C1000.58 673.002 990.052 694.514 968.083 710.076C925.059 733.876 859.608 741.657 771.729 733.419C786.375 737.996 797.36 742.115 804.683 745.776C812.922 748.523 822.992 753.1 834.892 759.508C847.707 765.915 857.319 773.696 863.727 782.85C871.05 792.004 875.627 802.531 877.458 814.432C878.373 819.009 879.746 827.705 881.577 840.521C884.323 853.336 886.612 862.948 888.443 869.356C890.273 875.763 892.562 884.002 895.308 894.072C898.97 904.141 903.089 912.837 907.666 920.16C913.159 926.568 919.566 932.976 926.89 939.384C949.775 961.354 987.764 958.607 1040.86 931.145C1056.42 923.822 1070.61 914.668 1083.42 903.683C1097.15 892.698 1109.97 879.425 1121.87 863.863C1134.69 847.386 1144.76 834.113 1152.08 824.043C1159.4 813.058 1169.47 797.039 1182.29 775.985C1195.1 754.931 1204.26 740.742 1209.75 733.419C1239.04 674.833 1268.33 616.247 1297.63 557.661C1252.77 670.256 1223.94 756.304 1211.12 815.805C1205.63 833.197 1203.34 853.336 1204.26 876.221C1205.17 899.106 1212.04 917.414 1224.85 931.145C1234.01 942.13 1245.45 949.453 1259.18 953.115C1273.83 956.777 1287.56 956.319 1300.37 951.742C1356.21 935.265 1401.53 903.226 1436.31 855.625C1456.45 828.163 1483.45 787.427 1517.32 733.419M1360.79 390.143C1347.97 390.143 1340.19 384.193 1337.45 372.293C1335.62 359.477 1336.99 348.492 1341.57 339.338C1345.24 332 1357.13 333.846 1369.03 333.846C1380.93 333.846 1390.5 340.5 1391 348.95M1925.13 697.718C1902.25 633.64 1874.33 593.82 1841.38 578.258C1810.25 559.95 1775.47 551.254 1737.02 552.169C1698.57 552.169 1664.25 562.238 1634.04 582.377C1605.66 598.855 1581.4 620.824 1561.26 648.286C1541.12 674.833 1527.39 704.126 1520.07 736.165C1513.66 767.288 1514.58 798.87 1522.82 830.909C1531.97 862.032 1547.53 888.579 1569.5 910.549C1604.29 939.842 1646.4 954.488 1695.83 954.488C1745.26 954.488 1787.82 939.842 1823.53 910.549C1838.17 895.902 1848.7 885.375 1855.11 878.967C1861.51 872.56 1868.84 863.406 1877.08 851.505C1886.23 839.605 1893.55 827.247 1899.05 814.432M1958.09 556.288C1933.37 657.898 1916.9 746.234 1908.66 821.297C1900.42 878.967 1911.4 918.787 1941.61 940.757C1964.5 959.065 2000.2 956.319 2048.71 932.518C2090.82 912.38 2131.1 873.017 2169.55 814.432"
125
123
  )!;
126
124
  const PADDING = width / 16;
@@ -146,7 +144,6 @@ describe("Drawings", () => {
146
144
  const { Skia } = importSkia();
147
145
  const { width, height } = surface;
148
146
  const path = Skia.Path.MakeFromSVGString(
149
- // eslint-disable-next-line max-len
150
147
  "M512.213 204.005C500.312 185.697 406.758 105.581 332.94 105.581C259.122 105.581 219.088 132 204.638 149.85C157.952 207.52 141.933 264.275 156.579 320.115C175.803 387.854 228.896 449.644 315.859 505.483C415.638 562.238 479.716 626.774 508.093 699.091C518.163 731.13 519.536 762.711 512.213 793.835C504.889 824.959 490.243 853.336 468.273 878.967C449.965 903.683 425.707 921.534 395.499 932.518C365.291 942.588 328.675 950.369 285.651 955.861C182.21 964.1 97.9935 948.538 33 909.176M595.972 733.419C710.397 564.985 795.529 424.47 851.369 311.876C865.1 279.837 875.169 255.579 881.577 239.102C887.985 221.709 894.393 198.824 900.801 170.447C907.208 142.069 909.497 115.98 907.666 92.1797C904.92 68.3793 893.02 51.9021 871.965 40.0019C850.911 28.1016 835.5 31.3101 811.549 44.1212C772.187 65.1754 745.64 101.334 731.909 152.596C723.67 174.566 715.432 200.197 707.193 229.49C699.87 258.783 694.378 281.21 690.716 296.772C687.97 312.334 682.935 340.711 675.612 381.904C668.289 422.182 663.712 445.982 661.881 453.306C643.573 567.731 621.603 733.876 595.972 951.742C624.349 852.878 656.846 774.154 693.462 715.568C706.278 689.937 717.263 669.798 726.417 655.152C735.571 640.505 748.844 624.486 766.237 607.093C784.545 589.701 803.768 576.885 823.907 568.646C892.562 543.015 941.994 545.304 972.202 575.512C990.51 594.735 999.664 618.078 999.664 645.54C1000.58 673.002 990.052 694.514 968.083 710.076C925.059 733.876 859.608 741.657 771.729 733.419C786.375 737.996 797.36 742.115 804.683 745.776C812.922 748.523 822.992 753.1 834.892 759.508C847.707 765.915 857.319 773.696 863.727 782.85C871.05 792.004 875.627 802.531 877.458 814.432C878.373 819.009 879.746 827.705 881.577 840.521C884.323 853.336 886.612 862.948 888.443 869.356C890.273 875.763 892.562 884.002 895.308 894.072C898.97 904.141 903.089 912.837 907.666 920.16C913.159 926.568 919.566 932.976 926.89 939.384C949.775 961.354 987.764 958.607 1040.86 931.145C1056.42 923.822 1070.61 914.668 1083.42 903.683C1097.15 892.698 1109.97 879.425 1121.87 863.863C1134.69 847.386 1144.76 834.113 1152.08 824.043C1159.4 813.058 1169.47 797.039 1182.29 775.985C1195.1 754.931 1204.26 740.742 1209.75 733.419C1239.04 674.833 1268.33 616.247 1297.63 557.661C1252.77 670.256 1223.94 756.304 1211.12 815.805C1205.63 833.197 1203.34 853.336 1204.26 876.221C1205.17 899.106 1212.04 917.414 1224.85 931.145C1234.01 942.13 1245.45 949.453 1259.18 953.115C1273.83 956.777 1287.56 956.319 1300.37 951.742C1356.21 935.265 1401.53 903.226 1436.31 855.625C1456.45 828.163 1483.45 787.427 1517.32 733.419M1360.79 390.143C1347.97 390.143 1340.19 384.193 1337.45 372.293C1335.62 359.477 1336.99 348.492 1341.57 339.338C1345.24 332 1357.13 333.846 1369.03 333.846C1380.93 333.846 1390.5 340.5 1391 348.95M1925.13 697.718C1902.25 633.64 1874.33 593.82 1841.38 578.258C1810.25 559.95 1775.47 551.254 1737.02 552.169C1698.57 552.169 1664.25 562.238 1634.04 582.377C1605.66 598.855 1581.4 620.824 1561.26 648.286C1541.12 674.833 1527.39 704.126 1520.07 736.165C1513.66 767.288 1514.58 798.87 1522.82 830.909C1531.97 862.032 1547.53 888.579 1569.5 910.549C1604.29 939.842 1646.4 954.488 1695.83 954.488C1745.26 954.488 1787.82 939.842 1823.53 910.549C1838.17 895.902 1848.7 885.375 1855.11 878.967C1861.51 872.56 1868.84 863.406 1877.08 851.505C1886.23 839.605 1893.55 827.247 1899.05 814.432M1958.09 556.288C1933.37 657.898 1916.9 746.234 1908.66 821.297C1900.42 878.967 1911.4 918.787 1941.61 940.757C1964.5 959.065 2000.2 956.319 2048.71 932.518C2090.82 912.38 2131.1 873.017 2169.55 814.432"
151
148
  )!;
152
149
  const PADDING = width / 16;
@@ -190,7 +187,6 @@ describe("Drawings", () => {
190
187
  const { Skia } = importSkia();
191
188
  const { width, height } = surface;
192
189
  const path = Skia.Path.MakeFromSVGString(
193
- // eslint-disable-next-line max-len
194
190
  "M512.213 204.005C500.312 185.697 406.758 105.581 332.94 105.581C259.122 105.581 219.088 132 204.638 149.85C157.952 207.52 141.933 264.275 156.579 320.115C175.803 387.854 228.896 449.644 315.859 505.483C415.638 562.238 479.716 626.774 508.093 699.091C518.163 731.13 519.536 762.711 512.213 793.835C504.889 824.959 490.243 853.336 468.273 878.967C449.965 903.683 425.707 921.534 395.499 932.518C365.291 942.588 328.675 950.369 285.651 955.861C182.21 964.1 97.9935 948.538 33 909.176M595.972 733.419C710.397 564.985 795.529 424.47 851.369 311.876C865.1 279.837 875.169 255.579 881.577 239.102C887.985 221.709 894.393 198.824 900.801 170.447C907.208 142.069 909.497 115.98 907.666 92.1797C904.92 68.3793 893.02 51.9021 871.965 40.0019C850.911 28.1016 835.5 31.3101 811.549 44.1212C772.187 65.1754 745.64 101.334 731.909 152.596C723.67 174.566 715.432 200.197 707.193 229.49C699.87 258.783 694.378 281.21 690.716 296.772C687.97 312.334 682.935 340.711 675.612 381.904C668.289 422.182 663.712 445.982 661.881 453.306C643.573 567.731 621.603 733.876 595.972 951.742C624.349 852.878 656.846 774.154 693.462 715.568C706.278 689.937 717.263 669.798 726.417 655.152C735.571 640.505 748.844 624.486 766.237 607.093C784.545 589.701 803.768 576.885 823.907 568.646C892.562 543.015 941.994 545.304 972.202 575.512C990.51 594.735 999.664 618.078 999.664 645.54C1000.58 673.002 990.052 694.514 968.083 710.076C925.059 733.876 859.608 741.657 771.729 733.419C786.375 737.996 797.36 742.115 804.683 745.776C812.922 748.523 822.992 753.1 834.892 759.508C847.707 765.915 857.319 773.696 863.727 782.85C871.05 792.004 875.627 802.531 877.458 814.432C878.373 819.009 879.746 827.705 881.577 840.521C884.323 853.336 886.612 862.948 888.443 869.356C890.273 875.763 892.562 884.002 895.308 894.072C898.97 904.141 903.089 912.837 907.666 920.16C913.159 926.568 919.566 932.976 926.89 939.384C949.775 961.354 987.764 958.607 1040.86 931.145C1056.42 923.822 1070.61 914.668 1083.42 903.683C1097.15 892.698 1109.97 879.425 1121.87 863.863C1134.69 847.386 1144.76 834.113 1152.08 824.043C1159.4 813.058 1169.47 797.039 1182.29 775.985C1195.1 754.931 1204.26 740.742 1209.75 733.419C1239.04 674.833 1268.33 616.247 1297.63 557.661C1252.77 670.256 1223.94 756.304 1211.12 815.805C1205.63 833.197 1203.34 853.336 1204.26 876.221C1205.17 899.106 1212.04 917.414 1224.85 931.145C1234.01 942.13 1245.45 949.453 1259.18 953.115C1273.83 956.777 1287.56 956.319 1300.37 951.742C1356.21 935.265 1401.53 903.226 1436.31 855.625C1456.45 828.163 1483.45 787.427 1517.32 733.419M1360.79 390.143C1347.97 390.143 1340.19 384.193 1337.45 372.293C1335.62 359.477 1336.99 348.492 1341.57 339.338C1345.24 332 1357.13 333.846 1369.03 333.846C1380.93 333.846 1390.5 340.5 1391 348.95M1925.13 697.718C1902.25 633.64 1874.33 593.82 1841.38 578.258C1810.25 559.95 1775.47 551.254 1737.02 552.169C1698.57 552.169 1664.25 562.238 1634.04 582.377C1605.66 598.855 1581.4 620.824 1561.26 648.286C1541.12 674.833 1527.39 704.126 1520.07 736.165C1513.66 767.288 1514.58 798.87 1522.82 830.909C1531.97 862.032 1547.53 888.579 1569.5 910.549C1604.29 939.842 1646.4 954.488 1695.83 954.488C1745.26 954.488 1787.82 939.842 1823.53 910.549C1838.17 895.902 1848.7 885.375 1855.11 878.967C1861.51 872.56 1868.84 863.406 1877.08 851.505C1886.23 839.605 1893.55 827.247 1899.05 814.432M1958.09 556.288C1933.37 657.898 1916.9 746.234 1908.66 821.297C1900.42 878.967 1911.4 918.787 1941.61 940.757C1964.5 959.065 2000.2 956.319 2048.71 932.518C2090.82 912.38 2131.1 873.017 2169.55 814.432"
195
191
  )!;
196
192
  const PADDING = width / 16;
@@ -107,7 +107,6 @@ describe("Group", () => {
107
107
  const { width, height } = surface;
108
108
  const { rect, Skia } = importSkia();
109
109
  const svgPath =
110
- // eslint-disable-next-line max-len
111
110
  "M481.586 193.457C470.446 176.319 382.871 101.323 313.771 101.323C244.671 101.323 207.195 126.054 193.668 142.763C149.967 196.747 134.971 249.875 148.681 302.146C166.676 365.556 216.376 423.397 297.781 475.668C391.183 528.795 451.166 589.207 477.73 656.902C487.156 686.893 488.441 716.456 481.586 745.591C474.731 774.725 461.021 801.289 440.455 825.282C423.317 848.419 400.609 865.128 372.332 875.411C344.054 884.837 309.778 892.12 269.504 897.262C172.674 904.974 93.8398 890.407 33 853.56M559.992 689.035C667.105 531.366 746.796 399.832 799.067 294.434C811.92 264.442 821.346 241.735 827.344 226.31C833.343 210.029 839.341 188.607 845.339 162.043C851.338 135.479 853.48 111.058 851.766 88.7783C849.195 66.4989 838.056 51.0748 818.347 39.9351C798.638 28.7954 784.212 31.7989 761.792 43.7911C724.945 63.4998 700.095 97.3473 687.242 145.334C679.53 165.899 671.817 189.892 664.105 217.313C657.25 244.734 652.109 265.728 648.681 280.295C646.111 294.862 641.398 321.426 634.542 359.987C627.687 397.69 623.403 419.969 621.689 426.825C604.551 533.937 583.985 689.464 559.992 893.406C586.556 800.861 616.976 727.167 651.252 672.326C663.248 648.333 673.531 629.481 682.1 615.771C690.669 602.06 703.094 587.065 719.375 570.784C736.513 554.502 754.508 542.506 773.36 534.794C837.627 510.801 883.9 512.943 912.177 541.221C929.315 559.215 937.884 581.066 937.884 606.773C938.741 632.48 928.887 652.617 908.321 667.185C868.047 689.464 806.779 696.748 724.517 689.035C738.227 693.32 748.51 697.176 755.365 700.604C763.077 703.174 772.503 707.459 783.643 713.457C795.639 719.455 804.637 726.739 810.635 735.308C817.49 743.877 821.775 753.731 823.488 764.871C824.345 769.155 825.631 777.296 827.344 789.293C829.915 801.289 832.057 810.287 833.771 816.285C835.485 822.283 837.627 829.995 840.198 839.421C843.626 848.847 847.482 856.987 851.766 863.843C856.907 869.841 862.906 875.839 869.761 881.838C891.183 902.403 926.745 899.832 976.445 874.125C991.012 867.27 1004.29 858.701 1016.29 848.418C1029.14 838.136 1041.14 825.711 1052.28 811.143C1064.28 795.719 1073.7 783.294 1080.56 773.868C1087.41 763.586 1096.84 748.59 1108.84 728.881C1120.83 709.173 1129.4 695.891 1134.54 689.035C1161.96 634.194 1189.38 579.352 1216.8 524.511C1174.82 629.909 1147.82 710.458 1135.83 766.156C1130.69 782.437 1128.54 801.289 1129.4 822.712C1130.26 844.134 1136.68 861.272 1148.68 874.125C1157.25 884.408 1167.96 891.263 1180.81 894.691C1194.53 898.119 1207.38 897.69 1219.38 893.406C1271.65 877.981 1314.06 847.99 1346.62 803.431C1365.48 777.724 1390.75 739.592 1422.46 689.035M1275.93 367.699C1263.93 367.699 1256.65 362.129 1254.08 350.989C1252.37 338.993 1253.65 328.71 1257.94 320.141C1261.37 313.272 1272.5 314.999 1283.64 314.999C1294.78 314.999 1303.74 321.228 1304.21 329.138M1804.21 655.616C1782.79 595.634 1756.65 558.358 1725.8 543.791C1696.67 526.653 1664.11 518.513 1628.12 519.37C1592.13 519.37 1559.99 528.796 1531.71 547.647C1505.15 563.071 1482.44 583.637 1463.59 609.344C1444.74 634.194 1431.89 661.615 1425.03 691.606C1419.03 720.741 1419.89 750.304 1427.6 780.295C1436.17 809.43 1450.74 834.28 1471.3 854.845C1503.87 882.266 1543.28 895.976 1589.56 895.976C1635.83 895.976 1675.67 882.266 1709.09 854.845C1722.8 841.135 1732.66 831.281 1738.66 825.282C1744.65 819.284 1751.51 810.715 1759.22 799.575C1767.79 788.436 1774.65 776.868 1779.79 764.871M1835.06 523.226C1811.92 618.341 1796.5 701.032 1788.78 771.298C1781.07 825.282 1791.35 862.557 1819.63 883.123C1841.05 900.261 1874.47 897.69 1919.89 875.411C1959.31 856.559 1997.01 819.712 2033 764.871";
112
111
  const path = Skia.Path.MakeFromSVGString(svgPath)!;
113
112
  expect(path).toBeTruthy();