react-native-nitro-xlsx 0.2.5 → 0.2.6

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 (395) hide show
  1. package/NitroXlsx.podspec +26 -27
  2. package/Package.swift +31 -10
  3. package/README.md +1 -1
  4. package/android/CMakeLists.txt +20 -27
  5. package/package.json +2 -2
  6. package/scripts/run-cpp-tests.sh +1 -1
  7. package/thirdparty/OpenXLSX/.clang-format +118 -0
  8. package/thirdparty/OpenXLSX/.clang-tidy +28 -0
  9. package/thirdparty/OpenXLSX/.gitignore +130 -0
  10. package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_before_XMLNode_wrappers +46 -0
  11. package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespace_and_stripping +49 -0
  12. package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespace_char_support +49 -0
  13. package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespace_support +49 -0
  14. package/thirdparty/OpenXLSX/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespaced_name_disabled +49 -0
  15. package/thirdparty/OpenXLSX/Benchmarks/2024-08-11-benchmarks_post-XLCellIterator-Rework +46 -0
  16. package/thirdparty/OpenXLSX/Benchmarks/2024-08-14-benchmarks_post-default-row-column-style-support +46 -0
  17. package/thirdparty/OpenXLSX/Benchmarks/2024-09-02-benchmarks +46 -0
  18. package/thirdparty/OpenXLSX/Benchmarks/2024-12-19-benchmarks +46 -0
  19. package/thirdparty/OpenXLSX/Benchmarks/2024-12-30-benchmarks-post-XLSharedStrings-by-ref +46 -0
  20. package/thirdparty/OpenXLSX/Benchmarks/2025-01-09-benchmarks-post-conditionalFormatsAndSheetProtection +46 -0
  21. package/thirdparty/OpenXLSX/Benchmarks/2025-01-10-benchmarks-post-XLCellValue-bugfix +46 -0
  22. package/thirdparty/OpenXLSX/Benchmarks/2025-01-31-benchmarks-post-XLComments-implementation +46 -0
  23. package/thirdparty/OpenXLSX/Benchmarks/2025-02-02-benchmarks-post-XLRowIterator-Rework +46 -0
  24. package/thirdparty/OpenXLSX/Benchmarks/2025-07-20-benchmarks-after-hiding-pugixml-internals +46 -0
  25. package/thirdparty/OpenXLSX/Benchmarks/2025-08-29-benchmarks-after-code-review-with-libzip +46 -0
  26. package/thirdparty/OpenXLSX/Benchmarks/Benchmark.cpp +249 -0
  27. package/thirdparty/OpenXLSX/Benchmarks/CMakeLists.txt +19 -0
  28. package/thirdparty/OpenXLSX/CMakeLists.txt +466 -0
  29. package/thirdparty/OpenXLSX/Documentation/CMakeLists.txt +31 -0
  30. package/thirdparty/OpenXLSX/Documentation/Doxyfile.in +2471 -0
  31. package/thirdparty/OpenXLSX/Documentation/DoxygenLayout.xml +194 -0
  32. package/thirdparty/OpenXLSX/Documentation/customdoxygen.css +1355 -0
  33. package/thirdparty/OpenXLSX/Examples/CMakeLists.txt +103 -0
  34. package/thirdparty/OpenXLSX/Examples/Demo1.cpp +279 -0
  35. package/thirdparty/OpenXLSX/Examples/Demo10.cpp +545 -0
  36. package/thirdparty/OpenXLSX/Examples/Demo1A.cpp +137 -0
  37. package/thirdparty/OpenXLSX/Examples/Demo2.cpp +65 -0
  38. package/thirdparty/OpenXLSX/Examples/Demo3.cpp +89 -0
  39. package/thirdparty/OpenXLSX/Examples/Demo4.cpp +86 -0
  40. package/thirdparty/OpenXLSX/Examples/Demo5.cpp +77 -0
  41. package/thirdparty/OpenXLSX/Examples/Demo6.cpp +103 -0
  42. package/thirdparty/OpenXLSX/Examples/Demo7.cpp +79 -0
  43. package/thirdparty/OpenXLSX/Examples/Demo8.cpp +117 -0
  44. package/thirdparty/OpenXLSX/Examples/Demo9.cpp +363 -0
  45. package/thirdparty/OpenXLSX/Examples/cmake/FindLIBZIP.cmake +61 -0
  46. package/thirdparty/OpenXLSX/Examples/external/CustomZip/CustomZip.hpp +256 -0
  47. package/thirdparty/OpenXLSX/LICENSE.md +29 -0
  48. package/thirdparty/OpenXLSX/Makefile.GNU +530 -0
  49. package/thirdparty/OpenXLSX/Notes/TBDs.txt +16 -0
  50. package/thirdparty/OpenXLSX/Notes/confirmed-TBCs.txt +8 -0
  51. package/thirdparty/OpenXLSX/Notes/styles-missing-support.xml +12 -0
  52. package/thirdparty/OpenXLSX/Notes/todo-list.txt +108 -0
  53. package/thirdparty/OpenXLSX/OpenXLSX/CMakeLists.txt +631 -0
  54. package/thirdparty/OpenXLSX/OpenXLSX/OpenXLSX.hpp +63 -0
  55. package/thirdparty/OpenXLSX/OpenXLSX/OpenXLSXConfig.cmake +11 -0
  56. package/thirdparty/OpenXLSX/OpenXLSX/cmake/bundle_static_library.cmake +198 -0
  57. package/thirdparty/OpenXLSX/OpenXLSX/cmake/patch_pkg_config.cmake +69 -0
  58. package/thirdparty/OpenXLSX/OpenXLSX/headers/IZipArchive.hpp +361 -0
  59. package/thirdparty/OpenXLSX/OpenXLSX/headers/OpenXLSX-Exports.hpp +12 -0
  60. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCell.hpp +367 -0
  61. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCellIterator.hpp +252 -0
  62. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCellRange.hpp +223 -0
  63. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCellReference.hpp +317 -0
  64. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCellValue.hpp +793 -0
  65. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLColor.hpp +232 -0
  66. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLColumn.hpp +159 -0
  67. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLCommandQuery.hpp +228 -0
  68. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLComments.hpp +270 -0
  69. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLConstants.hpp +18 -0
  70. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLContentTypes.hpp +264 -0
  71. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLDateTime.hpp +175 -0
  72. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLDocument.hpp +505 -0
  73. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLDrawing.hpp +452 -0
  74. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLException.hpp +161 -0
  75. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLFormula.hpp +375 -0
  76. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLIterator.hpp +40 -0
  77. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLMergeCells.hpp +216 -0
  78. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLProperties.hpp +348 -0
  79. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLRelationships.hpp +348 -0
  80. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLRow.hpp +721 -0
  81. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLRowData.hpp +488 -0
  82. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLSharedStrings.hpp +204 -0
  83. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLSheet.hpp +1640 -0
  84. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLStyles.hpp +2390 -0
  85. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLTables.hpp +132 -0
  86. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLWorkbook.hpp +404 -0
  87. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLXmlData.hpp +283 -0
  88. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLXmlFile.hpp +194 -0
  89. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLXmlParser.hpp +282 -0
  90. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLXmlParserForwardDeclarations.hpp +85 -0
  91. package/thirdparty/OpenXLSX/OpenXLSX/headers/XLZipArchive.hpp +232 -0
  92. package/thirdparty/OpenXLSX/OpenXLSX/headers/detail/LibZip.hpp +447 -0
  93. package/thirdparty/OpenXLSX/OpenXLSX/headers/detail/OpenXLSXFileSystemTools.hpp +207 -0
  94. package/thirdparty/OpenXLSX/OpenXLSX/headers/detail/Zippy.hpp +1375 -0
  95. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCell.cpp +340 -0
  96. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCellIterator.cpp +427 -0
  97. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCellRange.cpp +221 -0
  98. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCellReference.cpp +408 -0
  99. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLCellValue.cpp +519 -0
  100. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLColor.cpp +202 -0
  101. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLColumn.cpp +141 -0
  102. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLComments.cpp +637 -0
  103. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLContentTypes.cpp +329 -0
  104. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLDateTime.cpp +269 -0
  105. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLDocument.cpp +1678 -0
  106. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLDrawing.cpp +784 -0
  107. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLFormula.cpp +201 -0
  108. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLMergeCells.cpp +357 -0
  109. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLProperties.cpp +810 -0
  110. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLRelationships.cpp +529 -0
  111. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLRow.cpp +918 -0
  112. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLRowData.cpp +508 -0
  113. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLSharedStrings.cpp +220 -0
  114. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLSheet.cpp +1970 -0
  115. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLStyles.cpp +3014 -0
  116. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLTables.cpp +125 -0
  117. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLWorkbook.cpp +784 -0
  118. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLXmlData.cpp +247 -0
  119. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLXmlFile.cpp +160 -0
  120. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLXmlParser.cpp +261 -0
  121. package/thirdparty/OpenXLSX/OpenXLSX/sources/XLZipArchive.cpp +266 -0
  122. package/thirdparty/OpenXLSX/OpenXLSX/sources/utilities/XLUtilities.hpp +478 -0
  123. package/thirdparty/OpenXLSX/README.md +1279 -0
  124. package/thirdparty/OpenXLSX/Scripts/cmake-cleanup.sh +102 -0
  125. package/thirdparty/OpenXLSX/Scripts/compile.sh +23 -0
  126. package/thirdparty/OpenXLSX/Scripts/demos-cleanup.sh +25 -0
  127. package/thirdparty/OpenXLSX/Scripts/demos-run-all.sh +60 -0
  128. package/thirdparty/OpenXLSX/Scripts/guarded-xml-format.sh +47 -0
  129. package/thirdparty/OpenXLSX/Scripts/make-gnu.sh +11 -0
  130. package/thirdparty/OpenXLSX/Scripts/uninstall-manifest.sh +48 -0
  131. package/thirdparty/OpenXLSX/Scripts/xml-format-all.sh +19 -0
  132. package/thirdparty/OpenXLSX/Scripts/xml-format.sh +38 -0
  133. package/thirdparty/OpenXLSX/Tests/CMakeLists.txt +37 -0
  134. package/thirdparty/OpenXLSX/Tests/catch/catch.hpp +17799 -0
  135. package/thirdparty/OpenXLSX/Tests/catch/catch_reporter_automake.hpp +68 -0
  136. package/thirdparty/OpenXLSX/Tests/catch/catch_reporter_sonarqube.hpp +182 -0
  137. package/thirdparty/OpenXLSX/Tests/catch/catch_reporter_tap.hpp +278 -0
  138. package/thirdparty/OpenXLSX/Tests/catch/catch_reporter_teamcity.hpp +212 -0
  139. package/thirdparty/OpenXLSX/Tests/main.cpp +55 -0
  140. package/thirdparty/OpenXLSX/Tests/testXLCell.cpp +176 -0
  141. package/thirdparty/OpenXLSX/Tests/testXLCellRange.cpp +180 -0
  142. package/thirdparty/OpenXLSX/Tests/testXLCellReference.cpp +160 -0
  143. package/thirdparty/OpenXLSX/Tests/testXLCellValue.cpp +366 -0
  144. package/thirdparty/OpenXLSX/Tests/testXLCellValueProxy.cpp +255 -0
  145. package/thirdparty/OpenXLSX/Tests/testXLColor.cpp +75 -0
  146. package/thirdparty/OpenXLSX/Tests/testXLDateTime.cpp +229 -0
  147. package/thirdparty/OpenXLSX/Tests/testXLDocument.cpp +197 -0
  148. package/thirdparty/OpenXLSX/Tests/testXLFormula.cpp +131 -0
  149. package/thirdparty/OpenXLSX/Tests/testXLRow.cpp +597 -0
  150. package/thirdparty/OpenXLSX/Tests/testXLSheet.cpp +77 -0
  151. package/thirdparty/OpenXLSX/Tests/ziptest-with-libs.cpp +88 -0
  152. package/thirdparty/OpenXLSX/Tests/ziptest.cpp +735 -0
  153. package/thirdparty/OpenXLSX/cmake/get-git-HEAD-ID.cmake +45 -0
  154. package/thirdparty/OpenXLSX/cmake/libopenxlsxCPackOptions.cmake.in +20 -0
  155. package/thirdparty/OpenXLSX/cmake/manage_dependency.cmake +813 -0
  156. package/thirdparty/OpenXLSX/cmake/recursive_library_type_test.cmake +52 -0
  157. package/thirdparty/OpenXLSX/gnu-make-crutch/OpenXLSX-Exports-shared.hpp +42 -0
  158. package/thirdparty/OpenXLSX/gnu-make-crutch/OpenXLSX-Exports-static.hpp +42 -0
  159. package/thirdparty/OpenXLSX/vcpkg.json +24 -0
  160. package/thirdparty/README.md +42 -0
  161. package/thirdparty/miniz/.clang-format +47 -0
  162. package/thirdparty/miniz/.travis.yml +2 -0
  163. package/thirdparty/miniz/CMakeLists.txt +333 -0
  164. package/thirdparty/miniz/CMakePresets.json +31 -0
  165. package/thirdparty/miniz/ChangeLog.md +272 -0
  166. package/thirdparty/miniz/Config.cmake.in +1 -0
  167. package/thirdparty/miniz/LICENSE +22 -0
  168. package/thirdparty/miniz/amalgamate.sh +57 -0
  169. package/thirdparty/miniz/examples/example1.c +105 -0
  170. package/thirdparty/miniz/examples/example2.c +164 -0
  171. package/thirdparty/miniz/examples/example3.c +269 -0
  172. package/thirdparty/miniz/examples/example4.c +102 -0
  173. package/thirdparty/miniz/examples/example5.c +327 -0
  174. package/thirdparty/miniz/examples/example6.c +189 -0
  175. package/thirdparty/miniz/meson.build +21 -0
  176. package/thirdparty/miniz/miniz.c +646 -0
  177. package/thirdparty/miniz/miniz.h +615 -0
  178. package/thirdparty/miniz/miniz.pc.in +13 -0
  179. package/thirdparty/miniz/miniz_common.h +89 -0
  180. package/thirdparty/miniz/miniz_export.h +20 -0
  181. package/thirdparty/miniz/miniz_tdef.c +1602 -0
  182. package/thirdparty/miniz/miniz_tdef.h +199 -0
  183. package/thirdparty/miniz/miniz_tinfl.c +778 -0
  184. package/thirdparty/miniz/miniz_tinfl.h +150 -0
  185. package/thirdparty/miniz/miniz_zip.c +4895 -0
  186. package/thirdparty/miniz/miniz_zip.h +454 -0
  187. package/thirdparty/miniz/readme.md +46 -0
  188. package/thirdparty/miniz/test.sh +36 -0
  189. package/thirdparty/miniz/tests/add_in_place_fuzzer.c +87 -0
  190. package/thirdparty/miniz/tests/catch_amalgamated.cpp +10795 -0
  191. package/thirdparty/miniz/tests/catch_amalgamated.hpp +13143 -0
  192. package/thirdparty/miniz/tests/checksum_fuzzer.c +26 -0
  193. package/thirdparty/miniz/tests/compress_fuzzer.c +91 -0
  194. package/thirdparty/miniz/tests/flush_fuzzer.c +88 -0
  195. package/thirdparty/miniz/tests/fuzz_main.c +55 -0
  196. package/thirdparty/miniz/tests/large_fuzzer.c +133 -0
  197. package/thirdparty/miniz/tests/main.cpp +185 -0
  198. package/thirdparty/miniz/tests/miniz_tdefl_fuzzer.cc +115 -0
  199. package/thirdparty/miniz/tests/miniz_tester.cpp +1881 -0
  200. package/thirdparty/miniz/tests/miniz_zip_validate_fuzzer.cc +71 -0
  201. package/thirdparty/miniz/tests/miniz_zip_writer_fuzzer.cc +96 -0
  202. package/thirdparty/miniz/tests/ossfuzz.sh +48 -0
  203. package/thirdparty/miniz/tests/small_fuzzer.c +126 -0
  204. package/thirdparty/miniz/tests/timer.cpp +152 -0
  205. package/thirdparty/miniz/tests/timer.h +40 -0
  206. package/thirdparty/miniz/tests/uncompress2_fuzzer.c +21 -0
  207. package/thirdparty/miniz/tests/uncompress_fuzzer.c +30 -0
  208. package/thirdparty/miniz/tests/zip.dict +9 -0
  209. package/thirdparty/miniz/tests/zip_fuzzer.c +63 -0
  210. package/thirdparty/pugixml/.codecov.yml +7 -0
  211. package/thirdparty/pugixml/.gitattributes +1 -0
  212. package/thirdparty/pugixml/CMakeLists.txt +330 -0
  213. package/thirdparty/pugixml/LICENSE.md +24 -0
  214. package/thirdparty/pugixml/Makefile +98 -0
  215. package/thirdparty/pugixml/README.md +81 -0
  216. package/thirdparty/pugixml/SECURITY.md +9 -0
  217. package/thirdparty/pugixml/appveyor.yml +50 -0
  218. package/thirdparty/pugixml/docs/config.adoc +7 -0
  219. package/thirdparty/pugixml/docs/images/dom_tree.png +0 -0
  220. package/thirdparty/pugixml/docs/images/vs2005_link1.png +0 -0
  221. package/thirdparty/pugixml/docs/images/vs2005_link2.png +0 -0
  222. package/thirdparty/pugixml/docs/images/vs2005_pch1.png +0 -0
  223. package/thirdparty/pugixml/docs/images/vs2005_pch2.png +0 -0
  224. package/thirdparty/pugixml/docs/images/vs2005_pch3.png +0 -0
  225. package/thirdparty/pugixml/docs/images/vs2005_pch4.png +0 -0
  226. package/thirdparty/pugixml/docs/images/vs2010_link1.png +0 -0
  227. package/thirdparty/pugixml/docs/images/vs2010_link2.png +0 -0
  228. package/thirdparty/pugixml/docs/manual.adoc +3326 -0
  229. package/thirdparty/pugixml/docs/manual.html +6395 -0
  230. package/thirdparty/pugixml/docs/quickstart.adoc +287 -0
  231. package/thirdparty/pugixml/docs/quickstart.html +1107 -0
  232. package/thirdparty/pugixml/docs/samples/character.xml +8 -0
  233. package/thirdparty/pugixml/docs/samples/custom_memory_management.cpp +27 -0
  234. package/thirdparty/pugixml/docs/samples/include.cpp +64 -0
  235. package/thirdparty/pugixml/docs/samples/load_error_handling.cpp +33 -0
  236. package/thirdparty/pugixml/docs/samples/load_file.cpp +16 -0
  237. package/thirdparty/pugixml/docs/samples/load_memory.cpp +66 -0
  238. package/thirdparty/pugixml/docs/samples/load_options.cpp +30 -0
  239. package/thirdparty/pugixml/docs/samples/load_stream.cpp +97 -0
  240. package/thirdparty/pugixml/docs/samples/modify_add.cpp +29 -0
  241. package/thirdparty/pugixml/docs/samples/modify_base.cpp +43 -0
  242. package/thirdparty/pugixml/docs/samples/modify_remove.cpp +27 -0
  243. package/thirdparty/pugixml/docs/samples/save_custom_writer.cpp +116 -0
  244. package/thirdparty/pugixml/docs/samples/save_declaration.cpp +27 -0
  245. package/thirdparty/pugixml/docs/samples/save_file.cpp +17 -0
  246. package/thirdparty/pugixml/docs/samples/save_options.cpp +48 -0
  247. package/thirdparty/pugixml/docs/samples/save_stream.cpp +18 -0
  248. package/thirdparty/pugixml/docs/samples/save_subtree.cpp +26 -0
  249. package/thirdparty/pugixml/docs/samples/text.cpp +35 -0
  250. package/thirdparty/pugixml/docs/samples/transitions.xml +7 -0
  251. package/thirdparty/pugixml/docs/samples/traverse_base.cpp +51 -0
  252. package/thirdparty/pugixml/docs/samples/traverse_iter.cpp +27 -0
  253. package/thirdparty/pugixml/docs/samples/traverse_predicate.cpp +48 -0
  254. package/thirdparty/pugixml/docs/samples/traverse_rangefor.cpp +32 -0
  255. package/thirdparty/pugixml/docs/samples/traverse_walker.cpp +35 -0
  256. package/thirdparty/pugixml/docs/samples/tree.xml +12 -0
  257. package/thirdparty/pugixml/docs/samples/weekly-shift_jis.xml +78 -0
  258. package/thirdparty/pugixml/docs/samples/weekly-utf-16.xml +0 -0
  259. package/thirdparty/pugixml/docs/samples/weekly-utf-8.xml +78 -0
  260. package/thirdparty/pugixml/docs/samples/xgconsole.xml +12 -0
  261. package/thirdparty/pugixml/docs/samples/xpath_error.cpp +43 -0
  262. package/thirdparty/pugixml/docs/samples/xpath_query.cpp +36 -0
  263. package/thirdparty/pugixml/docs/samples/xpath_select.cpp +28 -0
  264. package/thirdparty/pugixml/docs/samples/xpath_variables.cpp +38 -0
  265. package/thirdparty/pugixml/readme.txt +50 -0
  266. package/thirdparty/pugixml/scripts/archive.py +54 -0
  267. package/thirdparty/pugixml/scripts/cocoapods_push.sh +4 -0
  268. package/thirdparty/pugixml/scripts/natvis/pugixml.natvis +77 -0
  269. package/thirdparty/pugixml/scripts/natvis/pugixml_compact.natvis +506 -0
  270. package/thirdparty/pugixml/scripts/nuget/build/native/pugixml-propertiesui.xml +17 -0
  271. package/thirdparty/pugixml/scripts/nuget/build/native/pugixml.targets +28 -0
  272. package/thirdparty/pugixml/scripts/nuget/pugixml.nuspec +20 -0
  273. package/thirdparty/pugixml/scripts/nuget_build.ps1 +60 -0
  274. package/thirdparty/pugixml/scripts/premake4.lua +92 -0
  275. package/thirdparty/pugixml/scripts/pugixml-config.cmake.in +12 -0
  276. package/thirdparty/pugixml/scripts/pugixml.pc.in +11 -0
  277. package/thirdparty/pugixml/scripts/pugixml.podspec +14 -0
  278. package/thirdparty/pugixml/scripts/pugixml.xcodeproj/project.pbxproj +212 -0
  279. package/thirdparty/pugixml/scripts/pugixml_airplay.mkf +13 -0
  280. package/thirdparty/pugixml/scripts/pugixml_codeblocks.cbp +44 -0
  281. package/thirdparty/pugixml/scripts/pugixml_codelite.project +56 -0
  282. package/thirdparty/pugixml/scripts/pugixml_dll.rc +45 -0
  283. package/thirdparty/pugixml/scripts/pugixml_vs2005.vcproj +343 -0
  284. package/thirdparty/pugixml/scripts/pugixml_vs2005_static.vcproj +343 -0
  285. package/thirdparty/pugixml/scripts/pugixml_vs2008.vcproj +339 -0
  286. package/thirdparty/pugixml/scripts/pugixml_vs2008_static.vcproj +339 -0
  287. package/thirdparty/pugixml/scripts/pugixml_vs2010.vcxproj +191 -0
  288. package/thirdparty/pugixml/scripts/pugixml_vs2010_static.vcxproj +191 -0
  289. package/thirdparty/pugixml/scripts/pugixml_vs2013.vcxproj +199 -0
  290. package/thirdparty/pugixml/scripts/pugixml_vs2013_static.vcxproj +199 -0
  291. package/thirdparty/pugixml/scripts/pugixml_vs2015.vcxproj +172 -0
  292. package/thirdparty/pugixml/scripts/pugixml_vs2015_static.vcxproj +176 -0
  293. package/thirdparty/pugixml/scripts/pugixml_vs2017.vcxproj +172 -0
  294. package/thirdparty/pugixml/scripts/pugixml_vs2017_static.vcxproj +176 -0
  295. package/thirdparty/pugixml/scripts/pugixml_vs2019.vcxproj +176 -0
  296. package/thirdparty/pugixml/scripts/pugixml_vs2019_static.vcxproj +180 -0
  297. package/thirdparty/pugixml/scripts/pugixml_vs2022.vcxproj +176 -0
  298. package/thirdparty/pugixml/scripts/pugixml_vs2022_static.vcxproj +180 -0
  299. package/thirdparty/pugixml/scripts/pugixml_vs2026.vcxproj +176 -0
  300. package/thirdparty/pugixml/scripts/pugixml_vs2026_static.vcxproj +180 -0
  301. package/thirdparty/pugixml/scripts/sbom.cdx.json +47 -0
  302. package/thirdparty/pugixml/src/pugiconfig.hpp +81 -0
  303. package/thirdparty/pugixml/src/pugixml.cpp +13776 -0
  304. package/thirdparty/pugixml/src/pugixml.hpp +1604 -0
  305. package/thirdparty/pugixml/tests/allocator.cpp +175 -0
  306. package/thirdparty/pugixml/tests/allocator.hpp +10 -0
  307. package/thirdparty/pugixml/tests/autotest-appveyor.ps1 +93 -0
  308. package/thirdparty/pugixml/tests/cmake-appveyor.ps1 +57 -0
  309. package/thirdparty/pugixml/tests/data/empty.xml +0 -0
  310. package/thirdparty/pugixml/tests/data/large.xml +1 -0
  311. package/thirdparty/pugixml/tests/data/latintest_latin1.xml +1 -0
  312. package/thirdparty/pugixml/tests/data/latintest_utf8.xml +1 -0
  313. package/thirdparty/pugixml/tests/data/multiline.xml +3 -0
  314. package/thirdparty/pugixml/tests/data/small.xml +1 -0
  315. package/thirdparty/pugixml/tests/data/truncation.xml +19 -0
  316. package/thirdparty/pugixml/tests/data/utftest_utf16_be.xml +0 -0
  317. package/thirdparty/pugixml/tests/data/utftest_utf16_be_bom.xml +0 -0
  318. package/thirdparty/pugixml/tests/data/utftest_utf16_be_clean.xml +0 -0
  319. package/thirdparty/pugixml/tests/data/utftest_utf16_be_nodecl.xml +0 -0
  320. package/thirdparty/pugixml/tests/data/utftest_utf16_le.xml +0 -0
  321. package/thirdparty/pugixml/tests/data/utftest_utf16_le_bom.xml +0 -0
  322. package/thirdparty/pugixml/tests/data/utftest_utf16_le_clean.xml +0 -0
  323. package/thirdparty/pugixml/tests/data/utftest_utf16_le_nodecl.xml +0 -0
  324. package/thirdparty/pugixml/tests/data/utftest_utf32_be.xml +0 -0
  325. package/thirdparty/pugixml/tests/data/utftest_utf32_be_bom.xml +0 -0
  326. package/thirdparty/pugixml/tests/data/utftest_utf32_be_clean.xml +0 -0
  327. package/thirdparty/pugixml/tests/data/utftest_utf32_be_nodecl.xml +0 -0
  328. package/thirdparty/pugixml/tests/data/utftest_utf32_le.xml +0 -0
  329. package/thirdparty/pugixml/tests/data/utftest_utf32_le_bom.xml +0 -0
  330. package/thirdparty/pugixml/tests/data/utftest_utf32_le_clean.xml +0 -0
  331. package/thirdparty/pugixml/tests/data/utftest_utf32_le_nodecl.xml +0 -0
  332. package/thirdparty/pugixml/tests/data/utftest_utf8.xml +87 -0
  333. package/thirdparty/pugixml/tests/data/utftest_utf8_bom.xml +87 -0
  334. package/thirdparty/pugixml/tests/data/utftest_utf8_clean.xml +84 -0
  335. package/thirdparty/pugixml/tests/data/utftest_utf8_nodecl.xml +86 -0
  336. package/thirdparty/pugixml/tests/data//321/202/320/265/321/201/321/202.xml +1 -0
  337. package/thirdparty/pugixml/tests/data_fuzz_parse/basic.xml +1 -0
  338. package/thirdparty/pugixml/tests/data_fuzz_parse/doctype.xml +1 -0
  339. package/thirdparty/pugixml/tests/data_fuzz_parse/refs.xml +1 -0
  340. package/thirdparty/pugixml/tests/data_fuzz_parse/types.xml +1 -0
  341. package/thirdparty/pugixml/tests/data_fuzz_parse/utf16.xml +0 -0
  342. package/thirdparty/pugixml/tests/data_fuzz_parse/utf32.xml +0 -0
  343. package/thirdparty/pugixml/tests/data_fuzz_xpath/basic.xpath +1 -0
  344. package/thirdparty/pugixml/tests/data_fuzz_xpath/functions.xpath +1 -0
  345. package/thirdparty/pugixml/tests/data_fuzz_xpath/math.xpath +1 -0
  346. package/thirdparty/pugixml/tests/data_fuzz_xpath/path.xpath +1 -0
  347. package/thirdparty/pugixml/tests/data_fuzz_xpath/predicate.xpath +1 -0
  348. package/thirdparty/pugixml/tests/fuzz_parse.cpp +14 -0
  349. package/thirdparty/pugixml/tests/fuzz_parse.dict +72 -0
  350. package/thirdparty/pugixml/tests/fuzz_setup.sh +11 -0
  351. package/thirdparty/pugixml/tests/fuzz_xpath.cpp +46 -0
  352. package/thirdparty/pugixml/tests/fuzz_xpath.dict +72 -0
  353. package/thirdparty/pugixml/tests/helpers.hpp +114 -0
  354. package/thirdparty/pugixml/tests/main.cpp +218 -0
  355. package/thirdparty/pugixml/tests/test.cpp +220 -0
  356. package/thirdparty/pugixml/tests/test.hpp +175 -0
  357. package/thirdparty/pugixml/tests/test_compact.cpp +150 -0
  358. package/thirdparty/pugixml/tests/test_deprecated.cpp +25 -0
  359. package/thirdparty/pugixml/tests/test_document.cpp +1910 -0
  360. package/thirdparty/pugixml/tests/test_dom_modify.cpp +2122 -0
  361. package/thirdparty/pugixml/tests/test_dom_text.cpp +601 -0
  362. package/thirdparty/pugixml/tests/test_dom_traverse.cpp +1481 -0
  363. package/thirdparty/pugixml/tests/test_header_guard.cpp +3 -0
  364. package/thirdparty/pugixml/tests/test_header_iosfwd_1.cpp +3 -0
  365. package/thirdparty/pugixml/tests/test_header_iosfwd_2.cpp +3 -0
  366. package/thirdparty/pugixml/tests/test_header_iostream_1.cpp +3 -0
  367. package/thirdparty/pugixml/tests/test_header_iostream_2.cpp +3 -0
  368. package/thirdparty/pugixml/tests/test_header_only_1.cpp +21 -0
  369. package/thirdparty/pugixml/tests/test_header_only_2.cpp +21 -0
  370. package/thirdparty/pugixml/tests/test_header_string_1.cpp +3 -0
  371. package/thirdparty/pugixml/tests/test_header_string_2.cpp +3 -0
  372. package/thirdparty/pugixml/tests/test_header_string_iostream.cpp +5 -0
  373. package/thirdparty/pugixml/tests/test_memory.cpp +303 -0
  374. package/thirdparty/pugixml/tests/test_parse.cpp +1463 -0
  375. package/thirdparty/pugixml/tests/test_parse_doctype.cpp +366 -0
  376. package/thirdparty/pugixml/tests/test_unicode.cpp +152 -0
  377. package/thirdparty/pugixml/tests/test_version.cpp +5 -0
  378. package/thirdparty/pugixml/tests/test_write.cpp +757 -0
  379. package/thirdparty/pugixml/tests/test_xpath.cpp +833 -0
  380. package/thirdparty/pugixml/tests/test_xpath_api.cpp +646 -0
  381. package/thirdparty/pugixml/tests/test_xpath_functions.cpp +844 -0
  382. package/thirdparty/pugixml/tests/test_xpath_operators.cpp +566 -0
  383. package/thirdparty/pugixml/tests/test_xpath_parse.cpp +428 -0
  384. package/thirdparty/pugixml/tests/test_xpath_paths.cpp +787 -0
  385. package/thirdparty/pugixml/tests/test_xpath_paths_abbrev_w3c.cpp +219 -0
  386. package/thirdparty/pugixml/tests/test_xpath_paths_w3c.cpp +312 -0
  387. package/thirdparty/pugixml/tests/test_xpath_variables.cpp +683 -0
  388. package/thirdparty/pugixml/tests/test_xpath_xalan_1.cpp +411 -0
  389. package/thirdparty/pugixml/tests/test_xpath_xalan_2.cpp +417 -0
  390. package/thirdparty/pugixml/tests/test_xpath_xalan_3.cpp +321 -0
  391. package/thirdparty/pugixml/tests/test_xpath_xalan_4.cpp +300 -0
  392. package/thirdparty/pugixml/tests/test_xpath_xalan_5.cpp +295 -0
  393. package/thirdparty/pugixml/tests/writer_string.cpp +79 -0
  394. package/thirdparty/pugixml/tests/writer_string.hpp +27 -0
  395. package/scripts/prepare-openxlsx.js +0 -126
