code-ranker 3.0.0a1__tar.gz → 3.0.1__tar.gz

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 (338) hide show
  1. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/Cargo.lock +279 -73
  2. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/Cargo.toml +14 -10
  3. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/PKG-INFO +13 -33
  4. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/README.md +12 -32
  5. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-cli/Cargo.toml +1 -6
  6. code_ranker-3.0.1/crates/code-ranker-cli/build.rs +76 -0
  7. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-cli/src/analyze.rs +2 -0
  8. code_ranker-3.0.1/crates/code-ranker-cli/src/check/sarif.rs +148 -0
  9. code_ranker-3.0.1/crates/code-ranker-cli/src/check/values.rs +220 -0
  10. code_ranker-3.0.1/crates/code-ranker-cli/src/check.rs +419 -0
  11. code_ranker-3.0.1/crates/code-ranker-cli/src/check_test.rs +204 -0
  12. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-cli/src/cli.rs +79 -11
  13. code_ranker-3.0.1/crates/code-ranker-cli/src/compose.rs +251 -0
  14. code_ranker-3.0.1/crates/code-ranker-cli/src/compose_test.rs +154 -0
  15. code_ranker-3.0.1/crates/code-ranker-cli/src/config/defaults.toml +69 -0
  16. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-cli/src/config/ignore.rs +44 -2
  17. code_ranker-3.0.1/crates/code-ranker-cli/src/config/load/overrides.rs +141 -0
  18. code_ranker-3.0.1/crates/code-ranker-cli/src/config/load.rs +203 -0
  19. code_ranker-3.0.1/crates/code-ranker-cli/src/config/load_test.rs +279 -0
  20. code_ranker-3.0.1/crates/code-ranker-cli/src/config/metrics.rs +102 -0
  21. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-cli/src/config/mod.rs +1 -1
  22. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-cli/src/config/model.rs +188 -156
  23. code_ranker-3.0.1/crates/code-ranker-cli/src/config/model_test.rs +158 -0
  24. code_ranker-3.0.1/crates/code-ranker-cli/src/config/rules.rs +194 -0
  25. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-cli/src/config/violations.rs +101 -161
  26. code_ranker-3.0.1/crates/code-ranker-cli/src/config/violations_test.rs +232 -0
  27. code_ranker-3.0.1/crates/code-ranker-cli/src/export.rs +138 -0
  28. code_ranker-3.0.1/crates/code-ranker-cli/src/main.rs +129 -0
  29. code_ranker-3.0.1/crates/code-ranker-cli/src/pipeline/assemble.rs +227 -0
  30. code_ranker-3.0.1/crates/code-ranker-cli/src/pipeline/helpers.rs +56 -0
  31. code_ranker-3.0.1/crates/code-ranker-cli/src/pipeline.rs +444 -0
  32. code_ranker-3.0.1/crates/code-ranker-cli/src/pipeline_test.rs +175 -0
  33. code_ranker-3.0.1/crates/code-ranker-cli/src/plugin/mod.rs +185 -0
  34. code_ranker-3.0.1/crates/code-ranker-cli/src/plugin/mod_test.rs +110 -0
  35. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-cli/src/recommend/prompt.rs +88 -42
  36. code_ranker-3.0.1/crates/code-ranker-cli/src/recommend/scorecard.rs +447 -0
  37. code_ranker-3.0.1/crates/code-ranker-cli/src/recommend.rs +372 -0
  38. code_ranker-3.0.1/crates/code-ranker-cli/src/recommend_test.rs +921 -0
  39. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-cli/src/report.rs +153 -108
  40. code_ranker-3.0.1/crates/code-ranker-cli/src/report_test.rs +127 -0
  41. code_ranker-3.0.1/crates/code-ranker-cli/src/templates.rs +165 -0
  42. code_ranker-3.0.1/crates/code-ranker-cli/src/templates_test.rs +204 -0
  43. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-cli/tests/e2e.rs +582 -49
  44. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-graph/Cargo.toml +2 -1
  45. code_ranker-3.0.1/crates/code-ranker-graph/metrics/builtin.toml +452 -0
  46. code_ranker-3.0.1/crates/code-ranker-graph/metrics/prompt.md +33 -0
  47. code_ranker-3.0.1/crates/code-ranker-graph/src/builtin/write.rs +207 -0
  48. code_ranker-3.0.1/crates/code-ranker-graph/src/builtin.rs +307 -0
  49. code_ranker-3.0.1/crates/code-ranker-graph/src/builtin_test.rs +161 -0
  50. code_ranker-3.0.1/crates/code-ranker-graph/src/checks/text.rs +113 -0
  51. code_ranker-3.0.1/crates/code-ranker-graph/src/checks.rs +459 -0
  52. code_ranker-3.0.1/crates/code-ranker-graph/src/checks_test.rs +555 -0
  53. code_ranker-3.0.1/crates/code-ranker-graph/src/cycles.rs +172 -0
  54. code_ranker-3.0.1/crates/code-ranker-graph/src/cycles_test.rs +283 -0
  55. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-graph/src/hk.rs +23 -25
  56. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-graph/src/level_graph.rs +10 -4
  57. code_ranker-3.0.1/crates/code-ranker-graph/src/lib.rs +48 -0
  58. code_ranker-3.0.1/crates/code-ranker-graph/src/nodepath.rs +63 -0
  59. code_ranker-3.0.1/crates/code-ranker-graph/src/registry/eval.rs +245 -0
  60. code_ranker-3.0.1/crates/code-ranker-graph/src/registry/model.rs +180 -0
  61. code_ranker-3.0.1/crates/code-ranker-graph/src/registry.rs +184 -0
  62. code_ranker-3.0.1/crates/code-ranker-graph/src/registry_cover_test.rs +218 -0
  63. code_ranker-3.0.1/crates/code-ranker-graph/src/registry_test.rs +168 -0
  64. code_ranker-3.0.1/crates/code-ranker-graph/src/relativize.rs +104 -0
  65. code_ranker-3.0.1/crates/code-ranker-graph/src/relativize_test.rs +124 -0
  66. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-graph/src/snapshot.rs +8 -2
  67. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-graph/src/stats.rs +10 -30
  68. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-plugin-api/Cargo.toml +6 -0
  69. code_ranker-3.0.1/crates/code-ranker-plugin-api/src/detection.rs +27 -0
  70. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-plugin-api/src/level.rs +18 -3
  71. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-plugin-api/src/lib.rs +31 -24
  72. code_ranker-3.0.1/crates/code-ranker-plugin-api/src/list_override.rs +140 -0
  73. code_ranker-3.0.1/crates/code-ranker-plugin-api/src/list_override_test.rs +101 -0
  74. code_ranker-3.0.1/crates/code-ranker-plugin-api/src/metrics.rs +51 -0
  75. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-plugin-api/src/node.rs +6 -0
  76. code_ranker-3.0.1/crates/code-ranker-plugin-api/src/plugin.rs +233 -0
  77. code_ranker-3.0.1/crates/code-ranker-plugin-api/src/preset.rs +62 -0
  78. code_ranker-3.0.1/crates/code-ranker-plugin-api/src/report.rs +192 -0
  79. code_ranker-3.0.1/crates/code-ranker-plugin-api/src/toml_merge.rs +79 -0
  80. code_ranker-3.0.1/crates/code-ranker-plugins/Cargo.toml +44 -0
  81. code_ranker-3.0.1/crates/code-ranker-plugins/src/config/lookup.rs +65 -0
  82. code_ranker-3.0.1/crates/code-ranker-plugins/src/config/mod.rs +36 -0
  83. code_ranker-3.0.1/crates/code-ranker-plugins/src/config/parse.rs +34 -0
  84. code_ranker-3.0.1/crates/code-ranker-plugins/src/config/specs.rs +144 -0
  85. code_ranker-3.0.1/crates/code-ranker-plugins/src/config/views.rs +78 -0
  86. code_ranker-3.0.1/crates/code-ranker-plugins/src/defaults.toml +336 -0
  87. code_ranker-3.0.1/crates/code-ranker-plugins/src/engine/cognitive.rs +34 -0
  88. code_ranker-3.0.1/crates/code-ranker-plugins/src/engine/core.rs +198 -0
  89. code_ranker-3.0.1/crates/code-ranker-plugins/src/engine/halstead.rs +55 -0
  90. code_ranker-3.0.1/crates/code-ranker-plugins/src/engine/loc.rs +132 -0
  91. code_ranker-3.0.1/crates/code-ranker-plugins/src/engine/mod.rs +137 -0
  92. code_ranker-3.0.1/crates/code-ranker-plugins/src/engine/roles.rs +271 -0
  93. code_ranker-3.0.1/crates/code-ranker-plugins/src/engine/structural.rs +51 -0
  94. code_ranker-3.0.1/crates/code-ranker-plugins/src/engine/tests/roles.rs +50 -0
  95. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/README.md +253 -0
  96. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/c/config.toml +64 -0
  97. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/c/dialect.rs +236 -0
  98. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/c/mod.rs +160 -0
  99. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/c/tests/dialect.rs +66 -0
  100. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/c/tests/mod_rs.rs +50 -0
  101. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/c/tests/sample/code-ranker-check.codequality.json +1 -0
  102. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/c/tests/sample/code-ranker-check.sarif +17 -0
  103. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/c/tests/sample/code-ranker-report.json +775 -0
  104. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/c/tests/sample/code-ranker.toml +5 -0
  105. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/c/tests/sample/main.c +15 -0
  106. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/c/tests/sample/mathx.c +7 -0
  107. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/c/tests/sample/mathx.h +9 -0
  108. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/c/tests/sample/util.c +9 -0
  109. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/c/tests/sample/util.h +7 -0
  110. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cfamily/config.toml +67 -0
  111. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cfamily/mod.rs +289 -0
  112. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cfamily/tests/mod_rs.rs +180 -0
  113. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cpp/config.toml +73 -0
  114. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cpp/dialect.rs +257 -0
  115. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cpp/mod.rs +160 -0
  116. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cpp/tests/dialect.rs +80 -0
  117. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cpp/tests/mod_rs.rs +50 -0
  118. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cpp/tests/sample/code-ranker-check.codequality.json +1 -0
  119. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cpp/tests/sample/code-ranker-check.sarif +17 -0
  120. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cpp/tests/sample/code-ranker-report.json +785 -0
  121. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cpp/tests/sample/code-ranker.toml +5 -0
  122. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cpp/tests/sample/main.cpp +14 -0
  123. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cpp/tests/sample/mathx.cpp +7 -0
  124. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cpp/tests/sample/mathx.hpp +9 -0
  125. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cpp/tests/sample/util.cpp +9 -0
  126. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/cpp/tests/sample/util.hpp +7 -0
  127. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/csharp/config.toml +108 -0
  128. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/csharp/dialect.rs +190 -0
  129. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/csharp/mod.rs +150 -0
  130. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/csharp/structure.rs +247 -0
  131. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/csharp/tests/dialect.rs +59 -0
  132. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/csharp/tests/mod_rs.rs +50 -0
  133. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/csharp/tests/sample/Main.cs +20 -0
  134. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/csharp/tests/sample/Mathx.cs +12 -0
  135. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/csharp/tests/sample/Util.cs +12 -0
  136. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/csharp/tests/sample/code-ranker-check.codequality.json +1 -0
  137. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/csharp/tests/sample/code-ranker-check.sarif +17 -0
  138. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/csharp/tests/sample/code-ranker-report.json +721 -0
  139. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/csharp/tests/sample/code-ranker.toml +5 -0
  140. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/csharp/tests/structure.rs +49 -0
  141. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/ecmascript/cfg.rs +33 -0
  142. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/ecmascript/config.toml +217 -0
  143. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/ecmascript/dialect.rs +301 -0
  144. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/ecmascript/imports.rs +257 -0
  145. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/ecmascript/mod.rs +163 -0
  146. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/ecmascript/structure.rs +327 -0
  147. code_ranker-3.0.0a1/crates/code-ranker-ecmascript-core/src/metrics_tests.rs → code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/ecmascript/tests/dialect.rs +79 -13
  148. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/ecmascript/tests/mod_rs.rs +18 -0
  149. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/ecmascript/tests/structure.rs +405 -0
  150. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/config.toml +119 -0
  151. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/dialect.rs +183 -0
  152. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/mod.rs +160 -0
  153. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/structure.rs +319 -0
  154. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/tests/dialect.rs +64 -0
  155. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/tests/mod_rs.rs +61 -0
  156. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/tests/sample/code-ranker-check.codequality.json +1 -0
  157. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/tests/sample/code-ranker-check.sarif +17 -0
  158. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/tests/sample/code-ranker-report.json +723 -0
  159. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/tests/sample/code-ranker.toml +7 -0
  160. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/tests/sample/go.mod +3 -0
  161. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/tests/sample/main.go +23 -0
  162. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/tests/sample/mathx/mathx.go +10 -0
  163. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/tests/sample/util/util.go +10 -0
  164. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/go/tests/structure.rs +156 -0
  165. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/config.toml +30 -0
  166. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/mod.rs +125 -0
  167. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/tests/mod_rs.rs +140 -0
  168. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/tests/sample/code-ranker-check.codequality.json +26 -0
  169. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/tests/sample/code-ranker-check.sarif +99 -0
  170. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/tests/sample/code-ranker-report.json +964 -0
  171. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/tests/sample/code-ranker.toml +8 -0
  172. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/tests/sample/src/a.js +22 -0
  173. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/tests/sample/src/a.test.js +7 -0
  174. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/tests/sample/src/b.js +14 -0
  175. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/tests/sample/src/c.js +19 -0
  176. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/tests/sample/src/complex.js +16 -0
  177. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/tests/sample/src/dynamic.js +4 -0
  178. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/tests/sample/src/m1.js +6 -0
  179. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/javascript/tests/sample/src/m2.js +5 -0
  180. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/markdown/config.toml +69 -0
  181. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/markdown/mod.rs +79 -0
  182. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/markdown/structure.rs +267 -0
  183. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/markdown/tests/mod_rs.rs +31 -0
  184. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/markdown/tests/sample/api.md +4 -0
  185. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/markdown/tests/sample/code-ranker-check.codequality.json +26 -0
  186. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/markdown/tests/sample/code-ranker-check.sarif +99 -0
  187. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/markdown/tests/sample/code-ranker-report.json +270 -0
  188. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/markdown/tests/sample/code-ranker.toml +6 -0
  189. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/markdown/tests/sample/guide.md +4 -0
  190. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/markdown/tests/sample/index.md +6 -0
  191. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/markdown/tests/structure.rs +133 -0
  192. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/mod.rs +18 -0
  193. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/config.toml +199 -0
  194. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/dialect.rs +265 -0
  195. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/imports.rs +145 -0
  196. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/mod.rs +178 -0
  197. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/structure.rs +444 -0
  198. code_ranker-3.0.0a1/crates/code-ranker-plugin-python/src/metrics_tests.rs → code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/dialect.rs +90 -12
  199. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/mod_rs.rs +21 -0
  200. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/sample/code-ranker-check.codequality.json +26 -0
  201. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/sample/code-ranker-check.sarif +99 -0
  202. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/sample/code-ranker-report.json +1073 -0
  203. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/sample/code-ranker.toml +8 -0
  204. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/sample/pkg/__init__.py +9 -0
  205. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/sample/pkg/a.py +27 -0
  206. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/sample/pkg/b.py +21 -0
  207. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/sample/pkg/c.py +14 -0
  208. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/sample/pkg/chain1.py +6 -0
  209. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/sample/pkg/chain2.py +6 -0
  210. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/sample/pkg/chain3.py +6 -0
  211. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/sample/pkg/complex.py +15 -0
  212. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/sample/tests/test_pkg.py +8 -0
  213. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/python/tests/structure.rs +114 -0
  214. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/analyze.rs +52 -0
  215. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/cfg.rs +97 -0
  216. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/collapse.rs +323 -0
  217. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/config.toml +371 -0
  218. {code_ranker-3.0.0a1/crates/code-ranker-plugin-rust/src → code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust}/crate_graph.rs +1 -0
  219. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/dialect.rs +263 -0
  220. {code_ranker-3.0.0a1/crates/code-ranker-plugin-rust/src → code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust}/ids.rs +2 -1
  221. {code_ranker-3.0.0a1/crates/code-ranker-plugin-rust/src → code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust}/internal.rs +32 -24
  222. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/mod.rs +207 -0
  223. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/module_graph/resolve.rs +395 -0
  224. {code_ranker-3.0.0a1/crates/code-ranker-plugin-rust/src → code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust}/module_graph/shared.rs +18 -27
  225. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/module_graph/visitors.rs +260 -0
  226. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/module_graph/walk.rs +331 -0
  227. {code_ranker-3.0.0a1/crates/code-ranker-plugin-rust/src → code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust}/module_graph.rs +7 -5
  228. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/strip.rs +92 -0
  229. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/test_attr.rs +35 -0
  230. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/tests/collapse.rs +162 -0
  231. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/tests/dialect.rs +59 -0
  232. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/tests/internal.rs +16 -0
  233. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/tests/mod_rs.rs +799 -0
  234. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/tests/resolve.rs +466 -0
  235. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/tests/shared.rs +15 -0
  236. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/tests/walk.rs +284 -0
  237. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/rust/toolchain.rs +76 -0
  238. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/config.toml +29 -0
  239. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/mod.rs +137 -0
  240. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/mod_rs.rs +334 -0
  241. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/code-ranker-check.codequality.json +26 -0
  242. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/code-ranker-check.sarif +99 -0
  243. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/code-ranker-report.json +1031 -0
  244. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/code-ranker.toml +8 -0
  245. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/src/a.test.ts +7 -0
  246. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/src/a.ts +31 -0
  247. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/src/b.ts +14 -0
  248. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/src/chain1.ts +5 -0
  249. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/src/chain2.ts +5 -0
  250. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/src/chain3.ts +5 -0
  251. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/src/complex.ts +15 -0
  252. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/src/lazy.ts +4 -0
  253. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/src/types.ts +6 -0
  254. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/src/util.ts +8 -0
  255. code_ranker-3.0.1/crates/code-ranker-plugins/src/languages/typescript/tests/sample/tsconfig.json +14 -0
  256. code_ranker-3.0.1/crates/code-ranker-plugins/src/lib.rs +31 -0
  257. code_ranker-3.0.1/crates/code-ranker-plugins/src/test_support.rs +36 -0
  258. code_ranker-3.0.1/crates/code-ranker-plugins/src/tests/config.rs +436 -0
  259. code_ranker-3.0.1/crates/code-ranker-plugins/src/tests/walk.rs +110 -0
  260. code_ranker-3.0.1/crates/code-ranker-plugins/src/walk.rs +72 -0
  261. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/app.js +4 -2
  262. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/base.css +10 -0
  263. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/export-popup.js +55 -32
  264. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/grouping.js +42 -2
  265. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/index.html +11 -9
  266. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/layout.js +88 -18
  267. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/map-interactions.js +20 -11
  268. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/node-popup.js +4 -4
  269. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/panzoom.js +23 -21
  270. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/schema.js +3 -0
  271. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/snap-controls.js +53 -3
  272. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/summary.js +3 -3
  273. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/tables.css +12 -7
  274. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/tooltip.js +5 -32
  275. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/view-state.js +41 -5
  276. code_ranker-3.0.0a1/crates/code-ranker-cli/src/check.rs +0 -548
  277. code_ranker-3.0.0a1/crates/code-ranker-cli/src/config/load.rs +0 -356
  278. code_ranker-3.0.0a1/crates/code-ranker-cli/src/config/metrics.rs +0 -88
  279. code_ranker-3.0.0a1/crates/code-ranker-cli/src/config/rules.rs +0 -180
  280. code_ranker-3.0.0a1/crates/code-ranker-cli/src/main.rs +0 -100
  281. code_ranker-3.0.0a1/crates/code-ranker-cli/src/pipeline.rs +0 -523
  282. code_ranker-3.0.0a1/crates/code-ranker-cli/src/plugin/mod.rs +0 -179
  283. code_ranker-3.0.0a1/crates/code-ranker-cli/src/presets.rs +0 -215
  284. code_ranker-3.0.0a1/crates/code-ranker-cli/src/recommend/scorecard.rs +0 -346
  285. code_ranker-3.0.0a1/crates/code-ranker-cli/src/recommend.rs +0 -923
  286. code_ranker-3.0.0a1/crates/code-ranker-ecmascript-core/Cargo.toml +0 -28
  287. code_ranker-3.0.0a1/crates/code-ranker-ecmascript-core/src/ecmascript_ts.rs +0 -682
  288. code_ranker-3.0.0a1/crates/code-ranker-ecmascript-core/src/lib.rs +0 -894
  289. code_ranker-3.0.0a1/crates/code-ranker-graph/src/cycles.rs +0 -455
  290. code_ranker-3.0.0a1/crates/code-ranker-graph/src/lib.rs +0 -121
  291. code_ranker-3.0.0a1/crates/code-ranker-graph/src/metrics.rs +0 -370
  292. code_ranker-3.0.0a1/crates/code-ranker-graph/src/relativize.rs +0 -228
  293. code_ranker-3.0.0a1/crates/code-ranker-plugin-api/src/plugin.rs +0 -217
  294. code_ranker-3.0.0a1/crates/code-ranker-plugin-javascript/Cargo.toml +0 -23
  295. code_ranker-3.0.0a1/crates/code-ranker-plugin-javascript/src/lib.rs +0 -154
  296. code_ranker-3.0.0a1/crates/code-ranker-plugin-python/Cargo.toml +0 -25
  297. code_ranker-3.0.0a1/crates/code-ranker-plugin-python/src/lib.rs +0 -766
  298. code_ranker-3.0.0a1/crates/code-ranker-plugin-python/src/python_ts.rs +0 -536
  299. code_ranker-3.0.0a1/crates/code-ranker-plugin-rust/Cargo.toml +0 -24
  300. code_ranker-3.0.0a1/crates/code-ranker-plugin-rust/src/collapse.rs +0 -242
  301. code_ranker-3.0.0a1/crates/code-ranker-plugin-rust/src/lib.rs +0 -1301
  302. code_ranker-3.0.0a1/crates/code-ranker-plugin-rust/src/module_graph/resolve.rs +0 -758
  303. code_ranker-3.0.0a1/crates/code-ranker-plugin-rust/src/module_graph/walk.rs +0 -691
  304. code_ranker-3.0.0a1/crates/code-ranker-plugin-rust/src/rust_ts.rs +0 -589
  305. code_ranker-3.0.0a1/crates/code-ranker-plugin-typescript/Cargo.toml +0 -23
  306. code_ranker-3.0.0a1/crates/code-ranker-plugin-typescript/src/lib.rs +0 -315
  307. code_ranker-3.0.0a1/crates/code-ranker-test-support/Cargo.toml +0 -15
  308. code_ranker-3.0.0a1/crates/code-ranker-test-support/src/lib.rs +0 -37
  309. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/LICENSE +0 -0
  310. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-cli/src/git.rs +0 -0
  311. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-cli/src/logger.rs +0 -0
  312. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-cli/tests/grammar_single_version.rs +0 -0
  313. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-graph/src/attrs.rs +0 -0
  314. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-graph/src/finalize.rs +0 -0
  315. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-graph/src/serialize.rs +0 -0
  316. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-plugin-api/src/attrs.rs +0 -0
  317. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-plugin-api/src/edge.rs +0 -0
  318. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-plugin-api/src/graph.rs +0 -0
  319. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-plugin-api/src/log.rs +0 -0
  320. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/Cargo.toml +0 -0
  321. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/diff.js +0 -0
  322. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/export.css +0 -0
  323. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/graphviz.umd.js +0 -0
  324. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/map-render.js +0 -0
  325. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/map-svg.css +0 -0
  326. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/map.css +0 -0
  327. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/modal-content.js +0 -0
  328. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/modal.css +0 -0
  329. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/modal.js +0 -0
  330. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/nav.js +0 -0
  331. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/node-table.js +0 -0
  332. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/snap.css +0 -0
  333. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/snarkdown.umd.js +0 -0
  334. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/source-links.js +0 -0
  335. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/ui.js +0 -0
  336. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/assets/utils.js +0 -0
  337. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/crates/code-ranker-viewer/src/lib.rs +0 -0
  338. {code_ranker-3.0.0a1 → code_ranker-3.0.1}/pyproject.toml +0 -0
