semantifold 0.1.1 → 0.3.0

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 (399) hide show
  1. package/README.md +42 -10
  2. package/build/index.d.ts +32 -3
  3. package/build/index.d.ts.map +1 -1
  4. package/build/index.js +99 -4
  5. package/build/src/acceptance.d.ts +32 -0
  6. package/build/src/acceptance.d.ts.map +1 -0
  7. package/build/src/acceptance.js +358 -0
  8. package/build/src/array.d.ts +7 -0
  9. package/build/src/array.d.ts.map +1 -0
  10. package/build/src/array.js +18 -0
  11. package/build/src/artifact-path.d.ts +13 -0
  12. package/build/src/artifact-path.d.ts.map +1 -0
  13. package/build/src/artifact-path.js +30 -0
  14. package/build/src/artifacts.d.ts +7 -0
  15. package/build/src/artifacts.d.ts.map +1 -0
  16. package/build/src/artifacts.js +389 -0
  17. package/build/src/backends/c-runtime.d.ts +3 -0
  18. package/build/src/backends/c-runtime.d.ts.map +1 -0
  19. package/build/src/backends/c-runtime.js +151 -0
  20. package/build/src/backends/c-validation.d.ts +12 -0
  21. package/build/src/backends/c-validation.d.ts.map +1 -0
  22. package/build/src/backends/c-validation.js +85 -0
  23. package/build/src/backends/c.d.ts +31 -0
  24. package/build/src/backends/c.d.ts.map +1 -0
  25. package/build/src/backends/c.js +308 -0
  26. package/build/src/backends/cpp-runtime.d.ts +3 -0
  27. package/build/src/backends/cpp-runtime.d.ts.map +1 -0
  28. package/build/src/backends/cpp-runtime.js +99 -0
  29. package/build/src/backends/cpp-validation.d.ts +9 -0
  30. package/build/src/backends/cpp-validation.d.ts.map +1 -0
  31. package/build/src/backends/cpp-validation.js +74 -0
  32. package/build/src/backends/cpp.d.ts +16 -0
  33. package/build/src/backends/cpp.d.ts.map +1 -0
  34. package/build/src/backends/cpp.js +285 -0
  35. package/build/src/backends/csharp.d.ts +20 -0
  36. package/build/src/backends/csharp.d.ts.map +1 -0
  37. package/build/src/backends/csharp.js +259 -0
  38. package/build/src/backends/go.d.ts +20 -0
  39. package/build/src/backends/go.d.ts.map +1 -0
  40. package/build/src/backends/go.js +374 -0
  41. package/build/src/backends/identifiers.d.ts +12 -0
  42. package/build/src/backends/identifiers.d.ts.map +1 -1
  43. package/build/src/backends/identifiers.js +79 -2
  44. package/build/src/backends/index.d.ts.map +1 -1
  45. package/build/src/backends/index.js +27 -37
  46. package/build/src/backends/native-validation.d.ts +9 -0
  47. package/build/src/backends/native-validation.d.ts.map +1 -0
  48. package/build/src/backends/native-validation.js +59 -0
  49. package/build/src/backends/ordered-expressions.d.ts +74 -0
  50. package/build/src/backends/ordered-expressions.d.ts.map +1 -0
  51. package/build/src/backends/ordered-expressions.js +159 -0
  52. package/build/src/backends/python.d.ts +8 -0
  53. package/build/src/backends/python.d.ts.map +1 -0
  54. package/build/src/backends/python.js +162 -0
  55. package/build/src/backends/scalars.d.ts.map +1 -1
  56. package/build/src/backends/scalars.js +8 -2
  57. package/build/src/backends/shared.d.ts.map +1 -1
  58. package/build/src/backends/shared.js +67 -19
  59. package/build/src/binary-mapping.d.ts +32 -0
  60. package/build/src/binary-mapping.d.ts.map +1 -0
  61. package/build/src/binary-mapping.js +285 -0
  62. package/build/src/diagnostic.d.ts +36 -4
  63. package/build/src/diagnostic.d.ts.map +1 -1
  64. package/build/src/diagnostic.js +42 -3
  65. package/build/src/frontends/c-parser.d.ts +20 -0
  66. package/build/src/frontends/c-parser.d.ts.map +1 -0
  67. package/build/src/frontends/c-parser.js +14 -0
  68. package/build/src/frontends/c.d.ts +220 -0
  69. package/build/src/frontends/c.d.ts.map +1 -0
  70. package/build/src/frontends/c.js +750 -0
  71. package/build/src/frontends/cpp-parser.d.ts +11 -0
  72. package/build/src/frontends/cpp-parser.d.ts.map +1 -0
  73. package/build/src/frontends/cpp-parser.js +15 -0
  74. package/build/src/frontends/cpp.d.ts +227 -0
  75. package/build/src/frontends/cpp.d.ts.map +1 -0
  76. package/build/src/frontends/cpp.js +784 -0
  77. package/build/src/frontends/csharp.d.ts +14 -0
  78. package/build/src/frontends/csharp.d.ts.map +1 -0
  79. package/build/src/frontends/csharp.js +708 -0
  80. package/build/src/frontends/go.d.ts +15 -0
  81. package/build/src/frontends/go.d.ts.map +1 -0
  82. package/build/src/frontends/go.js +712 -0
  83. package/build/src/frontends/index.d.ts.map +1 -1
  84. package/build/src/frontends/index.js +5 -23
  85. package/build/src/frontends/python.d.ts +14 -0
  86. package/build/src/frontends/python.d.ts.map +1 -0
  87. package/build/src/frontends/python.js +615 -0
  88. package/build/src/frontends/scalars.d.ts.map +1 -1
  89. package/build/src/frontends/scalars.js +21 -1
  90. package/build/src/language-registry.d.ts +113 -0
  91. package/build/src/language-registry.d.ts.map +1 -0
  92. package/build/src/language-registry.js +421 -0
  93. package/build/src/mapping.js +3 -2
  94. package/build/src/semantic/location.d.ts +7 -0
  95. package/build/src/semantic/location.d.ts.map +1 -1
  96. package/build/src/semantic/location.js +10 -1
  97. package/build/src/semantic/provenance.js +3 -3
  98. package/build/src/semantic/types.d.ts +399 -2
  99. package/build/src/semantic/types.d.ts.map +1 -1
  100. package/build/src/semantic/types.js +110 -2
  101. package/build/src/subprocess.d.ts +38 -0
  102. package/build/src/subprocess.d.ts.map +1 -0
  103. package/build/src/subprocess.js +233 -0
  104. package/build/src/timeout.d.ts +8 -0
  105. package/build/src/timeout.d.ts.map +1 -0
  106. package/build/src/timeout.js +11 -0
  107. package/build/src/toolchains.d.ts +107 -0
  108. package/build/src/toolchains.d.ts.map +1 -0
  109. package/build/src/toolchains.js +417 -0
  110. package/docs/architecture.md +23 -5
  111. package/docs/c.md +60 -0
  112. package/docs/cpp.md +61 -0
  113. package/docs/goals.md +4 -2
  114. package/docs/language-support.md +46 -6
  115. package/docs/parser-qualification.md +219 -0
  116. package/docs/plans/2026-09-05-standard-library-portability.md +46 -0
  117. package/docs/source-maps.md +38 -5
  118. package/docs/standard-library-portability.md +190 -0
  119. package/docs/testing.md +131 -3
  120. package/index.js +109 -4
  121. package/node_modules/node-addon-api/LICENSE.md +9 -0
  122. package/node_modules/node-addon-api/README.md +95 -0
  123. package/node_modules/node-addon-api/common.gypi +21 -0
  124. package/node_modules/node-addon-api/except.gypi +25 -0
  125. package/node_modules/node-addon-api/index.js +14 -0
  126. package/node_modules/node-addon-api/napi-inl.deprecated.h +186 -0
  127. package/node_modules/node-addon-api/napi-inl.h +7250 -0
  128. package/node_modules/node-addon-api/napi.h +3463 -0
  129. package/node_modules/node-addon-api/node_addon_api.gyp +42 -0
  130. package/node_modules/node-addon-api/node_api.gyp +9 -0
  131. package/node_modules/node-addon-api/noexcept.gypi +26 -0
  132. package/node_modules/node-addon-api/nothing.c +0 -0
  133. package/node_modules/node-addon-api/package-support.json +21 -0
  134. package/node_modules/node-addon-api/package.json +481 -0
  135. package/node_modules/node-addon-api/tools/README.md +73 -0
  136. package/node_modules/node-addon-api/tools/check-napi.js +99 -0
  137. package/node_modules/node-addon-api/tools/clang-format.js +71 -0
  138. package/node_modules/node-addon-api/tools/conversion.js +301 -0
  139. package/node_modules/node-gyp-build/LICENSE +21 -0
  140. package/node_modules/node-gyp-build/README.md +58 -0
  141. package/node_modules/node-gyp-build/SECURITY.md +5 -0
  142. package/node_modules/node-gyp-build/bin.js +84 -0
  143. package/node_modules/node-gyp-build/build-test.js +19 -0
  144. package/node_modules/node-gyp-build/index.js +6 -0
  145. package/node_modules/node-gyp-build/node-gyp-build.js +207 -0
  146. package/node_modules/node-gyp-build/optional.js +7 -0
  147. package/node_modules/node-gyp-build/package.json +43 -0
  148. package/node_modules/semantifold-tree-sitter-legacy-internal/LICENSE +15 -0
  149. package/node_modules/semantifold-tree-sitter-legacy-internal/README.md +7 -0
  150. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/LICENSE +21 -0
  151. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/README.md +90 -0
  152. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/binding.gyp +79 -0
  153. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/index.js +895 -0
  154. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/package.json +62 -0
  155. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/prebuilds/darwin-arm64/tree-sitter.node +0 -0
  156. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/prebuilds/darwin-x64/tree-sitter.node +0 -0
  157. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/prebuilds/linux-x64/tree-sitter.node +0 -0
  158. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/prebuilds/win32-x64/tree-sitter.node +0 -0
  159. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/addon_data.h +47 -0
  160. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/binding.cc +35 -0
  161. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/conversions.cc +140 -0
  162. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/conversions.h +22 -0
  163. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/language.cc +106 -0
  164. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/language.h +17 -0
  165. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/logger.cc +70 -0
  166. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/logger.h +19 -0
  167. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/lookaheaditerator.cc +122 -0
  168. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/lookaheaditerator.h +33 -0
  169. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/node.cc +1056 -0
  170. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/node.h +30 -0
  171. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/parser.cc +298 -0
  172. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/parser.h +35 -0
  173. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/query.cc +383 -0
  174. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/query.h +39 -0
  175. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/tree.cc +307 -0
  176. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/tree.h +45 -0
  177. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/tree_cursor.cc +213 -0
  178. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/tree_cursor.h +52 -0
  179. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/tree-sitter.d.ts +211 -0
  180. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/include/tree_sitter/api.h +1266 -0
  181. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.c +48 -0
  182. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.h +41 -0
  183. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/array.h +290 -0
  184. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/atomic.h +68 -0
  185. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/clock.h +146 -0
  186. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/error_costs.h +11 -0
  187. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.c +501 -0
  188. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.h +36 -0
  189. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/host.h +21 -0
  190. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.c +221 -0
  191. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.h +299 -0
  192. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/length.h +52 -0
  193. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.c +419 -0
  194. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.h +49 -0
  195. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lib.c +14 -0
  196. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/node.c +774 -0
  197. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.c +2151 -0
  198. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.h +230 -0
  199. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/point.h +62 -0
  200. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/query.c +4134 -0
  201. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reduce_action.h +34 -0
  202. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reusable_node.h +95 -0
  203. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.c +899 -0
  204. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.h +133 -0
  205. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.c +1060 -0
  206. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.h +382 -0
  207. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.c +165 -0
  208. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.h +31 -0
  209. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.c +714 -0
  210. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.h +48 -0
  211. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ICU_SHA +1 -0
  212. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/LICENSE +414 -0
  213. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/README.md +29 -0
  214. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ptypes.h +1 -0
  215. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/umachine.h +448 -0
  216. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/urename.h +1 -0
  217. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf.h +1 -0
  218. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf16.h +733 -0
  219. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf8.h +881 -0
  220. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode.h +50 -0
  221. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib-symbols.txt +23 -0
  222. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib.c +109 -0
  223. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/wasm-stdlib.h +1294 -0
  224. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.c +1823 -0
  225. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.h +31 -0
  226. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/LICENSE +21 -0
  227. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/README.md +18 -0
  228. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/binding.gyp +29 -0
  229. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/bindings/node/binding.cc +20 -0
  230. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/bindings/node/binding_test.js +9 -0
  231. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/bindings/node/index.d.ts +28 -0
  232. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/bindings/node/index.js +11 -0
  233. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/grammar.js +1470 -0
  234. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/package.json +60 -0
  235. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/darwin-arm64/tree-sitter-c.node +0 -0
  236. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/darwin-x64/tree-sitter-c.node +0 -0
  237. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/linux-arm64/tree-sitter-c.node +0 -0
  238. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/linux-x64/tree-sitter-c.node +0 -0
  239. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/win32-arm64/tree-sitter-c.node +0 -0
  240. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/win32-x64/tree-sitter-c.node +0 -0
  241. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/queries/highlights.scm +81 -0
  242. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/queries/tags.scm +9 -0
  243. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/grammar.json +9735 -0
  244. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/node-types.json +4614 -0
  245. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/parser.c +119615 -0
  246. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/tree_sitter/alloc.h +54 -0
  247. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/tree_sitter/array.h +290 -0
  248. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/tree_sitter/parser.h +266 -0
  249. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/tree-sitter-c.wasm +0 -0
  250. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/tree-sitter.json +43 -0
  251. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/LICENSE +21 -0
  252. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/README.md +22 -0
  253. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/binding.gyp +30 -0
  254. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/bindings/node/binding.cc +20 -0
  255. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/bindings/node/binding_test.js +9 -0
  256. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/bindings/node/index.d.ts +28 -0
  257. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/bindings/node/index.js +11 -0
  258. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/grammar.js +1436 -0
  259. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/package.json +61 -0
  260. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/darwin-arm64/tree-sitter-cpp.node +0 -0
  261. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/darwin-x64/tree-sitter-cpp.node +0 -0
  262. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/linux-arm64/tree-sitter-cpp.node +0 -0
  263. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/linux-x64/tree-sitter-cpp.node +0 -0
  264. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/win32-arm64/tree-sitter-cpp.node +0 -0
  265. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/win32-x64/tree-sitter-cpp.node +0 -0
  266. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/queries/highlights.scm +70 -0
  267. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/queries/injections.scm +3 -0
  268. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/queries/tags.scm +15 -0
  269. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/grammar.json +17084 -0
  270. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/node-types.json +7997 -0
  271. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/parser.c +530368 -0
  272. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/scanner.c +148 -0
  273. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/tree_sitter/alloc.h +54 -0
  274. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/tree_sitter/array.h +290 -0
  275. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/tree_sitter/parser.h +266 -0
  276. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/tree-sitter-cpp.wasm +0 -0
  277. package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/tree-sitter.json +55 -0
  278. package/node_modules/semantifold-tree-sitter-legacy-internal/package.json +22 -0
  279. package/node_modules/semantifold-tree-sitter-legacy-internal/src/c.js +152 -0
  280. package/node_modules/tree-sitter/LICENSE +21 -0
  281. package/node_modules/tree-sitter/README.md +128 -0
  282. package/node_modules/tree-sitter/binding.gyp +88 -0
  283. package/node_modules/tree-sitter/index.js +950 -0
  284. package/node_modules/tree-sitter/package.json +76 -0
  285. package/node_modules/tree-sitter/prebuilds/darwin-arm64/tree-sitter.node +0 -0
  286. package/node_modules/tree-sitter/prebuilds/darwin-x64/tree-sitter.node +0 -0
  287. package/node_modules/tree-sitter/prebuilds/linux-arm64/tree-sitter.node +0 -0
  288. package/node_modules/tree-sitter/prebuilds/linux-x64/tree-sitter.node +0 -0
  289. package/node_modules/tree-sitter/prebuilds/win32-arm64/tree-sitter.node +0 -0
  290. package/node_modules/tree-sitter/prebuilds/win32-x64/tree-sitter.node +0 -0
  291. package/node_modules/tree-sitter/src/addon_data.h +47 -0
  292. package/node_modules/tree-sitter/src/binding.cc +35 -0
  293. package/node_modules/tree-sitter/src/conversions.cc +140 -0
  294. package/node_modules/tree-sitter/src/conversions.h +22 -0
  295. package/node_modules/tree-sitter/src/language.cc +105 -0
  296. package/node_modules/tree-sitter/src/language.h +17 -0
  297. package/node_modules/tree-sitter/src/logger.cc +70 -0
  298. package/node_modules/tree-sitter/src/logger.h +19 -0
  299. package/node_modules/tree-sitter/src/lookaheaditerator.cc +122 -0
  300. package/node_modules/tree-sitter/src/lookaheaditerator.h +33 -0
  301. package/node_modules/tree-sitter/src/node.cc +1088 -0
  302. package/node_modules/tree-sitter/src/node.h +30 -0
  303. package/node_modules/tree-sitter/src/parser.cc +332 -0
  304. package/node_modules/tree-sitter/src/parser.h +35 -0
  305. package/node_modules/tree-sitter/src/query.cc +425 -0
  306. package/node_modules/tree-sitter/src/query.h +40 -0
  307. package/node_modules/tree-sitter/src/tree.cc +316 -0
  308. package/node_modules/tree-sitter/src/tree.h +45 -0
  309. package/node_modules/tree-sitter/src/tree_cursor.cc +213 -0
  310. package/node_modules/tree-sitter/src/tree_cursor.h +52 -0
  311. package/node_modules/tree-sitter/tree-sitter.d.ts +1083 -0
  312. package/node_modules/tree-sitter/vendor/tree-sitter/lib/include/tree_sitter/api.h +1478 -0
  313. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.c +48 -0
  314. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.h +41 -0
  315. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/array.h +291 -0
  316. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/atomic.h +68 -0
  317. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/clock.h +146 -0
  318. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/error_costs.h +11 -0
  319. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.c +523 -0
  320. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.h +36 -0
  321. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/host.h +21 -0
  322. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.c +293 -0
  323. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.h +293 -0
  324. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/length.h +52 -0
  325. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.c +483 -0
  326. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.h +54 -0
  327. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lib.c +12 -0
  328. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/node.c +875 -0
  329. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.c +2297 -0
  330. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.h +286 -0
  331. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/point.h +48 -0
  332. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/portable/endian.h +241 -0
  333. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/query.c +4347 -0
  334. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reduce_action.h +34 -0
  335. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reusable_node.h +95 -0
  336. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.c +912 -0
  337. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.h +133 -0
  338. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.c +1034 -0
  339. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.h +399 -0
  340. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.c +170 -0
  341. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.h +31 -0
  342. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.c +716 -0
  343. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.h +48 -0
  344. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/ts_assert.h +11 -0
  345. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ICU_SHA +1 -0
  346. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/LICENSE +414 -0
  347. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/README.md +29 -0
  348. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ptypes.h +1 -0
  349. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/umachine.h +448 -0
  350. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/urename.h +1 -0
  351. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf.h +1 -0
  352. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf16.h +733 -0
  353. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf8.h +881 -0
  354. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode.h +75 -0
  355. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib-symbols.txt +24 -0
  356. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib.c +137 -0
  357. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/wasm-stdlib.h +1314 -0
  358. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.c +1937 -0
  359. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.h +31 -0
  360. package/package.json +24 -6
  361. package/src/acceptance.js +380 -0
  362. package/src/array.js +19 -0
  363. package/src/artifact-path.js +34 -0
  364. package/src/artifacts.js +420 -0
  365. package/src/backends/c-runtime.js +151 -0
  366. package/src/backends/c-validation.js +83 -0
  367. package/src/backends/c.js +308 -0
  368. package/src/backends/cpp-runtime.js +99 -0
  369. package/src/backends/cpp-validation.js +70 -0
  370. package/src/backends/cpp.js +285 -0
  371. package/src/backends/csharp.js +270 -0
  372. package/src/backends/go.js +383 -0
  373. package/src/backends/identifiers.js +80 -1
  374. package/src/backends/index.js +23 -32
  375. package/src/backends/native-validation.js +64 -0
  376. package/src/backends/ordered-expressions.js +161 -0
  377. package/src/backends/python.js +175 -0
  378. package/src/backends/scalars.js +8 -1
  379. package/src/backends/shared.js +64 -17
  380. package/src/binary-mapping.js +305 -0
  381. package/src/diagnostic.js +34 -2
  382. package/src/frontends/c-parser.js +17 -0
  383. package/src/frontends/c.js +780 -0
  384. package/src/frontends/cpp-parser.js +18 -0
  385. package/src/frontends/cpp.js +816 -0
  386. package/src/frontends/csharp.js +759 -0
  387. package/src/frontends/go.js +770 -0
  388. package/src/frontends/index.js +5 -20
  389. package/src/frontends/python.js +689 -0
  390. package/src/frontends/scalars.js +20 -0
  391. package/src/language-registry.js +454 -0
  392. package/src/mapping.js +2 -1
  393. package/src/semantic/location.js +10 -0
  394. package/src/semantic/provenance.js +2 -2
  395. package/src/semantic/types.js +124 -1
  396. package/src/subprocess.js +232 -0
  397. package/src/timeout.js +12 -0
  398. package/src/toolchains.js +448 -0
  399. package/tsconfig.json +1 -0
