@yalehwang/archguard 0.1.31 → 0.1.32

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 (298) 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/cli/analyze/run-analysis.d.ts +4 -0
  20. package/dist/cli/analyze/run-analysis.d.ts.map +1 -1
  21. package/dist/cli/analyze/run-analysis.js +63 -43
  22. package/dist/cli/analyze/run-analysis.js.map +1 -1
  23. package/dist/cli/cache/cache-manager.js +1 -1
  24. package/dist/cli/cache/cache-manager.js.map +1 -1
  25. package/dist/cli/mcp/analyze-tool.d.ts +2 -0
  26. package/dist/cli/mcp/analyze-tool.d.ts.map +1 -1
  27. package/dist/cli/mcp/analyze-tool.js +5 -0
  28. package/dist/cli/mcp/analyze-tool.js.map +1 -1
  29. package/dist/cli/mcp/mcp-server.d.ts +7 -2
  30. package/dist/cli/mcp/mcp-server.d.ts.map +1 -1
  31. package/dist/cli/mcp/mcp-server.js +37 -3
  32. package/dist/cli/mcp/mcp-server.js.map +1 -1
  33. package/dist/cli/processors/arch-json-provider-types.d.ts +5 -0
  34. package/dist/cli/processors/arch-json-provider-types.d.ts.map +1 -1
  35. package/dist/cli/processors/arch-json-provider.d.ts +5 -0
  36. package/dist/cli/processors/arch-json-provider.d.ts.map +1 -1
  37. package/dist/cli/processors/arch-json-provider.js +104 -55
  38. package/dist/cli/processors/arch-json-provider.js.map +1 -1
  39. package/dist/cli/processors/arch-json-utils.d.ts.map +1 -1
  40. package/dist/cli/processors/arch-json-utils.js +12 -3
  41. package/dist/cli/processors/arch-json-utils.js.map +1 -1
  42. package/dist/cli/processors/diagram-processor.d.ts +4 -0
  43. package/dist/cli/processors/diagram-processor.d.ts.map +1 -1
  44. package/dist/cli/processors/diagram-processor.js +2 -0
  45. package/dist/cli/processors/diagram-processor.js.map +1 -1
  46. package/dist/cli/processors/worker-pool-factory.d.ts +3 -0
  47. package/dist/cli/processors/worker-pool-factory.d.ts.map +1 -1
  48. package/dist/cli/processors/worker-pool-factory.js +9 -0
  49. package/dist/cli/processors/worker-pool-factory.js.map +1 -1
  50. package/dist/mermaid/generator.d.ts.map +1 -1
  51. package/dist/mermaid/generator.js +19 -1
  52. package/dist/mermaid/generator.js.map +1 -1
  53. package/dist/mermaid/renderer.d.ts.map +1 -1
  54. package/dist/mermaid/renderer.js +1 -1
  55. package/dist/mermaid/renderer.js.map +1 -1
  56. package/dist/mermaid/test-coverage-renderer.d.ts.map +1 -1
  57. package/dist/mermaid/test-coverage-renderer.js +18 -12
  58. package/dist/mermaid/test-coverage-renderer.js.map +1 -1
  59. package/dist/parser/archjson-aggregator.js +1 -1
  60. package/dist/parser/archjson-aggregator.js.map +1 -1
  61. package/dist/parser/parallel-parser.d.ts +10 -0
  62. package/dist/parser/parallel-parser.d.ts.map +1 -1
  63. package/dist/parser/parallel-parser.js +76 -35
  64. package/dist/parser/parallel-parser.js.map +1 -1
  65. package/dist/parser/parse-worker-pool.d.ts +59 -0
  66. package/dist/parser/parse-worker-pool.d.ts.map +1 -0
  67. package/dist/parser/parse-worker-pool.js +170 -0
  68. package/dist/parser/parse-worker-pool.js.map +1 -0
  69. package/dist/parser/parse-worker.d.ts +2 -0
  70. package/dist/parser/parse-worker.d.ts.map +1 -0
  71. package/dist/parser/parse-worker.js +71 -0
  72. package/dist/parser/parse-worker.js.map +1 -0
  73. package/dist/parser/process-parse-worker-pools.d.ts +18 -0
  74. package/dist/parser/process-parse-worker-pools.d.ts.map +1 -0
  75. package/dist/parser/process-parse-worker-pools.js +31 -0
  76. package/dist/parser/process-parse-worker-pools.js.map +1 -0
  77. package/dist/plugins/cpp/builders/class-builder.d.ts +2 -2
  78. package/dist/plugins/cpp/builders/class-builder.d.ts.map +1 -1
  79. package/dist/plugins/cpp/builders/class-builder.js.map +1 -1
  80. package/dist/plugins/cpp/index.d.ts +4 -1
  81. package/dist/plugins/cpp/index.d.ts.map +1 -1
  82. package/dist/plugins/cpp/index.js +11 -2
  83. package/dist/plugins/cpp/index.js.map +1 -1
  84. package/dist/plugins/cpp/tree-sitter-bridge.d.ts +3 -2
  85. package/dist/plugins/cpp/tree-sitter-bridge.d.ts.map +1 -1
  86. package/dist/plugins/cpp/tree-sitter-bridge.js +17 -15
  87. package/dist/plugins/cpp/tree-sitter-bridge.js.map +1 -1
  88. package/dist/plugins/golang/builders/function-builder.d.ts +4 -4
  89. package/dist/plugins/golang/builders/function-builder.d.ts.map +1 -1
  90. package/dist/plugins/golang/builders/function-builder.js.map +1 -1
  91. package/dist/plugins/golang/builders/goroutine-builder.d.ts +2 -2
  92. package/dist/plugins/golang/builders/goroutine-builder.d.ts.map +1 -1
  93. package/dist/plugins/golang/builders/goroutine-builder.js.map +1 -1
  94. package/dist/plugins/golang/builders/interface-builder.d.ts +4 -4
  95. package/dist/plugins/golang/builders/interface-builder.d.ts.map +1 -1
  96. package/dist/plugins/golang/builders/interface-builder.js.map +1 -1
  97. package/dist/plugins/golang/builders/node-utils.d.ts +3 -3
  98. package/dist/plugins/golang/builders/node-utils.d.ts.map +1 -1
  99. package/dist/plugins/golang/builders/node-utils.js.map +1 -1
  100. package/dist/plugins/golang/builders/struct-builder.d.ts +2 -2
  101. package/dist/plugins/golang/builders/struct-builder.d.ts.map +1 -1
  102. package/dist/plugins/golang/builders/struct-builder.js.map +1 -1
  103. package/dist/plugins/golang/go-parse-coordinator.d.ts +10 -2
  104. package/dist/plugins/golang/go-parse-coordinator.d.ts.map +1 -1
  105. package/dist/plugins/golang/go-parse-coordinator.js +44 -6
  106. package/dist/plugins/golang/go-parse-coordinator.js.map +1 -1
  107. package/dist/plugins/golang/gopls-client.d.ts +31 -2
  108. package/dist/plugins/golang/gopls-client.d.ts.map +1 -1
  109. package/dist/plugins/golang/gopls-client.js +230 -32
  110. package/dist/plugins/golang/gopls-client.js.map +1 -1
  111. package/dist/plugins/golang/gopls-interface-resolver.d.ts +14 -1
  112. package/dist/plugins/golang/gopls-interface-resolver.d.ts.map +1 -1
  113. package/dist/plugins/golang/gopls-interface-resolver.js +42 -11
  114. package/dist/plugins/golang/gopls-interface-resolver.js.map +1 -1
  115. package/dist/plugins/golang/index.d.ts +3 -1
  116. package/dist/plugins/golang/index.d.ts.map +1 -1
  117. package/dist/plugins/golang/index.js +17 -3
  118. package/dist/plugins/golang/index.js.map +1 -1
  119. package/dist/plugins/golang/interface-matcher.d.ts.map +1 -1
  120. package/dist/plugins/golang/interface-matcher.js +32 -30
  121. package/dist/plugins/golang/interface-matcher.js.map +1 -1
  122. package/dist/plugins/golang/tree-sitter-bridge.d.ts +3 -2
  123. package/dist/plugins/golang/tree-sitter-bridge.d.ts.map +1 -1
  124. package/dist/plugins/golang/tree-sitter-bridge.js +25 -23
  125. package/dist/plugins/golang/tree-sitter-bridge.js.map +1 -1
  126. package/dist/plugins/java/index.d.ts +4 -0
  127. package/dist/plugins/java/index.d.ts.map +1 -1
  128. package/dist/plugins/java/index.js +12 -1
  129. package/dist/plugins/java/index.js.map +1 -1
  130. package/dist/plugins/java/tree-sitter-bridge.d.ts +3 -2
  131. package/dist/plugins/java/tree-sitter-bridge.d.ts.map +1 -1
  132. package/dist/plugins/java/tree-sitter-bridge.js +33 -31
  133. package/dist/plugins/java/tree-sitter-bridge.js.map +1 -1
  134. package/dist/plugins/kotlin/builders/class-builder.d.ts +2 -1
  135. package/dist/plugins/kotlin/builders/class-builder.d.ts.map +1 -1
  136. package/dist/plugins/kotlin/builders/class-builder.js.map +1 -1
  137. package/dist/plugins/kotlin/builders/function-builder.d.ts +2 -1
  138. package/dist/plugins/kotlin/builders/function-builder.d.ts.map +1 -1
  139. package/dist/plugins/kotlin/builders/function-builder.js.map +1 -1
  140. package/dist/plugins/kotlin/index.d.ts +4 -1
  141. package/dist/plugins/kotlin/index.d.ts.map +1 -1
  142. package/dist/plugins/kotlin/index.js +12 -4
  143. package/dist/plugins/kotlin/index.js.map +1 -1
  144. package/dist/plugins/kotlin/tree-sitter-bridge.d.ts +3 -3
  145. package/dist/plugins/kotlin/tree-sitter-bridge.d.ts.map +1 -1
  146. package/dist/plugins/kotlin/tree-sitter-bridge.js +6 -7
  147. package/dist/plugins/kotlin/tree-sitter-bridge.js.map +1 -1
  148. package/dist/plugins/python/index.d.ts +4 -0
  149. package/dist/plugins/python/index.d.ts.map +1 -1
  150. package/dist/plugins/python/index.js +12 -1
  151. package/dist/plugins/python/index.js.map +1 -1
  152. package/dist/plugins/python/tree-sitter-bridge.d.ts +3 -2
  153. package/dist/plugins/python/tree-sitter-bridge.d.ts.map +1 -1
  154. package/dist/plugins/python/tree-sitter-bridge.js +50 -48
  155. package/dist/plugins/python/tree-sitter-bridge.js.map +1 -1
  156. package/dist/plugins/shared/native-parser-backend.d.ts +33 -0
  157. package/dist/plugins/shared/native-parser-backend.d.ts.map +1 -0
  158. package/dist/plugins/shared/native-parser-backend.js +84 -0
  159. package/dist/plugins/shared/native-parser-backend.js.map +1 -0
  160. package/dist/plugins/shared/parser-backend.d.ts +13 -0
  161. package/dist/plugins/shared/parser-backend.d.ts.map +1 -0
  162. package/dist/plugins/shared/parser-backend.js +38 -0
  163. package/dist/plugins/shared/parser-backend.js.map +1 -0
  164. package/dist/plugins/shared/parser-runtime.d.ts +32 -0
  165. package/dist/plugins/shared/parser-runtime.d.ts.map +1 -0
  166. package/dist/plugins/shared/parser-runtime.js +152 -0
  167. package/dist/plugins/shared/parser-runtime.js.map +1 -0
  168. package/dist/plugins/shared/plugin-factory.d.ts +5 -0
  169. package/dist/plugins/shared/plugin-factory.d.ts.map +1 -0
  170. package/dist/plugins/shared/plugin-factory.js +27 -0
  171. package/dist/plugins/shared/plugin-factory.js.map +1 -0
  172. package/dist/plugins/shared/syntax-tree.d.ts +32 -0
  173. package/dist/plugins/shared/syntax-tree.d.ts.map +1 -0
  174. package/dist/plugins/shared/syntax-tree.js +2 -0
  175. package/dist/plugins/shared/syntax-tree.js.map +1 -0
  176. package/dist/plugins/shared/wasm-parser-backend.d.ts +18 -0
  177. package/dist/plugins/shared/wasm-parser-backend.d.ts.map +1 -0
  178. package/dist/plugins/shared/wasm-parser-backend.js +118 -0
  179. package/dist/plugins/shared/wasm-parser-backend.js.map +1 -0
  180. package/dist/plugins/typescript/builders/module-graph-builder.d.ts.map +1 -1
  181. package/dist/plugins/typescript/builders/module-graph-builder.js +2 -1
  182. package/dist/plugins/typescript/builders/module-graph-builder.js.map +1 -1
  183. package/dist/types/config-global.d.ts +7 -1
  184. package/dist/types/config-global.d.ts.map +1 -1
  185. package/dist/types/config.d.ts +1 -0
  186. package/dist/types/config.d.ts.map +1 -1
  187. package/dist/types/config.js +1 -0
  188. package/dist/types/config.js.map +1 -1
  189. package/dist/types/fitness-rules.d.ts +34 -0
  190. package/dist/types/fitness-rules.d.ts.map +1 -0
  191. package/dist/types/fitness-rules.js +2 -0
  192. package/dist/types/fitness-rules.js.map +1 -0
  193. package/dist/types/parser-runtime.d.ts +4 -0
  194. package/dist/types/parser-runtime.d.ts.map +1 -0
  195. package/dist/types/parser-runtime.js +5 -0
  196. package/dist/types/parser-runtime.js.map +1 -0
  197. package/package.json +29 -16
  198. package/node_modules/node-addon-api/LICENSE.md +0 -9
  199. package/node_modules/node-addon-api/README.md +0 -95
  200. package/node_modules/node-addon-api/common.gypi +0 -21
  201. package/node_modules/node-addon-api/except.gypi +0 -25
  202. package/node_modules/node-addon-api/index.js +0 -14
  203. package/node_modules/node-addon-api/napi-inl.deprecated.h +0 -186
  204. package/node_modules/node-addon-api/napi-inl.h +0 -7033
  205. package/node_modules/node-addon-api/napi.h +0 -3309
  206. package/node_modules/node-addon-api/node_addon_api.gyp +0 -42
  207. package/node_modules/node-addon-api/node_api.gyp +0 -9
  208. package/node_modules/node-addon-api/noexcept.gypi +0 -26
  209. package/node_modules/node-addon-api/nothing.c +0 -0
  210. package/node_modules/node-addon-api/package-support.json +0 -21
  211. package/node_modules/node-addon-api/package.json +0 -480
  212. package/node_modules/node-addon-api/tools/README.md +0 -73
  213. package/node_modules/node-addon-api/tools/check-napi.js +0 -99
  214. package/node_modules/node-addon-api/tools/clang-format.js +0 -71
  215. package/node_modules/node-addon-api/tools/conversion.js +0 -301
  216. package/node_modules/node-gyp-build/README.md +0 -58
  217. package/node_modules/node-gyp-build/SECURITY.md +0 -5
  218. package/node_modules/node-gyp-build/bin.js +0 -84
  219. package/node_modules/node-gyp-build/build-test.js +0 -19
  220. package/node_modules/node-gyp-build/index.js +0 -6
  221. package/node_modules/node-gyp-build/node-gyp-build.js +0 -207
  222. package/node_modules/node-gyp-build/optional.js +0 -7
  223. package/node_modules/node-gyp-build/package.json +0 -43
  224. package/node_modules/tree-sitter/README.md +0 -128
  225. package/node_modules/tree-sitter/binding.gyp +0 -80
  226. package/node_modules/tree-sitter/index.js +0 -916
  227. package/node_modules/tree-sitter/package.json +0 -76
  228. package/node_modules/tree-sitter/prebuilds/linux-x64/node.napi.glibc.node +0 -0
  229. package/node_modules/tree-sitter/src/addon_data.h +0 -47
  230. package/node_modules/tree-sitter/src/binding.cc +0 -35
  231. package/node_modules/tree-sitter/src/conversions.cc +0 -140
  232. package/node_modules/tree-sitter/src/conversions.h +0 -22
  233. package/node_modules/tree-sitter/src/language.cc +0 -106
  234. package/node_modules/tree-sitter/src/language.h +0 -17
  235. package/node_modules/tree-sitter/src/logger.cc +0 -70
  236. package/node_modules/tree-sitter/src/logger.h +0 -19
  237. package/node_modules/tree-sitter/src/lookaheaditerator.cc +0 -122
  238. package/node_modules/tree-sitter/src/lookaheaditerator.h +0 -33
  239. package/node_modules/tree-sitter/src/node.cc +0 -1088
  240. package/node_modules/tree-sitter/src/node.h +0 -30
  241. package/node_modules/tree-sitter/src/parser.cc +0 -306
  242. package/node_modules/tree-sitter/src/parser.h +0 -35
  243. package/node_modules/tree-sitter/src/query.cc +0 -397
  244. package/node_modules/tree-sitter/src/query.h +0 -40
  245. package/node_modules/tree-sitter/src/tree.cc +0 -316
  246. package/node_modules/tree-sitter/src/tree.h +0 -45
  247. package/node_modules/tree-sitter/src/tree_cursor.cc +0 -213
  248. package/node_modules/tree-sitter/src/tree_cursor.h +0 -52
  249. package/node_modules/tree-sitter/tree-sitter.d.ts +0 -1042
  250. package/node_modules/tree-sitter/vendor/tree-sitter/lib/include/tree_sitter/api.h +0 -1478
  251. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.c +0 -48
  252. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.h +0 -41
  253. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/array.h +0 -291
  254. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/atomic.h +0 -68
  255. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/clock.h +0 -146
  256. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/error_costs.h +0 -11
  257. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.c +0 -523
  258. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.h +0 -36
  259. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/host.h +0 -21
  260. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.c +0 -293
  261. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.h +0 -293
  262. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/length.h +0 -52
  263. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.c +0 -483
  264. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.h +0 -54
  265. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lib.c +0 -12
  266. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/node.c +0 -875
  267. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.c +0 -2293
  268. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.h +0 -286
  269. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/point.h +0 -48
  270. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/portable/endian.h +0 -239
  271. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/query.c +0 -4350
  272. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reduce_action.h +0 -34
  273. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reusable_node.h +0 -95
  274. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.c +0 -911
  275. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.h +0 -133
  276. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.c +0 -1034
  277. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.h +0 -399
  278. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.c +0 -170
  279. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.h +0 -31
  280. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.c +0 -717
  281. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.h +0 -48
  282. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/ts_assert.h +0 -11
  283. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ICU_SHA +0 -1
  284. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/LICENSE +0 -414
  285. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/README.md +0 -29
  286. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ptypes.h +0 -1
  287. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/umachine.h +0 -448
  288. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/urename.h +0 -1
  289. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf.h +0 -1
  290. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf16.h +0 -733
  291. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf8.h +0 -881
  292. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode.h +0 -75
  293. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib-symbols.txt +0 -24
  294. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib.c +0 -113
  295. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/wasm-stdlib.h +0 -1314
  296. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.c +0 -1935
  297. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.h +0 -31
  298. package/scripts/postinstall-tree-sitter.mjs +0 -28