package/NitroXlsx.podspec CHANGED
@@ -13,27 +13,33 @@ Pod::Spec.new do |s|
13
13
  s.platforms = { :ios => "15.1" }
14
14
  s.source = { :git => "https://github.com/zydbkqf/react-native-nitro-xlsx.git", :tag => "#{s.version}" }
15
15
 
16
+ # OpenXLSX, pugixml and miniz are vendored under thirdparty/ and shipped
17
+ # with the package, so no network access is needed during pod install.
16
18
  s.exclude_files = [
17
19
  "cpp/tests/**/*",
18
- "OpenXLSX/ThirdParty/miniz/tests/**/*",
19
- "OpenXLSX/ThirdParty/miniz/examples/**/*",
20
+ "thirdparty/miniz/tests/**/*",
21
+ "thirdparty/miniz/examples/**/*",
22
+ "thirdparty/pugixml/tests/**/*",
23
+ "thirdparty/OpenXLSX/Tests/**/*",
24
+ "thirdparty/OpenXLSX/Examples/**/*",
25
+ "thirdparty/OpenXLSX/Benchmarks/**/*",
20
26
  ]
21
27
 
22
28
  s.source_files = [
23
29
  "cpp/**/*.{h,hpp,cpp}",
24
30
  "ios/**/*.{h,hpp,mm}",
25
- "OpenXLSX/OpenXLSX/**/*.hpp",
26
- "OpenXLSX/OpenXLSX/**/*.cpp",
27
- "OpenXLSX/ThirdParty/pugixml/src/**/*.hpp",
28
- "OpenXLSX/ThirdParty/pugixml/src/**/*.cpp",
29
- "OpenXLSX/OpenXLSX/headers/detail/Zippy.hpp",
30
- "OpenXLSX/ThirdParty/miniz/**/*.h",
31
- "OpenXLSX/ThirdParty/miniz/**/*.c",
31
+ "thirdparty/OpenXLSX/OpenXLSX/**/*.hpp",
32
+ "thirdparty/OpenXLSX/OpenXLSX/**/*.cpp",
33
+ "thirdparty/pugixml/src/**/*.hpp",
34
+ "thirdparty/pugixml/src/**/*.cpp",
35
+ "thirdparty/OpenXLSX/OpenXLSX/headers/detail/Zippy.hpp",
36
+ "thirdparty/miniz/**/*.h",
37
+ "thirdparty/miniz/**/*.c",
32
38
  ]