@@ -70,6 +70,23 @@ dependencies = [
70
70
  "windows-sys",
71
71
  ]
72
72
 
73
+ [[package]]
74
+ name = "antlr4rust"
75
+ version = "0.5.2"
76
+ source = "registry+https://github.com/rust-lang/crates.io-index"
77
+ checksum = "093d520274bfff7278d776f7ea12981a0a0a6f96db90964658e0f38fc6e9a6a6"
78
+ dependencies = [
79
+ "better_any",
80
+ "bit-set",
81
+ "byteorder",
82
+ "lazy_static",
83
+ "murmur3",
84
+ "once_cell",
85
+ "parking_lot",
86
+ "typed-arena",
87
+ "uuid",
88
+ ]
89
+
73
90
  [[package]]
74
91
  name = "anyhow"
75
92
  version = "1.0.102"
@@ -82,6 +99,27 @@ version = "1.5.0"
82
99
  source = "registry+https://github.com/rust-lang/crates.io-index"
83
100
  checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
84
101
 
102
+ [[package]]
103
+ name = "better_any"
104
+ version = "0.2.1"
105
+ source = "registry+https://github.com/rust-lang/crates.io-index"
106
+ checksum = "4372b9543397a4b86050cc5e7ee36953edf4bac9518e8a774c2da694977fb6e4"
107
+
108
+ [[package]]
109
+ name = "bit-set"
110
+ version = "0.8.0"
111
+ source = "registry+https://github.com/rust-lang/crates.io-index"
112
+ checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3"
113
+ dependencies = [
114
+ "bit-vec",
115
+ ]
116
+
117
+ [[package]]
118
+ name = "bit-vec"
119
+ version = "0.8.0"
120
+ source = "registry+https://github.com/rust-lang/crates.io-index"
121
+ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7"
122
+
85
123
  [[package]]