@@ -1,207 +0,0 @@
1
- var fs = require('fs')
2
- var path = require('path')
3
- var os = require('os')
4
-
5
- // Workaround to fix webpack's build warnings: 'the request of a dependency is an expression'
6
- var runtimeRequire = typeof __webpack_require__ === 'function' ? __non_webpack_require__ : require // eslint-disable-line
7
-
8
- var vars = (process.config && process.config.variables) || {}
9
- var prebuildsOnly = !!process.env.PREBUILDS_ONLY
10
- var abi = process.versions.modules // TODO: support old node where this is undef
11
- var runtime = isElectron() ? 'electron' : (isNwjs() ? 'node-webkit' : 'node')
12
-
13
- var arch = process.env.npm_config_arch || os.arch()
14
- var platform = process.env.npm_config_platform || os.platform()
15
- var libc = process.env.LIBC || (isAlpine(platform) ? 'musl' : 'glibc')
16
- var armv = process.env.ARM_VERSION || (arch === 'arm64' ? '8' : vars.arm_version) || ''
17
- var uv = (process.versions.uv || '').split('.')[0]
18
-
19
- module.exports = load
20
-
21
- function load (dir) {
22
- return runtimeRequire(load.resolve(dir))
23
- }
24
-
25
- load.resolve = load.path = function (dir) {
26
- dir = path.resolve(dir || '.')
27
-
28
- try {
29
- var name = runtimeRequire(path.join(dir, 'package.json')).name.toUpperCase().replace(/-/g, '_')
30
- if (process.env[name + '_PREBUILD']) dir = process.env[name + '_PREBUILD']
31
- } catch (err) {}
32
-
33
- if (!prebuildsOnly) {
34
- var release = getFirst(path.join(dir, 'build/Release'), matchBuild)
35
- if (release) return release
36
-
37
- var debug = getFirst(path.join(dir, 'build/Debug'), matchBuild)
38
- if (debug) return debug
39
- }
40
-
41
- var prebuild = resolve(dir)
42
- if (prebuild) return prebuild
43
-
44
- var nearby = resolve(path.dirname(process.execPath))
45
- if (nearby) return nearby
46
-
47
- var target = [
48
- 'platform=' + platform,
49
- 'arch=' + arch,
50
- 'runtime=' + runtime,
51
- 'abi=' + abi,
52
- 'uv=' + uv,
53
- armv ? 'armv=' + armv : '',
54
- 'libc=' + libc,
55
- 'node=' + process.versions.node,
56
- process.versions.electron ? 'electron=' + process.versions.electron : '',
57
- typeof __webpack_require__ === 'function' ? 'webpack=true' : '' // eslint-disable-line
58
- ].filter(Boolean).join(' ')
59
-
60
- throw new Error('No native build was found for ' + target + '\n loaded from: ' + dir + '\n')
61
-
62
- function resolve (dir) {
63
- // Find matching "prebuilds/<platform>-<arch>" directory
64
- var tuples = readdirSync(path.join(dir, 'prebuilds')).map(parseTuple)
65
- var tuple = tuples.filter(matchTuple(platform, arch)).sort(compareTuples)[0]
66
- if (!tuple) return
67
-
68
- // Find most specific flavor first
69
- var prebuilds = path.join(dir, 'prebuilds', tuple.name)
70
- var parsed = readdirSync(prebuilds).map(parseTags)
71
- var candidates = parsed.filter(matchTags(runtime, abi))
72
- var winner = candidates.sort(compareTags(runtime))[0]
73
- if (winner) return path.join(prebuilds, winner.file)
74
- }
75
- }
76
-
77
- function readdirSync (dir) {
78
- try {
79
- return fs.readdirSync(dir)
80
- } catch (err) {
81
- return []
82
- }
83
- }
84
-
85
- function getFirst (dir, filter) {
86
- var files = readdirSync(dir).filter(filter)
87
- return files[0] && path.join(dir, files[0])
88
- }
89
-
90
- function matchBuild (name) {
91
- return /\.node$/.test(name)
92
- }
93
-
94
- function parseTuple (name) {
95
- // Example: darwin-x64+arm64
96
- var arr = name.split('-')
97
- if (arr.length !== 2) return
98
-
99
- var platform = arr[0]
100
- var architectures = arr[1].split('+')
101
-
102
- if (!platform) return
103
- if (!architectures.length) return
104
- if (!architectures.every(Boolean)) return
105
-
106
- return { name, platform, architectures }
107
- }
108
-
109
- function matchTuple (platform, arch) {
110
- return function (tuple) {
111
- if (tuple == null) return false
112
- if (tuple.platform !== platform) return false
113
- return tuple.architectures.includes(arch)
114
- }
115
- }
116
-
117
- function compareTuples (a, b) {
118
- // Prefer single-arch prebuilds over multi-arch
119
- return a.architectures.length - b.architectures.length
120
- }
121
-
122
- function parseTags (file) {
123
- var arr = file.split('.')
124
- var extension = arr.pop()
125
- var tags = { file: file, specificity: 0 }
126
-
127
- if (extension !== 'node') return
128
-
129
- for (var i = 0; i < arr.length; i++) {
130
- var tag = arr[i]
131
-
132
- if (tag === 'node' || tag === 'electron' || tag === 'node-webkit') {
133
- tags.runtime = tag
134
- } else if (tag === 'napi') {
135
- tags.napi = true
136
- } else if (tag.slice(0, 3) === 'abi') {
137
- tags.abi = tag.slice(3)
138
- } else if (tag.slice(0, 2) === 'uv') {
139
- tags.uv = tag.slice(2)
140
- } else if (tag.slice(0, 4) === 'armv') {
141
- tags.armv = tag.slice(4)
142
- } else if (tag === 'glibc' || tag === 'musl') {
143
- tags.libc = tag
144
- } else {
145
- continue
146
- }
147
-
148
- tags.specificity++
149
- }
150
-
151
- return tags
152
- }
153
-
154
- function matchTags (runtime, abi) {
155
- return function (tags) {
156
- if (tags == null) return false
157
- if (tags.runtime && tags.runtime !== runtime && !runtimeAgnostic(tags)) return false
158
- if (tags.abi && tags.abi !== abi && !tags.napi) return false
159
- if (tags.uv && tags.uv !== uv) return false
160
- if (tags.armv && tags.armv !== armv) return false
161
- if (tags.libc && tags.libc !== libc) return false
162
-
163
- return true
164
- }
165
- }
166
-
167
- function runtimeAgnostic (tags) {
168
- return tags.runtime === 'node' && tags.napi
169
- }
170
-
171
- function compareTags (runtime) {
172
- // Precedence: non-agnostic runtime, abi over napi, then by specificity.
173
- return function (a, b) {
174
- if (a.runtime !== b.runtime) {
175
- return a.runtime === runtime ? -1 : 1
176
- } else if (a.abi !== b.abi) {
177
- return a.abi ? -1 : 1
178
- } else if (a.specificity !== b.specificity) {
179
- return a.specificity > b.specificity ? -1 : 1
180
- } else {
181
- return 0
182
- }
183
- }
184
- }
185
-
186
- function isNwjs () {
187
- return !!(process.versions && process.versions.nw)
188
- }
189
-
190
- function isElectron () {
191
- if (process.versions && process.versions.electron) return true
192
- if (process.env.ELECTRON_RUN_AS_NODE) return true
193
- return typeof window !== 'undefined' && window.process && window.process.type === 'renderer'
194
- }
195
-
196
- function isAlpine (platform) {
197
- return platform === 'linux' && fs.existsSync('/etc/alpine-release')
198
- }
199
-
200
- // Exposed for unit tests
201
- // TODO: move to lib
202
- load.parseTags = parseTags
203
- load.matchTags = matchTags
204
- load.compareTags = compareTags
205
- load.parseTuple = parseTuple
206
- load.matchTuple = matchTuple
207
- load.compareTuples = compareTuples
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /*
4
- I am only useful as an install script to make node-gyp not compile for purely optional native deps
5
- */
6
-
7
- process.exit(0)
@@ -1,43 +0,0 @@
1
- {
2
- "name": "node-gyp-build",
3
- "version": "4.8.4",
4
- "description": "Build tool and bindings loader for node-gyp that supports prebuilds",
5
- "main": "index.js",
6
- "imports": {
7
- "fs": {
8
- "bare": "builtin:fs",
9
- "default": "fs"
10
- },
11
- "path": {
12
- "bare": "builtin:path",
13
- "default": "path"
14
- },
15
- "os": {
16
- "bare": "builtin:os",
17
- "default": "os"
18
- }
19
- },
20
- "devDependencies": {
21
- "array-shuffle": "^1.0.1",
22
- "standard": "^14.0.0",
23
- "tape": "^5.0.0"
24
- },
25
- "scripts": {
26
- "test": "standard && node test"
27
- },
28
- "bin": {
29
- "node-gyp-build": "./bin.js",
30
- "node-gyp-build-optional": "./optional.js",
31
- "node-gyp-build-test": "./build-test.js"
32
- },
33
- "repository": {
34
- "type": "git",
35
- "url": "https://github.com/prebuild/node-gyp-build.git"
36
- },
37
- "author": "Mathias Buus (@mafintosh)",
38
- "license": "MIT",
39
- "bugs": {
40
- "url": "https://github.com/prebuild/node-gyp-build/issues"
41
- },
42
- "homepage": "https://github.com/prebuild/node-gyp-build"
43
- }
@@ -1,128 +0,0 @@
1
- # Node Tree-sitter
2
-
3
- [![CI][ci]](https://github.com/tree-sitter/node-tree-sitter/actions/workflows/ci.yml)
4
- [![npm][npm]](https://npmjs.com/package/tree-sitter)
5
- [![docs][docs]](https://tree-sitter.github.io/node-tree-sitter)
6
-
7
- This module provides Node.js bindings to the [tree-sitter] parsing library.
8
-
9
- ## Installation
10
-
11
- ```sh
12
- npm install tree-sitter
13
- ```
14
-
15
- ## Basic Usage
16
-
17
- ### Prerequisites
18
-
19
- First, you'll need a Tree-sitter grammar for the language you want to parse. There are many [existing grammars][grammars],
20
- such as [tree-sitter-javascript][javascript]. These grammars can typically be installed with a package manager like NPM,
21
- so long as the author has published them.
22
-
23
- ```sh
24
- npm install tree-sitter-javascript
25
- ```
26
-
27
- You can also develop a new grammar by using the [Tree-sitter CLI][cli] and following the [docs][ts docs].
28
-
29
- ### Parsing Source Code
30
-
31
- Once you've got your grammar, create a parser with that grammar.
32
-
33
- ```javascript
34
- const Parser = require('tree-sitter');
35
- const JavaScript = require('tree-sitter-javascript');
36
-
37
- const parser = new Parser();
38
- parser.setLanguage(JavaScript);
39
- ```
40
-
41
- Then you can parse some source code,
42
-
43
- ```javascript
44
- const sourceCode = 'let x = 1; console.log(x);';
45
- const tree = parser.parse(sourceCode);
46
- ```
47
-
48
- and inspect the syntax tree.
49
-
50
- ```javascript
51
- console.log(tree.rootNode.toString());
52
-
53
- // (program
54
- // (lexical_declaration
55
- // (variable_declarator (identifier) (number)))
56
- // (expression_statement
57
- // (call_expression
58
- // (member_expression (identifier) (property_identifier))
59
- // (arguments (identifier)))))
60
-
61
- const callExpression = tree.rootNode.child(1).firstChild;
62
- console.log(callExpression);
63
-
64
- // {
65
- // type: 'call_expression',
66
- // startPosition: {row: 0, column: 16},
67
- // endPosition: {row: 0, column: 30},
68
- // startIndex: 0,
69
- // endIndex: 30
70
- // }
71
- ```
72
-
73
- If your source code *changes*, you can update the syntax tree. This is much faster than the first parse.
74
-
75
- ```javascript
76
- // In the code, we replaced 'let' with 'const'.
77
- // So, we set our old end index to 3, and our new end index to 5.
78
- // Note that the end index is exclusive.
79
- const newSourceCode = 'const x = 1; console.log(x);';
80
- // ^ ^
81
- // indices: 3 5
82
- // points: (0,3) (0,5)
83
-
84
- tree.edit({
85
- startIndex: 0,
86
- oldEndIndex: 3,
87
- newEndIndex: 5,
88
- startPosition: {row: 0, column: 0},
89
- oldEndPosition: {row: 0, column: 3},
90
- newEndPosition: {row: 0, column: 5},
91
- });
92
-
93
- const newTree = parser.parse(newSourceCode, tree);
94
- ```
95
-
96
- ### Parsing Text From a Custom Data Structure
97
-
98
- If your text is stored in a data structure other than a single string, such as a rope or array, you can parse it by supplying
99
- a callback to `parse` instead of a string:
100
-
101
- ```javascript
102
- const sourceLines = [
103
- 'let x = 1;',
104
- 'console.log(x);'
105
- ];
106
-
107
- const tree = parser.parse((index, position) => {
108
- let line = sourceLines[position.row];
109
- if (line) {
110
- return line.slice(position.column);
111
- }
112
- });
113
- ```
114
-
115
- ### Further Reading
116
-
117
- It's recommended that you read the [Tree-sitter documentation][usage docs] on using parsers to get a higher-level overview
118
- of the API. Once you're comfortable with the basics, you can explore the [full API documentation](https://tree-sitter.github.io/node-tree-sitter),
119
- which should map closely to the C API, though there are some differences.
120
-
121
- [ci]: https://img.shields.io/github/actions/workflow/status/tree-sitter/node-tree-sitter/ci.yml?logo=github&label=CI
122
- [cli]: https://github.com/tree-sitter/tree-sitter/tree/master/cli
123
- [docs]: https://img.shields.io/badge/docs-website-blue
124
- [npm]: https://img.shields.io/npm/v/tree-sitter?logo=npm
125
- [grammars]: https://github.com/tree-sitter/tree-sitter/wiki/List-of-parsers
126
- [javascript]: http://github.com/tree-sitter/tree-sitter-javascript
127
- [ts docs]: https://tree-sitter.github.io/tree-sitter/creating-parsers
128
- [usage docs]: https://tree-sitter.github.io/tree-sitter/using-parsers
@@ -1,80 +0,0 @@
1
- {
2
- "targets": [
3
- {
4
- "target_name": "tree_sitter_runtime_binding",
5
- "dependencies": [
6
- "tree_sitter",
7
- "<!(node -p \"require('node-addon-api').targets\"):node_addon_api_except",
8
- ],
9
- "sources": [
10
- "src/binding.cc",
11
- "src/conversions.cc",
12
- "src/language.cc",
13
- "src/logger.cc",
14
- "src/lookaheaditerator.cc",
15
- "src/node.cc",
16
- "src/parser.cc",
17
- "src/query.cc",
18
- "src/tree.cc",
19
- "src/tree_cursor.cc",
20
- ],
21
- "include_dirs": [
22
- "vendor/tree-sitter/lib/include",
23
- ],
24
- "defines": [
25
- "NAPI_VERSION=<(napi_build_version)",
26
- ],
27
- "cflags_cc": [
28
- "-std=c++17"
29
- ],
30
- "conditions": [
31
- ["OS=='mac'", {
32
- "xcode_settings": {
33
- "GCC_SYMBOLS_PRIVATE_EXTERN": "YES", # -fvisibility=hidden
34
- "CLANG_CXX_LANGUAGE_STANDARD": "c++17",
35
- "MACOSX_DEPLOYMENT_TARGET": "10.9",
36
- },
37
- }],
38
- ["OS=='win'", {
39
- "msvs_settings": {
40
- "VCCLCompilerTool": {
41
- "AdditionalOptions": [
42
- "/std:c++17",
43
- ],
44
- "RuntimeLibrary": 0,
45
- },
46
- },
47
- }],
48
- ["OS == 'linux'", {
49
- "cflags_cc": [
50
- "-Wno-cast-function-type"
51
- ]
52
- }],
53
- ]
54
- },
55
- {
56
- "target_name": "tree_sitter",
57
- "type": "static_library",
58
- "sources": [
59
- "vendor/tree-sitter/lib/src/lib.c"
60
- ],
61
- "include_dirs": [
62
- "vendor/tree-sitter/lib/src",
63
- "vendor/tree-sitter/lib/include",
64
- ],
65
- "cflags": [
66
- "-std=c11"
67
- ],
68
- "defines": [
69
- "_POSIX_C_SOURCE=200112L",
70
- "_DEFAULT_SOURCE",
71
- ]
72
- }
73
- ],
74
- "variables": {
75
- "runtime%": "node",
76
- "openssl_fips": "",
77
- "v8_enable_pointer_compression%": 0,
78
- "v8_enable_31bit_smis_on_64bit_arch%": 0,
79
- }
80
- }