pr-checkmate 1.23.24 → 2.0.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 (98) hide show
  1. package/README.md +61 -11
  2. package/cspell.json +3 -8
  3. package/dist/cli.js +37 -64
  4. package/dist/config/constants.d.ts +21 -3
  5. package/dist/config/constants.js +33 -6
  6. package/dist/config/pr-checkmate-workflow.yml +33 -327
  7. package/dist/core/checks/dependencies/banned-imports.js +23 -24
  8. package/dist/core/checks/dependencies/circular-deps.js +1 -0
  9. package/dist/core/checks/dependencies/dependency-check.js +1 -0
  10. package/dist/core/checks/dependencies/grype-scan.js +1 -0
  11. package/dist/core/checks/dependencies/npm-audit.js +6 -1
  12. package/dist/core/checks/dependencies/vuln-scan.js +1 -0
  13. package/dist/core/checks/findings.d.ts +198 -19
  14. package/dist/core/checks/findings.js +474 -22
  15. package/dist/core/checks/git/custom-rules.js +21 -16
  16. package/dist/core/checks/git/diff-smell.d.ts +17 -0
  17. package/dist/core/checks/git/diff-smell.js +43 -24
  18. package/dist/core/checks/git/large-files.js +14 -2
  19. package/dist/core/checks/git/leftover-debug.js +23 -14
  20. package/dist/core/checks/git/lockfile-drift.js +2 -1
  21. package/dist/core/checks/git/merge-conflict.js +19 -8
  22. package/dist/core/checks/git/missing-tests.js +22 -6
  23. package/dist/core/checks/git/todo-fixme.js +10 -9
  24. package/dist/core/checks/languages/shellcheck.d.ts +1 -1
  25. package/dist/core/checks/languages/shellcheck.js +1 -1
  26. package/dist/core/checks/languages/typecheck.js +1 -0
  27. package/dist/core/checks/pr/pr-size-check.js +2 -1
  28. package/dist/core/checks/quality/config-validation.d.ts +14 -4
  29. package/dist/core/checks/quality/config-validation.js +119 -17
  30. package/dist/core/checks/quality/dead-code.js +1 -0
  31. package/dist/core/checks/quality/duplicate-check.js +1 -0
  32. package/dist/core/checks/quality/license-header.js +12 -2
  33. package/dist/core/checks/quality/spellcheck.d.ts +50 -0
  34. package/dist/core/checks/quality/spellcheck.js +141 -13
  35. package/dist/core/checks/quality/yaml-lint.js +22 -9
  36. package/dist/core/checks/security/diff-security.js +111 -28
  37. package/dist/core/checks/security/dockerfile-security.js +23 -20
  38. package/dist/core/checks/security/migration-safety.js +19 -17
  39. package/dist/core/checks/security/sensitive-file-guard.js +37 -5
  40. package/dist/core/checks/security/workflow-security.d.ts +10 -0
  41. package/dist/core/checks/security/workflow-security.js +48 -26
  42. package/dist/core/commands.d.ts +27 -0
  43. package/dist/core/commands.js +91 -0
  44. package/dist/core/context.d.ts +12 -3
  45. package/dist/core/context.js +118 -16
  46. package/dist/core/install/cache.d.ts +39 -0
  47. package/dist/core/install/cache.js +99 -0
  48. package/dist/core/install/doctor.d.ts +35 -0
  49. package/dist/core/install/doctor.js +145 -0
  50. package/dist/core/install/ensure.d.ts +60 -0
  51. package/dist/core/install/ensure.js +169 -0
  52. package/dist/core/install/lock.d.ts +33 -0
  53. package/dist/core/install/lock.js +99 -0
  54. package/dist/core/install/profiles.d.ts +64 -0
  55. package/dist/core/install/profiles.js +170 -0
  56. package/dist/core/reporters.d.ts +13 -2
  57. package/dist/core/reporters.js +145 -104
  58. package/dist/core/run-checks.js +91 -14
  59. package/dist/core/targets.js +26 -4
  60. package/dist/core/types.d.ts +49 -1
  61. package/dist/init.d.ts +29 -14
  62. package/dist/init.js +204 -262
  63. package/dist/interfaces/index.d.ts +120 -0
  64. package/dist/scripts/generate-install-manifests.d.ts +39 -0
  65. package/dist/scripts/generate-install-manifests.js +121 -0
  66. package/dist/scripts/publish-github.js +18 -4
  67. package/dist/utils/detect-language.d.ts +37 -4
  68. package/dist/utils/detect-language.js +113 -19
  69. package/dist/utils/http.d.ts +59 -0
  70. package/dist/utils/http.js +119 -0
  71. package/dist/utils/logger.d.ts +52 -6
  72. package/dist/utils/logger.js +125 -33
  73. package/dist/utils/pool.d.ts +49 -0
  74. package/dist/utils/pool.js +124 -0
  75. package/dist/utils/update-notifier.d.ts +9 -0
  76. package/dist/utils/update-notifier.js +57 -3
  77. package/eslint.config.mjs +14 -2
  78. package/install-manifests/commitlint/package-lock.json +1028 -0
  79. package/install-manifests/commitlint/package.json +9 -0
  80. package/install-manifests/core/package-lock.json +1335 -0
  81. package/install-manifests/core/package.json +11 -0
  82. package/install-manifests/cpp/package-lock.json +29 -0
  83. package/install-manifests/cpp/package.json +8 -0
  84. package/install-manifests/duplicate/package-lock.json +113 -0
  85. package/install-manifests/duplicate/package.json +8 -0
  86. package/install-manifests/js/package-lock.json +5099 -0
  87. package/install-manifests/js/package.json +26 -0
  88. package/install-manifests/markdown/package-lock.json +1281 -0
  89. package/install-manifests/markdown/package.json +8 -0
  90. package/install-manifests/python/package-lock.json +21 -0
  91. package/install-manifests/python/package.json +8 -0
  92. package/install-manifests/spellcheck/package-lock.json +1047 -0
  93. package/install-manifests/spellcheck/package.json +8 -0
  94. package/package.json +13 -28
  95. package/pr-checkmate.schema.json +1062 -104
  96. package/src/config/cspell.json +3 -8
  97. package/src/config/pr-checkmate-workflow.yml +33 -327
  98. package/src/config/pr-checkmate.schema.json +1062 -104
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "pr-checkmate-profile-core",
3
+ "version": "1.0.0",
4
+ "dependencies": {
5
+ "execa": "9.6.1",
6
+ "yaml": "2.9.0",
7
+ "inquirer": "14.0.2",
8
+ "gitleaks-secret-scanner-fixed": "2.1.3"
9
+ },
10
+ "private": true
11
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "pr-checkmate-profile-cpp",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "pr-checkmate-profile-cpp",
9
+ "version": "1.0.0",
10
+ "dependencies": {
11
+ "@wasm-fmt/clang-format": "22.1.8"
12
+ }
13
+ },
14
+ "node_modules/@wasm-fmt/clang-format": {
15
+ "version": "22.1.8",
16
+ "resolved": "https://registry.npmjs.org/@wasm-fmt/clang-format/-/clang-format-22.1.8.tgz",
17
+ "integrity": "sha512-MuDkCzEUmBCuC3MQcZGrJ8lI4MnDpwCuN63EMRpr/c0urCEq1S4E8qVddMjRf+Lrcl2gEZH+kKTWpXC2c7x+Zg==",
18
+ "license": "MIT",
19
+ "bin": {
20
+ "clang-format": "clang-format-cli.cjs",
21
+ "clang-format-diff": "clang-format-diff.py",
22
+ "git-clang-format": "git-clang-format"
23
+ },
24
+ "engines": {
25
+ "node": ">=16.17.0"
26
+ }
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "pr-checkmate-profile-cpp",
3
+ "version": "1.0.0",
4
+ "dependencies": {
5
+ "@wasm-fmt/clang-format": "22.1.8"
6
+ },
7
+ "private": true
8
+ }
@@ -0,0 +1,113 @@
1
+ {
2
+ "name": "pr-checkmate-profile-duplicate",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "pr-checkmate-profile-duplicate",
9
+ "version": "1.0.0",
10
+ "dependencies": {
11
+ "jscpd": "5.0.11"
12
+ }
13
+ },
14
+ "node_modules/cpd-darwin-arm64": {
15
+ "version": "5.0.11",
16
+ "resolved": "https://registry.npmjs.org/cpd-darwin-arm64/-/cpd-darwin-arm64-5.0.11.tgz",
17
+ "integrity": "sha512-3QvH+4Dv7A7esVFM2tsRVWN3kn9EDu8dMYog6gYAVsCtxEf4xyxAwS/ef6LjC7/dh4+ATADFbg3H09A2fD//Qw==",
18
+ "cpu": [
19
+ "arm64"
20
+ ],
21
+ "license": "MIT",
22
+ "optional": true,
23
+ "os": [
24
+ "darwin"
25
+ ]
26
+ },
27
+ "node_modules/cpd-darwin-x64": {
28
+ "version": "5.0.11",
29
+ "resolved": "https://registry.npmjs.org/cpd-darwin-x64/-/cpd-darwin-x64-5.0.11.tgz",
30
+ "integrity": "sha512-OvgM2ps0OFR5jUzx7+FK9URdJGxUzzM5KKk2F1V3vf1LooGDKwkivfIDyKsqEwp37zcbyUo7COvBpJXOT0dZmQ==",
31
+ "cpu": [
32
+ "x64"
33
+ ],
34
+ "license": "MIT",
35
+ "optional": true,
36
+ "os": [
37
+ "darwin"
38
+ ]
39
+ },
40
+ "node_modules/cpd-linux-arm64-gnu": {
41
+ "version": "5.0.11",
42
+ "resolved": "https://registry.npmjs.org/cpd-linux-arm64-gnu/-/cpd-linux-arm64-gnu-5.0.11.tgz",
43
+ "integrity": "sha512-pXMINibAeruglni8ZajlXEefZHDs7QFSG+vPtkBDu7uiIMpNU8aoktgO2vP+PbIRFD0vHkqTMb64kDtIOqQcwQ==",
44
+ "cpu": [
45
+ "arm64"
46
+ ],
47
+ "license": "MIT",
48
+ "optional": true,
49
+ "os": [
50
+ "linux"
51
+ ]
52
+ },
53
+ "node_modules/cpd-linux-x64-gnu": {
54
+ "version": "5.0.11",
55
+ "resolved": "https://registry.npmjs.org/cpd-linux-x64-gnu/-/cpd-linux-x64-gnu-5.0.11.tgz",
56
+ "integrity": "sha512-rQ7DuF0lH1HLzjGxlE0aEP2ycfhXgZH/CLSeS7FXNJ38lRVp+iXkrlcrrY6mC4WW/NgbL+DkF7/0lv3tFvGmvg==",
57
+ "cpu": [
58
+ "x64"
59
+ ],
60
+ "license": "MIT",
61
+ "optional": true,
62
+ "os": [
63
+ "linux"
64
+ ]
65
+ },
66
+ "node_modules/cpd-linux-x64-musl": {
67
+ "version": "5.0.11",
68
+ "resolved": "https://registry.npmjs.org/cpd-linux-x64-musl/-/cpd-linux-x64-musl-5.0.11.tgz",
69
+ "integrity": "sha512-Yh+7Go5+fA++I5ssAZg7gUkDCT5CxnzCPvrspbwDrfnwaY6nNM5g1C6Vs0+GJhsspuAKwydJl4nf7jkxzMwRQw==",
70
+ "cpu": [
71
+ "x64"
72
+ ],
73
+ "license": "MIT",
74
+ "optional": true,
75
+ "os": [
76
+ "linux"
77
+ ]
78
+ },
79
+ "node_modules/cpd-windows-x64-msvc": {
80
+ "version": "5.0.11",
81
+ "resolved": "https://registry.npmjs.org/cpd-windows-x64-msvc/-/cpd-windows-x64-msvc-5.0.11.tgz",
82
+ "integrity": "sha512-uV6w85qdfE0WJsrLcGw9A4Kv9ovSnlXZCybMK0esvuiJ7clgaZmDiDPozt5PvrOOShkK/NxzTZSORBSdVnquHA==",
83
+ "cpu": [
84
+ "x64"
85
+ ],
86
+ "license": "MIT",
87
+ "optional": true,
88
+ "os": [
89
+ "win32"
90
+ ]
91
+ },
92
+ "node_modules/jscpd": {
93
+ "version": "5.0.11",
94
+ "resolved": "https://registry.npmjs.org/jscpd/-/jscpd-5.0.11.tgz",
95
+ "integrity": "sha512-NfLrFJHRM6rIf3oVcdZ4sfhMVop1qxi5r8aC99lpj55YC8hiWaN4VmzU2wcXTwoAo+NS4npXPs9EVEQJ6jyRlg==",
96
+ "license": "MIT",
97
+ "bin": {
98
+ "jscpd": "run-jscpd.js"
99
+ },
100
+ "engines": {
101
+ "node": ">=18"
102
+ },
103
+ "optionalDependencies": {
104
+ "cpd-darwin-arm64": "5.0.11",
105
+ "cpd-darwin-x64": "5.0.11",
106
+ "cpd-linux-arm64-gnu": "5.0.11",
107
+ "cpd-linux-x64-gnu": "5.0.11",
108
+ "cpd-linux-x64-musl": "5.0.11",
109
+ "cpd-windows-x64-msvc": "5.0.11"
110
+ }
111
+ }
112
+ }
113
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "pr-checkmate-profile-duplicate",
3
+ "version": "1.0.0",
4
+ "dependencies": {
5
+ "jscpd": "5.0.11"
6
+ },
7
+ "private": true
8
+ }