33
39
 
34
40
  s.private_header_files = [
35
- "OpenXLSX/**/*.hpp",
36
- "OpenXLSX/**/*.h",
41
+ "thirdparty/OpenXLSX/**/*.hpp",
42
+ "thirdparty/OpenXLSX/**/*.h",
37
43
  ]
38
44
 
39
45
  s.dependency "React"
@@ -45,29 +51,22 @@ Pod::Spec.new do |s|
45
51
  "SWIFT_INSTALL_OBJC_HEADER" => "NO",
46
52
  "OTHER_CFLAGS" => "$(inherited) -fmodules",
47
53
  "OTHER_CPLUSPLUSFLAGS" => "$(inherited) -fmodules",
48
- "HEADER_SEARCH_PATHS" => "$(inherited) ${PODS_TARGET_SRCROOT}/OpenXLSX ${PODS_TARGET_SRCROOT}/OpenXLSX/OpenXLSX ${PODS_TARGET_SRCROOT}/OpenXLSX/OpenXLSX/headers ${PODS_TARGET_SRCROOT}/OpenXLSX/ThirdParty/pugixml/src ${PODS_TARGET_SRCROOT}/OpenXLSX/ThirdParty/miniz",
54
+ "HEADER_SEARCH_PATHS" => "$(inherited) ${PODS_TARGET_SRCROOT}/thirdparty/OpenXLSX ${PODS_TARGET_SRCROOT}/thirdparty/OpenXLSX/OpenXLSX ${PODS_TARGET_SRCROOT}/thirdparty/OpenXLSX/OpenXLSX/headers ${PODS_TARGET_SRCROOT}/thirdparty/pugixml/src ${PODS_TARGET_SRCROOT}/thirdparty/miniz",
49
55
  }
