@yalehwang/archguard 0.1.31 → 0.1.33

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 (574) hide show
  1. package/README.md +106 -19
  2. package/assets/grammars/benchmarks.md +101 -0
  3. package/assets/grammars/checksums.json +8 -0
  4. package/{node_modules/tree-sitter/LICENSE → assets/grammars/licenses/tree-sitter-cpp.LICENSE} +2 -2
  5. package/{node_modules/node-gyp-build/LICENSE → assets/grammars/licenses/tree-sitter-go.LICENSE} +5 -5
  6. package/assets/grammars/licenses/tree-sitter-java.LICENSE +21 -0
  7. package/assets/grammars/licenses/tree-sitter-kotlin.LICENSE +21 -0
  8. package/assets/grammars/licenses/tree-sitter-python.LICENSE +21 -0
  9. package/assets/grammars/licenses/tree-sitter.LICENSE +21 -0
  10. package/assets/grammars/provenance.json +66 -0
  11. package/assets/grammars/tree-sitter-cpp.wasm +0 -0
  12. package/assets/grammars/tree-sitter-go.wasm +0 -0
  13. package/assets/grammars/tree-sitter-java.wasm +0 -0
  14. package/assets/grammars/tree-sitter-kotlin.wasm +0 -0
  15. package/assets/grammars/tree-sitter-python.wasm +0 -0
  16. package/assets/grammars/tree-sitter.wasm +0 -0
  17. package/dist/analysis/fitness/rule-types.d.ts +1 -33
  18. package/dist/analysis/fitness/rule-types.d.ts.map +1 -1
  19. package/dist/analysis/gim/direction-hint.d.ts.map +1 -1
  20. package/dist/analysis/gim/direction-hint.js +15 -5
  21. package/dist/analysis/gim/direction-hint.js.map +1 -1
  22. package/dist/analysis/gim/gim-loss-evaluator.d.ts.map +1 -1
  23. package/dist/analysis/gim/gim-loss-evaluator.js +12 -6
  24. package/dist/analysis/gim/gim-loss-evaluator.js.map +1 -1
  25. package/dist/analysis/jl/adjacency-builder.d.ts +8 -0
  26. package/dist/analysis/jl/adjacency-builder.d.ts.map +1 -0
  27. package/dist/analysis/jl/adjacency-builder.js +65 -0
  28. package/dist/analysis/jl/adjacency-builder.js.map +1 -0
  29. package/dist/analysis/jl/cluster-boundary-analyzer.d.ts +13 -0
  30. package/dist/analysis/jl/cluster-boundary-analyzer.d.ts.map +1 -0
  31. package/dist/analysis/jl/cluster-boundary-analyzer.js +233 -0
  32. package/dist/analysis/jl/cluster-boundary-analyzer.js.map +1 -0
  33. package/dist/analysis/jl/drift-calculator.d.ts +6 -0
  34. package/dist/analysis/jl/drift-calculator.d.ts.map +1 -0
  35. package/dist/analysis/jl/drift-calculator.js +104 -0
  36. package/dist/analysis/jl/drift-calculator.js.map +1 -0
  37. package/dist/analysis/jl/drift-exit-code.d.ts +4 -0
  38. package/dist/analysis/jl/drift-exit-code.d.ts.map +1 -0
  39. package/dist/analysis/jl/drift-exit-code.js +9 -0
  40. package/dist/analysis/jl/drift-exit-code.js.map +1 -0
  41. package/dist/analysis/jl/entity-aligner.d.ts +6 -0
  42. package/dist/analysis/jl/entity-aligner.d.ts.map +1 -0
  43. package/dist/analysis/jl/entity-aligner.js +33 -0
  44. package/dist/analysis/jl/entity-aligner.js.map +1 -0
  45. package/dist/analysis/jl/history-writer.d.ts +7 -0
  46. package/dist/analysis/jl/history-writer.d.ts.map +1 -0
  47. package/dist/analysis/jl/history-writer.js +74 -0
  48. package/dist/analysis/jl/history-writer.js.map +1 -0
  49. package/dist/analysis/jl/intrinsic-dimension.d.ts +14 -0
  50. package/dist/analysis/jl/intrinsic-dimension.d.ts.map +1 -0
  51. package/dist/analysis/jl/intrinsic-dimension.js +80 -0
  52. package/dist/analysis/jl/intrinsic-dimension.js.map +1 -0
  53. package/dist/analysis/jl/jl-projector.d.ts +7 -0
  54. package/dist/analysis/jl/jl-projector.d.ts.map +1 -0
  55. package/dist/analysis/jl/jl-projector.js +52 -0
  56. package/dist/analysis/jl/jl-projector.js.map +1 -0
  57. package/dist/analysis/jl/kmeans.d.ts +11 -0
  58. package/dist/analysis/jl/kmeans.d.ts.map +1 -0
  59. package/dist/analysis/jl/kmeans.js +273 -0
  60. package/dist/analysis/jl/kmeans.js.map +1 -0
  61. package/dist/analysis/jl/types.d.ts +166 -0
  62. package/dist/analysis/jl/types.d.ts.map +1 -0
  63. package/dist/analysis/jl/types.js +19 -0
  64. package/dist/analysis/jl/types.js.map +1 -0
  65. package/dist/analysis/shape-smells/index.d.ts +5 -0
  66. package/dist/analysis/shape-smells/index.d.ts.map +1 -0
  67. package/dist/analysis/shape-smells/index.js +5 -0
  68. package/dist/analysis/shape-smells/index.js.map +1 -0
  69. package/dist/analysis/shape-smells/literal-dispersion.d.ts +9 -0
  70. package/dist/analysis/shape-smells/literal-dispersion.d.ts.map +1 -0
  71. package/dist/analysis/shape-smells/literal-dispersion.js +157 -0
  72. package/dist/analysis/shape-smells/literal-dispersion.js.map +1 -0
  73. package/dist/analysis/shape-smells/persistence.d.ts +5 -0
  74. package/dist/analysis/shape-smells/persistence.d.ts.map +1 -0
  75. package/dist/analysis/shape-smells/persistence.js +59 -0
  76. package/dist/analysis/shape-smells/persistence.js.map +1 -0
  77. package/dist/analysis/shape-smells/scope-filter.d.ts +7 -0
  78. package/dist/analysis/shape-smells/scope-filter.d.ts.map +1 -0
  79. package/dist/analysis/shape-smells/scope-filter.js +28 -0
  80. package/dist/analysis/shape-smells/scope-filter.js.map +1 -0
  81. package/dist/analysis/shape-smells/types.d.ts +40 -0
  82. package/dist/analysis/shape-smells/types.d.ts.map +1 -0
  83. package/dist/analysis/shape-smells/types.js +2 -0
  84. package/dist/analysis/shape-smells/types.js.map +1 -0
  85. package/dist/analysis/snapshot-store.js +2 -2
  86. package/dist/analysis/snapshot-store.js.map +1 -1
  87. package/dist/analysis/test-analyzer.d.ts.map +1 -1
  88. package/dist/analysis/test-analyzer.js +1 -1
  89. package/dist/analysis/test-analyzer.js.map +1 -1
  90. package/dist/cli/analyze/normalize-to-diagrams.d.ts.map +1 -1
  91. package/dist/cli/analyze/normalize-to-diagrams.js +35 -0
  92. package/dist/cli/analyze/normalize-to-diagrams.js.map +1 -1
  93. package/dist/cli/analyze/run-analysis.d.ts +6 -0
  94. package/dist/cli/analyze/run-analysis.d.ts.map +1 -1
  95. package/dist/cli/analyze/run-analysis.js +65 -43
  96. package/dist/cli/analyze/run-analysis.js.map +1 -1
  97. package/dist/cli/cache/cache-manager.js +2 -2
  98. package/dist/cli/cache/cache-manager.js.map +1 -1
  99. package/dist/cli/cognitive/ccb-assembler.js.map +1 -1
  100. package/dist/cli/commands/analyze.d.ts +17 -0
  101. package/dist/cli/commands/analyze.d.ts.map +1 -1
  102. package/dist/cli/commands/analyze.js +129 -2
  103. package/dist/cli/commands/analyze.js.map +1 -1
  104. package/dist/cli/commands/check.js.map +1 -1
  105. package/dist/cli/commands/diff.js +1 -1
  106. package/dist/cli/commands/diff.js.map +1 -1
  107. package/dist/cli/commands/init.js.map +1 -1
  108. package/dist/cli/commands/query.d.ts +3 -0
  109. package/dist/cli/commands/query.d.ts.map +1 -1
  110. package/dist/cli/commands/query.js +128 -0
  111. package/dist/cli/commands/query.js.map +1 -1
  112. package/dist/cli/config-loader.d.ts.map +1 -1
  113. package/dist/cli/config-loader.js +6 -1
  114. package/dist/cli/config-loader.js.map +1 -1
  115. package/dist/cli/index.js.map +1 -1
  116. package/dist/cli/mcp/analyze-tool.d.ts +2 -0
  117. package/dist/cli/mcp/analyze-tool.d.ts.map +1 -1
  118. package/dist/cli/mcp/analyze-tool.js +5 -0
  119. package/dist/cli/mcp/analyze-tool.js.map +1 -1
  120. package/dist/cli/mcp/mcp-server.d.ts +7 -2
  121. package/dist/cli/mcp/mcp-server.d.ts.map +1 -1
  122. package/dist/cli/mcp/mcp-server.js +43 -3
  123. package/dist/cli/mcp/mcp-server.js.map +1 -1
  124. package/dist/cli/mcp/tools/arch-health-tools.d.ts +16 -0
  125. package/dist/cli/mcp/tools/arch-health-tools.d.ts.map +1 -0
  126. package/dist/cli/mcp/tools/arch-health-tools.js +207 -0
  127. package/dist/cli/mcp/tools/arch-health-tools.js.map +1 -0
  128. package/dist/cli/mcp/tools/atlas-analytics-tools.d.ts.map +1 -1
  129. package/dist/cli/mcp/tools/atlas-analytics-tools.js +5 -4
  130. package/dist/cli/mcp/tools/atlas-analytics-tools.js.map +1 -1
  131. package/dist/cli/mcp/tools/gim-tools.d.ts.map +1 -1
  132. package/dist/cli/mcp/tools/gim-tools.js +5 -1
  133. package/dist/cli/mcp/tools/gim-tools.js.map +1 -1
  134. package/dist/cli/mcp/tools/git-history-analyze-tool.d.ts.map +1 -1
  135. package/dist/cli/mcp/tools/git-history-analyze-tool.js.map +1 -1
  136. package/dist/cli/mcp/tools/git-history-evidence-pack-tool.js.map +1 -1
  137. package/dist/cli/mcp/tools/git-history-tools.js.map +1 -1
  138. package/dist/cli/mcp/tools/metric-trend-tools.d.ts.map +1 -1
  139. package/dist/cli/mcp/tools/metric-trend-tools.js +2 -1
  140. package/dist/cli/mcp/tools/metric-trend-tools.js.map +1 -1
  141. package/dist/cli/mcp/tools/package-metrics-tools.d.ts.map +1 -1
  142. package/dist/cli/mcp/tools/package-metrics-tools.js +2 -1
  143. package/dist/cli/mcp/tools/package-metrics-tools.js.map +1 -1
  144. package/dist/cli/mcp/tools/shape-smell-tools.d.ts +3 -0
  145. package/dist/cli/mcp/tools/shape-smell-tools.d.ts.map +1 -0
  146. package/dist/cli/mcp/tools/shape-smell-tools.js +187 -0
  147. package/dist/cli/mcp/tools/shape-smell-tools.js.map +1 -0
  148. package/dist/cli/mcp/tools/test-analysis-tools.d.ts.map +1 -1
  149. package/dist/cli/mcp/tools/test-analysis-tools.js +4 -4
  150. package/dist/cli/mcp/tools/test-analysis-tools.js.map +1 -1
  151. package/dist/cli/processors/arch-json-provider-types.d.ts +5 -0
  152. package/dist/cli/processors/arch-json-provider-types.d.ts.map +1 -1
  153. package/dist/cli/processors/arch-json-provider.d.ts +5 -0
  154. package/dist/cli/processors/arch-json-provider.d.ts.map +1 -1
  155. package/dist/cli/processors/arch-json-provider.js +113 -55
  156. package/dist/cli/processors/arch-json-provider.js.map +1 -1
  157. package/dist/cli/processors/arch-json-utils.d.ts.map +1 -1
  158. package/dist/cli/processors/arch-json-utils.js +12 -3
  159. package/dist/cli/processors/arch-json-utils.js.map +1 -1
  160. package/dist/cli/processors/diagram-output-router.d.ts +1 -0
  161. package/dist/cli/processors/diagram-output-router.d.ts.map +1 -1
  162. package/dist/cli/processors/diagram-output-router.js +54 -66
  163. package/dist/cli/processors/diagram-output-router.js.map +1 -1
  164. package/dist/cli/processors/diagram-processor.d.ts +4 -0
  165. package/dist/cli/processors/diagram-processor.d.ts.map +1 -1
  166. package/dist/cli/processors/diagram-processor.js +2 -0
  167. package/dist/cli/processors/diagram-processor.js.map +1 -1
  168. package/dist/cli/processors/worker-pool-factory.d.ts +3 -0
  169. package/dist/cli/processors/worker-pool-factory.d.ts.map +1 -1
  170. package/dist/cli/processors/worker-pool-factory.js +9 -0
  171. package/dist/cli/processors/worker-pool-factory.js.map +1 -1
  172. package/dist/cli/query/engine-loader.d.ts.map +1 -1
  173. package/dist/cli/query/engine-loader.js +3 -3
  174. package/dist/cli/query/engine-loader.js.map +1 -1
  175. package/dist/cli/query/query-artifacts.js +2 -2
  176. package/dist/cli/query/query-artifacts.js.map +1 -1
  177. package/dist/cli/utils/cluster-archjson-loader.d.ts +3 -0
  178. package/dist/cli/utils/cluster-archjson-loader.d.ts.map +1 -0
  179. package/dist/cli/utils/cluster-archjson-loader.js +28 -0
  180. package/dist/cli/utils/cluster-archjson-loader.js.map +1 -0
  181. package/dist/cli/utils/drift-baseline.d.ts +27 -0
  182. package/dist/cli/utils/drift-baseline.d.ts.map +1 -0
  183. package/dist/cli/utils/drift-baseline.js +95 -0
  184. package/dist/cli/utils/drift-baseline.js.map +1 -0
  185. package/dist/cli/utils/drift-reporter.d.ts +3 -0
  186. package/dist/cli/utils/drift-reporter.d.ts.map +1 -0
  187. package/dist/cli/utils/drift-reporter.js +49 -0
  188. package/dist/cli/utils/drift-reporter.js.map +1 -0
  189. package/dist/core/index.d.ts +7 -0
  190. package/dist/core/index.d.ts.map +1 -0
  191. package/dist/core/index.js +4 -0
  192. package/dist/core/index.js.map +1 -0
  193. package/dist/core/interfaces/language-plugin.d.ts +1 -0
  194. package/dist/core/interfaces/language-plugin.d.ts.map +1 -1
  195. package/dist/core/pack-registry/errors.d.ts +5 -0
  196. package/dist/core/pack-registry/errors.d.ts.map +1 -0
  197. package/dist/core/pack-registry/errors.js +9 -0
  198. package/dist/core/pack-registry/errors.js.map +1 -0
  199. package/dist/core/pack-registry/index.d.ts +7 -0
  200. package/dist/core/pack-registry/index.d.ts.map +1 -0
  201. package/dist/core/pack-registry/index.js +4 -0
  202. package/dist/core/pack-registry/index.js.map +1 -0
  203. package/dist/core/pack-registry/knowledge-pack-schema.d.ts +188 -0
  204. package/dist/core/pack-registry/knowledge-pack-schema.d.ts.map +1 -0
  205. package/dist/core/pack-registry/knowledge-pack-schema.js +108 -0
  206. package/dist/core/pack-registry/knowledge-pack-schema.js.map +1 -0
  207. package/dist/core/pack-registry/pack-registry.d.ts +15 -0
  208. package/dist/core/pack-registry/pack-registry.d.ts.map +1 -0
  209. package/dist/core/pack-registry/pack-registry.js +99 -0
  210. package/dist/core/pack-registry/pack-registry.js.map +1 -0
  211. package/dist/core/pack-registry/types.d.ts +87 -0
  212. package/dist/core/pack-registry/types.d.ts.map +1 -0
  213. package/dist/core/pack-registry/types.js +2 -0
  214. package/dist/core/pack-registry/types.js.map +1 -0
  215. package/dist/core/plugin-registry.d.ts +2 -0
  216. package/dist/core/plugin-registry.d.ts.map +1 -1
  217. package/dist/core/plugin-registry.js +15 -2
  218. package/dist/core/plugin-registry.js.map +1 -1
  219. package/dist/core/query/arch-index-builder.js.map +1 -1
  220. package/dist/core/rule-engine/ast-node.d.ts +6 -0
  221. package/dist/core/rule-engine/ast-node.d.ts.map +1 -0
  222. package/dist/core/rule-engine/ast-node.js +15 -0
  223. package/dist/core/rule-engine/ast-node.js.map +1 -0
  224. package/dist/core/rule-engine/index.d.ts +5 -0
  225. package/dist/core/rule-engine/index.d.ts.map +1 -0
  226. package/dist/core/rule-engine/index.js +4 -0
  227. package/dist/core/rule-engine/index.js.map +1 -0
  228. package/dist/core/rule-engine/rule-based-plugin.d.ts +22 -0
  229. package/dist/core/rule-engine/rule-based-plugin.d.ts.map +1 -0
  230. package/dist/core/rule-engine/rule-based-plugin.js +171 -0
  231. package/dist/core/rule-engine/rule-based-plugin.js.map +1 -0
  232. package/dist/core/rule-engine/rule-engine.d.ts +52 -0
  233. package/dist/core/rule-engine/rule-engine.d.ts.map +1 -0
  234. package/dist/core/rule-engine/rule-engine.js +655 -0
  235. package/dist/core/rule-engine/rule-engine.js.map +1 -0
  236. package/dist/mermaid/auto-repair.js +1 -1
  237. package/dist/mermaid/auto-repair.js.map +1 -1
  238. package/dist/mermaid/cpp-package-flowchart-generator.js.map +1 -1
  239. package/dist/mermaid/diagram-generator.d.ts.map +1 -1
  240. package/dist/mermaid/diagram-generator.js +17 -18
  241. package/dist/mermaid/diagram-generator.js.map +1 -1
  242. package/dist/mermaid/generator.d.ts.map +1 -1
  243. package/dist/mermaid/generator.js +19 -1
  244. package/dist/mermaid/generator.js.map +1 -1
  245. package/dist/mermaid/renderer.d.ts.map +1 -1
  246. package/dist/mermaid/renderer.js +1 -1
  247. package/dist/mermaid/renderer.js.map +1 -1
  248. package/dist/mermaid/test-coverage-renderer.d.ts.map +1 -1
  249. package/dist/mermaid/test-coverage-renderer.js +18 -12
  250. package/dist/mermaid/test-coverage-renderer.js.map +1 -1
  251. package/dist/mermaid/types.d.ts +25 -1
  252. package/dist/mermaid/types.d.ts.map +1 -1
  253. package/dist/mermaid/validation-pipeline.d.ts +4 -16
  254. package/dist/mermaid/validation-pipeline.d.ts.map +1 -1
  255. package/dist/mermaid/validation-pipeline.js.map +1 -1
  256. package/dist/parser/archjson-aggregator.js +2 -2
  257. package/dist/parser/archjson-aggregator.js.map +1 -1
  258. package/dist/parser/parallel-parser.d.ts +10 -0
  259. package/dist/parser/parallel-parser.d.ts.map +1 -1
  260. package/dist/parser/parallel-parser.js +76 -35
  261. package/dist/parser/parallel-parser.js.map +1 -1
  262. package/dist/parser/parse-worker-pool.d.ts +59 -0
  263. package/dist/parser/parse-worker-pool.d.ts.map +1 -0
  264. package/dist/parser/parse-worker-pool.js +170 -0
  265. package/dist/parser/parse-worker-pool.js.map +1 -0
  266. package/dist/parser/parse-worker.d.ts +2 -0
  267. package/dist/parser/parse-worker.d.ts.map +1 -0
  268. package/dist/parser/parse-worker.js +72 -0
  269. package/dist/parser/parse-worker.js.map +1 -0
  270. package/dist/parser/process-parse-worker-pools.d.ts +18 -0
  271. package/dist/parser/process-parse-worker-pools.d.ts.map +1 -0
  272. package/dist/parser/process-parse-worker-pools.js +31 -0
  273. package/dist/parser/process-parse-worker-pools.js.map +1 -0
  274. package/dist/parser/typescript-parser.d.ts.map +1 -1
  275. package/dist/parser/typescript-parser.js +3 -2
  276. package/dist/parser/typescript-parser.js.map +1 -1
  277. package/dist/plugins/cpp/builders/class-builder.d.ts +3 -2
  278. package/dist/plugins/cpp/builders/class-builder.d.ts.map +1 -1
  279. package/dist/plugins/cpp/builders/class-builder.js +19 -0
  280. package/dist/plugins/cpp/builders/class-builder.js.map +1 -1
  281. package/dist/plugins/cpp/index.d.ts +4 -1
  282. package/dist/plugins/cpp/index.d.ts.map +1 -1
  283. package/dist/plugins/cpp/index.js +11 -2
  284. package/dist/plugins/cpp/index.js.map +1 -1
  285. package/dist/plugins/cpp/mappers/class-capture-mapper.d.ts +14 -0
  286. package/dist/plugins/cpp/mappers/class-capture-mapper.d.ts.map +1 -0
  287. package/dist/plugins/cpp/mappers/class-capture-mapper.js +76 -0
  288. package/dist/plugins/cpp/mappers/class-capture-mapper.js.map +1 -0
  289. package/dist/plugins/cpp/mappers/enum-capture-mapper.d.ts +6 -0
  290. package/dist/plugins/cpp/mappers/enum-capture-mapper.d.ts.map +1 -0
  291. package/dist/plugins/cpp/mappers/enum-capture-mapper.js +31 -0
  292. package/dist/plugins/cpp/mappers/enum-capture-mapper.js.map +1 -0
  293. package/dist/plugins/cpp/mappers/field-capture-mapper.d.ts +12 -0
  294. package/dist/plugins/cpp/mappers/field-capture-mapper.d.ts.map +1 -0
  295. package/dist/plugins/cpp/mappers/field-capture-mapper.js +66 -0
  296. package/dist/plugins/cpp/mappers/field-capture-mapper.js.map +1 -0
  297. package/dist/plugins/cpp/mappers/function-capture-mapper.d.ts +6 -0
  298. package/dist/plugins/cpp/mappers/function-capture-mapper.d.ts.map +1 -0
  299. package/dist/plugins/cpp/mappers/function-capture-mapper.js +25 -0
  300. package/dist/plugins/cpp/mappers/function-capture-mapper.js.map +1 -0
  301. package/dist/plugins/cpp/mappers/include-capture-mapper.d.ts +5 -0
  302. package/dist/plugins/cpp/mappers/include-capture-mapper.d.ts.map +1 -0
  303. package/dist/plugins/cpp/mappers/include-capture-mapper.js +10 -0
  304. package/dist/plugins/cpp/mappers/include-capture-mapper.js.map +1 -0
  305. package/dist/plugins/cpp/queries/classes.scm +7 -0
  306. package/dist/plugins/cpp/queries/enums.scm +3 -0
  307. package/dist/plugins/cpp/queries/fields.scm +6 -0
  308. package/dist/plugins/cpp/queries/functions.scm +7 -0
  309. package/dist/plugins/cpp/queries/includes.scm +8 -0
  310. package/dist/plugins/cpp/tree-sitter-bridge.d.ts +8 -14
  311. package/dist/plugins/cpp/tree-sitter-bridge.d.ts.map +1 -1
  312. package/dist/plugins/cpp/tree-sitter-bridge.js +60 -238
  313. package/dist/plugins/cpp/tree-sitter-bridge.js.map +1 -1
  314. package/dist/plugins/golang/atlas/behavior-analyzer.d.ts.map +1 -1
  315. package/dist/plugins/golang/atlas/behavior-analyzer.js.map +1 -1
  316. package/dist/plugins/golang/atlas/builders/flow-graph-builder.js.map +1 -1
  317. package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.js.map +1 -1
  318. package/dist/plugins/golang/atlas/go-mod-resolver.d.ts.map +1 -1
  319. package/dist/plugins/golang/atlas/go-mod-resolver.js +2 -1
  320. package/dist/plugins/golang/atlas/go-mod-resolver.js.map +1 -1
  321. package/dist/plugins/golang/atlas/renderers/capability-mermaid-template.d.ts.map +1 -1
  322. package/dist/plugins/golang/atlas/renderers/capability-mermaid-template.js.map +1 -1
  323. package/dist/plugins/golang/atlas/renderers/flow-mermaid-template.d.ts.map +1 -1
  324. package/dist/plugins/golang/atlas/renderers/flow-mermaid-template.js.map +1 -1
  325. package/dist/plugins/golang/atlas/renderers/goroutine-mermaid-template.d.ts.map +1 -1
  326. package/dist/plugins/golang/atlas/renderers/goroutine-mermaid-template.js.map +1 -1
  327. package/dist/plugins/golang/atlas/renderers/mermaid-templates.d.ts.map +1 -1
  328. package/dist/plugins/golang/atlas/renderers/mermaid-templates.js.map +1 -1
  329. package/dist/plugins/golang/builders/function-builder.d.ts +4 -4
  330. package/dist/plugins/golang/builders/function-builder.d.ts.map +1 -1
  331. package/dist/plugins/golang/builders/function-builder.js.map +1 -1
  332. package/dist/plugins/golang/builders/goroutine-builder.d.ts +2 -2
  333. package/dist/plugins/golang/builders/goroutine-builder.d.ts.map +1 -1
  334. package/dist/plugins/golang/builders/goroutine-builder.js.map +1 -1
  335. package/dist/plugins/golang/builders/interface-builder.d.ts +4 -4
  336. package/dist/plugins/golang/builders/interface-builder.d.ts.map +1 -1
  337. package/dist/plugins/golang/builders/interface-builder.js.map +1 -1
  338. package/dist/plugins/golang/builders/node-utils.d.ts +3 -3
  339. package/dist/plugins/golang/builders/node-utils.d.ts.map +1 -1
  340. package/dist/plugins/golang/builders/node-utils.js.map +1 -1
  341. package/dist/plugins/golang/builders/struct-builder.d.ts +2 -2
  342. package/dist/plugins/golang/builders/struct-builder.d.ts.map +1 -1
  343. package/dist/plugins/golang/builders/struct-builder.js.map +1 -1
  344. package/dist/plugins/golang/go-atlas-adapter.d.ts +3 -3
  345. package/dist/plugins/golang/go-atlas-adapter.d.ts.map +1 -1
  346. package/dist/plugins/golang/go-atlas-adapter.js +4 -4
  347. package/dist/plugins/golang/go-atlas-adapter.js.map +1 -1
  348. package/dist/plugins/golang/go-parse-coordinator.d.ts +10 -2
  349. package/dist/plugins/golang/go-parse-coordinator.d.ts.map +1 -1
  350. package/dist/plugins/golang/go-parse-coordinator.js +44 -6
  351. package/dist/plugins/golang/go-parse-coordinator.js.map +1 -1
  352. package/dist/plugins/golang/gopls-client.d.ts +32 -3
  353. package/dist/plugins/golang/gopls-client.d.ts.map +1 -1
  354. package/dist/plugins/golang/gopls-client.js +246 -40
  355. package/dist/plugins/golang/gopls-client.js.map +1 -1
  356. package/dist/plugins/golang/gopls-interface-resolver.d.ts +14 -1
  357. package/dist/plugins/golang/gopls-interface-resolver.d.ts.map +1 -1
  358. package/dist/plugins/golang/gopls-interface-resolver.js +42 -11
  359. package/dist/plugins/golang/gopls-interface-resolver.js.map +1 -1
  360. package/dist/plugins/golang/index.d.ts +3 -1
  361. package/dist/plugins/golang/index.d.ts.map +1 -1
  362. package/dist/plugins/golang/index.js +20 -3
  363. package/dist/plugins/golang/index.js.map +1 -1
  364. package/dist/plugins/golang/interface-matcher.d.ts.map +1 -1
  365. package/dist/plugins/golang/interface-matcher.js +32 -30
  366. package/dist/plugins/golang/interface-matcher.js.map +1 -1
  367. package/dist/plugins/golang/tree-sitter-bridge.d.ts +3 -2
  368. package/dist/plugins/golang/tree-sitter-bridge.d.ts.map +1 -1
  369. package/dist/plugins/golang/tree-sitter-bridge.js +25 -23
  370. package/dist/plugins/golang/tree-sitter-bridge.js.map +1 -1
  371. package/dist/plugins/golang/types.d.ts +4 -0
  372. package/dist/plugins/golang/types.d.ts.map +1 -1
  373. package/dist/plugins/java/dependency-extractor.d.ts.map +1 -1
  374. package/dist/plugins/java/dependency-extractor.js.map +1 -1
  375. package/dist/plugins/java/index.d.ts +4 -0
  376. package/dist/plugins/java/index.d.ts.map +1 -1
  377. package/dist/plugins/java/index.js +12 -1
  378. package/dist/plugins/java/index.js.map +1 -1
  379. package/dist/plugins/java/tree-sitter-bridge.d.ts +3 -2
  380. package/dist/plugins/java/tree-sitter-bridge.d.ts.map +1 -1
  381. package/dist/plugins/java/tree-sitter-bridge.js +33 -31
  382. package/dist/plugins/java/tree-sitter-bridge.js.map +1 -1
  383. package/dist/plugins/java/types.d.ts +1 -1
  384. package/dist/plugins/java/types.d.ts.map +1 -1
  385. package/dist/plugins/kotlin/builders/class-builder.d.ts +2 -1
  386. package/dist/plugins/kotlin/builders/class-builder.d.ts.map +1 -1
  387. package/dist/plugins/kotlin/builders/class-builder.js.map +1 -1
  388. package/dist/plugins/kotlin/builders/function-builder.d.ts +2 -1
  389. package/dist/plugins/kotlin/builders/function-builder.d.ts.map +1 -1
  390. package/dist/plugins/kotlin/builders/function-builder.js.map +1 -1
  391. package/dist/plugins/kotlin/index.d.ts +6 -3
  392. package/dist/plugins/kotlin/index.d.ts.map +1 -1
  393. package/dist/plugins/kotlin/index.js +12 -4
  394. package/dist/plugins/kotlin/index.js.map +1 -1
  395. package/dist/plugins/kotlin/tree-sitter-bridge.d.ts +3 -3
  396. package/dist/plugins/kotlin/tree-sitter-bridge.d.ts.map +1 -1
  397. package/dist/plugins/kotlin/tree-sitter-bridge.js +6 -7
  398. package/dist/plugins/kotlin/tree-sitter-bridge.js.map +1 -1
  399. package/dist/plugins/python/archjson-mapper.d.ts.map +1 -1
  400. package/dist/plugins/python/archjson-mapper.js.map +1 -1
  401. package/dist/plugins/python/index.d.ts +4 -0
  402. package/dist/plugins/python/index.d.ts.map +1 -1
  403. package/dist/plugins/python/index.js +12 -1
  404. package/dist/plugins/python/index.js.map +1 -1
  405. package/dist/plugins/python/tree-sitter-bridge.d.ts +3 -2
  406. package/dist/plugins/python/tree-sitter-bridge.d.ts.map +1 -1
  407. package/dist/plugins/python/tree-sitter-bridge.js +50 -48
  408. package/dist/plugins/python/tree-sitter-bridge.js.map +1 -1
  409. package/dist/plugins/shared/capture-mapper.d.ts +12 -0
  410. package/dist/plugins/shared/capture-mapper.d.ts.map +1 -0
  411. package/dist/plugins/shared/capture-mapper.js +33 -0
  412. package/dist/plugins/shared/capture-mapper.js.map +1 -0
  413. package/dist/plugins/shared/index.d.ts +4 -0
  414. package/dist/plugins/shared/index.d.ts.map +1 -0
  415. package/dist/plugins/shared/index.js +3 -0
  416. package/dist/plugins/shared/index.js.map +1 -0
  417. package/dist/plugins/shared/native-parser-backend.d.ts +34 -0
  418. package/dist/plugins/shared/native-parser-backend.d.ts.map +1 -0
  419. package/dist/plugins/shared/native-parser-backend.js +96 -0
  420. package/dist/plugins/shared/native-parser-backend.js.map +1 -0
  421. package/dist/plugins/shared/parser-backend.d.ts +13 -0
  422. package/dist/plugins/shared/parser-backend.d.ts.map +1 -0
  423. package/dist/plugins/shared/parser-backend.js +39 -0
  424. package/dist/plugins/shared/parser-backend.js.map +1 -0
  425. package/dist/plugins/shared/parser-runtime.d.ts +32 -0
  426. package/dist/plugins/shared/parser-runtime.d.ts.map +1 -0
  427. package/dist/plugins/shared/parser-runtime.js +156 -0
  428. package/dist/plugins/shared/parser-runtime.js.map +1 -0
  429. package/dist/plugins/shared/plugin-factory.d.ts +5 -0
  430. package/dist/plugins/shared/plugin-factory.d.ts.map +1 -0
  431. package/dist/plugins/shared/plugin-factory.js +27 -0
  432. package/dist/plugins/shared/plugin-factory.js.map +1 -0
  433. package/dist/plugins/shared/query-loader.d.ts +14 -0
  434. package/dist/plugins/shared/query-loader.d.ts.map +1 -0
  435. package/dist/plugins/shared/query-loader.js +47 -0
  436. package/dist/plugins/shared/query-loader.js.map +1 -0
  437. package/dist/plugins/shared/syntax-tree.d.ts +45 -0
  438. package/dist/plugins/shared/syntax-tree.d.ts.map +1 -0
  439. package/dist/plugins/shared/syntax-tree.js +2 -0
  440. package/dist/plugins/shared/syntax-tree.js.map +1 -0
  441. package/dist/plugins/shared/wasm-parser-backend.d.ts +18 -0
  442. package/dist/plugins/shared/wasm-parser-backend.d.ts.map +1 -0
  443. package/dist/plugins/shared/wasm-parser-backend.js +127 -0
  444. package/dist/plugins/shared/wasm-parser-backend.js.map +1 -0
  445. package/dist/plugins/typescript/builders/module-graph-builder.d.ts.map +1 -1
  446. package/dist/plugins/typescript/builders/module-graph-builder.js +2 -3
  447. package/dist/plugins/typescript/builders/module-graph-builder.js.map +1 -1
  448. package/dist/plugins/typescript/index.d.ts.map +1 -1
  449. package/dist/plugins/typescript/index.js +6 -6
  450. package/dist/plugins/typescript/index.js.map +1 -1
  451. package/dist/types/config-cli.d.ts +3 -0
  452. package/dist/types/config-cli.d.ts.map +1 -1
  453. package/dist/types/config-global.d.ts +7 -1
  454. package/dist/types/config-global.d.ts.map +1 -1
  455. package/dist/types/config.d.ts +1 -0
  456. package/dist/types/config.d.ts.map +1 -1
  457. package/dist/types/config.js +1 -0
  458. package/dist/types/config.js.map +1 -1
  459. package/dist/types/fitness-rules.d.ts +34 -0
  460. package/dist/types/fitness-rules.d.ts.map +1 -0
  461. package/dist/types/fitness-rules.js +2 -0
  462. package/dist/types/fitness-rules.js.map +1 -0
  463. package/dist/types/index.d.ts +1 -1
  464. package/dist/types/index.d.ts.map +1 -1
  465. package/dist/types/parser-runtime.d.ts +4 -0
  466. package/dist/types/parser-runtime.d.ts.map +1 -0
  467. package/dist/types/parser-runtime.js +5 -0
  468. package/dist/types/parser-runtime.js.map +1 -0
  469. package/dist/utils/error-message.d.ts +2 -0
  470. package/dist/utils/error-message.d.ts.map +1 -0
  471. package/dist/utils/error-message.js +8 -0
  472. package/dist/utils/error-message.js.map +1 -0
  473. package/package.json +34 -18
  474. package/node_modules/node-addon-api/LICENSE.md +0 -9
  475. package/node_modules/node-addon-api/README.md +0 -95
  476. package/node_modules/node-addon-api/common.gypi +0 -21
  477. package/node_modules/node-addon-api/except.gypi +0 -25
  478. package/node_modules/node-addon-api/index.js +0 -14
  479. package/node_modules/node-addon-api/napi-inl.deprecated.h +0 -186
  480. package/node_modules/node-addon-api/napi-inl.h +0 -7033
  481. package/node_modules/node-addon-api/napi.h +0 -3309
  482. package/node_modules/node-addon-api/node_addon_api.gyp +0 -42
  483. package/node_modules/node-addon-api/node_api.gyp +0 -9
  484. package/node_modules/node-addon-api/noexcept.gypi +0 -26
  485. package/node_modules/node-addon-api/nothing.c +0 -0
  486. package/node_modules/node-addon-api/package-support.json +0 -21
  487. package/node_modules/node-addon-api/package.json +0 -480
  488. package/node_modules/node-addon-api/tools/README.md +0 -73
  489. package/node_modules/node-addon-api/tools/check-napi.js +0 -99
  490. package/node_modules/node-addon-api/tools/clang-format.js +0 -71
  491. package/node_modules/node-addon-api/tools/conversion.js +0 -301
  492. package/node_modules/node-gyp-build/README.md +0 -58
  493. package/node_modules/node-gyp-build/SECURITY.md +0 -5
  494. package/node_modules/node-gyp-build/bin.js +0 -84
  495. package/node_modules/node-gyp-build/build-test.js +0 -19
  496. package/node_modules/node-gyp-build/index.js +0 -6
  497. package/node_modules/node-gyp-build/node-gyp-build.js +0 -207
  498. package/node_modules/node-gyp-build/optional.js +0 -7
  499. package/node_modules/node-gyp-build/package.json +0 -43
  500. package/node_modules/tree-sitter/README.md +0 -128
  501. package/node_modules/tree-sitter/binding.gyp +0 -80
  502. package/node_modules/tree-sitter/index.js +0 -916
  503. package/node_modules/tree-sitter/package.json +0 -76
  504. package/node_modules/tree-sitter/prebuilds/linux-x64/node.napi.glibc.node +0 -0
  505. package/node_modules/tree-sitter/src/addon_data.h +0 -47
  506. package/node_modules/tree-sitter/src/binding.cc +0 -35
  507. package/node_modules/tree-sitter/src/conversions.cc +0 -140
  508. package/node_modules/tree-sitter/src/conversions.h +0 -22
  509. package/node_modules/tree-sitter/src/language.cc +0 -106
  510. package/node_modules/tree-sitter/src/language.h +0 -17
  511. package/node_modules/tree-sitter/src/logger.cc +0 -70
  512. package/node_modules/tree-sitter/src/logger.h +0 -19
  513. package/node_modules/tree-sitter/src/lookaheaditerator.cc +0 -122
  514. package/node_modules/tree-sitter/src/lookaheaditerator.h +0 -33
  515. package/node_modules/tree-sitter/src/node.cc +0 -1088
  516. package/node_modules/tree-sitter/src/node.h +0 -30
  517. package/node_modules/tree-sitter/src/parser.cc +0 -306
  518. package/node_modules/tree-sitter/src/parser.h +0 -35
  519. package/node_modules/tree-sitter/src/query.cc +0 -397
  520. package/node_modules/tree-sitter/src/query.h +0 -40
  521. package/node_modules/tree-sitter/src/tree.cc +0 -316
  522. package/node_modules/tree-sitter/src/tree.h +0 -45
  523. package/node_modules/tree-sitter/src/tree_cursor.cc +0 -213
  524. package/node_modules/tree-sitter/src/tree_cursor.h +0 -52
  525. package/node_modules/tree-sitter/tree-sitter.d.ts +0 -1042
  526. package/node_modules/tree-sitter/vendor/tree-sitter/lib/include/tree_sitter/api.h +0 -1478
  527. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.c +0 -48
  528. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.h +0 -41
  529. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/array.h +0 -291
  530. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/atomic.h +0 -68
  531. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/clock.h +0 -146
  532. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/error_costs.h +0 -11
  533. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.c +0 -523
  534. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.h +0 -36
  535. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/host.h +0 -21
  536. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.c +0 -293
  537. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.h +0 -293
  538. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/length.h +0 -52
  539. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.c +0 -483
  540. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.h +0 -54
  541. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lib.c +0 -12
  542. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/node.c +0 -875
  543. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.c +0 -2293
  544. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.h +0 -286
  545. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/point.h +0 -48
  546. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/portable/endian.h +0 -239
  547. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/query.c +0 -4350
  548. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reduce_action.h +0 -34
  549. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reusable_node.h +0 -95
  550. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.c +0 -911
  551. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.h +0 -133
  552. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.c +0 -1034
  553. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.h +0 -399
  554. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.c +0 -170
  555. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.h +0 -31
  556. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.c +0 -717
  557. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.h +0 -48
  558. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/ts_assert.h +0 -11
  559. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ICU_SHA +0 -1
  560. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/LICENSE +0 -414
  561. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/README.md +0 -29
  562. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ptypes.h +0 -1
  563. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/umachine.h +0 -448
  564. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/urename.h +0 -1
  565. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf.h +0 -1
  566. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf16.h +0 -733
  567. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf8.h +0 -881
  568. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode.h +0 -75
  569. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib-symbols.txt +0 -24
  570. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib.c +0 -113
  571. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/wasm-stdlib.h +0 -1314
  572. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.c +0 -1935
  573. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.h +0 -31
  574. package/scripts/postinstall-tree-sitter.mjs +0 -28