@@ -0,0 +1,42 @@
1
+ {
2
+ 'targets': [
3
+ {
4
+ 'target_name': 'node_addon_api',
5
+ 'type': 'none',
6
+ 'sources': [ 'napi.h', 'napi-inl.h' ],
7
+ 'direct_dependent_settings': {
8
+ 'include_dirs': [ '.' ],
9
+ 'includes': ['noexcept.gypi'],
10
+ }
11
+ },
12
+ {
13
+ 'target_name': 'node_addon_api_except',
14
+ 'type': 'none',
15
+ 'sources': [ 'napi.h', 'napi-inl.h' ],
16
+ 'direct_dependent_settings': {
17
+ 'include_dirs': [ '.' ],
18
+ 'includes': ['except.gypi'],
19
+ }
20
+ },
21
+ {
22
+ 'target_name': 'node_addon_api_except_all',
23
+ 'type': 'none',
24
+ 'sources': [ 'napi.h', 'napi-inl.h' ],
25
+ 'direct_dependent_settings': {
26
+ 'include_dirs': [ '.' ],
27
+ 'includes': ['except.gypi'],
28
+ 'defines': [ 'NODE_ADDON_API_CPP_EXCEPTIONS_ALL' ]
29
+ }
30
+ },
31
+ {
32
+ 'target_name': 'node_addon_api_maybe',
33
+ 'type': 'none',
34
+ 'sources': [ 'napi.h', 'napi-inl.h' ],
35
+ 'direct_dependent_settings': {
36
+ 'include_dirs': [ '.' ],
37
+ 'includes': ['noexcept.gypi'],
38
+ 'defines': ['NODE_ADDON_API_ENABLE_MAYBE']
39
+ }
40
+ },
41
+ ]
42
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ 'targets': [
3
+ {
4
+ 'target_name': 'nothing',
5
+ 'type': 'static_library',
6
+ 'sources': [ 'nothing.c' ]
7
+ }
8
+ ]
9
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ 'defines': [ 'NODE_ADDON_API_DISABLE_CPP_EXCEPTIONS' ],
3
+ 'cflags': [ '-fno-exceptions' ],
4
+ 'cflags_cc': [ '-fno-exceptions' ],
5
+ 'conditions': [
6
+ ["OS=='win'", {
7
+ # _HAS_EXCEPTIONS is already defined and set to 0 in common.gypi
8
+ #"defines": [
9
+ # "_HAS_EXCEPTIONS=0"
10
+ #],
11
+ "msvs_settings": {
12
+ "VCCLCompilerTool": {
13
+ 'ExceptionHandling': 0,
14
+ 'EnablePREfast': 'true',
15
+ },
16
+ },
17
+ }],
18
+ ["OS=='mac'", {
19
+ 'xcode_settings': {
20
+ 'CLANG_CXX_LIBRARY': 'libc++',
21
+ 'MACOSX_DEPLOYMENT_TARGET': '10.7',
22
+ 'GCC_ENABLE_CPP_EXCEPTIONS': 'NO',
23
+ },
24
+ }],
25
+ ],
26
+ }
File without changes
@@ -0,0 +1,21 @@
1
+ {
2
+ "versions": [
3
+ {
4
+ "version": "*",
5
+ "target": {
6
+ "node": "active"
7
+ },
8
+ "response": {
9
+ "type": "time-permitting",
10
+ "paid": false,
11
+ "contact": {
12
+ "name": "node-addon-api team",
13
+ "url": "https://github.com/nodejs/node-addon-api/issues"
14
+ }
15
+ },
16
+ "backing": [ { "project": "https://github.com/nodejs" },
17
+ { "foundation": "https://openjsf.org/" }
18
+ ]
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,481 @@
1
+ {
2
+ "bugs": {
3
+ "url": "https://github.com/nodejs/node-addon-api/issues"
4
+ },
5
+ "contributors": [
6
+ {
7
+ "name": "Abhishek Kumar Singh",
8
+ "url": "https://github.com/abhi11210646"
9
+ },
10
+ {
11
+ "name": "Alba Mendez",
12
+ "url": "https://github.com/jmendeth"
13
+ },
14
+ {
15
+ "name": "Alexander Floh",
16
+ "url": "https://github.com/alexanderfloh"
17
+ },
18
+ {
19
+ "name": "Ammar Faizi",
20
+ "url": "https://github.com/ammarfaizi2"
21
+ },
22
+ {
23
+ "name": "András Timár, Dr",
24
+ "url": "https://github.com/timarandras"
25
+ },
26
+ {
27
+ "name": "Andrew Petersen",
28
+ "url": "https://github.com/kirbysayshi"
29
+ },
30
+ {
31
+ "name": "Anisha Rohra",
32
+ "url": "https://github.com/anisha-rohra"
33
+ },
34
+ {
35
+ "name": "Anna Henningsen",
36
+ "url": "https://github.com/addaleax"
37
+ },
38
+ {
39
+ "name": "Arnaud Botella",
40
+ "url": "https://github.com/BotellaA"
41
+ },
42
+ {
43
+ "name": "Arunesh Chandra",
44
+ "url": "https://github.com/aruneshchandra"
45
+ },
46
+ {
47
+ "name": "Azlan Mukhtar",
48
+ "url": "https://github.com/azlan"
49
+ },
50
+ {
51
+ "name": "Ben Berman",
52
+ "url": "https://github.com/rivertam"
53
+ },
54
+ {
55
+ "name": "Benjamin Byholm",
56
+ "url": "https://github.com/kkoopa"
57
+ },
58
+ {
59
+ "name": "Bill Gallafent",
60
+ "url": "https://github.com/gallafent"
61
+ },
62
+ {
63
+ "name": "blagoev",
64
+ "url": "https://github.com/blagoev"
65
+ },
66
+ {
67
+ "name": "Bruce A. MacNaughton",
68
+ "url": "https://github.com/bmacnaughton"
69
+ },
70
+ {
71
+ "name": "Cory Mickelson",
72
+ "url": "https://github.com/corymickelson"
73
+ },
74
+ {
75
+ "name": "Daniel Bevenius",
76
+ "url": "https://github.com/danbev"
77
+ },
78
+ {
79
+ "name": "Dante Calderón",
80
+ "url": "https://github.com/dantehemerson"
81
+ },
82
+ {
83
+ "name": "Darshan Sen",
84
+ "url": "https://github.com/RaisinTen"
85
+ },
86
+ {
87
+ "name": "David Halls",
88
+ "url": "https://github.com/davedoesdev"
89
+ },
90
+ {
91
+ "name": "Deepak Rajamohan",
92
+ "url": "https://github.com/deepakrkris"
93
+ },
94
+ {
95
+ "name": "Dmitry Ashkadov",
96
+ "url": "https://github.com/dmitryash"
97
+ },
98
+ {
99
+ "name": "Dongjin Na",
100
+ "url": "https://github.com/nadongguri"
101
+ },
102
+ {
103
+ "name": "Doni Rubiagatra",
104
+ "url": "https://github.com/rubiagatra"
105
+ },
106
+ {
107
+ "name": "Eric Bickle",
108
+ "url": "https://github.com/ebickle"
109
+ },
110
+ {
111
+ "name": "extremeheat",
112
+ "url": "https://github.com/extremeheat"
113
+ },
114
+ {
115
+ "name": "Feng Yu",
116
+ "url": "https://github.com/F3n67u"
117
+ },
118
+ {
119
+ "name": "Ferdinand Holzer",
120
+ "url": "https://github.com/fholzer"
121
+ },
122
+ {
123
+ "name": "Gabriel Schulhof",
124
+ "url": "https://github.com/gabrielschulhof"
125
+ },
126
+ {
127
+ "name": "Guenter Sandner",
128
+ "url": "https://github.com/gms1"
129
+ },
130
+ {
131
+ "name": "Gus Caplan",
132
+ "url": "https://github.com/devsnek"
133
+ },
134
+ {
135
+ "name": "Helio Frota",
136
+ "url": "https://github.com/helio-frota"
137
+ },
138
+ {
139
+ "name": "Hitesh Kanwathirtha",
140
+ "url": "https://github.com/digitalinfinity"
141
+ },
142
+ {
143
+ "name": "ikokostya",
144
+ "url": "https://github.com/ikokostya"
145
+ },
146
+ {
147
+ "name": "Jack Xia",
148
+ "url": "https://github.com/JckXia"
149
+ },
150
+ {
151
+ "name": "Jake Barnes",
152
+ "url": "https://github.com/DuBistKomisch"
153
+ },
154
+ {
155
+ "name": "Jake Yoon",
156
+ "url": "https://github.com/yjaeseok"
157
+ },
158
+ {
159
+ "name": "Jason Ginchereau",
160
+ "url": "https://github.com/jasongin"
161
+ },
162
+ {
163
+ "name": "Jenny",
164
+ "url": "https://github.com/egg-bread"
165
+ },
166
+ {
167
+ "name": "Jeroen Janssen",
168
+ "url": "https://github.com/japj"
169
+ },
170
+ {
171
+ "name": "Jim Schlight",
172
+ "url": "https://github.com/jschlight"
173
+ },
174
+ {
175
+ "name": "Jinho Bang",
176
+ "url": "https://github.com/romandev"
177
+ },
178
+ {
179
+ "name": "José Expósito",
180
+ "url": "https://github.com/JoseExposito"
181
+ },
182
+ {
183
+ "name": "joshgarde",
184
+ "url": "https://github.com/joshgarde"
185
+ },
186
+ {
187
+ "name": "Julian Mesa",
188
+ "url": "https://github.com/julianmesa-gitkraken"
189
+ },
190
+ {
191
+ "name": "Kasumi Hanazuki",
192
+ "url": "https://github.com/hanazuki"
193
+ },
194
+ {
195
+ "name": "Kelvin",
196
+ "url": "https://github.com/kelvinhammond"
197
+ },
198
+ {
199
+ "name": "Kevin Eady",
200
+ "url": "https://github.com/KevinEady"
201
+ },
202
+ {
203
+ "name": "Kévin VOYER",
204
+ "url": "https://github.com/kecsou"
205
+ },
206
+ {
207
+ "name": "kidneysolo",
208
+ "url": "https://github.com/kidneysolo"
209
+ },
210
+ {
211
+ "name": "Koki Nishihara",
212
+ "url": "https://github.com/Nishikoh"
213
+ },
214
+ {
215
+ "name": "Konstantin Tarkus",
216
+ "url": "https://github.com/koistya"
217
+ },
218
+ {
219
+ "name": "Kyle Farnung",
220
+ "url": "https://github.com/kfarnung"
221
+ },
222
+ {
223
+ "name": "Kyle Kovacs",
224
+ "url": "https://github.com/nullromo"
225
+ },
226
+ {
227
+ "name": "legendecas",
228
+ "url": "https://github.com/legendecas"
229
+ },
230
+ {
231
+ "name": "LongYinan",
232
+ "url": "https://github.com/Brooooooklyn"
233
+ },
234
+ {
235
+ "name": "Lovell Fuller",
236
+ "url": "https://github.com/lovell"
237
+ },
238
+ {
239
+ "name": "Luciano Martorella",
240
+ "url": "https://github.com/lmartorella"
241
+ },
242
+ {
243
+ "name": "mastergberry",
244
+ "url": "https://github.com/mastergberry"
245
+ },
246
+ {
247
+ "name": "Mathias Küsel",
248
+ "url": "https://github.com/mathiask88"
249
+ },
250
+ {
251
+ "name": "Mathias Stearn",
252
+ "url": "https://github.com/RedBeard0531"
253
+ },
254
+ {
255
+ "name": "Matteo Collina",
256
+ "url": "https://github.com/mcollina"
257
+ },
258
+ {
259
+ "name": "Michael Dawson",
260
+ "url": "https://github.com/mhdawson"
261
+ },
262
+ {
263
+ "name": "Michael Price",
264
+ "url": "https://github.com/mikepricedev"
265
+ },
266
+ {
267
+ "name": "Michele Campus",
268
+ "url": "https://github.com/kYroL01"
269
+ },
270
+ {
271
+ "name": "Mikhail Cheshkov",
272
+ "url": "https://github.com/mcheshkov"
273
+ },
274
+ {
275
+ "name": "nempoBu4",
276
+ "url": "https://github.com/nempoBu4"
277
+ },
278
+ {
279
+ "name": "Nicola Del Gobbo",
280
+ "url": "https://github.com/NickNaso"
281
+ },
282
+ {
283
+ "name": "Nick Soggin",
284
+ "url": "https://github.com/iSkore"
285
+ },
286
+ {
287
+ "name": "Nikolai Vavilov",
288
+ "url": "https://github.com/seishun"
289
+ },
290
+ {
291
+ "name": "Nurbol Alpysbayev",
292
+ "url": "https://github.com/anurbol"
293
+ },
294
+ {
295
+ "name": "pacop",
296
+ "url": "https://github.com/pacop"
297
+ },
298
+ {
299
+ "name": "Peter Šándor",
300
+ "url": "https://github.com/petersandor"
301
+ },
302
+ {
303
+ "name": "Philipp Renoth",
304
+ "url": "https://github.com/DaAitch"
305
+ },
306
+ {
307
+ "name": "rgerd",
308
+ "url": "https://github.com/rgerd"
309
+ },
310
+ {
311
+ "name": "Richard Lau",
312
+ "url": "https://github.com/richardlau"
313
+ },
314
+ {
315
+ "name": "Rolf Timmermans",
316
+ "url": "https://github.com/rolftimmermans"
317
+ },
318
+ {
319
+ "name": "Ross Weir",
320
+ "url": "https://github.com/ross-weir"
321
+ },
322
+ {
323
+ "name": "Ryuichi Okumura",
324
+ "url": "https://github.com/okuryu"
325
+ },
326
+ {
327
+ "name": "Saint Gabriel",
328
+ "url": "https://github.com/chineduG"
329
+ },
330
+ {
331
+ "name": "Sampson Gao",
332
+ "url": "https://github.com/sampsongao"
333
+ },
334
+ {
335
+ "name": "Sam Roberts",
336
+ "url": "https://github.com/sam-github"
337
+ },
338
+ {
339
+ "name": "strager",
340
+ "url": "https://github.com/strager"
341
+ },
342
+ {
343
+ "name": "Taylor Woll",
344
+ "url": "https://github.com/boingoing"
345
+ },
346
+ {
347
+ "name": "Thomas Gentilhomme",
348
+ "url": "https://github.com/fraxken"
349
+ },
350
+ {
351
+ "name": "Tim Rach",
352
+ "url": "https://github.com/timrach"
353
+ },
354
+ {
355
+ "name": "Tobias Nießen",
356
+ "url": "https://github.com/tniessen"
357
+ },
358
+ {
359
+ "name": "todoroff",
360
+ "url": "https://github.com/todoroff"
361
+ },
362
+ {
363
+ "name": "Toyo Li",
364
+ "url": "https://github.com/toyobayashi"
365
+ },
366
+ {
367
+ "name": "Tux3",
368
+ "url": "https://github.com/tux3"
369
+ },
370
+ {
371
+ "name": "Vlad Velmisov",
372
+ "url": "https://github.com/Velmisov"
373
+ },
374
+ {
375
+ "name": "Vladimir Morozov",
376
+ "url": "https://github.com/vmoroz"
377
+ },
378
+ {
379
+ "name": "WenheLI",
380
+ "url": "https://github.com/WenheLI"
381
+ },
382
+ {
383
+ "name": "Xuguang Mei",
384
+ "url": "https://github.com/meixg"
385
+ },
386
+ {
387
+ "name": "Yohei Kishimoto",
388
+ "url": "https://github.com/morokosi"
389
+ },
390
+ {
391
+ "name": "Yulong Wang",
392
+ "url": "https://github.com/fs-eire"
393
+ },
394
+ {
395
+ "name": "Ziqiu Zhao",
396
+ "url": "https://github.com/ZzqiZQute"
397
+ },
398
+ {
399
+ "name": "Feng Yu",
400
+ "url": "https://github.com/F3n67u"
401
+ },
402
+ {
403
+ "name": "wanlu wang",
404
+ "url": "https://github.com/wanlu"
405
+ },
406
+ {
407
+ "name": "Caleb Hearon",
408
+ "url": "https://github.com/chearon"
409
+ },
410
+ {
411
+ "name": "Marx",
412
+ "url": "https://github.com/MarxJiao"
413
+ },
414
+ {
415
+ "name": "Ömer AKGÜL",
416
+ "url": "https://github.com/tuhalf"
417
+ }
418
+ ],
419
+ "description": "Node.js API (Node-API)",
420
+ "devDependencies": {
421
+ "benchmark": "^2.1.4",
422
+ "bindings": "^1.5.0",
423
+ "clang-format": "^1.4.0",
424
+ "eslint": "^9.13.0",
425
+ "fs-extra": "^11.1.1",
426
+ "neostandard": "^0.12.0",
427
+ "node-gyp": "^12.4.0",
428
+ "pre-commit": "^1.2.2",
429
+ "semver": "^7.6.0"
430
+ },
431
+ "directories": {},
432
+ "gypfile": false,
433
+ "homepage": "https://github.com/nodejs/node-addon-api",
434
+ "keywords": [
435
+ "n-api",
436
+ "napi",
437
+ "addon",
438
+ "native",
439
+ "bindings",
440
+ "c",
441
+ "c++",
442
+ "nan",
443
+ "node-addon-api"
444
+ ],
445
+ "license": "MIT",
446
+ "main": "index.js",
447
+ "name": "node-addon-api",
448
+ "readme": "README.md",
449
+ "repository": {
450
+ "type": "git",
451
+ "url": "git://github.com/nodejs/node-addon-api.git"
452
+ },
453
+ "files": [
454
+ "*.{c,h,gyp,gypi}",
455
+ "package-support.json",
456
+ "tools/"
457
+ ],
458
+ "scripts": {
459
+ "prebenchmark": "node-gyp rebuild -C benchmark",
460
+ "benchmark": "node benchmark",
461
+ "create-coverage": "npm test --coverage",
462
+ "report-coverage-html": "rm -rf coverage-html && mkdir coverage-html && gcovr -e test --merge-mode-functions merge-use-line-max --html-nested ./coverage-html/index.html test",
463
+ "report-coverage-xml": "rm -rf coverage-xml && mkdir coverage-xml && gcovr -e test --merge-mode-functions merge-use-line-max --xml -o ./coverage-xml/coverage-cxx.xml test",
464
+ "pretest": "node-gyp rebuild -C test",
465
+ "test": "node test",
466
+ "test:debug": "node-gyp rebuild -C test --debug && NODE_API_BUILD_CONFIG=Debug node ./test/index.js",
467
+ "predev": "node-gyp rebuild -C test --debug",
468
+ "dev": "node test",
469
+ "predev:incremental": "node-gyp configure build -C test --debug",
470
+ "dev:incremental": "node test",
471
+ "doc": "doxygen doc/Doxyfile",
472
+ "lint": "eslint && node tools/clang-format",
473
+ "lint:fix": "eslint --fix && node tools/clang-format --fix"
474
+ },
475
+ "pre-commit": "lint",
476
+ "version": "8.9.2",
477
+ "support": true,
478
+ "engines": {
479
+ "node": "^18 || ^20 || >= 21"
480
+ }
481
+ }
@@ -0,0 +1,73 @@
1
+ # Tools
2
+
3
+ ## clang-format
4
+
5
+ The clang-format checking tools is designed to check changed lines of code compared to given git-refs.
6
+
7
+ ## Migration Script
8
+
9
+ The migration tool is designed to reduce repetitive work in the migration process. However, the script is not aiming to convert every thing for you. There are usually some small fixes and major reconstruction required.
10
+
11
+ ### How To Use
12
+
13
+ To run the conversion script, first make sure you have the latest `node-addon-api` in your `node_modules` directory.
14
+ ```
15
+ npm install node-addon-api
16
+ ```
17
+
18
+ Then run the script passing your project directory
19
+ ```
20
+ node ./node_modules/node-addon-api/tools/conversion.js ./
21
+ ```
22
+
23
+ After finish, recompile and debug things that are missed by the script.
24
+
25
+
26
+ ### Quick Fixes
27
+ Here is the list of things that can be fixed easily.
28
+ 1. Change your methods' return value to void if it doesn't return value to JavaScript.
29
+ 2. Use `.` to access attribute or to invoke member function in Napi::Object instead of `->`.
30
+ 3. `Napi::New(env, value);` to `Napi::[Type]::New(env, value);
31
+
32
+
33
+ ### Major Reconstructions
34
+ The implementation of `Napi::ObjectWrap` is significantly different from NAN's. `Napi::ObjectWrap` takes a pointer to the wrapped object and creates a reference to the wrapped object inside ObjectWrap constructor. `Napi::ObjectWrap` also associates wrapped object's instance methods to Javascript module instead of static methods like NAN.
35
+
36
+ So if you use Nan::ObjectWrap in your module, you will need to execute the following steps.
37
+
38
+ 1. Convert your [ClassName]::New function to a constructor function that takes a `Napi::CallbackInfo`. Declare it as
39
+ ```
40
+ [ClassName](const Napi::CallbackInfo& info);
41
+ ```
42
+ and define it as
43
+ ```
44
+ [ClassName]::[ClassName](const Napi::CallbackInfo& info) : Napi::ObjectWrap<[ClassName]>(info){
45
+ ...
46
+ }
47
+ ```
48
+ This way, the `Napi::ObjectWrap` constructor will be invoked after the object has been instantiated and `Napi::ObjectWrap` can use the `this` pointer to create a reference to the wrapped object.
49
+
50
+ 2. Move your original constructor code into the new constructor. Delete your original constructor.
51
+ 3. In your class initialization function, associate native methods in the following way.
52
+ ```
53
+ Napi::FunctionReference constructor;
54
+
55
+ void [ClassName]::Init(Napi::Env env, Napi::Object exports, Napi::Object module) {
56
+ Napi::HandleScope scope(env);
57
+ Napi::Function ctor = DefineClass(env, "Canvas", {
58
+ InstanceMethod<&[ClassName]::Func1>("Func1"),
59
+ InstanceMethod<&[ClassName]::Func2>("Func2"),
60
+ InstanceAccessor<&[ClassName]::ValueGetter>("Value"),
61
+ StaticMethod<&[ClassName]::StaticMethod>("MethodName"),
62
+ InstanceValue("Value", Napi::[Type]::New(env, value)),
63
+ });
64
+
65
+ constructor = Napi::Persistent(ctor);
66
+ constructor .SuppressDestruct();
67
+ exports.Set("[ClassName]", ctor);
68
+ }
69
+ ```
70
+ 4. In function where you need to Unwrap the ObjectWrap in NAN like `[ClassName]* native = Nan::ObjectWrap::Unwrap<[ClassName]>(info.This());`, use `this` pointer directly as the unwrapped object as each ObjectWrap instance is associated with a unique object instance.
71
+
72
+
73
+ If you still find issues after following this guide, please leave us an issue describing your problem and we will try to resolve it.