50
56
 
51
57
  s.user_target_xcconfig = {
52
58
  "OTHER_CFLAGS" => "$(inherited) -fmodules",
53
59
  "OTHER_CPLUSPLUSFLAGS" => "$(inherited) -fmodules",
54
- "HEADER_SEARCH_PATHS" => "$(inherited) ${PODS_TARGET_SRCROOT}/OpenXLSX ${PODS_TARGET_SRCROOT}/OpenXLSX/OpenXLSX ${PODS_TARGET_SRCROOT}/OpenXLSX/OpenXLSX/headers ${PODS_TARGET_SRCROOT}/OpenXLSX/ThirdParty/pugixml/src ${PODS_TARGET_SRCROOT}/OpenXLSX/ThirdParty/miniz",
60
+ "HEADER_SEARCH_PATHS" => "$(inherited) ${PODS_TARGET_SRCROOT}/thirdparty/OpenXLSX ${PODS_TARGET_SRCROOT}/thirdparty/OpenXLSX/OpenXLSX ${PODS_TARGET_SRCROOT}/thirdparty/OpenXLSX/OpenXLSX/headers ${PODS_TARGET_SRCROOT}/thirdparty/pugixml/src ${PODS_TARGET_SRCROOT}/thirdparty/miniz",
55
61
  }