86
124
  name = "bitflags"
87
125
  version = "2.11.1"
@@ -104,6 +142,12 @@ version = "3.20.2"
104
142
  source = "registry+https://github.com/rust-lang/crates.io-index"
105
143
  checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
106
144
 
145
+ [[package]]
146
+ name = "byteorder"
147
+ version = "1.5.0"
148
+ source = "registry+https://github.com/rust-lang/crates.io-index"
149
+ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
150
+
107
151
  [[package]]
108
152
  name = "camino"
109
153
  version = "1.2.2"
@@ -146,6 +190,22 @@ dependencies = [
146
190
  "shlex",
147
191
  ]
148
192
 
193
+ [[package]]
194
+ name = "cel"
195
+ version = "0.13.0"
196
+ source = "registry+https://github.com/rust-lang/crates.io-index"
197
+ checksum = "47a40f338a8c3505921000b609279775792c07cc21f97a3011578c0c5e1738ae"
198
+ dependencies = [
199
+ "antlr4rust",
200
+ "chrono",
201
+ "lazy_static",
202
+ "nom",
203
+ "pastey",
204
+ "regex",
205
+ "serde",
206
+ "thiserror",
207
+ ]
208
+
149
209
  [[package]]
150
210
  name = "cfg-if"
151
211
  version = "1.0.4"
