pr-checkmate 3.0.4 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. package/dist/{cli.js → cjs/cli.js} +30 -30
  2. package/dist/{config → cjs/config}/index.d.ts +2 -2
  3. package/dist/{config → cjs/config}/index.js +8 -7
  4. package/dist/{config → cjs/config}/loader.d.ts +1 -1
  5. package/dist/{config → cjs/config}/loader.js +8 -8
  6. package/dist/{core → cjs/core}/checks/dependencies/banned-imports.d.ts +1 -1
  7. package/dist/{core → cjs/core}/checks/dependencies/banned-imports.js +10 -10
  8. package/dist/{core → cjs/core}/checks/dependencies/circular-deps.d.ts +1 -1
  9. package/dist/{core → cjs/core}/checks/dependencies/circular-deps.js +27 -27
  10. package/dist/{core → cjs/core}/checks/dependencies/dependency-check.d.ts +1 -1
  11. package/dist/{core → cjs/core}/checks/dependencies/dependency-check.js +17 -17
  12. package/dist/{core → cjs/core}/checks/dependencies/grype-scan.d.ts +1 -1
  13. package/dist/{core → cjs/core}/checks/dependencies/grype-scan.js +18 -18
  14. package/dist/{core → cjs/core}/checks/dependencies/license-check.d.ts +1 -1
  15. package/dist/{core → cjs/core}/checks/dependencies/license-check.js +12 -12
  16. package/dist/{core → cjs/core}/checks/dependencies/npm-audit.d.ts +1 -1
  17. package/dist/{core → cjs/core}/checks/dependencies/npm-audit.js +14 -14
  18. package/dist/{core → cjs/core}/checks/dependencies/outdated-deps.d.ts +1 -1
  19. package/dist/{core → cjs/core}/checks/dependencies/outdated-deps.js +14 -14
  20. package/dist/{core → cjs/core}/checks/dependencies/vuln-scan.d.ts +1 -1
  21. package/dist/{core → cjs/core}/checks/dependencies/vuln-scan.js +14 -14
  22. package/dist/{core → cjs/core}/checks/findings.d.ts +1 -1
  23. package/dist/{core → cjs/core}/checks/findings.js +16 -16
  24. package/dist/{core → cjs/core}/checks/git/custom-rules.d.ts +1 -1
  25. package/dist/{core → cjs/core}/checks/git/custom-rules.js +19 -19
  26. package/dist/{core → cjs/core}/checks/git/diff-smell.d.ts +2 -2
  27. package/dist/{core → cjs/core}/checks/git/diff-smell.js +13 -13
  28. package/dist/{core → cjs/core}/checks/git/large-files.d.ts +1 -1
  29. package/dist/{core → cjs/core}/checks/git/large-files.js +15 -15
  30. package/dist/{core → cjs/core}/checks/git/leftover-debug.d.ts +1 -1
  31. package/dist/{core → cjs/core}/checks/git/leftover-debug.js +13 -13
  32. package/dist/{core → cjs/core}/checks/git/lockfile-drift.d.ts +1 -1
  33. package/dist/{core → cjs/core}/checks/git/lockfile-drift.js +12 -12
  34. package/dist/{core → cjs/core}/checks/git/merge-conflict.d.ts +1 -1
  35. package/dist/{core → cjs/core}/checks/git/merge-conflict.js +15 -15
  36. package/dist/{core → cjs/core}/checks/git/missing-tests.d.ts +1 -1
  37. package/dist/{core → cjs/core}/checks/git/missing-tests.js +15 -15
  38. package/dist/{core → cjs/core}/checks/git/todo-fixme.d.ts +1 -1
  39. package/dist/{core → cjs/core}/checks/git/todo-fixme.js +11 -11
  40. package/dist/{core → cjs/core}/checks/languages/cpp-format.d.ts +1 -1
  41. package/dist/{core → cjs/core}/checks/languages/cpp-format.js +18 -18
  42. package/dist/{core → cjs/core}/checks/languages/external-checks.d.ts +9 -9
  43. package/dist/{core → cjs/core}/checks/languages/external-checks.js +10 -10
  44. package/dist/{core → cjs/core}/checks/languages/external-runner.d.ts +2 -2
  45. package/dist/{core → cjs/core}/checks/languages/external-runner.js +21 -21
  46. package/dist/{core → cjs/core}/checks/languages/go-format.d.ts +1 -1
  47. package/dist/{core → cjs/core}/checks/languages/go-format.js +21 -21
  48. package/dist/cjs/core/checks/languages/lint.d.ts +2 -0
  49. package/dist/{core → cjs/core}/checks/languages/lint.js +21 -21
  50. package/dist/{core → cjs/core}/checks/languages/prettier.d.ts +1 -1
  51. package/dist/{core → cjs/core}/checks/languages/prettier.js +18 -18
  52. package/dist/{core → cjs/core}/checks/languages/python-format.d.ts +1 -1
  53. package/dist/{core → cjs/core}/checks/languages/python-format.js +14 -14
  54. package/dist/{core → cjs/core}/checks/languages/python-lint.d.ts +1 -1
  55. package/dist/{core → cjs/core}/checks/languages/python-lint.js +13 -13
  56. package/dist/{core → cjs/core}/checks/languages/python-typecheck.d.ts +1 -1
  57. package/dist/{core → cjs/core}/checks/languages/python-typecheck.js +29 -29
  58. package/dist/{core → cjs/core}/checks/languages/typecheck.d.ts +1 -1
  59. package/dist/{core → cjs/core}/checks/languages/typecheck.js +13 -13
  60. package/dist/{core → cjs/core}/checks/pr/commitlint.d.ts +1 -1
  61. package/dist/{core → cjs/core}/checks/pr/commitlint.js +12 -12
  62. package/dist/{core → cjs/core}/checks/pr/pr-body.d.ts +1 -1
  63. package/dist/{core → cjs/core}/checks/pr/pr-body.js +8 -8
  64. package/dist/{core → cjs/core}/checks/pr/pr-size-check.d.ts +1 -1
  65. package/dist/{core → cjs/core}/checks/pr/pr-size-check.js +10 -10
  66. package/dist/{core → cjs/core}/checks/pr/pr-title-lint.d.ts +1 -1
  67. package/dist/{core → cjs/core}/checks/pr/pr-title-lint.js +8 -8
  68. package/dist/{core → cjs/core}/checks/quality/case-collision.d.ts +1 -1
  69. package/dist/{core → cjs/core}/checks/quality/case-collision.js +7 -7
  70. package/dist/{core → cjs/core}/checks/quality/config-validation.d.ts +1 -1
  71. package/dist/{core → cjs/core}/checks/quality/config-validation.js +9 -9
  72. package/dist/{core → cjs/core}/checks/quality/coverage.d.ts +1 -1
  73. package/dist/{core → cjs/core}/checks/quality/coverage.js +4 -4
  74. package/dist/{core → cjs/core}/checks/quality/dead-code.d.ts +1 -1
  75. package/dist/{core → cjs/core}/checks/quality/dead-code.js +23 -23
  76. package/dist/{core → cjs/core}/checks/quality/duplicate-check.d.ts +1 -1
  77. package/dist/{core → cjs/core}/checks/quality/duplicate-check.js +22 -22
  78. package/dist/{core → cjs/core}/checks/quality/license-header.d.ts +1 -1
  79. package/dist/{core → cjs/core}/checks/quality/license-header.js +16 -16
  80. package/dist/{core → cjs/core}/checks/quality/markdown-lint.d.ts +1 -1
  81. package/dist/cjs/core/checks/quality/markdown-lint.js +147 -0
  82. package/dist/{core → cjs/core}/checks/quality/package-size.d.ts +1 -1
  83. package/dist/{core → cjs/core}/checks/quality/package-size.js +12 -12
  84. package/dist/{core → cjs/core}/checks/quality/spellcheck.d.ts +2 -2
  85. package/dist/{core → cjs/core}/checks/quality/spellcheck.js +18 -18
  86. package/dist/{core → cjs/core}/checks/quality/symlinks.d.ts +1 -1
  87. package/dist/{core → cjs/core}/checks/quality/symlinks.js +8 -8
  88. package/dist/{core → cjs/core}/checks/quality/yaml-lint.d.ts +1 -1
  89. package/dist/{core → cjs/core}/checks/quality/yaml-lint.js +12 -12
  90. package/dist/{core → cjs/core}/checks/security/diff-security.d.ts +1 -1
  91. package/dist/{core → cjs/core}/checks/security/diff-security.js +15 -15
  92. package/dist/{core → cjs/core}/checks/security/dockerfile-security.d.ts +1 -1
  93. package/dist/{core → cjs/core}/checks/security/dockerfile-security.js +16 -16
  94. package/dist/{core → cjs/core}/checks/security/migration-safety.d.ts +1 -1
  95. package/dist/{core → cjs/core}/checks/security/migration-safety.js +17 -17
  96. package/dist/{core → cjs/core}/checks/security/security.d.ts +1 -1
  97. package/dist/{core → cjs/core}/checks/security/security.js +21 -21
  98. package/dist/{core → cjs/core}/checks/security/sensitive-file-guard.d.ts +1 -1
  99. package/dist/{core → cjs/core}/checks/security/sensitive-file-guard.js +14 -14
  100. package/dist/{core → cjs/core}/checks/security/workflow-security.d.ts +2 -2
  101. package/dist/{core → cjs/core}/checks/security/workflow-security.js +14 -14
  102. package/dist/{core → cjs/core}/checks/tool-install.d.ts +1 -1
  103. package/dist/{core → cjs/core}/checks/tool-install.js +2 -2
  104. package/dist/{core → cjs/core}/context.d.ts +1 -1
  105. package/dist/{core → cjs/core}/context.js +16 -16
  106. package/dist/cjs/core/index.d.ts +4 -0
  107. package/dist/{core → cjs/core}/index.js +7 -7
  108. package/dist/{core → cjs/core}/install/cache.js +2 -2
  109. package/dist/{core → cjs/core}/install/doctor.d.ts +4 -4
  110. package/dist/{core → cjs/core}/install/doctor.js +34 -34
  111. package/dist/{core → cjs/core}/install/ensure.d.ts +2 -2
  112. package/dist/{core → cjs/core}/install/ensure.js +15 -14
  113. package/dist/{core → cjs/core}/install/lock.js +4 -4
  114. package/dist/{core → cjs/core}/install/prepare.d.ts +4 -4
  115. package/dist/{core → cjs/core}/install/prepare.js +13 -13
  116. package/dist/{core → cjs/core}/install/profiles.d.ts +2 -2
  117. package/dist/{core → cjs/core}/install/profiles.js +1 -1
  118. package/dist/{core → cjs/core}/install/reuse.d.ts +1 -1
  119. package/dist/{core → cjs/core}/install/reuse.js +4 -4
  120. package/dist/{core → cjs/core}/registry.d.ts +1 -1
  121. package/dist/cjs/core/registry.js +112 -0
  122. package/dist/{core → cjs/core}/reporters.d.ts +1 -1
  123. package/dist/{core → cjs/core}/reporters.js +28 -28
  124. package/dist/{core → cjs/core}/run-checks.d.ts +2 -2
  125. package/dist/{core → cjs/core}/run-checks.js +31 -31
  126. package/dist/{core → cjs/core}/targets.d.ts +1 -1
  127. package/dist/{core → cjs/core}/targets.js +20 -20
  128. package/dist/{core → cjs/core}/types.d.ts +3 -3
  129. package/dist/cjs/index.d.ts +12 -0
  130. package/dist/{index.js → cjs/index.js} +18 -18
  131. package/dist/{init.js → cjs/init.js} +68 -56
  132. package/dist/{interfaces → cjs/interfaces}/index.d.ts +3 -3
  133. package/dist/cjs/package.json +1 -0
  134. package/dist/{scripts → cjs/scripts}/copy-configs.js +22 -7
  135. package/dist/{scripts → cjs/scripts}/generate-install-manifests.js +2 -2
  136. package/dist/{scripts → cjs/scripts}/publish-github.js +4 -4
  137. package/dist/{utils → cjs/utils}/detect-language.js +12 -12
  138. package/dist/{utils → cjs/utils}/git.js +2 -2
  139. package/dist/{utils → cjs/utils}/http.js +2 -2
  140. package/dist/cjs/utils/index.d.ts +15 -0
  141. package/dist/{utils → cjs/utils}/index.js +13 -13
  142. package/dist/{utils → cjs/utils}/own-deps.d.ts +2 -0
  143. package/dist/{utils → cjs/utils}/own-deps.js +1 -0
  144. package/dist/{utils → cjs/utils}/package-version.js +2 -1
  145. package/dist/{utils → cjs/utils}/resolve-bin.js +2 -1
  146. package/dist/{utils → cjs/utils}/update-notifier.js +4 -4
  147. package/dist/esm/cli.d.ts +2 -0
  148. package/dist/esm/cli.js +137 -0
  149. package/dist/esm/config/constants.d.ts +153 -0
  150. package/dist/esm/config/constants.js +360 -0
  151. package/dist/esm/config/index.d.ts +40 -0
  152. package/dist/esm/config/index.js +60 -0
  153. package/dist/esm/config/loader.d.ts +6 -0
  154. package/dist/esm/config/loader.js +191 -0
  155. package/dist/esm/config/pr-checkmate-workflow-docker.yml +79 -0
  156. package/dist/esm/config/pr-checkmate-workflow.yml +92 -0
  157. package/dist/esm/core/checks/dependencies/banned-imports.d.ts +2 -0
  158. package/dist/esm/core/checks/dependencies/banned-imports.js +70 -0
  159. package/dist/esm/core/checks/dependencies/circular-deps.d.ts +2 -0
  160. package/dist/esm/core/checks/dependencies/circular-deps.js +155 -0
  161. package/dist/esm/core/checks/dependencies/dependency-check.d.ts +43 -0
  162. package/dist/esm/core/checks/dependencies/dependency-check.js +174 -0
  163. package/dist/esm/core/checks/dependencies/grype-scan.d.ts +22 -0
  164. package/dist/esm/core/checks/dependencies/grype-scan.js +112 -0
  165. package/dist/esm/core/checks/dependencies/license-check.d.ts +2 -0
  166. package/dist/esm/core/checks/dependencies/license-check.js +61 -0
  167. package/dist/esm/core/checks/dependencies/npm-audit.d.ts +6 -0
  168. package/dist/esm/core/checks/dependencies/npm-audit.js +80 -0
  169. package/dist/esm/core/checks/dependencies/outdated-deps.d.ts +2 -0
  170. package/dist/esm/core/checks/dependencies/outdated-deps.js +66 -0
  171. package/dist/esm/core/checks/dependencies/vuln-scan.d.ts +2 -0
  172. package/dist/esm/core/checks/dependencies/vuln-scan.js +54 -0
  173. package/dist/esm/core/checks/findings.d.ts +299 -0
  174. package/dist/esm/core/checks/findings.js +701 -0
  175. package/dist/esm/core/checks/git/custom-rules.d.ts +2 -0
  176. package/dist/esm/core/checks/git/custom-rules.js +106 -0
  177. package/dist/esm/core/checks/git/diff-smell.d.ts +19 -0
  178. package/dist/esm/core/checks/git/diff-smell.js +69 -0
  179. package/dist/esm/core/checks/git/large-files.d.ts +2 -0
  180. package/dist/esm/core/checks/git/large-files.js +112 -0
  181. package/dist/esm/core/checks/git/leftover-debug.d.ts +2 -0
  182. package/dist/esm/core/checks/git/leftover-debug.js +89 -0
  183. package/dist/esm/core/checks/git/lockfile-drift.d.ts +2 -0
  184. package/dist/esm/core/checks/git/lockfile-drift.js +114 -0
  185. package/dist/esm/core/checks/git/merge-conflict.d.ts +2 -0
  186. package/dist/esm/core/checks/git/merge-conflict.js +117 -0
  187. package/dist/esm/core/checks/git/missing-tests.d.ts +2 -0
  188. package/dist/esm/core/checks/git/missing-tests.js +105 -0
  189. package/dist/esm/core/checks/git/todo-fixme.d.ts +7 -0
  190. package/dist/esm/core/checks/git/todo-fixme.js +80 -0
  191. package/dist/esm/core/checks/languages/cpp-format.d.ts +7 -0
  192. package/dist/esm/core/checks/languages/cpp-format.js +91 -0
  193. package/dist/esm/core/checks/languages/external-checks.d.ts +77 -0
  194. package/dist/esm/core/checks/languages/external-checks.js +197 -0
  195. package/dist/esm/core/checks/languages/external-runner.d.ts +119 -0
  196. package/dist/esm/core/checks/languages/external-runner.js +138 -0
  197. package/dist/esm/core/checks/languages/go-format.d.ts +8 -0
  198. package/dist/esm/core/checks/languages/go-format.js +163 -0
  199. package/dist/esm/core/checks/languages/lint.d.ts +2 -0
  200. package/dist/esm/core/checks/languages/lint.js +92 -0
  201. package/dist/esm/core/checks/languages/prettier.d.ts +2 -0
  202. package/dist/esm/core/checks/languages/prettier.js +85 -0
  203. package/dist/esm/core/checks/languages/python-format.d.ts +7 -0
  204. package/dist/esm/core/checks/languages/python-format.js +61 -0
  205. package/dist/esm/core/checks/languages/python-lint.d.ts +9 -0
  206. package/dist/esm/core/checks/languages/python-lint.js +55 -0
  207. package/dist/esm/core/checks/languages/python-typecheck.d.ts +14 -0
  208. package/dist/esm/core/checks/languages/python-typecheck.js +184 -0
  209. package/dist/esm/core/checks/languages/ruff-shared.d.ts +10 -0
  210. package/dist/esm/core/checks/languages/ruff-shared.js +35 -0
  211. package/dist/esm/core/checks/languages/typecheck.d.ts +2 -0
  212. package/dist/esm/core/checks/languages/typecheck.js +61 -0
  213. package/dist/esm/core/checks/pr/commitlint.d.ts +2 -0
  214. package/dist/esm/core/checks/pr/commitlint.js +102 -0
  215. package/dist/esm/core/checks/pr/pr-body.d.ts +2 -0
  216. package/dist/esm/core/checks/pr/pr-body.js +43 -0
  217. package/dist/esm/core/checks/pr/pr-size-check.d.ts +2 -0
  218. package/dist/esm/core/checks/pr/pr-size-check.js +42 -0
  219. package/dist/esm/core/checks/pr/pr-title-lint.d.ts +2 -0
  220. package/dist/esm/core/checks/pr/pr-title-lint.js +31 -0
  221. package/dist/esm/core/checks/quality/case-collision.d.ts +8 -0
  222. package/dist/esm/core/checks/quality/case-collision.js +39 -0
  223. package/dist/esm/core/checks/quality/config-validation.d.ts +11 -0
  224. package/dist/esm/core/checks/quality/config-validation.js +188 -0
  225. package/dist/esm/core/checks/quality/coverage.d.ts +2 -0
  226. package/dist/esm/core/checks/quality/coverage.js +62 -0
  227. package/dist/esm/core/checks/quality/dead-code.d.ts +2 -0
  228. package/dist/esm/core/checks/quality/dead-code.js +124 -0
  229. package/dist/esm/core/checks/quality/duplicate-check.d.ts +2 -0
  230. package/dist/esm/core/checks/quality/duplicate-check.js +141 -0
  231. package/dist/esm/core/checks/quality/license-header.d.ts +7 -0
  232. package/dist/esm/core/checks/quality/license-header.js +81 -0
  233. package/dist/esm/core/checks/quality/markdown-lint.d.ts +2 -0
  234. package/dist/esm/core/checks/quality/markdown-lint.js +141 -0
  235. package/dist/esm/core/checks/quality/package-size.d.ts +36 -0
  236. package/dist/esm/core/checks/quality/package-size.js +196 -0
  237. package/dist/esm/core/checks/quality/spellcheck.d.ts +77 -0
  238. package/dist/esm/core/checks/quality/spellcheck.js +296 -0
  239. package/dist/esm/core/checks/quality/symlinks.d.ts +16 -0
  240. package/dist/esm/core/checks/quality/symlinks.js +57 -0
  241. package/dist/esm/core/checks/quality/yaml-lint.d.ts +20 -0
  242. package/dist/esm/core/checks/quality/yaml-lint.js +116 -0
  243. package/dist/esm/core/checks/security/diff-security.d.ts +2 -0
  244. package/dist/esm/core/checks/security/diff-security.js +354 -0
  245. package/dist/esm/core/checks/security/dockerfile-security.d.ts +2 -0
  246. package/dist/esm/core/checks/security/dockerfile-security.js +98 -0
  247. package/dist/esm/core/checks/security/migration-safety.d.ts +2 -0
  248. package/dist/esm/core/checks/security/migration-safety.js +137 -0
  249. package/dist/esm/core/checks/security/security.d.ts +63 -0
  250. package/dist/esm/core/checks/security/security.js +201 -0
  251. package/dist/esm/core/checks/security/sensitive-file-guard.d.ts +2 -0
  252. package/dist/esm/core/checks/security/sensitive-file-guard.js +160 -0
  253. package/dist/esm/core/checks/security/workflow-security.d.ts +12 -0
  254. package/dist/esm/core/checks/security/workflow-security.js +100 -0
  255. package/dist/esm/core/checks/tool-install.d.ts +102 -0
  256. package/dist/esm/core/checks/tool-install.js +66 -0
  257. package/dist/esm/core/commands.d.ts +27 -0
  258. package/dist/esm/core/commands.js +89 -0
  259. package/dist/esm/core/context.d.ts +62 -0
  260. package/dist/esm/core/context.js +241 -0
  261. package/dist/esm/core/index.d.ts +4 -0
  262. package/dist/esm/core/index.js +4 -0
  263. package/dist/esm/core/install/cache.d.ts +58 -0
  264. package/dist/esm/core/install/cache.js +142 -0
  265. package/dist/esm/core/install/doctor.d.ts +35 -0
  266. package/dist/esm/core/install/doctor.js +164 -0
  267. package/dist/esm/core/install/ensure.d.ts +77 -0
  268. package/dist/esm/core/install/ensure.js +269 -0
  269. package/dist/esm/core/install/lock.d.ts +34 -0
  270. package/dist/esm/core/install/lock.js +92 -0
  271. package/dist/esm/core/install/merge.d.ts +47 -0
  272. package/dist/esm/core/install/merge.js +85 -0
  273. package/dist/esm/core/install/prepare.d.ts +76 -0
  274. package/dist/esm/core/install/prepare.js +142 -0
  275. package/dist/esm/core/install/profiles.d.ts +78 -0
  276. package/dist/esm/core/install/profiles.js +192 -0
  277. package/dist/esm/core/install/reuse.d.ts +41 -0
  278. package/dist/esm/core/install/reuse.js +100 -0
  279. package/dist/esm/core/registry.d.ts +6 -0
  280. package/dist/esm/core/registry.js +109 -0
  281. package/dist/esm/core/reporters.d.ts +18 -0
  282. package/dist/esm/core/reporters.js +266 -0
  283. package/dist/esm/core/run-checks.d.ts +33 -0
  284. package/dist/esm/core/run-checks.js +293 -0
  285. package/dist/esm/core/targets.d.ts +140 -0
  286. package/dist/esm/core/targets.js +213 -0
  287. package/dist/esm/core/types.d.ts +195 -0
  288. package/dist/esm/core/types.js +38 -0
  289. package/dist/esm/index.d.ts +12 -0
  290. package/dist/esm/index.js +15 -0
  291. package/dist/esm/init.d.ts +38 -0
  292. package/dist/esm/init.js +421 -0
  293. package/dist/esm/interfaces/index.d.ts +432 -0
  294. package/dist/esm/interfaces/index.js +2 -0
  295. package/dist/esm/package.json +1 -0
  296. package/dist/esm/scripts/copy-configs.d.ts +1 -0
  297. package/dist/esm/scripts/copy-configs.js +64 -0
  298. package/dist/esm/scripts/generate-install-manifests.d.ts +39 -0
  299. package/dist/esm/scripts/generate-install-manifests.js +115 -0
  300. package/dist/esm/scripts/publish-github.d.ts +1 -0
  301. package/dist/esm/scripts/publish-github.js +45 -0
  302. package/dist/esm/utils/ci.d.ts +11 -0
  303. package/dist/esm/utils/ci.js +40 -0
  304. package/dist/esm/utils/detect-language.d.ts +48 -0
  305. package/dist/esm/utils/detect-language.js +234 -0
  306. package/dist/esm/utils/direct-deps.d.ts +21 -0
  307. package/dist/esm/utils/direct-deps.js +220 -0
  308. package/dist/esm/utils/execa.d.ts +22 -0
  309. package/dist/esm/utils/execa.js +10 -0
  310. package/dist/esm/utils/git.d.ts +14 -0
  311. package/dist/esm/utils/git.js +21 -0
  312. package/dist/esm/utils/glob.d.ts +24 -0
  313. package/dist/esm/utils/glob.js +40 -0
  314. package/dist/esm/utils/http.d.ts +59 -0
  315. package/dist/esm/utils/http.js +115 -0
  316. package/dist/esm/utils/index.d.ts +15 -0
  317. package/dist/esm/utils/index.js +26 -0
  318. package/dist/esm/utils/logger.d.ts +65 -0
  319. package/dist/esm/utils/logger.js +157 -0
  320. package/dist/esm/utils/own-deps.d.ts +16 -0
  321. package/dist/esm/utils/own-deps.js +107 -0
  322. package/dist/esm/utils/package-version.d.ts +4 -0
  323. package/dist/esm/utils/package-version.js +38 -0
  324. package/dist/esm/utils/pool.d.ts +49 -0
  325. package/dist/esm/utils/pool.js +113 -0
  326. package/dist/esm/utils/resolve-bin.d.ts +67 -0
  327. package/dist/esm/utils/resolve-bin.js +156 -0
  328. package/dist/esm/utils/result-collector.d.ts +33 -0
  329. package/dist/esm/utils/result-collector.js +44 -0
  330. package/dist/esm/utils/update-notifier.d.ts +19 -0
  331. package/dist/esm/utils/update-notifier.js +108 -0
  332. package/install-manifests/core/package-lock.json +4 -4
  333. package/install-manifests/core/package.json +1 -1
  334. package/install-manifests/duplicate/package-lock.json +0 -12
  335. package/install-manifests/js/package-lock.json +17 -41
  336. package/install-manifests/js/package.json +1 -1
  337. package/install-manifests/markdown/package-lock.json +1 -492
  338. package/install-manifests/markdown/package.json +1 -1
  339. package/package.json +17 -15
  340. package/dist/core/checks/languages/lint.d.ts +0 -2
  341. package/dist/core/checks/quality/markdown-lint.js +0 -110
  342. package/dist/core/index.d.ts +0 -4
  343. package/dist/core/registry.js +0 -112
  344. package/dist/index.d.ts +0 -12
  345. package/dist/utils/index.d.ts +0 -15
  346. /package/dist/{cli.d.ts → cjs/cli.d.ts} +0 -0
  347. /package/dist/{config → cjs/config}/constants.d.ts +0 -0
  348. /package/dist/{config → cjs/config}/constants.js +0 -0
  349. /package/dist/{config → cjs/config}/pr-checkmate-workflow-docker.yml +0 -0
  350. /package/dist/{config → cjs/config}/pr-checkmate-workflow.yml +0 -0
  351. /package/dist/{core → cjs/core}/checks/languages/ruff-shared.d.ts +0 -0
  352. /package/dist/{core → cjs/core}/checks/languages/ruff-shared.js +0 -0
  353. /package/dist/{core → cjs/core}/commands.d.ts +0 -0
  354. /package/dist/{core → cjs/core}/commands.js +0 -0
  355. /package/dist/{core → cjs/core}/install/cache.d.ts +0 -0
  356. /package/dist/{core → cjs/core}/install/lock.d.ts +0 -0
  357. /package/dist/{core → cjs/core}/install/merge.d.ts +0 -0
  358. /package/dist/{core → cjs/core}/install/merge.js +0 -0
  359. /package/dist/{core → cjs/core}/types.js +0 -0
  360. /package/dist/{init.d.ts → cjs/init.d.ts} +0 -0
  361. /package/dist/{interfaces → cjs/interfaces}/index.js +0 -0
  362. /package/dist/{scripts → cjs/scripts}/copy-configs.d.ts +0 -0
  363. /package/dist/{scripts → cjs/scripts}/generate-install-manifests.d.ts +0 -0
  364. /package/dist/{scripts → cjs/scripts}/publish-github.d.ts +0 -0
  365. /package/dist/{utils → cjs/utils}/ci.d.ts +0 -0
  366. /package/dist/{utils → cjs/utils}/ci.js +0 -0
  367. /package/dist/{utils → cjs/utils}/detect-language.d.ts +0 -0
  368. /package/dist/{utils → cjs/utils}/direct-deps.d.ts +0 -0
  369. /package/dist/{utils → cjs/utils}/direct-deps.js +0 -0
  370. /package/dist/{utils → cjs/utils}/execa.d.ts +0 -0
  371. /package/dist/{utils → cjs/utils}/execa.js +0 -0
  372. /package/dist/{utils → cjs/utils}/git.d.ts +0 -0
  373. /package/dist/{utils → cjs/utils}/glob.d.ts +0 -0
  374. /package/dist/{utils → cjs/utils}/glob.js +0 -0
  375. /package/dist/{utils → cjs/utils}/http.d.ts +0 -0
  376. /package/dist/{utils → cjs/utils}/logger.d.ts +0 -0
  377. /package/dist/{utils → cjs/utils}/logger.js +0 -0
  378. /package/dist/{utils → cjs/utils}/package-version.d.ts +0 -0
  379. /package/dist/{utils → cjs/utils}/pool.d.ts +0 -0
  380. /package/dist/{utils → cjs/utils}/pool.js +0 -0
  381. /package/dist/{utils → cjs/utils}/resolve-bin.d.ts +0 -0
  382. /package/dist/{utils → cjs/utils}/result-collector.d.ts +0 -0
  383. /package/dist/{utils → cjs/utils}/result-collector.js +0 -0
  384. /package/dist/{utils → cjs/utils}/update-notifier.d.ts +0 -0