56
62
 
57
- # Prepare OpenXLSX and its dependencies (pugixml, miniz) via a Node script
58
- # so the same logic can be reused from both CocoaPods and Android CMake.
59
- s.prepare_command = "node #{__dir__}/scripts/prepare-openxlsx.js"
60
-
61
- # Swift Package Manager declaration for React Native 0.87+.
62
- # This exposes NitroXlsx as a local Swift package; the heavy lifting for
63
- # OpenXLSX is still done by the prepare command above.
64
- if ENV['NITRO_XLSX_USE_SPM'] == '1' && defined?(SPM) && SPM.respond_to?(:dependency)
65
- SPM.dependency(s,
66
- url: File.join(__dir__, "."),
67
- requirement: { kind: 'upToNextMajorVersion', minimumVersion: s.version.to_s },
68
- products: ['NitroXlsx']
69
- )
70
- end
63
+ # Swift Package Manager note: this podspec intentionally declares nothing for
64
+ # SPM. React Native 0.88+ drives SwiftPM from `package.json` (`swiftpmConfig`)
65
+ # and `npx react-native spm`, and the manifest lives in Package.swift. That
66
+ # manifest is still a placeholder (it only compiles ios/XlsxCacheDir.mm) and
67
+ # CocoaPods remains the build path for this library until the C++ targets,
68
+ # the vendored thirdparty/ tree and the NitroModules dependency are wired
69
+ # into it.
71
70
 
72
71
  load 'nitrogen/generated/ios/NitroXlsx+autolinking.rb'
73
72
  add_nitrogen_files(s)
package/Package.swift CHANGED
@@ -1,20 +1,39 @@
1
1
  // swift-tools-version: 5.9
2
2
  import PackageDescription
3
3
 
4
- // NOTE: This Package.swift is a Swift Package Manager manifest stub for
5
- // React Native 0.87+ compatibility. The library is still primarily built
6
- // through CocoaPods (NitroXlsx.podspec), where OpenXLSX, pugixml and miniz
7
- // are cloned and compiled from source by scripts/prepare-openxlsx.js.
4
+ // NOTE: This manifest is a placeholder for the Swift Package Manager migration,
5
+ // not the build path used today. CocoaPods (NitroXlsx.podspec) still compiles
6
+ // the library, including the vendored OpenXLSX / pugixml / miniz tree under
7
+ // thirdparty/.
8
8
  //