@@ -208,125 +268,75 @@ checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
208
268
 
209
269
  [[package]]
210
270
  name = "code-ranker"
211
- version = "3.0.0-alpha.1"
271
+ version = "3.0.1"
212
272
  dependencies = [
213
273
  "anyhow",
214
274
  "chrono",
215
275
  "clap",
216
276
  "code-ranker-graph",
217
277
  "code-ranker-plugin-api",
218
- "code-ranker-plugin-javascript",
219
- "code-ranker-plugin-python",
220
- "code-ranker-plugin-rust",
221
- "code-ranker-plugin-typescript",
278
+ "code-ranker-plugins",
222
279
  "code-ranker-viewer",
223
280
  "globset",
224
281
  "serde",
225
282
  "serde_json",
226
283
  "tempfile",
227
284
  "toml",
228
- "walkdir",
229
- "which",
230
- ]
231
-
232
- [[package]]
233
- name = "code-ranker-ecmascript-core"
234
- version = "3.0.0-alpha.1"
235
- dependencies = [
236
- "anyhow",
237
- "code-ranker-graph",
238
- "code-ranker-plugin-api",
239
- "code-ranker-test-support",
240
- "tempfile",
241
- "tree-sitter",
242
- "tree-sitter-javascript",
243
- "tree-sitter-typescript",
244
- "walkdir",
245
285
  ]