@@ -1,2 +1,2 @@
1
- import { Check } from '../../types';
1
+ import { Check } from '../../types.js';
2
2
  export declare const largeFilesCheck: Check;
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.largeFilesCheck = void 0;
7
7
  const node_fs_1 = __importDefault(require("node:fs"));
8
8
  const node_path_1 = __importDefault(require("node:path"));
9
- const utils_1 = require("../../../utils");
10
- const execa_1 = require("../../../utils/execa");
11
- const targets_1 = require("../../targets");
12
- const types_1 = require("../../types");
13
- const findings_1 = require("../findings");
9
+ const execa_js_1 = require("../../../utils/execa.js");
10
+ const index_js_1 = require("../../../utils/index.js");
11
+ const targets_js_1 = require("../../targets.js");
12
+ const types_js_1 = require("../../types.js");
13
+ const findings_js_1 = require("../findings.js");
14
14
  const DEFAULT_MAX_KB = 500;
15
15
  /**
16
16
  * Lockfiles are legitimately large and always generated, never accidental — so
@@ -65,16 +65,16 @@ exports.largeFilesCheck = {
65
65
  // large files anywhere in the repo — a root-level asset is exactly the case
66
66
  // a narrowed `sourcePath` would miss — but still skip `ignoreDirs`
67
67
  // (dist/build/vendor), where large generated files are expected.
68
- const files = await (0, targets_1.resolveTargetFiles)(ctx, ['*']);
68
+ const files = await (0, targets_js_1.resolveTargetFiles)(ctx, ['*']);
69
69
  if (files === null)
70
- return (0, types_1.skip)('git unavailable');
70
+ return (0, types_js_1.skip)('git unavailable');
71
71
  if (files.length === 0)
72
- return (0, types_1.pass)();
72
+ return (0, types_js_1.pass)();
73
73
  const maxKb = ctx.config.largeFiles?.maxSizeKb ?? DEFAULT_MAX_KB;
74
74
  const maxBytes = maxKb * 1024;
75
75
  const allow = [...LOCKFILE_ALLOW, ...(ctx.config.largeFiles?.allow ?? [])];
76
76
  if (!ctx.baseSha && ctx.config.run?.fullScanBehaviour === 'skip')
77
- return (0, types_1.pass)();
77
+ return (0, types_js_1.pass)();
78
78
  let binary;
79
79
  try {
80
80
  // `--numstat` reports `-\t-` for binary files. With no range there is
@@ -83,16 +83,16 @@ exports.largeFilesCheck = {
83
83
  const args = ctx.baseSha
84
84
  ? ['diff', '--numstat', '--diff-filter=ACM', ctx.baseSha, ctx.headSha ?? 'HEAD']
85
85
  : null;
86
- const { stdout } = args ? await (0, execa_1.execa)('git', args, { cwd: ctx.cwd }) : { stdout: '' };
86
+ const { stdout } = args ? await (0, execa_js_1.execa)('git', args, { cwd: ctx.cwd }) : { stdout: '' };
87
87
  binary = binaryPaths(stdout);
88
88
  }
89
89
  catch (err) {
90
- utils_1.logger.warn(`[Large Files]: ⚠️ Could not analyze diff\n${err}`);
91
- return (0, types_1.skip)('diff unavailable');
90
+ index_js_1.logger.warn(`[Large Files]: ⚠️ Could not analyze diff\n${err}`);
91
+ return (0, types_js_1.skip)('diff unavailable');
92
92
  }
93
93
  const findings = [];
94
94
  for (const file of files) {
95
- if ((0, utils_1.matchesAnyGlob)(file, allow))
95
+ if ((0, index_js_1.matchesAnyGlob)(file, allow))
96
96
  continue;
97
97
  let size;
98
98
  try {
@@ -110,8 +110,8 @@ exports.largeFilesCheck = {
110
110
  findings.push(`${file} (${reasons.join(', ')})`);
111
111
  }
112
112
  if (findings.length === 0)
113
- return (0, types_1.pass)();
114
- const sev = (0, findings_1.severityEmitter)(ctx.config.largeFiles?.severity, 'warn');
113
+ return (0, types_js_1.pass)();
114
+ const sev = (0, findings_js_1.severityEmitter)(ctx.config.largeFiles?.severity, 'warn');
115
115
  findings.forEach(f => sev.log(`[Large Files]: ${sev.icon} ${f}`));
116
116
  return sev.emit(`${findings.length} large/binary file(s) added`);
117
117
  },
@@ -1,2 +1,2 @@
1
- import { Check } from '../../types';
1
+ import { Check } from '../../types.js';
2
2
  export declare const leftoverDebugCheck: Check;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.leftoverDebugCheck = void 0;
4
- const utils_1 = require("../../../utils");
5
- const types_1 = require("../../types");
6
- const findings_1 = require("../findings");
4
+ const index_js_1 = require("../../../utils/index.js");
5
+ const types_js_1 = require("../../types.js");
6
+ const findings_js_1 = require("../findings.js");
7
7
  /**
8
8
  * Debug statements for languages NOT already covered by the Diff Smells check
9
9
  * (which handles `console.*`/`debugger` for JS/TS). Kept separate so the two
@@ -35,7 +35,7 @@ function collect(stdout, patterns, findings, mode = 'language') {
35
35
  for (const line of stdout.split('\n')) {
36
36
  const header = DIFF_FILE_HEADER.exec(line);
37
37
  if (header) {
38
- syntax = mode === 'language' ? (0, findings_1.commentSyntaxFor)(header[1]) : 'both';
38
+ syntax = mode === 'language' ? (0, findings_js_1.commentSyntaxFor)(header[1]) : 'both';
39
39
  continue;
40
40
  }
41
41
  // Honour an inline opt-out in any comment style (`// pr-checkmate-ignore`,
@@ -43,7 +43,7 @@ function collect(stdout, patterns, findings, mode = 'language') {
43
43
  if (line.includes('pr-checkmate-ignore'))
44
44
  continue;
45
45
  // Match on the comment-stripped line so `# print(x)` in a comment isn't flagged.
46
- const scanned = mode === 'off' ? line : (0, findings_1.stripInlineComment)(line, syntax);
46
+ const scanned = mode === 'off' ? line : (0, findings_js_1.stripInlineComment)(line, syntax);
47
47
  for (const { pattern, label } of patterns) {
48
48
  if (pattern.test(scanned)) {
49
49
  (findings[label] ?? (findings[label] = [])).push(line.slice(1).trim().substring(0, 100));
@@ -67,26 +67,26 @@ exports.leftoverDebugCheck = {
67
67
  let reviewed = true;
68
68
  if (ctx.languages.includes('python')) {
69
69
  reviewed =
70
- (await (0, findings_1.reviewLines)(ctx, ['*.py'], out => collect(out, PYTHON_PATTERNS, findings, comments))) && reviewed;
70
+ (await (0, findings_js_1.reviewLines)(ctx, ['*.py'], out => collect(out, PYTHON_PATTERNS, findings, comments))) && reviewed;
71
71
  }
72
72
  if (ctx.languages.includes('kotlin')) {
73
73
  reviewed =
74
- (await (0, findings_1.reviewLines)(ctx, ['*.kt', '*.kts', '*.java'], out => collect(out, KOTLIN_PATTERNS, findings, comments))) && reviewed;
74
+ (await (0, findings_js_1.reviewLines)(ctx, ['*.kt', '*.kts', '*.java'], out => collect(out, KOTLIN_PATTERNS, findings, comments))) && reviewed;
75
75
  }
76
76
  if (!reviewed)
77
- return (0, types_1.skip)('git unavailable');
78
- if ((0, findings_1.bucketTotal)(findings) === 0)
79
- return (0, types_1.pass)();
77
+ return (0, types_js_1.skip)('git unavailable');
78
+ if ((0, findings_js_1.bucketTotal)(findings) === 0)
79
+ return (0, types_js_1.pass)();
80
80
  // Advisory by default; a repo may promote to a gate via
81
81
  // `leftoverDebug.severity: 'error'`.
82
- return (0, findings_1.reportCountedFindings)(findings, ctx, {
82
+ return (0, findings_js_1.reportCountedFindings)(findings, ctx, {
83
83
  prefix: 'Leftover Debug',
84
84
  severity: ctx.config.leftoverDebug?.severity,
85
85
  });
86
86
  }
87
87
  catch (err) {
88
- utils_1.logger.warn(`[Leftover Debug]: ⚠️ Could not analyze diff\n${err}`);
89
- return (0, types_1.skip)('diff unavailable');
88
+ index_js_1.logger.warn(`[Leftover Debug]: ⚠️ Could not analyze diff\n${err}`);
89
+ return (0, types_js_1.skip)('diff unavailable');
90
90
  }
91
91
  },
92
92
  };
@@ -1,2 +1,2 @@
1
- import { Check } from '../../types';
1
+ import { Check } from '../../types.js';
2
2
  export declare const lockfileDriftCheck: Check;
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.lockfileDriftCheck = void 0;
7
7
  const node_fs_1 = __importDefault(require("node:fs"));
8
8
  const node_path_1 = __importDefault(require("node:path"));
9
- const utils_1 = require("../../../utils");
10
- const execa_1 = require("../../../utils/execa");
11
- const targets_1 = require("../../targets");
12
- const types_1 = require("../../types");
13
- const findings_1 = require("../findings");
9
+ const execa_js_1 = require("../../../utils/execa.js");
10
+ const index_js_1 = require("../../../utils/index.js");
11
+ const targets_js_1 = require("../../targets.js");
12
+ const types_js_1 = require("../../types.js");
13
+ const findings_js_1 = require("../findings.js");
14
14
  /**
15
15
  * Manifest → its lockfile(s). A change to the manifest's dependency set without
16
16
  * a corresponding lockfile update is drift: CI resolves versions the author
@@ -55,7 +55,7 @@ async function packageDepsChanged(ctx, manifestPath, base) {
55
55
  // Head file unreadable (e.g. deleted) — treat as changed so it surfaces.
56
56
  return true;
57
57
  }
58
- const { stdout, exitCode } = await (0, execa_1.execa)('git', ['show', `${base}:${manifestPath}`], {
58
+ const { stdout, exitCode } = await (0, execa_js_1.execa)('git', ['show', `${base}:${manifestPath}`], {
59
59
  cwd: ctx.cwd,
60
60
  reject: false,
61
61
  });
@@ -78,14 +78,14 @@ exports.lockfileDriftCheck = {
78
78
  // `excludePaths` is still applied, below: not scoping is an argument about
79
79
  // WHERE these files live, not a licence to ignore a client who named one
80
80
  // (ticket 080). A vendored sub-project's lockfile is a real case.
81
- const { stdout } = await (0, execa_1.execa)('git', [
81
+ const { stdout } = await (0, execa_js_1.execa)('git', [
82
82
  'diff',
83
83
  '--name-only',
84
84
  '--diff-filter=ACMRD',
85
85
  ctx.baseSha,
86
86
  ctx.headSha ?? 'HEAD',
87
87
  ], { cwd: ctx.cwd });
88
- const changed = new Set((0, targets_1.excludeClientPaths)(stdout.split('\n').filter(Boolean), ctx.cwd));
88
+ const changed = new Set((0, targets_js_1.excludeClientPaths)(stdout.split('\n').filter(Boolean), ctx.cwd));
89
89
  const warnings = [];
90
90
  for (const changedPath of changed) {
91
91
  const pair = LOCK_PAIRS.find(p => p.manifest === node_path_1.default.basename(changedPath));
@@ -107,14 +107,14 @@ exports.lockfileDriftCheck = {
107
107
  }
108
108
  }
109
109
  if (warnings.length === 0)
110
- return (0, types_1.pass)();
111
- const sev = (0, findings_1.severityEmitter)(ctx.config.lockfileDrift?.severity, 'warn');
110
+ return (0, types_js_1.pass)();
111
+ const sev = (0, findings_js_1.severityEmitter)(ctx.config.lockfileDrift?.severity, 'warn');
112
112
  warnings.forEach(w => sev.log(`[Lockfile Drift]: ${sev.icon} ${w}`));
113
113
  return sev.emit(`${warnings.length} manifest(s) changed without a lockfile update`);
114
114
  }
115
115
  catch (err) {
116
- utils_1.logger.warn(`[Lockfile Drift]: ⚠️ Could not analyze diff\n${err}`);
117
- return (0, types_1.skip)('diff unavailable');
116
+ index_js_1.logger.warn(`[Lockfile Drift]: ⚠️ Could not analyze diff\n${err}`);
117
+ return (0, types_js_1.skip)('diff unavailable');
118
118
  }
119
119
  },
120
120
  };
@@ -1,2 +1,2 @@
1
- import { Check } from '../../types';
1
+ import { Check } from '../../types.js';
2
2
  export declare const mergeConflictCheck: Check;
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mergeConflictCheck = void 0;
4
- const config_1 = require("../../../config");
5
- const utils_1 = require("../../../utils");
6
- const execa_1 = require("../../../utils/execa");
7
- const targets_1 = require("../../targets");
8
- const types_1 = require("../../types");
9
- const findings_1 = require("../findings");
4
+ const index_js_1 = require("../../../config/index.js");
5
+ const execa_js_1 = require("../../../utils/execa.js");
6
+ const index_js_2 = require("../../../utils/index.js");
7
+ const targets_js_1 = require("../../targets.js");
8
+ const types_js_1 = require("../../types.js");
9
+ const findings_js_1 = require("../findings.js");
10
10
  /**
11
11
  * Git conflict markers, matched against the content of an added diff line
12
12
  * (the leading `+` already stripped). Each is exactly seven characters at the
@@ -82,26 +82,26 @@ exports.mergeConflictCheck = {
82
82
  // client's `ignoreDirs` and `sourcePath`), then diff only those files for
83
83
  // content. `['*']` matches every path since conflicts are language-agnostic;
84
84
  // scoping still keeps build/vendor/report dirs out, like every other check.
85
- const files = await (0, targets_1.resolveScopedTargetFiles)(ctx, ['*'], (0, config_1.getSourcePaths)(ctx.cwd));
85
+ const files = await (0, targets_js_1.resolveScopedTargetFiles)(ctx, ['*'], (0, index_js_1.getSourcePaths)(ctx.cwd));
86
86
  if (files === null)
87
- return (0, types_1.skip)('git unavailable');
87
+ return (0, types_js_1.skip)('git unavailable');
88
88
  if (files.length === 0)
89
- return (0, types_1.pass)();
89
+ return (0, types_js_1.pass)();
90
90
  try {
91
91
  const hits = [];
92
92
  if (ctx.baseSha) {
93
- const { stdout } = await (0, execa_1.execa)('git', ['diff', '--unified=0', ctx.baseSha, ctx.headSha ?? 'HEAD', '--', ...files], { cwd: ctx.cwd });
93
+ const { stdout } = await (0, execa_js_1.execa)('git', ['diff', '--unified=0', ctx.baseSha, ctx.headSha ?? 'HEAD', '--', ...files], { cwd: ctx.cwd });
94
94
  hits.push(...scanDiff(stdout));
95
95
  }
96
96
  else if (ctx.config.run?.fullScanBehaviour !== 'skip') {
97
- await (0, findings_1.scanTrackedFiles)(ctx, files, asDiff => hits.push(...scanDiff(asDiff)));
97
+ await (0, findings_js_1.scanTrackedFiles)(ctx, files, asDiff => hits.push(...scanDiff(asDiff)));
98
98
  }
99
99
  const found = filterHits(hits);
100
100
  if (found.length === 0)
101
- return (0, types_1.pass)();
101
+ return (0, types_js_1.pass)();
102
102
  // Conflict markers are a hard error by default; a repo may downgrade to
103
103
  // `warn` via `mergeConflict.severity`.
104
- const sev = (0, findings_1.severityEmitter)(ctx.config.mergeConflict?.severity, 'error');
104
+ const sev = (0, findings_js_1.severityEmitter)(ctx.config.mergeConflict?.severity, 'error');
105
105
  for (const h of found) {
106
106
  sev.log(`[Merge Conflict]: ${sev.icon} ${h.file}:${h.line}`);
107
107
  }
@@ -113,8 +113,8 @@ exports.mergeConflictCheck = {
113
113
  return sev.emit(` unresolved conflict marker(s): ${sample}${more}`);
114
114
  }
115
115
  catch (err) {
116
- utils_1.logger.warn(`[Merge Conflict]: ⚠️ Could not analyze diff\n${err}`);
117
- return (0, types_1.skip)('diff unavailable');
116
+ index_js_2.logger.warn(`[Merge Conflict]: ⚠️ Could not analyze diff\n${err}`);
117
+ return (0, types_js_1.skip)('diff unavailable');
118
118
  }
119
119
  },
120
120
  };
@@ -1,2 +1,2 @@
1
- import { Check } from '../../types';
1
+ import { Check } from '../../types.js';
2
2
  export declare const missingTestsCheck: Check;
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.missingTestsCheck = void 0;
4
- const config_1 = require("../../../config");
5
- const utils_1 = require("../../../utils");
6
- const execa_1 = require("../../../utils/execa");
7
- const targets_1 = require("../../targets");
8
- const types_1 = require("../../types");
9
- const findings_1 = require("../findings");
4
+ const index_js_1 = require("../../../config/index.js");
5
+ const execa_js_1 = require("../../../utils/execa.js");
6
+ const index_js_2 = require("../../../utils/index.js");
7
+ const targets_js_1 = require("../../targets.js");
8
+ const types_js_1 = require("../../types.js");
9
+ const findings_js_1 = require("../findings.js");
10
10
  /** Source-file extensions across the supported languages. */