9
- // The local package reference below lets RN 0.87's spm_dependency helper
10
- // register NitroXlsx in the Pods project when SwiftPM mode is enabled.
11
- // Full SPM-based compilation of the C++ sources is not yet supported —
12
- // ios/XlsxCacheDir.mm is listed so the target has a real source file.
9
+ // It is kept so that (a) the package is syntactically valid and `swift package
10
+ // describe` / `swift build` work, and (b) the eventual migration has a starting
11
+ // point. Today the target only compiles ios/XlsxCacheDir.mm — it exposes
12
+ // getCacheDir / setCacheDir but not the Nitro module itself.
13
+ //
14
+ // Migration target (React Native 0.88+ / nitro-modules 1.x): the package becomes
15
+ // one library product whose targets cover `cpp/`, `ios/XlsxCacheDir.mm` and the
16
+ // thirdparty/ sources, depending on `.product(name: "NitroModules",
17
+ // package: "NitroModules")`, with `swiftpmConfig` in package.json driving
18
+ // autolinking via `npx react-native spm`. The unrelated NITRO_XLSX_USE_SPM env
19
+ // switch that used to live in the podspec has been removed — it was never an
20
+ // upstream concept.
21
+ //
22
+ // Target settings worth knowing:
23
+ // - This is a C-family target, so SwiftPM insists on a public headers
24
+ // directory and defaults it to `include/`, which does not exist here.
25
+ // `publicHeadersPath: "."` points the generated umbrella header at the
26
+ // (header-less) source dir instead of failing to resolve the manifest.
27
+ // - cxxLanguageStandard must match the podspec's CLANG_CXX_LANGUAGE_STANDARD
28
+ // (c++20); SwiftPM defaults to gnu++14 and warns on the nested namespace
29
+ // definitions used by the sources.
13
30
 
14
31
  let package = Package(
15
32
  name: "NitroXlsx",
16
33
  platforms: [
17
- .iOS(.v15)
34
+ // Matches NitroXlsx.podspec (`:ios => "15.1"`). SwiftPM's .v15 only
35
+ // expresses 15.0, so the explicit version string is used instead.
36
+ .iOS("15.1")
18
37
  ],
19
38
  products: [
20
39
  .library(
@@ -27,9 +46,11 @@ let package = Package(
27
46
  name: "NitroXlsx",
28
47
  path: "ios",
29
48
  sources: ["XlsxCacheDir.mm"],
49
+ publicHeadersPath: ".",
30
50
  cxxSettings: [
31
51
  .headerSearchPath("../cpp")
32
52
  ]
33
53
  )
34
- ]
54
+ ],
55
+ cxxLanguageStandard: .cxx20
35
56
  )
package/README.md CHANGED
@@ -29,7 +29,7 @@ npm install react-native-nitro-xlsx
29
29
  yarn add react-native-nitro-xlsx