246
286
 
247
287
  [[package]]
248
288
  name = "code-ranker-graph"
249
- version = "3.0.0-alpha.1"
289
+ version = "3.0.1"
250
290
  dependencies = [
251
- "anyhow",
291
+ "cel",
252
292
  "chrono",
253
293
  "code-ranker-plugin-api",
254
294
  "serde",
255
295
  "serde_json",
296
+ "toml",
256
297
  ]
257
298
 
258
299
  [[package]]
259
300
  name = "code-ranker-plugin-api"
260
- version = "3.0.0-alpha.1"
301
+ version = "3.0.1"
261
302
  dependencies = [
262
303
  "anyhow",
263
304
  "chrono",
305
+ "inventory",
264
306
  "serde",
307
+ "toml",
265
308
  ]
266
309
 
267
310
  [[package]]
268
- name = "code-ranker-plugin-javascript"
269
- version = "3.0.0-alpha.1"
270
- dependencies = [
271
- "anyhow",
272
- "code-ranker-ecmascript-core",
273
- "code-ranker-plugin-api",
274
- "code-ranker-test-support",
275
- "tempfile",
276
- "tree-sitter-javascript",
277
- ]
278
-
279
- [[package]]
280
- name = "code-ranker-plugin-python"
281
- version = "3.0.0-alpha.1"
282
- dependencies = [
283
- "anyhow",
284
- "code-ranker-graph",
285
- "code-ranker-plugin-api",
286
- "code-ranker-test-support",
287
- "tempfile",
288
- "tree-sitter",
289
- "tree-sitter-python",
290
- "walkdir",
291
- ]
292
-
293
- [[package]]
294
- name = "code-ranker-plugin-rust"
295
- version = "3.0.0-alpha.1"
311
+ name = "code-ranker-plugins"
312
+ version = "3.0.1"
296
313
  dependencies = [
297
314
  "anyhow",
298
315
  "cargo_metadata",
299
316
  "code-ranker-graph",
300
317
  "code-ranker-plugin-api",
318
+ "ignore",
319
+ "inventory",
301
320
  "proc-macro2",
321
+ "serde",
302
322
  "syn",
323
+ "tempfile",
324
+ "toml",
303
325
  "tree-sitter",
326
+ "tree-sitter-c",
327
+ "tree-sitter-c-sharp",
328
+ "tree-sitter-cpp",
329
+ "tree-sitter-go",
330
+ "tree-sitter-javascript",
331
+ "tree-sitter-python",
304
332
  "tree-sitter-rust",
305
- "which",
306
- ]
307
-
308
- [[package]]
309
- name = "code-ranker-plugin-typescript"
310
- version = "3.0.0-alpha.1"
311
- dependencies = [
312
- "anyhow",
313
- "code-ranker-ecmascript-core",
314
- "code-ranker-plugin-api",
315
- "code-ranker-test-support",
316
- "tempfile",
317
333
  "tree-sitter-typescript",
318
- ]
319
-
320
- [[package]]
321
- name = "code-ranker-test-support"
322
- version = "3.0.0-alpha.1"
323
- dependencies = [
324
- "code-ranker-plugin-api",
334
+ "which",
325
335
  ]