11
11
  const SOURCE_EXT = /\.(ts|tsx|js|jsx|mjs|cjs|py|kt|kts|java|swift|cpp|cc|cxx|c|h|hpp|go|rb)$/i;
12
12
  /** Test-file conventions across languages. */
@@ -45,14 +45,14 @@ exports.missingTestsCheck = {
45
45
  async run(ctx) {
46
46
  // Scope the same way lint does — a client's `sourcePath` and `ignoreDirs`
47
47
  // both apply, so generated/out-of-scope dirs never count as "new source".
48
- const scopedList = await (0, targets_1.resolveScopedTargetFiles)(ctx, ['*'], (0, config_1.getSourcePaths)(ctx.cwd));
48
+ const scopedList = await (0, targets_js_1.resolveScopedTargetFiles)(ctx, ['*'], (0, index_js_1.getSourcePaths)(ctx.cwd));
49
49
  if (scopedList === null)
50
- return (0, types_1.skip)('git unavailable');
50
+ return (0, types_js_1.skip)('git unavailable');
51
51
  const scoped = new Set(scopedList);
52
52
  const added = [];
53
53
  const touched = [];
54
54
  try {
55
- const { stdout } = await (0, execa_1.execa)('git', [
55
+ const { stdout } = await (0, execa_js_1.execa)('git', [
56
56
  'diff',
57
57
  '--name-status',
58
58
  '--diff-filter=ACM',
@@ -86,18 +86,18 @@ exports.missingTestsCheck = {
86
86
  }
87
87
  }
88
88
  catch (err) {
89
- utils_1.logger.warn(`[Missing Tests]: ⚠️ Could not analyze diff\n${err}`);
90
- return (0, types_1.skip)('diff unavailable');
89
+ index_js_2.logger.warn(`[Missing Tests]: ⚠️ Could not analyze diff\n${err}`);
90
+ return (0, types_js_1.skip)('diff unavailable');
91
91
  }
92
92
  const ignore = ctx.config.missingTests?.ignore ?? DEFAULT_IGNORE;
93
- const addedSource = added.filter(f => SOURCE_EXT.test(f) && !isTestFile(f) && !(0, utils_1.matchesAnyGlob)(f, ignore));
93
+ const addedSource = added.filter(f => SOURCE_EXT.test(f) && !isTestFile(f) && !(0, index_js_2.matchesAnyGlob)(f, ignore));
94
94
  if (addedSource.length === 0)
95
- return (0, types_1.pass)(); // no new source that would need a test
95
+ return (0, types_js_1.pass)(); // no new source that would need a test
96
96
  // A test added or modified anywhere in the diff satisfies the check —
97
97
  // `touched` only ever holds test files, collected without the source scope.
98
98
  if (touched.length > 0)
99
- return (0, types_1.pass)();
100
- const sev = (0, findings_1.severityEmitter)(ctx.config.missingTests?.severity, 'warn');
99
+ return (0, types_js_1.pass)();
100
+ const sev = (0, findings_js_1.severityEmitter)(ctx.config.missingTests?.severity, 'warn');
101
101
  addedSource
102
102
  .slice(0, 5)
103
103
  .forEach(f => sev.log(`[Missing Tests]: ${sev.icon} new source without tests: ${f}`));
@@ -1,4 +1,4 @@
1
- import { Check } from '../../types';
1
+ import { Check } from '../../types.js';
2
2
  /**
3
3
  * Flags leftover TODO/FIXME/XXX/HACK markers in Python and Kotlin/Java comments.
4
4
  * JS/TS markers are already handled by the Diff Smells check, so this stays out
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.todoFixmeCheck = void 0;
4
- const utils_1 = require("../../../utils");
5
- const types_1 = require("../../types");
6
- const findings_1 = require("../findings");
4
+ const index_js_1 = require("../../../utils/index.js");
5
+ const types_js_1 = require("../../types.js");
6
+ const findings_js_1 = require("../findings.js");
7
7
  const DEFAULT_KEYWORDS = ['TODO', 'FIXME', 'XXX', 'HACK'];
8
8
  /** A ticket reference in the comment: `#123` or JIRA-style `PROJ-456`. */
9
9
  const TICKET_PATTERN = /#\d+|[A-Z][A-Z0-9]+-\d+/;
@@ -57,27 +57,27 @@ exports.todoFixmeCheck = {
57
57
  if (ctx.languages.includes('python')) {
58
58
  const pattern = buildPattern('#', keywords);
59
59
  reviewed =
60
- (await (0, findings_1.reviewLines)(ctx, ['*.py'], out => scan(out, pattern, requireTicket, findings))) &&
60
+ (await (0, findings_js_1.reviewLines)(ctx, ['*.py'], out => scan(out, pattern, requireTicket, findings))) &&
61
61
  reviewed;
62
62
  }
63
63
  if (ctx.languages.includes('kotlin')) {
64
64
  const ktPattern = buildPattern('//|/\\*', keywords);
65
65
  reviewed =
66
- (await (0, findings_1.reviewLines)(ctx, ['*.kt', '*.kts', '*.java'], out => scan(out, ktPattern, requireTicket, findings))) && reviewed;
66
+ (await (0, findings_js_1.reviewLines)(ctx, ['*.kt', '*.kts', '*.java'], out => scan(out, ktPattern, requireTicket, findings))) && reviewed;
67
67
  }
68
68
  if (!reviewed)
69
- return (0, types_1.skip)('git unavailable');
70
- if ((0, findings_1.bucketTotal)(findings) === 0)
71
- return (0, types_1.pass)();
72
- return (0, findings_1.reportCountedFindings)(findings, ctx, {
69
+ return (0, types_js_1.skip)('git unavailable');
70
+ if ((0, findings_js_1.bucketTotal)(findings) === 0)
71
+ return (0, types_js_1.pass)();
72
+ return (0, findings_js_1.reportCountedFindings)(findings, ctx, {
73
73
  prefix: 'TODO/FIXME',
74
74
  severity: cfg?.severity,
75
75
  suffix: requireTicket ? ' (no ticket reference)' : '',
76
76
  });
77
77
  }
78
78
  catch (err) {
79
- utils_1.logger.warn(`[TODO/FIXME]: ⚠️ Could not analyze diff\n${err}`);
80
- return (0, types_1.skip)('diff unavailable');
79
+ index_js_1.logger.warn(`[TODO/FIXME]: ⚠️ Could not analyze diff\n${err}`);
80
+ return (0, types_js_1.skip)('diff unavailable');
81
81
  }
82
82
  },
83
83
  };
@@ -1,4 +1,4 @@
1
- import { Check } from '../../types';
1
+ import { Check } from '../../types.js';
2
2
  /**
3
3
  * Formats C/C++ code with clang-format, bundled as a self-contained WASM CLI
4
4
  * (`@wasm-fmt/clang-format`) so it runs on a bare Node image with no system
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.cppFormatCheck = void 0;
7
7
  const node_fs_1 = __importDefault(require("node:fs"));
8
8
  const node_path_1 = __importDefault(require("node:path"));
9
- const config_1 = require("../../../config");
10
- const utils_1 = require("../../../utils");
11
- const execa_1 = require("../../../utils/execa");
12
- const targets_1 = require("../../targets");
13
- const types_1 = require("../../types");
9
+ const index_js_1 = require("../../../config/index.js");
10
+ const execa_js_1 = require("../../../utils/execa.js");
11
+ const index_js_2 = require("../../../utils/index.js");
12
+ const targets_js_1 = require("../../targets.js");
13
+ const types_js_1 = require("../../types.js");
14
14
  /**
15
15
  * C/C++ source & header extensions clang-format understands. `.h` is intentionally
16
16
  * included even though it is ambiguous with C — clang-format handles both.
@@ -58,40 +58,40 @@ exports.cppFormatCheck = {
58
58
  // in `write` mode clang-format was rewriting third-party sources the client
59
59
  // does not own. It also crashed the WASM formatter, which is how this was
60
60
  // found.
61
- const targets = await (0, targets_1.resolveScopedTargetFiles)(ctx, CPP_GLOBS, (0, config_1.getSourcePaths)(ctx.cwd));
61
+ const targets = await (0, targets_js_1.resolveScopedTargetFiles)(ctx, CPP_GLOBS, (0, index_js_1.getSourcePaths)(ctx.cwd));
62
62
  if (targets === null)
63
- return (0, types_1.skip)('git unavailable');
63
+ return (0, types_js_1.skip)('git unavailable');
64
64
  if (targets.length === 0)
65
- return (0, types_1.pass)('no C/C++ files changed');
66
- const cfBin = (0, utils_1.resolvePackageBin)('@wasm-fmt/clang-format', 'clang-format-cli.cjs');
65
+ return (0, types_js_1.pass)('no C/C++ files changed');
66
+ const cfBin = (0, index_js_2.resolvePackageBin)('@wasm-fmt/clang-format', 'clang-format-cli.cjs');
67
67
  const styleArg = resolveStyleArg(ctx);
68
68
  // Detect unformatted files without mutating anything.
69
- const dry = await (0, execa_1.execa)(process.execPath, [cfBin, '--dry-run', '--Werror', styleArg, ...targets], { cwd: ctx.cwd, reject: false });
69
+ const dry = await (0, execa_js_1.execa)(process.execPath, [cfBin, '--dry-run', '--Werror', styleArg, ...targets], { cwd: ctx.cwd, reject: false });
70
70
  if (dry.exitCode === 0)
71
- return (0, types_1.pass)();
71
+ return (0, types_js_1.pass)();
72
72
  const offending = countOffendingFiles(dry.stderr) || targets.length;
73
73
  if (!ctx.write) {
74
- utils_1.logger.warn(`[C++ Format]: ⚠️ ${offending} C/C++ file(s) need formatting`);
75
- return (0, types_1.warn)(`${offending} file(s) need formatting (run with write to fix)`);
74
+ index_js_2.logger.warn(`[C++ Format]: ⚠️ ${offending} C/C++ file(s) need formatting`);
75
+ return (0, types_js_1.warn)(`${offending} file(s) need formatting (run with write to fix)`);
76
76
  }
77
77
  // write mode: rewrite the offending files in place so CI can auto-commit them.
78
- const fix = await (0, execa_1.execa)(process.execPath, [cfBin, '-i', styleArg, ...targets], {
78
+ const fix = await (0, execa_js_1.execa)(process.execPath, [cfBin, '-i', styleArg, ...targets], {
79
79
  cwd: ctx.cwd,
80
80
  reject: false,
81
81
  });
82
82
  if (fix.exitCode !== 0) {
83
- utils_1.logger.warn(`[C++ Format]: ⚠️ clang-format -i failed\n${fix.stderr}`);
83
+ index_js_2.logger.warn(`[C++ Format]: ⚠️ clang-format -i failed\n${fix.stderr}`);
84
84
  // A WASM runtime error is the formatter giving up on a file, not a verdict
85
85
  // about the code — and `-i` means whatever it managed before the crash is
86
86
  // already written, so the tree is half-formatted. Saying which it was
87
87
  // matters: "failed to rewrite files" sent people looking for a style
88
88
  // problem that does not exist.
89
89
  const crashed = /RuntimeError|memory access out of bounds|abort\(/.test(fix.stderr);
90
- return (0, types_1.warn)(crashed
90
+ return (0, types_js_1.warn)(crashed
91
91
  ? 'clang-format crashed on one of these files — some may already have been rewritten'
92
92
  : `clang-format could not rewrite the files (exit ${fix.exitCode ?? 'killed'})`);
93
93
  }
94
- utils_1.logger.info(`[C++ Format]: ✅ Reformatted ${offending} C/C++ file(s)`);
95
- return (0, types_1.pass)(`reformatted ${offending} file(s)`);
94
+ index_js_2.logger.info(`[C++ Format]: ✅ Reformatted ${offending} C/C++ file(s)`);
95
+ return (0, types_js_1.pass)(`reformatted ${offending} file(s)`);
96
96
  },
97
97
  };
@@ -20,20 +20,20 @@
20
20
  * doubles as the Kotlin format signal). Uses the repo's own `.editorconfig`
21
21
  * when present.
22
22
  */
23
- export declare const kotlinLintCheck: import("../..").Check;
23
+ export declare const kotlinLintCheck: import("../../types.js").Check;
24
24
  /**
25
25
  * Lints Swift with SwiftLint, which needs SourceKit and therefore a macOS
26
26
  * runner. Runs over the directory rather than a file list — SwiftLint resolves
27
27
  * its own `.swiftlint.yml` scope, and a file list would bypass the excludes a
28
28
  * repo wrote there — so the resolved targets only decide whether it runs at all.
29
29
  */
30
- export declare const swiftLintCheck: import("../..").Check;
30
+ export declare const swiftLintCheck: import("../../types.js").Check;
31
31
  /**
32
32
  * Lints changed Ruby files with RuboCop, which covers layout as well as style,
33
33
  * so it doubles as the Ruby format signal. Uses the repo's own `.rubocop.yml`
34
34
  * when present.
35
35
  */
36
- export declare const rubyLintCheck: import("../..").Check;
36
+ export declare const rubyLintCheck: import("../../types.js").Check;
37
37
  /**
38
38
  * Lints changed shell scripts with ShellCheck. `-f gcc` gives one line per
39
39
  * finding ending in an `[SC…]` code, which both a human and the count below can
@@ -42,36 +42,36 @@ export declare const rubyLintCheck: import("../..").Check;
42
42
  * No language gate: shell is not something detection reports, and a `deploy.sh`
43
43
  * in a Python repository is exactly the file this check exists for.
44
44
  */
45
- export declare const shellcheckCheck: import("../..").Check;
45
+ export declare const shellcheckCheck: import("../../types.js").Check;
46
46
  /**
47
47
  * Vets changed Go code with `go vet ./...`, which needs the Go toolchain (the
48
48
  * formatter next door no longer does — see `go-format.ts`). `go vet` operates
49
49
  * per package, so it runs over the module rather than a file list; the delta
50
50
  * only decides whether it runs.
51
51
  */
52
- export declare const goLintCheck: import("../..").Check;
52
+ export declare const goLintCheck: import("../../types.js").Check;
53
53
  /**
54
54
  * Lints changed Rust with Clippy. It compiles the crate, so it runs over the
55
55
  * crate rather than a file list; the delta only decides whether it runs.
56
56
  */
57
- export declare const rustLintCheck: import("../..").Check;
57
+ export declare const rustLintCheck: import("../../types.js").Check;
58
58
  /**
59
59
  * Formats changed Rust with `cargo fmt`, not a bare `rustfmt`: cargo reads the
60
60
  * crate's edition from `Cargo.toml`, and rustfmt invoked directly does not —
61
61
  * which silently formats 2015-edition code by 2024 rules.
62
62
  */
63
- export declare const rustFormatCheck: import("../..").Check;
63
+ export declare const rustFormatCheck: import("../../types.js").Check;
64
64
  /**
65
65
  * Verifies C# formatting with `dotnet format`, which also runs the project's
66
66
  * configured analyzers and style rules. It operates on the project or solution
67
67
  * (and expects a prior `dotnet restore`), so it runs over the whole project; the
68
68
  * delta only decides whether it runs.
69
69
  */
70
- export declare const csharpFormatCheck: import("../..").Check;
70
+ export declare const csharpFormatCheck: import("../../types.js").Check;
71
71
  /**
72
72
  * Formats changed PHP with PHP-CS-Fixer, using the repo's own
73
73
  * `.php-cs-fixer.php` when present. `--using-cache=no` because the cache keys on
74
74
  * absolute paths, and a CI checkout directory that changes between runs makes a
75
75
  * stale cache report files as clean that were never examined.
76
76
  */
77
- export declare const phpFormatCheck: import("../..").Check;
77
+ export declare const phpFormatCheck: import("../../types.js").Check;