@@ -1,76 +0,0 @@
1
- {
2
- "name": "tree-sitter",
3
- "version": "0.25.0",
4
- "description": "Node.js bindings to the Tree-sitter parsing library",
5
- "repository": "http://github.com/tree-sitter/node-tree-sitter",
6
- "publishConfig": {
7
- "access": "public"
8
- },
9
- "license": "MIT",
10
- "author": {
11
- "name": "Max Brunsfeld",
12
- "email": "maxbrunsfeld@gmail.com"
13
- },
14
- "maintainers": [
15
- {
16
- "name": "Amaan Qureshi",
17
- "email": "amaanq12@gmail.com"
18
- }
19
- ],
20
- "contributors": [
21
- {
22
- "name": "Segev Finer",
23
- "email": "segev208@gmail.com"
24
- },
25
- {
26
- "name": "Boris Verkhovskiy",
27
- "email": "boris.verk@gmail.com"
28
- }
29
- ],
30
- "main": "index.js",
31
- "types": "tree-sitter.d.ts",
32
- "keywords": [
33
- "incremental",
34
- "parsing",
35
- "tree-sitter"
36
- ],
37
- "files": [
38
- "binding.gyp",
39
- "tree-sitter.d.ts",
40
- "prebuilds/*",
41
- "src/*",
42
- "vendor/tree-sitter/lib/include/*",
43
- "vendor/tree-sitter/lib/src/*"
44
- ],
45
- "dependencies": {
46
- "node-addon-api": "^8.3.0",
47
- "node-gyp-build": "^4.8.4"
48
- },
49
- "devDependencies": {
50
- "@types/node": "^22.10.2",
51
- "@types/tmp": "^0.2.6",
52
- "glob": "^11.0.0",
53
- "node-gyp": "^11.0.0",
54
- "prebuildify": "^6.0.1",
55
- "tmp": "^0.2.3",
56
- "tree-sitter-c": "^0.23.4",
57
- "tree-sitter-embedded-template": "^0.23.2",
58
- "tree-sitter-html": "^0.23.2",
59
- "tree-sitter-java": "^0.23.5",
60
- "tree-sitter-javascript": "^0.23.1",
61
- "tree-sitter-json": "^0.24.8",
62
- "tree-sitter-python": "^0.23.6",
63
- "tree-sitter-ruby": "^0.23.1",
64
- "tree-sitter-rust": "^0.23.2",
65
- "typedoc": "^0.27.6",
66
- "typedoc-plugin-rename-defaults": "^0.7.2",
67
- "typescript": "^5.7.2"
68
- },
69
- "scripts": {
70
- "docs": "typedoc --out docs/api tree-sitter.d.ts --readme README.md",
71
- "install": "node-gyp-build",
72
- "build": "prebuildify --napi --strip",
73
- "rebuild": "node-gyp rebuild",
74
- "test": "node -e \"require('child_process').spawnSync('node', ['--test', ...require('glob').sync('test/**/*.js')], {stdio:'inherit'})\""
75
- }
76
- }
@@ -1,47 +0,0 @@
1
- #include "tree_sitter/api.h"
2
-
3
- #include <napi.h>
4
-
5
- #ifndef NODE_TREE_SITTER_ADDON_DATA_H_
6
- #define NODE_TREE_SITTER_ADDON_DATA_H_
7
-
8
- namespace node_tree_sitter {
9
-
10
- class AddonData final {
11
- public:
12
- explicit AddonData(Napi::Env _env) {}
13
-
14
- ~AddonData() {
15
- ts_query_cursor_delete(ts_query_cursor);
16
- }
17
-
18
- // conversions
19
- uint32_t *point_transfer_buffer = nullptr;
20
-
21
- // node
22
- uint32_t *transfer_buffer = nullptr;
23
- uint32_t transfer_buffer_length = 0;
24
- Napi::ObjectReference module_exports;
25
- TSTreeCursor scratch_cursor = {nullptr, nullptr, {0, 0}};
26
-
27
- // parser
28
- Napi::FunctionReference parser_constructor;
29
- Napi::FunctionReference string_slice;
30
-
31
- // query
32
- TSQueryCursor *ts_query_cursor = nullptr;
33
- Napi::FunctionReference query_constructor;
34
-
35
- // tree_cursor
36
- Napi::FunctionReference tree_cursor_constructor;
37
-
38
- // tree
39
- Napi::FunctionReference tree_constructor;
40
-
41
- // lookaheaditerator
42
- Napi::FunctionReference lookahead_iterator_constructor;
43
- };
44
-
45
- } // namespace node_tree_sitter
46
-
47
- #endif // NODE_TREE_SITTER_ADDON_DATA_H_
@@ -1,35 +0,0 @@
1
- #include "./addon_data.h"
2
- #include "./conversions.h"
3
- #include "./language.h"
4
- #include "./lookaheaditerator.h"
5
- #include "./node.h"
6
- #include "./parser.h"
7
- #include "./query.h"
8
- #include "./tree.h"
9
- #include "./tree_cursor.h"
10
-
11
- #include <napi.h>
12
-
13
- using namespace Napi;
14
-
15
- namespace node_tree_sitter {
16
-
17
- Napi::Object InitAll(Napi::Env env, Napi::Object exports) {
18
- auto* data = new AddonData(env);
19
- env.SetInstanceData(data);
20
-
21
- InitConversions(env, exports);
22
- node_methods::Init(env, exports);
23
- language_methods::Init(env, exports);
24
- LookaheadIterator::Init(env, exports);
25
- Parser::Init(env, exports);
26
- Query::Init(env, exports);
27
- Tree::Init(env, exports);
28
- TreeCursor::Init(env, exports);
29
-
30
- return exports;
31
- }
32
-
33
- NODE_API_MODULE(tree_sitter_runtime_binding, InitAll)
34
-
35
- } // namespace node_tree_sitter
@@ -1,140 +0,0 @@
1
- #include "./conversions.h"
2
- #include "./addon_data.h"
3
- #include "tree_sitter/api.h"
4
-
5
- #include <cmath>
6
- #include <napi.h>
7
-
8
- using namespace Napi;
9
-
10
- namespace node_tree_sitter {
11
-
12
- static const unsigned BYTES_PER_CHARACTER = 2;
13
-
14
- void InitConversions(Napi::Env env, Napi::Object exports) {
15
- auto *data = env.GetInstanceData<AddonData>();
16
-
17
- auto js_point_transfer_buffer = Uint32Array::New(env, 2);
18
- data->point_transfer_buffer = js_point_transfer_buffer.Data();
19
-
20
- exports["pointTransferArray"] = js_point_transfer_buffer;
21
- }
22
-
23
- void TransferPoint(Napi::Env env, const TSPoint &point) {
24
- auto *data = env.GetInstanceData<AddonData>();
25
- data->point_transfer_buffer[0] = point.row;
26
- data->point_transfer_buffer[1] = point.column / 2;
27
- }
28
-
29
- Napi::Object RangeToJS(Napi::Env env, const TSRange &range) {
30
- Object result = Object::New(env);
31
- result.Set("startPosition", PointToJS(env, range.start_point));
32
- result.Set("startIndex", ByteCountToJS(env, range.start_byte));
33
- result.Set("endPosition", PointToJS(env, range.end_point));
34
- result.Set("endIndex", ByteCountToJS(env, range.end_byte));
35
- return result;
36
- }
37
-
38
- Napi::Maybe<TSRange> RangeFromJS(const Napi::Value& arg) {
39
- Env env = arg.Env();
40
- if (!arg.IsObject()) {
41
- TypeError::New(env, "Range must be a {startPosition, endPosition, startIndex, endIndex} object").ThrowAsJavaScriptException();
42
- return Napi::Nothing<TSRange>();
43
- }
44
-
45
- TSRange result;
46
-
47
- auto js_range = arg.As<Object>();
48
-
49
- #define INIT(field, key, Convert) { \
50
- auto value = js_range.Get(key); \
51
- if (value.IsEmpty()) { \
52
- TypeError::New(env, "Range must be a {startPosition, endPosition, startIndex, endIndex} object").ThrowAsJavaScriptException(); \
53
- return Napi::Nothing<TSRange>(); \
54
- } \
55
- auto field = Convert(value); \
56
- if (field.IsJust()) { \
57
- result.field = field.Unwrap(); \
58
- } else { \
59
- return Napi::Nothing<TSRange>(); \
60
- } \
61
- }
62
-
63
- INIT(start_point, "startPosition", PointFromJS);
64
- INIT(end_point, "endPosition", PointFromJS);
65
- INIT(start_byte, "startIndex", ByteCountFromJS);
66
- INIT(end_byte, "endIndex", ByteCountFromJS);
67
-
68
- #undef INIT
69
-
70
- return Napi::Just(result);
71
- }
72
-
73
- Napi::Object PointToJS(Napi::Env env, const TSPoint &point) {
74
- Object result = Object::New(env);
75
- result["row"] = Number::New(env, point.row);
76
- result["column"] = ByteCountToJS(env, point.column);
77
- return result;
78
- }
79
-
80
- Napi::Maybe<TSPoint> PointFromJS(const Napi::Value& arg) {
81
- Env env = arg.Env();
82
-
83
- if (!arg.IsObject()) {
84
- TypeError::New(env, "Point must be a {row, column} object").ThrowAsJavaScriptException();
85
- return Napi::Nothing<TSPoint>();
86
- }
87
- auto js_point = arg.As<Object>();
88
-
89
- auto js_row = js_point.Get("row").As<Number>();
90
- if (!js_row.IsNumber()) {
91
- TypeError::New(env, "Point must be a {row, column} object").ThrowAsJavaScriptException();
92
- return Napi::Nothing<TSPoint>();
93
- }
94
-
95
- auto js_column = js_point.Get("column").As<Number>();
96
- if (!js_column.IsNumber()) {
97
- TypeError::New(env, "Point must be a {row, column} object").ThrowAsJavaScriptException();
98
- return Napi::Nothing<TSPoint>();
99
- }
100
-
101
- uint32_t row;
102
- if (!std::isfinite(js_row.DoubleValue())) {
103
- row = UINT32_MAX;
104
- } else if (js_row.IsNumber()) {
105
- row = js_row.Uint32Value();
106
- } else {
107
- TypeError::New(env, "Point.row must be a number").ThrowAsJavaScriptException();
108
- return Napi::Nothing<TSPoint>();
109
- }
110
-
111
- uint32_t column;
112
- if (!std::isfinite(js_column.DoubleValue())) {
113
- column = UINT32_MAX;
114
- } else if (js_column.IsNumber()) {
115
- column = js_column.Uint32Value() * BYTES_PER_CHARACTER;
116
- } else {
117
- TypeError::New(env, "Point.column must be a number").ThrowAsJavaScriptException();
118
- return Napi::Nothing<TSPoint>();
119
- }
120
-
121
- return Napi::Just<TSPoint>({row, column});
122
- }
123
-
124
- Napi::Number ByteCountToJS(Napi::Env env, uint32_t byte_count) {
125
- return Number::New(env, byte_count / BYTES_PER_CHARACTER);
126
- }
127
-
128
- Napi::Maybe<uint32_t> ByteCountFromJS(const Napi::Value &arg) {
129
- Napi::Env env = arg.Env();
130
-
131
- if (!arg.IsNumber()) {
132
- TypeError::New(env, "Character index must be a number").ThrowAsJavaScriptException();
133
- return Napi::Nothing<uint32_t>();
134
- }
135
- auto result = arg.As<Number>();
136
-
137
- return Napi::Just<uint32_t>(result.Uint32Value() * BYTES_PER_CHARACTER);
138
- }
139
-
140
- } // namespace node_tree_sitter
@@ -1,22 +0,0 @@
1
- #ifndef NODE_TREE_SITTER_CONVERSIONS_H_
2
- #define NODE_TREE_SITTER_CONVERSIONS_H_
3
-
4
- #include "./addon_data.h"
5
- #include "tree_sitter/api.h"
6
-
7
- #include <napi.h>
8
-
9
- namespace node_tree_sitter {
10
-
11
- void InitConversions(Napi::Env env, Napi::Object exports);
12
- Napi::Object RangeToJS(Napi::Env env, const TSRange &);
13
- Napi::Object PointToJS(Napi::Env env, const TSPoint &);
14
- void TransferPoint(Napi::Env env, const TSPoint &);
15
- Napi::Number ByteCountToJS(Napi::Env env, uint32_t);
16
- Napi::Maybe<TSPoint> PointFromJS(const Napi::Value &);
17
- Napi::Maybe<uint32_t> ByteCountFromJS(const Napi::Value &);
18
- Napi::Maybe<TSRange> RangeFromJS(const Napi::Value&);
19
-
20
- } // namespace node_tree_sitter
21
-
22
- #endif // NODE_TREE_SITTER_CONVERSIONS_H_
@@ -1,106 +0,0 @@
1
- #include "./language.h"
2
- #include "tree_sitter/api.h"
3
-
4
- #include <napi.h>
5
- #include <string>
6
-
7
- using namespace Napi;
8
-
9
- namespace node_tree_sitter::language_methods {
10
-
11
- /*
12
- tstag() {
13
- b2sum -l64 <(printf tree-sitter) <(printf "$1") | \
14
- awk '{printf "0x" toupper($1) (NR == 1 ? ", " : "\n")}'
15
- }
16
- tstag language # => 0x8AF2E5212AD58ABF, 0xD5006CAD83ABBA16
17
- */
18
- const napi_type_tag LANGUAGE_TYPE_TAG = {
19
- 0x8AF2E5212AD58ABF, 0xD5006CAD83ABBA16
20
- };
21
-
22
- const TSLanguage *UnwrapLanguage(Napi::Value value) {
23
- Napi::Env env = value.Env();
24
-
25
- if (value.IsObject()) {
26
- value = value.As<Object>()["language"];
27
- }
28
-
29
- auto arg = value.As<External<const TSLanguage>>();
30
- if (arg.IsExternal() && arg.CheckTypeTag(&LANGUAGE_TYPE_TAG)) {
31
- const TSLanguage *language = arg.Data();
32
- if (language != nullptr) {
33
- uint16_t version = ts_language_version(language);
34
- if (
35
- version < TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION ||
36
- version > TREE_SITTER_LANGUAGE_VERSION
37
- ) {
38
- std::string message =
39
- "Incompatible language version. Compatible range: " +
40
- std::to_string(TREE_SITTER_MIN_COMPATIBLE_LANGUAGE_VERSION) + " - " +
41
- std::to_string(TREE_SITTER_LANGUAGE_VERSION) + ". Got: " +
42
- std::to_string(ts_language_version(language));
43
- RangeError::New(env, message.c_str());
44
- return nullptr;
45
- }
46
- return language;
47
- }
48
- }
49
- throw TypeError::New(env, "Invalid language object");
50
- }
51
-
52
- namespace {
53
-
54
- Napi::Value GetNodeTypeNamesById(const Napi::CallbackInfo &info) {
55
- Env env = info.Env();
56
-
57
- const TSLanguage *language = UnwrapLanguage(info[0]);
58
- if (language == nullptr) {
59
- return env.Undefined();
60
- }
61
-
62
- auto result = Array::New(env);
63
- uint32_t length = ts_language_symbol_count(language);
64
- for (uint32_t i = 0; i < length; i++) {
65
- const char *name = ts_language_symbol_name(language, i);
66
- TSSymbolType type = ts_language_symbol_type(language, i);
67
- if (type == TSSymbolTypeRegular) {
68
- result[i] = String::New(env, name);
69
- } else {
70
- result[i] = env.Null();
71
- }
72
- }
73
-
74
- return result;
75
- }
76
-
77
- Napi::Value GetNodeFieldNamesById(const Napi::CallbackInfo &info) {
78
- Env env = info.Env();
79
-
80
- const TSLanguage *language = UnwrapLanguage(info[0]);
81
- if (language == nullptr) {
82
- return env.Undefined();
83
- }
84
-
85
- auto result = Array::New(env);
86
- uint32_t length = ts_language_field_count(language);
87
- for (uint32_t i = 0; i < length + 1; i++) {
88
- const char *name = ts_language_field_name_for_id(language, i);
89
- if (name != nullptr) {
90
- result[i] = String::New(env, name);
91
- } else {
92
- result[i] = env.Null();
93
- }
94
- }
95
-
96
- return result;
97
- }
98
-
99
- } // namespace
100
-
101
- void Init(Napi::Env env, Napi::Object exports) {
102
- exports["getNodeTypeNamesById"] = Function::New(env, GetNodeTypeNamesById);
103
- exports["getNodeFieldNamesById"] = Function::New(env, GetNodeFieldNamesById);
104
- }
105
-
106
- } // namespace node_tree_sitter::language_methods
@@ -1,17 +0,0 @@
1
- #ifndef NODE_TREE_SITTER_LANGUAGE_H_
2
- #define NODE_TREE_SITTER_LANGUAGE_H_
3
-
4
- #include "tree_sitter/api.h"
5
-
6
- #include <napi.h>
7
- #include <node_object_wrap.h>
8
-
9
- namespace node_tree_sitter::language_methods {
10
-
11
- void Init(Napi::Env env, Napi::Object);
12
-
13
- const TSLanguage *UnwrapLanguage(Napi::Value);
14
-
15
- } // namespace node_tree_sitter::language_methods
16
-
17
- #endif // NODE_TREE_SITTER_LANGUAGE_H_
@@ -1,70 +0,0 @@
1
- #include "./logger.h"
2
- #include "tree_sitter/api.h"
3
-
4
- #include <napi.h>
5
- #include <string>
6
-
7
- using namespace Napi;
8
- using std::string;
9
-
10
- namespace node_tree_sitter {
11
-
12
- void Logger::Log(void *payload, TSLogType type, const char *message_str) {
13
- auto *debugger = static_cast<Logger *>(payload);
14
- Env env = debugger->func.Env();
15
-
16
- string message(message_str);
17
- string param_sep = " ";
18
- size_t param_sep_pos = message.find(param_sep, 0);
19
-
20
- String type_name = String::New(env, (type == TSLogTypeParse) ? "parse" : "lex");;
21
- String name = String::New(env, message.substr(0, param_sep_pos));
22
- Object params = Object::New(env);
23
-
24
- while (param_sep_pos != string::npos) {
25
- size_t key_pos = param_sep_pos + param_sep.size();
26
- size_t value_sep_pos = message.find(':', key_pos);
27
-
28
- if (value_sep_pos == string::npos) {
29
- break;
30
- }
31
-
32
- size_t val_pos = value_sep_pos + 1;
33
- param_sep = ", ";
34
- param_sep_pos = message.find(param_sep, value_sep_pos);
35
-
36
- string key = message.substr(key_pos, (value_sep_pos - key_pos));
37
- string value = message.substr(val_pos, (param_sep_pos - val_pos));
38
- params[key] = String::New(env, value);
39
- }
40
-
41
- try {
42
- debugger->func({ name, params, type_name });
43
- } catch (const Error &error) {
44
- Value console = env.Global()["console"];
45
- if (!console.IsObject()) {
46
- return;
47
- }
48
-
49
- Value error_fn = console.As<Object>()["error"];
50
- if (!error_fn.IsFunction()) {
51
- return;
52
- }
53
-
54
- error_fn.As<Function>()({
55
- String::New(env, "Error in debug callback:"),
56
- error.Value()
57
- });
58
- }
59
- }
60
-
61
- TSLogger Logger::Make(const Napi::Function &func) {
62
- TSLogger result;
63
- auto *logger = new Logger();
64
- logger->func = Napi::Persistent(func);
65
- result.payload = static_cast<void *>(logger);
66
- result.log = Log;
67
- return result;
68
- }
69
-
70
- } // namespace node_tree_sitter
@@ -1,19 +0,0 @@
1
- #ifndef NODE_TREE_SITTER_LOGGER_H_
2
- #define NODE_TREE_SITTER_LOGGER_H_
3
-
4
- #include "tree_sitter/api.h"
5
-
6
- #include <napi.h>
7
-
8
- namespace node_tree_sitter {
9
-
10
- class Logger final {
11
- public:
12
- static TSLogger Make(const Napi::Function &);
13
- Napi::FunctionReference func;
14
- static void Log(void *, TSLogType, const char *);
15
- };
16
-
17
- } // namespace node_tree_sitter
18
-
19
- #endif // NODE_TREE_SITTER_LOGGER_H_
@@ -1,122 +0,0 @@
1
- #include "./conversions.h"
2
- #include "./language.h"
3
- #include "./lookaheaditerator.h"
4
- #include "tree_sitter/api.h"
5
-
6
- #include <napi.h>
7
-
8
- using namespace Napi;
9
-
10
- namespace node_tree_sitter {
11
-
12
- void LookaheadIterator::Init(Napi::Env env, Napi::Object exports) {
13
- auto *data = env.GetInstanceData<AddonData>();
14
-
15
- Function ctor = DefineClass(env, "LookaheadIterator", {
16
- InstanceAccessor("currentTypeId", &LookaheadIterator::CurrentTypeId, nullptr, napi_default_method),
17
- InstanceAccessor("currentType", &LookaheadIterator::CurrentType, nullptr, napi_default_method),
18
-
19
- InstanceMethod("reset", &LookaheadIterator::Reset, napi_default_method),
20
- InstanceMethod("resetState", &LookaheadIterator::ResetState, napi_default_method),
21
- InstanceMethod("_next", &LookaheadIterator::Next, napi_default_method),
22
- });
23
-
24
- exports["LookaheadIterator"] = ctor;
25
- data->lookahead_iterator_constructor = Napi::Persistent(ctor);
26
- }
27
-
28
- LookaheadIterator::LookaheadIterator(const Napi::CallbackInfo &info) : Napi::ObjectWrap<LookaheadIterator>(info), iterator_(nullptr) {
29
- Napi::Env env = info.Env();
30
- const TSLanguage *language = language_methods::UnwrapLanguage(info[0]);
31
-
32
- if (language == nullptr) {
33
- Napi::Error::New(env, "Missing language argument").ThrowAsJavaScriptException();
34
- return;
35
- }
36
- if (!info[1].IsNumber()) {
37
- Napi::Error::New(env, "Missing state argument").ThrowAsJavaScriptException();
38
- return;
39
- }
40
-
41
- TSStateId state = info[1].As<Napi::Number>().Uint32Value();
42
- iterator_ = ts_lookahead_iterator_new(language, state);
43
- if (iterator_ == nullptr) {
44
- Napi::Error::New(env, "Invalid state argument").ThrowAsJavaScriptException();
45
- return;
46
- }
47
- }
48
-
49
-
50
- LookaheadIterator::~LookaheadIterator() {
51
- ts_lookahead_iterator_delete(iterator_);
52
- }
53
-
54
- Napi::Value LookaheadIterator::NewInstance(Napi::Env env, TSLookaheadIterator *iterator) {
55
- auto *data = env.GetInstanceData<AddonData>();
56
- if (iterator != nullptr) {
57
- Object self = data->lookahead_iterator_constructor.New({});
58
- LookaheadIterator::Unwrap(self)->iterator_ = iterator;
59
- return self;
60
- }
61
-
62
- return env.Null();
63
- }
64
-
65
- LookaheadIterator *LookaheadIterator::UnwrapLookaheadIterator(const Napi::Value &value) {
66
- auto *data = value.Env().GetInstanceData<AddonData>();
67
- if (!value.IsObject()) {
68
- return nullptr;
69
- }
70
- auto js_iterator = value.As<Object>();
71
- if (!js_iterator.InstanceOf(data->lookahead_iterator_constructor.Value())) {
72
- return nullptr;
73
- }
74
- return LookaheadIterator::Unwrap(js_iterator);
75
- }
76
-
77
- Napi::Value LookaheadIterator::CurrentType(const Napi::CallbackInfo &info) {
78
- LookaheadIterator *iterator = UnwrapLookaheadIterator(info.This());
79
- return Napi::String::New(info.Env(), ts_lookahead_iterator_current_symbol_name(iterator->iterator_));
80
- }
81
-
82
- Napi::Value LookaheadIterator::CurrentTypeId(const Napi::CallbackInfo &info) {
83
- LookaheadIterator *iterator = UnwrapLookaheadIterator(info.This());
84
- return Napi::Number::New(info.Env(), ts_lookahead_iterator_current_symbol(iterator->iterator_));
85
- }
86
-
87
- Napi::Value LookaheadIterator::Reset(const Napi::CallbackInfo &info) {
88
- LookaheadIterator *iterator = UnwrapLookaheadIterator(info.This());
89
- const TSLanguage *language = language_methods::UnwrapLanguage(info[0]);
90
-
91
- if (language == nullptr) {
92
- Napi::Error::New(info.Env(), "Invalid language argument").ThrowAsJavaScriptException();
93
- return info.Env().Undefined();
94
- }
95
- if (!info[1].IsNumber()) {
96
- Napi::Error::New(info.Env(), "Missing state argument").ThrowAsJavaScriptException();
97
- return info.Env().Undefined();
98
- }
99
-
100
- TSStateId state = info[1].As<Napi::Number>().Uint32Value();
101
- return Napi::Boolean::New(info.Env(), ts_lookahead_iterator_reset(iterator->iterator_, language, state));
102
- }
103
-
104
- Napi::Value LookaheadIterator::ResetState(const Napi::CallbackInfo &info) {
105
- Napi::Env env = info.Env();
106
- LookaheadIterator *iterator = UnwrapLookaheadIterator(info.This());
107
-
108
- if (!info[0].IsNumber()) {
109
- Napi::Error::New(env, "Missing state argument").ThrowAsJavaScriptException();
110
- return env.Undefined();
111
- }
112
-
113
- TSStateId state = info[0].As<Napi::Number>().Uint32Value();
114
- return Napi::Boolean::New(env, ts_lookahead_iterator_reset_state(iterator->iterator_, state));
115
- }
116
-
117
- Napi::Value LookaheadIterator::Next(const Napi::CallbackInfo &info) {
118
- LookaheadIterator *iterator = UnwrapLookaheadIterator(info.This());
119
- return Napi::Boolean::New(info.Env(), ts_lookahead_iterator_next(iterator->iterator_));
120
- }
121
-
122
- } // namespace node_tree_sitter
@@ -1,33 +0,0 @@
1
- #ifndef NODE_TREE_SITTER_LOOKAHEAD_ITERATOR_H_
2
- #define NODE_TREE_SITTER_LOOKAHEAD_ITERATOR_H_
3
-
4
- #include "tree_sitter/api.h"
5
-
6
- #include <napi.h>
7
-
8
- namespace node_tree_sitter {
9
-
10
- class LookaheadIterator final : public Napi::ObjectWrap<LookaheadIterator> {
11
- public:
12
- static void Init(Napi::Env env, Napi::Object exports);
13
- static Napi::Value NewInstance(Napi::Env env, TSLookaheadIterator *);
14
- static LookaheadIterator *UnwrapLookaheadIterator(const Napi::Value &);
15
-
16
- explicit LookaheadIterator(const Napi::CallbackInfo &);
17
- ~LookaheadIterator() final;
18
-
19
- private:
20
- TSLookaheadIterator *iterator_;
21
-
22
- Napi::Value New(const Napi::CallbackInfo &);
23
- Napi::Value Reset(const Napi::CallbackInfo &);
24
- Napi::Value ResetState(const Napi::CallbackInfo &);
25
- Napi::Value Next(const Napi::CallbackInfo &);
26
-
27
- Napi::Value CurrentTypeId(const Napi::CallbackInfo &);
28
- Napi::Value CurrentType(const Napi::CallbackInfo &);
29
- };
30
-
31
- } // namespace node_tree_sitter
32
-
33
- #endif // NODE_TREE_SITTER_LOOKAHEAD_ITERATOR_H_