30
30
  ```
31
31
 
32
- > **Note**: Native dependencies (OpenXlsx) are downloaded from GitHub during the first build. Please make sure you have a stable network connection.
32
+ > **Note**: Native dependencies (OpenXLSX, pugixml and miniz) are vendored under `thirdparty/` and shipped with the package. The first build compiles them from source; no network access is required.
33
33
 
34
34
  ### iOS
35
35
 
@@ -4,33 +4,26 @@ project("NitroXlsx")
4
4
  set(CMAKE_CXX_STANDARD 20)
5
5
  set(CMAKE_CXX_STANDARD_REQUIRED ON)
6
6
 
7
- set(OPENXLSX_DIR ${CMAKE_SOURCE_DIR}/../OpenXLSX)
8
-
9
- # Prepare OpenXLSX and its dependencies (pugixml, miniz) using the same
10
- # Node script that CocoaPods' prepare_command runs on iOS.
11
- find_program(NODE_EXECUTABLE node REQUIRED)
12
- execute_process(
13
- COMMAND ${NODE_EXECUTABLE} ${CMAKE_SOURCE_DIR}/../scripts/prepare-openxlsx.js
14
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/..
15
- RESULT_VARIABLE PREPARE_RESULT
16
- )
17
- if(NOT PREPARE_RESULT EQUAL 0)
18
- message(FATAL_ERROR
19
- "Failed to prepare OpenXLSX dependencies.\n"
20
- "Please ensure Node.js is installed and run:\n"
21
- " node scripts/prepare-openxlsx.js"
22
- )
23
- endif()
24
-
25
- # Verify OpenXLSX is available
26
- if(NOT EXISTS ${OPENXLSX_DIR}/CMakeLists.txt)
27
- message(FATAL_ERROR
28
- "OpenXLSX not found at ${OPENXLSX_DIR}.\n"
29
- "Please manually clone OpenXLSX:\n"
30
- " cd ${CMAKE_SOURCE_DIR}/.. && git clone --depth 1 --branch v0.5.1 https://github.com/troldal/OpenXLSX.git OpenXLSX\n"
31
- "Then clean CMake cache and rebuild."
32
- )
33
- endif()
7
+ set(THIRDPARTY_DIR ${CMAKE_SOURCE_DIR}/../thirdparty)
8
+ set(OPENXLSX_DIR ${THIRDPARTY_DIR}/OpenXLSX)
9
+
10
+ # OpenXLSX, pugixml and miniz are vendored under thirdparty/ so the build
11
+ # never clones anything from GitHub.
12
+ foreach(required_dir OpenXLSX pugixml miniz)
13
+ if(NOT EXISTS ${THIRDPARTY_DIR}/${required_dir})
14
+ message(FATAL_ERROR
15
+ "Vendored dependency '${required_dir}' is missing at ${THIRDPARTY_DIR}/${required_dir}.\n"
16
+ "The thirdparty/ tree is part of the package - reinstall react-native-nitro-xlsx."
17
+ )
18
+ endif()
19
+ endforeach()
20
+
21
+ # Point OpenXLSX's FetchContent lookups at the vendored copies, so
22
+ # manage_dependency() populates them from disk instead of cloning GitHub.
23
+ set(FORCE_FETCH_ALL ON CACHE BOOL "" FORCE)
24
+ set(FETCHCONTENT_SOURCE_DIR_PUGIXML_FETCH ${THIRDPARTY_DIR}/pugixml CACHE PATH "" FORCE)
25
+ set(FETCHCONTENT_SOURCE_DIR_MINIZ_FETCH ${THIRDPARTY_DIR}/miniz CACHE PATH "" FORCE)
26
+ set(FETCHCONTENT_UPDATES_DISCONNECTED ON CACHE BOOL "" FORCE)
34
27
 
35
28
  set(OPENXLSX_BUILD_SAMPLES OFF CACHE BOOL "" FORCE)
36
29
  set(OPENXLSX_BUILD_TESTS OFF CACHE BOOL "" FORCE)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-nitro-xlsx",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "description": "Fast XLSX file reading and writing for React Native using OpenXLSX and Nitro Modules",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/zydbkqf/react-native-nitro-xlsx",
@@ -10,7 +10,6 @@
10
10
  "types": "src/index.ts",
11
11
  "source": "src/index.ts",
12
12
  "scripts": {
13
- "postinstall": "node scripts/prepare-openxlsx.js",
14
13
  "specs": "nitrogen",
15
14
  "test": "jest",
16
15
  "test:cpp": "bash scripts/run-cpp-tests.sh",
@@ -35,6 +34,7 @@
35
34
  "src",
36
35
  "cpp",
37
36
  "!cpp/tests",
37
+ "thirdparty",
38
38
  "android",
39
39
  "ios",
40
40
  "scripts",
@@ -5,7 +5,7 @@ ROOT="$(cd "$(dirname "$0")/.." && pwd)"
5
5
  cd "$ROOT/cpp/tests"
6
6
 
7
7
  if [ -z "${OPENXLSX_PATH:-}" ]; then
8
- OPENXLSX_PATH="$ROOT/OpenXLSX"
8
+ OPENXLSX_PATH="$ROOT/thirdparty/OpenXLSX"
9
9
  fi
10
10
 
11
11
  cmake -B build -DOPENXLSX_PATH="$OPENXLSX_PATH"
@@ -0,0 +1,118 @@
1
+ Language: Cpp
2
+ Standard: c++11
3
+ AccessModifierOffset: -4
4
+ AlignAfterOpenBracket: Align
5
+ AlignConsecutiveAssignments: true
6
+ AlignConsecutiveDeclarations: true
7
+ AlignEscapedNewlines: Left
8
+ AlignOperands: Align
9
+ AlignTrailingComments: true
10
+ AllowAllArgumentsOnNextLine: false
11
+ AllowAllConstructorInitializersOnNextLine: false
12
+ AllowAllParametersOfDeclarationOnNextLine: false
13
+ AllowShortBlocksOnASingleLine: Always
14
+ AllowShortCaseLabelsOnASingleLine: false
15
+ AllowShortEnumsOnASingleLine: true
16
+ AllowShortFunctionsOnASingleLine: All
17
+ AllowShortIfStatementsOnASingleLine: WithoutElse
18
+ AllowShortLambdasOnASingleLine: All
19
+ AllowShortLoopsOnASingleLine: true
20
+ AlwaysBreakAfterReturnType: None
21
+ AlwaysBreakBeforeMultilineStrings: false
22
+ AlwaysBreakTemplateDeclarations: Yes
23
+ BinPackArguments: false
24
+ BinPackParameters: false
25
+ BreakBeforeBraces: Custom
26
+ BraceWrapping:
27
+ AfterCaseLabel: false
28
+ AfterClass: true
29
+ AfterControlStatement: MultiLine
30
+ AfterEnum: false
31
+ AfterFunction: true
32
+ AfterNamespace: true
33
+ AfterObjCDeclaration: false
34
+ AfterStruct: true
35
+ AfterUnion: true
36
+ AfterExternBlock: true
37
+ BeforeCatch: true
38
+ BeforeElse: true
39
+ BeforeLambdaBody: false
40
+ BeforeWhile: true
41
+ IndentBraces: false
42
+ SplitEmptyFunction: false
43
+ SplitEmptyNamespace: true
44
+ SplitEmptyRecord: true
45
+ BreakAfterJavaFieldAnnotations: true
46
+ BreakBeforeBinaryOperators: None
47
+ #BreakBeforeInheritanceComma: true
48
+ BreakBeforeTernaryOperators: true
49
+ BreakConstructorInitializers: BeforeColon
50
+ #BreakConstructorInitializersBeforeComma: false
51
+ BreakInheritanceList: BeforeColon
52
+ BreakStringLiterals: true
53
+ ColumnLimit: 140
54
+ CommentPragmas: '^ IWYU pragma:'
55
+ CompactNamespaces: false
56
+ ConstructorInitializerAllOnOneLineOrOnePerLine: true
57
+ ConstructorInitializerIndentWidth: 4
58
+ ContinuationIndentWidth: 4
59
+ Cpp11BracedListStyle: false
60
+ DeriveLineEnding: false
61
+ DerivePointerAlignment: false
62
+ DisableFormat: false
63
+ ExperimentalAutoDetectBinPacking: true
64
+ FixNamespaceComments: true
65
+ ForEachMacros:
66
+ - foreach
67
+ - Q_FOREACH
68
+ - BOOST_FOREACH
69
+ IncludeBlocks: Preserve
70
+ IncludeCategories:
71
+ - Priority: 2
72
+ Regex: ^"(llvm|llvm-c|clang|clang-c)/
73
+ - Priority: 3
74
+ Regex: ^(<|"(gtest|gmock|isl|json)/)
75
+ - Priority: 1
76
+ Regex: .*
77
+ IncludeIsMainRegex: (Test)?$
78
+ IndentCaseLabels: true
79
+ IndentExternBlock: AfterExternBlock
80
+ IndentGotoLabels: false
81
+ IndentPPDirectives: AfterHash
82
+ IndentWidth: 4
83
+ IndentWrappedFunctionNames: true
84
+ JavaScriptQuotes: Leave
85
+ JavaScriptWrapImports: true
86
+ KeepEmptyLinesAtTheStartOfBlocks: false
87
+ MacroBlockBegin: ''
88
+ MacroBlockEnd: ''
89
+ MaxEmptyLinesToKeep: 1
90
+ NamespaceIndentation: All
91
+ ObjCBlockIndentWidth: 7
92
+ ObjCSpaceAfterProperty: true
93
+ ObjCSpaceBeforeProtocolList: false
94
+ PointerAlignment: Left
95
+ ReflowComments: true
96
+ SortIncludes: true
97
+ SortUsingDeclarations: true
98
+ SpaceAfterCStyleCast: false
99
+ SpaceAfterLogicalNot: false
100
+ SpaceAfterTemplateKeyword: false
101
+ SpaceBeforeAssignmentOperators: true
102
+ SpaceBeforeCpp11BracedList: true
103
+ SpaceBeforeCtorInitializerColon: true
104
+ SpaceBeforeInheritanceColon: true
105
+ SpaceBeforeParens: ControlStatements
106
+ SpaceBeforeRangeBasedForLoopColon: true
107
+ SpaceBeforeSquareBrackets: false
108
+ SpaceInEmptyBlock: false
109
+ SpaceInEmptyParentheses: false
110
+ SpacesBeforeTrailingComments: 4
111
+ SpacesInAngles: false
112
+ SpacesInCStyleCastParentheses: false
113
+ SpacesInConditionalStatement: false
114
+ SpacesInContainerLiterals: false
115
+ SpacesInParentheses: false
116
+ SpacesInSquareBrackets: false
117
+ TabWidth: 8
118
+ UseTab: Never
@@ -0,0 +1,28 @@
1
+ ---
2
+ Checks: >-
3
+ *,
4
+ -llvmlibc-*,
5
+ -llvm-header-guard,
6
+ -fuchsia-*,
7
+ -modernize-use-trailing-return-type,
8
+ -modernize-use-nodiscard,
9
+ -modernize-avoid-c-arrays,
10
+ -modernize-pass-by-value,
11
+ -readability-braces-around-statements,
12
+ -readability-implicit-bool-conversion,
13
+ -readability-else-after-return,
14
+ -readability-convert-member-functions-to-static,
15
+ -cppcoreguidelines-avoid-c-arrays,
16
+ -hicpp-avoid-c-arrays,
17
+ -hicpp-braces-around-statements,
18
+ -google-readability-braces-around-statements,
19
+ -google-build-using-namespace,
20
+ -bugprone-infinite-loop,
21
+ -abseil-string-find-startswith,
22
+ -abseil-string-find-str-contains,
23
+ -altera-unroll-loops,
24
+ -cppcoreguidelines-pro-bounds-array-to-pointer-decay
25
+
26
+ WarningsAsErrors: '*'
27
+ HeaderFilterRegex: ''
28
+ FormatStyle: none
@@ -0,0 +1,130 @@
1
+ # ignore everything
2
+ /*
3
+
4
+ # include generic files
5
+ !/.clang-format
6
+ !/.clang-tidy
7
+ !/.gitignore
8
+ !/LICENSE.md
9
+ !/NOTICE
10
+ !/README.md
11
+
12
+ # include root directory files
13
+ !/CMakeLists.txt
14
+ !/Makefile.GNU
15
+ !/vcpkg.json
16
+
17
+ # include Benchmarks folder
18
+ !/Benchmarks
19
+ # exclude everything *in* Benchmarks folder
20
+ /Benchmarks/*
21
+ # re-include specifically what is desired from Benchmarks folder
22
+ !/Benchmarks/*.cpp
23
+ !/Benchmarks/*.txt
24
+ !/Benchmarks/2024-07-29-benchmarks_before_XMLNode_wrappers
25
+ !/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespace_and_stripping
26
+ !/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespace_char_support
27
+ !/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespaced_name_disabled
28
+ !/Benchmarks/2024-07-29-benchmarks_with_XMLNode_wrappers_and_namespace_support
29
+ !/Benchmarks/2024-08-11-benchmarks_post-XLCellIterator-Rework
30
+ !/Benchmarks/2024-08-14-benchmarks_post-default-row-column-style-support
31
+ !/Benchmarks/2024-09-02-benchmarks
32
+ !/Benchmarks/2024-12-19-benchmarks
33
+ !/Benchmarks/2024-12-30-benchmarks-post-XLSharedStrings-by-ref
34
+ !/Benchmarks/2025-01-09-benchmarks-post-conditionalFormatsAndSheetProtection
35
+ !/Benchmarks/2025-01-10-benchmarks-post-XLCellValue-bugfix
36
+ !/Benchmarks/2025-01-31-benchmarks-post-XLComments-implementation
37
+ !/Benchmarks/2025-02-02-benchmarks-post-XLRowIterator-Rework
38
+ !/Benchmarks/2025-07-20-benchmarks-after-hiding-pugixml-internals
39
+ !/Benchmarks/2025-08-29-benchmarks-after-code-review-with-libzip
40
+
41
+ # include cmake folder
42
+ !/cmake
43
+ # exclude everything *in* cmake folder
44
+ /cmake/*
45
+ # re-include specifically what is desired from cmake folder
46
+ !/cmake/get-git-HEAD-ID.cmake
47
+ !/cmake/libopenxlsxCPackOptions.cmake.in
48
+ !/cmake/manage_dependency.cmake
49
+ !/cmake/recursive_library_type_test.cmake
50
+
51
+ # include Documentation folder
52
+ !/Documentation
53
+ # exclude everything *in* Documentation folder
54
+ /Documentation/*
55
+ # re-include specifically what is desired from Documentation folder
56
+ !/Documentation/*.txt
57
+ !/Documentation/*.css
58
+ !/Documentation/*.in
59
+ !/Documentation/*.xml
60
+
61
+ # include Examples folder
62
+ !/Examples
63
+ # exclude everything *in* Examples folder
64
+ /Examples/*
65
+ # re-include specifically what is desired from Examples folder
66
+ !/Examples/cmake
67
+ !/Examples/cmake/*
68
+ !/Examples/CMakeLists.txt
69
+ !/Examples/*.cpp
70
+ !/Examples/external
71
+ !/Examples/external/*
72
+
73
+ # include gnu-make-crutch folder
74
+ !/gnu-make-crutch
75
+ # exclude everything *in* gnu-make-crutch folder
76
+ /gnu-make-crutch/*
77
+ # re-include specifically what is desired from gnu-make-crutch folder
78
+ !/gnu-make-crutch/OpenXLSX-Exports-shared.hpp
79
+ !/gnu-make-crutch/OpenXLSX-Exports-static.hpp
80
+
81
+ # include Notes folder
82
+ !/Notes
83
+ # exclude everything *in* Notes folder
84
+ /Notes/*
85
+ # re-include specifically what is desired from Notes folder
86
+ !/Notes/styles-missing-support.xml
87
+ !/Notes/todo-list.txt
88
+ !/Notes/confirmed-TBCs.txt
89
+ !/Notes/TBDs.txt
90
+
91
+ # include OpenXLSX folder
92
+ !/OpenXLSX
93
+ # exclude everything *in* OpenXLSX folder
94
+ /OpenXLSX/*
95
+ # re-include specifically what is desired from OpenXLSX folder
96
+ !/OpenXLSX/CMakeLists.txt
97
+ !/OpenXLSX/cmake
98
+ !/OpenXLSX/cmake/*
99
+ !/OpenXLSX/headers
100
+ !/OpenXLSX/headers/*
101
+ !/OpenXLSX/OpenXLSXConfig.cmake
102
+ !/OpenXLSX/OpenXLSX.hpp
103
+ !/OpenXLSX/sources
104
+ !/OpenXLSX/sources/*
105
+
106
+ # include Scripts folder
107
+ !/Scripts
108
+ # exclude everything *in* Scripts folder
109
+ /Scripts/*
110
+ # re-include specifically what is desired from Scripts folder
111
+ !/Scripts/demos-cleanup.sh
112
+ !/Scripts/cmake-cleanup.sh
113
+ !/Scripts/compile.sh
114
+ !/Scripts/demos-cleanup.sh
115
+ !/Scripts/demos-run-all.sh
116
+ !/Scripts/guarded-xml-format.sh
117
+ !/Scripts/make-gnu.sh
118
+ !/Scripts/uninstall-manifest.sh
119
+ !/Scripts/xml-format-all.sh
120
+ !/Scripts/xml-format.sh
121
+
122
+ # include Tests folder
123
+ !/Tests
124
+ # exclude everything *in* Tests folder
125
+ /Tests/*
126
+ # re-include specifically what is desired from Tests folder
127
+ !/Tests/catch
128
+ !/Tests/catch/*.hpp
129
+ !/Tests/CMakeLists.txt
130
+ !/Tests/*.cpp
@@ -0,0 +1,46 @@
1
+ ********************************************************************************
2
+ DEMO PROGRAM #05: Ranges and Iterators
3
+ ********************************************************************************
4
+
5
+ Generating spreadsheet ...
6
+ Saving spreadsheet ...
7
+ Re-opening spreadsheet ...
8
+ Reading data from spreadsheet ...
9
+ Cell count: 8388608
10
+ Sum of cell values: 415102003
11
+
12
+ real 1m26.038s
13
+ user 1m24.521s
14
+ sys 0m1.504s
15
+
16
+
17
+ ********************************************************************************
18
+ DEMO PROGRAM #06: Row Handling (using containers)
19
+ ********************************************************************************
20
+
21
+ Generating spreadsheet ...
22
+ Saving spreadsheet ...
23
+ Re-opening spreadsheet ...
24
+ Reading data from spreadsheet ...
25
+ Cell count: 8388608
26
+ Sum of cell values: 415150405
27
+
28
+ real 1m20.013s
29
+ user 1m18.049s
30
+ sys 0m1.591s
31
+
32
+
33
+ ********************************************************************************
34
+ DEMO PROGRAM #07: Row Handling (using iterators)
35
+ ********************************************************************************
36
+
37
+ Generating spreadsheet ...
38
+ Saving spreadsheet ...
39
+ Re-opening spreadsheet ...
40
+ Reading data from spreadsheet ...
41
+ Cell count: 8388608
42
+ Sum of cell values: 415343427
43
+
44
+ real 1m52.664s
45
+ user 1m50.974s
46
+ sys 0m1.632s
@@ -0,0 +1,49 @@
1
+ ********************************************************************************
2
+ DEMO PROGRAM #05: Ranges and Iterators
3
+ ********************************************************************************
4
+ enabled support for xml namespaces!
5
+
6
+ Generating spreadsheet ...
7
+ Saving spreadsheet ...
8
+ Re-opening spreadsheet ...
9
+ Reading data from spreadsheet ...
10
+ Cell count: 8388608
11
+ Sum of cell values: 415046107
12
+
13
+ real 1m42.089s
14
+ user 1m40.238s
15
+ sys 0m1.583s
16
+
17
+
18
+ ********************************************************************************
19
+ DEMO PROGRAM #06: Row Handling (using containers)
20
+ ********************************************************************************
21
+ enabled support for xml namespaces!
22
+
23
+ Generating spreadsheet ...
24
+ Saving spreadsheet ...
25
+ Re-opening spreadsheet ...
26
+ Reading data from spreadsheet ...
27
+ Cell count: 8388608
28
+ Sum of cell values: 415269516
29
+
30
+ real 1m34.392s
31
+ user 1m32.687s
32
+ sys 0m1.376s
33
+
34
+
35
+ ********************************************************************************
36
+ DEMO PROGRAM #07: Row Handling (using iterators)
37
+ ********************************************************************************
38
+ enabled support for xml namespaces!
39
+
40
+ Generating spreadsheet ...
41
+ Saving spreadsheet ...
42
+ Re-opening spreadsheet ...
43
+ Reading data from spreadsheet ...
44
+ Cell count: 8388608
45
+ Sum of cell values: 415227846
46
+
47
+ real 2m9.630s
48
+ user 2m7.974s
49
+ sys 0m1.636s
@@ -0,0 +1,49 @@
1
+ ********************************************************************************
2
+ DEMO PROGRAM #05: Ranges and Iterators
3
+ ********************************************************************************
4
+ enabled support for xml namespaces!
5
+
6
+ Generating spreadsheet ...
7
+ Saving spreadsheet ...
8
+ Re-opening spreadsheet ...
9
+ Reading data from spreadsheet ...
10
+ Cell count: 8388608
11
+ Sum of cell values: 415211439
12
+
13
+ real 1m29.112s
14
+ user 1m26.715s
15
+ sys 0m1.498s
16
+
17
+
18
+ ********************************************************************************
19
+ DEMO PROGRAM #06: Row Handling (using containers)
20
+ ********************************************************************************
21
+ enabled support for xml namespaces!
22
+
23
+ Generating spreadsheet ...
24
+ Saving spreadsheet ...
25
+ Re-opening spreadsheet ...
26
+ Reading data from spreadsheet ...
27
+ Cell count: 8388608
28
+ Sum of cell values: 415203923
29
+
30
+ real 1m21.407s
31
+ user 1m20.015s
32
+ sys 0m1.384s
33
+
34
+
35
+ ********************************************************************************
36
+ DEMO PROGRAM #07: Row Handling (using iterators)
37
+ ********************************************************************************
38
+ enabled support for xml namespaces!
39
+
40
+ Generating spreadsheet ...
41
+ Saving spreadsheet ...
42
+ Re-opening spreadsheet ...
43
+ Reading data from spreadsheet ...
44
+ Cell count: 8388608
45
+ Sum of cell values: 415185035
46
+
47
+ real 1m52.678s
48
+ user 1m51.316s
49
+ sys 0m1.352s