326
336
 
327
337
  [[package]]
328
338
  name = "code-ranker-viewer"
329
- version = "3.0.0-alpha.1"
339
+ version = "3.0.1"
330
340
  dependencies = [
331
341
  "anyhow",
332
342
  "code-ranker-graph",
@@ -346,6 +356,31 @@ version = "0.8.7"
346
356
  source = "registry+https://github.com/rust-lang/crates.io-index"
347
357
  checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
348
358
 
359
+ [[package]]
360
+ name = "crossbeam-deque"
361
+ version = "0.8.6"
362
+ source = "registry+https://github.com/rust-lang/crates.io-index"
363
+ checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
364
+ dependencies = [
365
+ "crossbeam-epoch",
366
+ "crossbeam-utils",
367
+ ]
368
+
369
+ [[package]]
370
+ name = "crossbeam-epoch"
371
+ version = "0.9.18"
372
+ source = "registry+https://github.com/rust-lang/crates.io-index"
373
+ checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
374
+ dependencies = [
375
+ "crossbeam-utils",
376
+ ]
377
+
378
+ [[package]]
379
+ name = "crossbeam-utils"
380
+ version = "0.8.21"
381
+ source = "registry+https://github.com/rust-lang/crates.io-index"
382
+ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
383
+
349
384
  [[package]]
350
385
  name = "equivalent"
351
386
  version = "1.0.2"
@@ -481,6 +516,22 @@ version = "2.3.0"
481
516
  source = "registry+https://github.com/rust-lang/crates.io-index"
482
517
  checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954"
483
518
 
519
+ [[package]]
520
+ name = "ignore"
521
+ version = "0.4.26"
522
+ source = "registry+https://github.com/rust-lang/crates.io-index"
523
+ checksum = "b915661dd01db3f05050265b2477bcc6527b3792388e2749b41623cc592be67d"
524
+ dependencies = [
525
+ "crossbeam-deque",
526
+ "globset",
527
+ "log",
528
+ "memchr",
529
+ "regex-automata",
530
+ "same-file",
531
+ "walkdir",
532
+ "winapi-util",
533
+ ]
534
+
484
535
  [[package]]
485
536
  name = "indexmap"
486
537
  version = "2.14.0"
@@ -493,6 +544,15 @@ dependencies = [
493
544
  "serde_core",
494
545
  ]
495
546
 
547
+ [[package]]
548
+ name = "inventory"
549
+ version = "0.3.24"
550
+ source = "registry+https://github.com/rust-lang/crates.io-index"
551
+ checksum = "a4f0c30c76f2f4ccee3fe55a2435f691ca00c0e4bd87abe4f4a851b1d4dac39b"
552
+ dependencies = [
553
+ "rustversion",
554
+ ]
555
+
496
556
  [[package]]
497
557
  name = "is_terminal_polyfill"
498
558
  version = "1.70.2"
@@ -517,6 +577,12 @@ dependencies = [
517
577
  "wasm-bindgen",
518
578
  ]
519
579
 
580
+ [[package]]
581
+ name = "lazy_static"
582
+ version = "1.5.0"
583
+ source = "registry+https://github.com/rust-lang/crates.io-index"
584
+ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
585
+
520
586
  [[package]]
521
587
  name = "leb128fmt"
522
588
  version = "0.1.0"
@@ -535,6 +601,15 @@ version = "0.12.1"
535
601
  source = "registry+https://github.com/rust-lang/crates.io-index"
536
602
  checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
537
603
 
604
+ [[package]]
605
+ name = "lock_api"
606
+ version = "0.4.14"
607
+ source = "registry+https://github.com/rust-lang/crates.io-index"
608
+ checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
609
+ dependencies = [
610
+ "scopeguard",
611
+ ]
612
+
538
613
  [[package]]
539
614
  name = "log"
540
615
  version = "0.4.29"
@@ -547,6 +622,31 @@ version = "2.8.0"
547
622
  source = "registry+https://github.com/rust-lang/crates.io-index"
548
623
  checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
549
624
 
625
+ [[package]]
626
+ name = "minimal-lexical"
627
+ version = "0.2.1"
628
+ source = "registry+https://github.com/rust-lang/crates.io-index"
629
+ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
630
+
631
+ [[package]]
632
+ name = "murmur3"
633
+ version = "0.4.1"
634
+ source = "registry+https://github.com/rust-lang/crates.io-index"
635
+ checksum = "a198f9589efc03f544388dfc4a19fe8af4323662b62f598b8dcfdac62c14771c"
636
+ dependencies = [
637
+ "byteorder",
638
+ ]
639
+
640
+ [[package]]
641
+ name = "nom"
642
+ version = "7.1.3"
643
+ source = "registry+https://github.com/rust-lang/crates.io-index"
644
+ checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
645
+ dependencies = [
646
+ "memchr",
647
+ "minimal-lexical",
648
+ ]
649
+
550
650
  [[package]]
551
651
  name = "num-traits"
552
652
  version = "0.2.19"
@@ -568,6 +668,35 @@ version = "1.70.2"
568
668
  source = "registry+https://github.com/rust-lang/crates.io-index"
569
669
  checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe"
570
670
 
671
+ [[package]]
672
+ name = "parking_lot"
673
+ version = "0.12.5"
674
+ source = "registry+https://github.com/rust-lang/crates.io-index"
675
+ checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
676
+ dependencies = [
677
+ "lock_api",
678
+ "parking_lot_core",
679
+ ]
680
+
681
+ [[package]]
682
+ name = "parking_lot_core"
683
+ version = "0.9.12"
684
+ source = "registry+https://github.com/rust-lang/crates.io-index"
685
+ checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
686
+ dependencies = [
687
+ "cfg-if",
688
+ "libc",
689
+ "redox_syscall",
690
+ "smallvec",
691
+ "windows-link",
692
+ ]
693
+
694
+ [[package]]
695
+ name = "pastey"
696
+ version = "0.2.3"
697
+ source = "registry+https://github.com/rust-lang/crates.io-index"
698
+ checksum = "2ee67f1008b1ba2321834326597b8e186293b049a023cdef258527550b9935b4"
699
+
571
700
  [[package]]
572
701
  name = "pin-project-lite"
573
702
  version = "0.2.17"
@@ -608,6 +737,15 @@ version = "6.0.0"
608
737
  source = "registry+https://github.com/rust-lang/crates.io-index"
609
738
  checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
610
739
 
740
+ [[package]]
741
+ name = "redox_syscall"
742
+ version = "0.5.18"
743
+ source = "registry+https://github.com/rust-lang/crates.io-index"
744
+ checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
745
+ dependencies = [
746
+ "bitflags",
747
+ ]
748
+
611
749
  [[package]]
612
750
  name = "regex"
613
751
  version = "1.12.3"
@@ -665,6 +803,12 @@ dependencies = [
665
803
  "winapi-util",
666
804
  ]
667
805
 
806
+ [[package]]
807
+ name = "scopeguard"
808
+ version = "1.2.0"
809
+ source = "registry+https://github.com/rust-lang/crates.io-index"
810
+ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
811
+
668
812
  [[package]]
669
813
  name = "semver"
670
814
  version = "1.0.28"
@@ -740,6 +884,12 @@ version = "0.4.12"
740
884
  source = "registry+https://github.com/rust-lang/crates.io-index"
741
885
  checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
742
886
 
887
+ [[package]]
888
+ name = "smallvec"
889
+ version = "1.15.2"
890
+ source = "registry+https://github.com/rust-lang/crates.io-index"
891
+ checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
892
+
743
893
  [[package]]
744
894
  name = "streaming-iterator"
745
895
  version = "0.1.9"
@@ -849,6 +999,46 @@ dependencies = [
849
999
  "tree-sitter-language",
850
1000
  ]
851
1001
 
1002
+ [[package]]
1003
+ name = "tree-sitter-c"
1004
+ version = "0.24.2"
1005
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1006
+ checksum = "a9b2eb57a55fed6b00812912e730b7a275cf4fe98bfd6a5d76263d4438371728"
1007
+ dependencies = [
1008
+ "cc",
1009
+ "tree-sitter-language",
1010
+ ]
1011
+
1012
+ [[package]]
1013
+ name = "tree-sitter-c-sharp"
1014
+ version = "0.23.5"
1015
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1016
+ checksum = "c1aac67f1ad71de1d6d39708d34811081c26dfa495658de6c14c34200849357c"
1017
+ dependencies = [
1018
+ "cc",
1019
+ "tree-sitter-language",
1020
+ ]
1021
+
1022
+ [[package]]
1023
+ name = "tree-sitter-cpp"
1024
+ version = "0.23.4"
1025
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1026
+ checksum = "df2196ea9d47b4ab4a31b9297eaa5a5d19a0b121dceb9f118f6790ad0ab94743"
1027
+ dependencies = [
1028
+ "cc",
1029
+ "tree-sitter-language",
1030
+ ]
1031
+
1032
+ [[package]]
1033
+ name = "tree-sitter-go"
1034
+ version = "0.25.0"
1035
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1036
+ checksum = "c8560a4d2f835cc0d4d2c2e03cbd0dde2f6114b43bc491164238d333e28b16ea"
1037
+ dependencies = [
1038
+ "cc",
1039
+ "tree-sitter-language",
1040
+ ]
1041
+
852
1042
  [[package]]
853
1043
  name = "tree-sitter-javascript"
854
1044
  version = "0.25.0"
@@ -895,6 +1085,12 @@ dependencies = [
895
1085
  "tree-sitter-language",
896
1086
  ]
897
1087
 
1088
+ [[package]]
1089
+ name = "typed-arena"
1090
+ version = "2.0.2"
1091
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1092
+ checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a"
1093
+
898
1094
  [[package]]
899
1095
  name = "unicode-ident"
900
1096
  version = "1.0.24"
@@ -913,6 +1109,16 @@ version = "0.2.2"
913
1109
  source = "registry+https://github.com/rust-lang/crates.io-index"
914
1110
  checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
915
1111
 
1112
+ [[package]]
1113
+ name = "uuid"
1114
+ version = "1.23.3"
1115
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1116
+ checksum = "144d6b123cef80b301b8f72a9e2ca4370ddec21950d0a103dd22c437006d2db7"
1117
+ dependencies = [
1118
+ "js-sys",
1119
+ "wasm-bindgen",
1120
+ ]
1121
+
916
1122
  [[package]]
917
1123
  name = "walkdir"
918
1124
  version = "2.5.0"
@@ -3,7 +3,7 @@ members = ["crates/*"]
3
3
  resolver = "3"
4
4
 
5
5
  [workspace.package]
6
- version = "3.0.0-alpha.1"
6
+ version = "3.0.1"
7
7
  edition = "2024"
8
8
  rust-version = "1.88"
9
9
  license = "Apache-2.0"
@@ -12,18 +12,18 @@ keywords = ["dependency-graph", "coupling", "refactoring", "code-quality", "stat
12
12
  categories = ["development-tools", "command-line-utilities"]
13
13
 
14
14
  [workspace.dependencies]
15
- code-ranker-graph = { path = "crates/code-ranker-graph", version = "3.0.0-alpha.1" }
16
- code-ranker-plugin-api = { path = "crates/code-ranker-plugin-api", version = "3.0.0-alpha.1" }
17
- code-ranker-ecmascript-core = { path = "crates/code-ranker-ecmascript-core", version = "3.0.0-alpha.1" }
18
- code-ranker-plugin-rust = { path = "crates/code-ranker-plugin-rust", version = "3.0.0-alpha.1" }
19
- code-ranker-plugin-python = { path = "crates/code-ranker-plugin-python", version = "3.0.0-alpha.1" }
20
- code-ranker-plugin-javascript = { path = "crates/code-ranker-plugin-javascript", version = "3.0.0-alpha.1" }
21
- code-ranker-plugin-typescript = { path = "crates/code-ranker-plugin-typescript", version = "3.0.0-alpha.1" }
22
- code-ranker-viewer = { path = "crates/code-ranker-viewer", version = "3.0.0-alpha.1" }
15
+ code-ranker-graph = { path = "crates/code-ranker-graph", version = "3.0.1" }
16
+ code-ranker-plugin-api = { path = "crates/code-ranker-plugin-api", version = "3.0.1" }
17
+ code-ranker-plugins = { path = "crates/code-ranker-plugins", version = "3.0.1" }
18
+ code-ranker-viewer = { path = "crates/code-ranker-viewer", version = "3.0.1" }
23
19
 
24
20
  anyhow = "1.0"
21
+ cel = "0.13"
25
22
  globset = "0.4"
26
23
  toml = "1"
24
+ # Distributed, self-registering plugin inventory: each language plugin submits
25
+ # itself; the binary collects them with no central list naming a language.
26
+ inventory = "0.3"
27
27
  cargo_metadata = "0.18"
28
28
  chrono = { version = "0.4", features = ["serde"] }
29
29
  clap = { version = "4.5", features = ["derive"] }
@@ -43,7 +43,11 @@ tree-sitter-python = "0.25.0"
43
43
  tree-sitter-javascript = "0.25.0"
44
44
  tree-sitter-typescript = "0.23.2"
45
45
  tree-sitter-rust = "0.24.2"
46
- walkdir = "2"
46
+ tree-sitter-go = "0.25.0"
47
+ tree-sitter-c = "0.24.1"
48
+ tree-sitter-cpp = "0.23.4"
49
+ tree-sitter-c-sharp = "0.23.1"
50
+ ignore = "0.4"
47
51
 
48
52
  # The profile that 'dist' will build with
49
53
  [profile.dist]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-ranker
3
- Version: 3.0.0a1
3
+ Version: 3.0.1
4
4
  Classifier: Development Status :: 3 - Alpha
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -35,13 +35,13 @@ Structural-analysis tool for **Rust, Python, JavaScript and TypeScript** codebas
35
35
 
36
36
  **👉 Map your codebase's worst structural problems in 30 seconds — [jump to the Rust quick start](#rust-quick-start) and run it on your repo now.**
37
37
 
38
- **Status:** pre-alpha. APIs and output shapes may change without notice. Pin a specific version.
38
+ **Status:** pre-alpha. APIs and output shapes may change without notice.
39
39
 
40
40
  ## Rust quick start
41
41
 
42
42
  ```sh
43
- cargo install code-ranker --version 1.1.0 # install the CLI
44
- code-ranker report . # make html report in .code-ranker/ folder
43
+ cargo install code-ranker # install the CLI
44
+ code-ranker report . # make html report in .code-ranker/ folder
45
45
  ```
46
46
 
47
47
  `report .` needs no flags: it writes a self-contained HTML report (plus a JSON
@@ -107,34 +107,13 @@ No network, no analytics, no telemetry. Open in any browser, share as a file.
107
107
 
108
108
  ## Install
109
109
 
110
- **Package pages:** [crates.io](https://crates.io/crates/code-ranker) · [npm](https://www.npmjs.com/package/code-ranker) · [PyPI](https://pypi.org/project/code-ranker/) · [Docker Hub](https://hub.docker.com/r/fedoroff/code-ranker) · [GHCR](https://github.com/ffedoroff/code-ranker/pkgs/container/code-ranker)
110
+ Pick any channel — all ship the same `code-ranker` binary (Linux, macOS, Windows). **Full guide with exact commands: [docs/installation.md](docs/installation.md).**
111
111
 
112
- Pick a channel:
113
-
114
- ```sh
115
- # universal shell installer that drops the prebuilt binary on PATH
116
- curl -fsSL https://github.com/ffedoroff/code-ranker/releases/latest/download/code-ranker-installer.sh | sh
117
-
118
- # Windows
119
- powershell -ExecutionPolicy ByPass -c "irm https://github.com/ffedoroff/code-ranker/releases/latest/download/code-ranker-installer.ps1 | iex"
120
-
121
- # Rust (Cargo)
122
- cargo install code-ranker --version 1.1.0
123
-
124
- # Node (npm)
125
- npm install -g code-ranker
126
-
127
- # Python (pip / uv / pipx)
128
- pip install code-ranker
129
-
130
- # Docker (Docker Hub)
131
- docker pull fedoroff/code-ranker:1.1.0
132
-
133
- # Docker (GHCR — no anonymous rate limits)
134
- docker pull ghcr.io/ffedoroff/code-ranker:1.1.0
135
- ```
136
-
137
- All channels ship the same `code-ranker` binary built from the same Rust source. Linux (x86_64, aarch64), macOS (x86_64, aarch64), Windows (x86_64).
112
+ - **Shell / PowerShell installer** — prebuilt binary on PATH (universal)
113
+ - **Cargo** — `cargo install code-ranker` · [crates.io](https://crates.io/crates/code-ranker)
114
+ - **npm** — `npm install -g code-ranker` · [npm](https://www.npmjs.com/package/code-ranker)
115
+ - **pip / uv / pipx** `pip install code-ranker` · [PyPI](https://pypi.org/project/code-ranker/)
116
+ - **Docker** — [Docker Hub](https://hub.docker.com/r/fedoroff/code-ranker) · [GHCR](https://github.com/ffedoroff/code-ranker/pkgs/container/code-ranker)
138
117
 
139
118
  ## Quick start
140
119
 
@@ -155,6 +134,7 @@ Built-in plugins: `rust` (cargo + syn), `python`, `javascript` (also handles Typ
155
134
 
156
135
  ## Documentation
157
136
 
137
+ - [Installation](docs/installation.md) — every install channel with exact commands
158
138
  - [CLI](docs/code-ranker-cli/CLI.md) — commands, flags, and examples
159
139
  - [Rule reference](docs/code-ranker-cli/ERRORS.md) — rule ids grouped by concern (`CYC`/`CPX`/`CPL`/`SIZ`), per-file thresholds (`file`), what each flags, and how to fix it
160
140
  - [Config](docs/code-ranker-cli/config.md) — `code-ranker.toml` schema
@@ -162,12 +142,12 @@ Built-in plugins: `rust` (cargo + syn), `python`, `javascript` (also handles Typ
162
142
  - [PRD](docs/PRD.md) — product requirements
163
143
  - [DESIGN](docs/DESIGN.md) — technical design
164
144
  - [Why structure matters](docs/why-structure-matters.md) — the empirical evidence (studies, books, statistics) behind the signals code-ranker measures
165
- - [Principles corpus](principles/) — Rust / Python / TypeScript principle catalogues used by the prompt generator
145
+ - [Principles corpus](languages/) — Rust / Python / TypeScript principle catalogues used by the prompt generator
166
146
 
167
147
  ## Try it now
168
148
 
169
149
  ```sh
170
- cargo install code-ranker --version 1.1.0 && code-ranker report . && open .code-ranker/
150
+ cargo install code-ranker && code-ranker report . && open .code-ranker/
171
151
  ```
172
152
 
173
153
  One command on any Rust project — you'll have an interactive structural map and an AI-ready shortlist in seconds. ⭐ the repo if it helps.