pr-checkmate 3.2.3 → 3.3.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.
- package/.eslintrc.js +3 -9
- package/README.md +1 -1
- package/dist/cjs/cli.js +13 -0
- package/dist/cjs/config/pr-checkmate.template.json +1 -1
- package/dist/cjs/core/checks/dependencies/grype-scan.js +18 -0
- package/dist/cjs/core/checks/languages/lint.js +12 -0
- package/dist/cjs/core/checks/languages/ruff-shared.js +6 -1
- package/dist/cjs/core/checks/pr/commitlint.js +4 -2
- package/dist/cjs/core/checks/quality/package-size.d.ts +23 -1
- package/dist/cjs/core/checks/quality/package-size.js +20 -4
- package/dist/cjs/core/checks/quality/spellcheck.js +8 -5
- package/dist/cjs/core/install/doctor.js +12 -0
- package/dist/cjs/core/install/grype-db.d.ts +25 -0
- package/dist/cjs/core/install/grype-db.js +45 -0
- package/dist/cjs/core/install/profiles.d.ts +1 -1
- package/dist/cjs/core/install/profiles.js +1 -1
- package/dist/cjs/core/install/reuse.js +6 -3
- package/dist/cjs/init.d.ts +0 -8
- package/dist/cjs/init.js +1 -2
- package/dist/cjs/utils/own-deps.js +8 -1
- package/dist/cjs/utils/resolve-bin.d.ts +2 -0
- package/dist/cjs/utils/resolve-bin.js +5 -0
- package/dist/esm/cli.js +14 -1
- package/dist/esm/config/pr-checkmate.template.json +1 -1
- package/dist/esm/core/checks/dependencies/dependency-check.js +2 -2
- package/dist/esm/core/checks/dependencies/grype-scan.js +18 -0
- package/dist/esm/core/checks/dependencies/license-check.js +2 -2
- package/dist/esm/core/checks/dependencies/npm-audit.js +2 -2
- package/dist/esm/core/checks/git/diff-smell.js +1 -1
- package/dist/esm/core/checks/languages/cpp-format.js +1 -1
- package/dist/esm/core/checks/languages/lint.js +12 -3
- package/dist/esm/core/checks/languages/prettier.js +3 -3
- package/dist/esm/core/checks/languages/python-format.js +2 -2
- package/dist/esm/core/checks/languages/python-lint.js +2 -2
- package/dist/esm/core/checks/languages/ruff-shared.js +6 -1
- package/dist/esm/core/checks/languages/typecheck.js +1 -1
- package/dist/esm/core/checks/pr/commitlint.js +4 -2
- package/dist/esm/core/checks/pr/pr-body.js +1 -1
- package/dist/esm/core/checks/pr/pr-size-check.js +1 -1
- package/dist/esm/core/checks/pr/pr-title-lint.js +1 -1
- package/dist/esm/core/checks/quality/dead-code.js +1 -1
- package/dist/esm/core/checks/quality/duplicate-check.js +1 -1
- package/dist/esm/core/checks/quality/markdown-lint.js +1 -1
- package/dist/esm/core/checks/quality/package-size.d.ts +23 -1
- package/dist/esm/core/checks/quality/package-size.js +19 -4
- package/dist/esm/core/checks/quality/spellcheck.js +11 -8
- package/dist/esm/core/checks/security/diff-security.js +1 -1
- package/dist/esm/core/checks/security/security.js +1 -1
- package/dist/esm/core/install/doctor.js +12 -0
- package/dist/esm/core/install/grype-db.d.ts +25 -0
- package/dist/esm/core/install/grype-db.js +41 -0
- package/dist/esm/core/install/prepare.js +1 -1
- package/dist/esm/core/install/profiles.d.ts +1 -1
- package/dist/esm/core/install/profiles.js +1 -1
- package/dist/esm/core/install/reuse.js +6 -3
- package/dist/esm/core/run-checks.js +2 -2
- package/dist/esm/init.d.ts +0 -8
- package/dist/esm/init.js +4 -4
- package/dist/esm/utils/own-deps.js +8 -1
- package/dist/esm/utils/resolve-bin.d.ts +2 -0
- package/dist/esm/utils/resolve-bin.js +4 -0
- package/eslint-default-rules.json +2 -8
- package/eslint.config.mjs +37 -8
- package/install-manifests/commitlint/package-lock.json +5 -4
- package/install-manifests/core/package-lock.json +5 -3
- package/install-manifests/js/package-lock.json +250 -571
- package/install-manifests/js/package.json +10 -8
- package/install-manifests/markdown/package-lock.json +16 -13
- package/install-manifests/markdown/package.json +3 -0
- package/install-manifests/spellcheck/package-lock.json +3 -3
- package/package.json +19 -15
- package/src/config/.eslintrc.js +3 -9
- package/src/config/eslint-default-rules.json +2 -8
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
"version": "1.0.0",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"typescript": "6.0.3",
|
|
6
|
-
"eslint": "10.
|
|
6
|
+
"eslint": "10.14.0",
|
|
7
7
|
"eslint-config-prettier": "10.1.8",
|
|
8
|
-
"eslint-plugin-
|
|
9
|
-
"eslint-plugin-
|
|
10
|
-
"eslint-plugin-
|
|
11
|
-
"eslint-plugin-sonarjs": "4.2.
|
|
12
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
13
|
-
"@typescript-eslint/parser": "8.
|
|
8
|
+
"eslint-plugin-jsdoc": "65.4.2",
|
|
9
|
+
"eslint-plugin-prettier": "5.5.7",
|
|
10
|
+
"eslint-plugin-simple-import-sort": "14.0.0",
|
|
11
|
+
"eslint-plugin-sonarjs": "4.2.2",
|
|
12
|
+
"@typescript-eslint/eslint-plugin": "8.72.1",
|
|
13
|
+
"@typescript-eslint/parser": "8.72.1",
|
|
14
14
|
"prettier": "3.9.9",
|
|
15
15
|
"dpdm": "4.3.0",
|
|
16
16
|
"knip": "6.38.0",
|
|
@@ -20,7 +20,9 @@
|
|
|
20
20
|
"overrides": {
|
|
21
21
|
"dpdm": {
|
|
22
22
|
"typescript": "$typescript"
|
|
23
|
-
}
|
|
23
|
+
},
|
|
24
|
+
"minimatch": "^11.0.3",
|
|
25
|
+
"glob": "^14.0.3"
|
|
24
26
|
},
|
|
25
27
|
"private": true
|
|
26
28
|
}
|
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
"version": "1.0.0",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"markdownlint": "0.41.1"
|
|
12
|
+
},
|
|
13
|
+
"overrides": {
|
|
14
|
+
"katex": "^0.19.1"
|
|
12
15
|
}
|
|
13
16
|
},
|
|
14
17
|
"node_modules/@types/debug": {
|
|
@@ -80,6 +83,15 @@
|
|
|
80
83
|
"url": "https://github.com/sponsors/wooorm"
|
|
81
84
|
}
|
|
82
85
|
},
|
|
86
|
+
"node_modules/commander": {
|
|
87
|
+
"version": "15.0.0",
|
|
88
|
+
"resolved": "https://registry.npmjs.org/commander/-/commander-15.0.0.tgz",
|
|
89
|
+
"integrity": "sha512-z67u4ZhzCL/Tydu1lJARtEZYWbWaN7oYLHbsuzocr6y4N6WZAagG3RQ4FW61V1/0+jImpj293XfrcYnd1qxtPg==",
|
|
90
|
+
"license": "MIT",
|
|
91
|
+
"engines": {
|
|
92
|
+
"node": ">=22.12.0"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
83
95
|
"node_modules/debug": {
|
|
84
96
|
"version": "4.4.3",
|
|
85
97
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
|
@@ -189,30 +201,21 @@
|
|
|
189
201
|
}
|
|
190
202
|
},
|
|
191
203
|
"node_modules/katex": {
|
|
192
|
-
"version": "0.
|
|
193
|
-
"resolved": "https://registry.npmjs.org/katex/-/katex-0.
|
|
194
|
-
"integrity": "sha512-
|
|
204
|
+
"version": "0.19.1",
|
|
205
|
+
"resolved": "https://registry.npmjs.org/katex/-/katex-0.19.1.tgz",
|
|
206
|
+
"integrity": "sha512-jG8uKntjSEcm2EpQOh0XturpPuuC9r3Sq5HLHdsFdWZT27E672SF19QEi+of0/YeOy15lDgRhKvr5614uRrEfA==",
|
|
195
207
|
"funding": [
|
|
196
208
|
"https://opencollective.com/katex",
|
|
197
209
|
"https://github.com/sponsors/katex"
|
|
198
210
|
],
|
|
199
211
|
"license": "MIT",
|
|
200
212
|
"dependencies": {
|
|
201
|
-
"commander": "^
|
|
213
|
+
"commander": "^15.0.0"
|
|
202
214
|
},
|
|
203
215
|
"bin": {
|
|
204
216
|
"katex": "cli.js"
|
|
205
217
|
}
|
|
206
218
|
},
|
|
207
|
-
"node_modules/katex/node_modules/commander": {
|
|
208
|
-
"version": "8.3.0",
|
|
209
|
-
"resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
|
|
210
|
-
"integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
|
|
211
|
-
"license": "MIT",
|
|
212
|
-
"engines": {
|
|
213
|
-
"node": ">= 12"
|
|
214
|
-
}
|
|
215
|
-
},
|
|
216
219
|
"node_modules/markdownlint": {
|
|
217
220
|
"version": "0.41.1",
|
|
218
221
|
"resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.41.1.tgz",
|
|
@@ -982,9 +982,9 @@
|
|
|
982
982
|
}
|
|
983
983
|
},
|
|
984
984
|
"node_modules/smol-toml": {
|
|
985
|
-
"version": "1.
|
|
986
|
-
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.
|
|
987
|
-
"integrity": "sha512-
|
|
985
|
+
"version": "1.9.1",
|
|
986
|
+
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.9.1.tgz",
|
|
987
|
+
"integrity": "sha512-j7WyPdf0CJoutMzMoPLF/bVXHtKZIT9Rb4eGeEbWw8X2t5oirjPgpL+OpaENZrILYaXqYwnVH+qgUwVbl+pUJQ==",
|
|
988
988
|
"license": "BSD-3-Clause",
|
|
989
989
|
"engines": {
|
|
990
990
|
"node": ">= 18"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pr-checkmate",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "Security-first PR gate for CI: secret scanning, grype dependency scanning, SBOM — plus linting and formatting across 11 languages",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"github-actions",
|
|
@@ -78,6 +78,12 @@
|
|
|
78
78
|
"author": "Artur Polishchuk",
|
|
79
79
|
"license": "SEE LICENSE IN LICENSE",
|
|
80
80
|
"dependencies": {
|
|
81
|
+
"execa": "^9.6.0",
|
|
82
|
+
"gitleaks-secret-scanner-fixed": "3.0.4",
|
|
83
|
+
"inquirer": "^14.1.0",
|
|
84
|
+
"yaml": "^2.9.0"
|
|
85
|
+
},
|
|
86
|
+
"devDependencies": {
|
|
81
87
|
"@astral-sh/ruff-wasm-nodejs": "^0.16.3",
|
|
82
88
|
"@commitlint/cli": "^21.2.2",
|
|
83
89
|
"@commitlint/config-conventional": "^21.2.2",
|
|
@@ -86,37 +92,35 @@
|
|
|
86
92
|
"@typescript-eslint/parser": "^8.67.0",
|
|
87
93
|
"@wasm-fmt/clang-format": "^23.1.1",
|
|
88
94
|
"@wasm-fmt/gofmt": "^0.7.3",
|
|
95
|
+
"conventional-commits-filter": "^6.0.1",
|
|
96
|
+
"conventional-commits-parser": "^7.1.2",
|
|
89
97
|
"cspell": "^10.0.1",
|
|
90
98
|
"dpdm": "^4.3.0",
|
|
91
99
|
"eslint": "^10.8.1",
|
|
92
100
|
"eslint-config-prettier": "^10.1.8",
|
|
93
|
-
"eslint-plugin-import-x": "^4.17.1",
|
|
94
101
|
"eslint-plugin-jsdoc": "^65.1.0",
|
|
95
102
|
"eslint-plugin-prettier": "^5.5.6",
|
|
103
|
+
"eslint-plugin-simple-import-sort": "^14.0.0",
|
|
96
104
|
"eslint-plugin-sonarjs": "^4.2.0",
|
|
97
|
-
"execa": "^9.6.0",
|
|
98
|
-
"gitleaks-secret-scanner-fixed": "3.0.4",
|
|
99
|
-
"inquirer": "^14.1.0",
|
|
100
105
|
"jscpd": "^5.0.16",
|
|
101
106
|
"knip": "^6.32.2",
|
|
102
107
|
"license-checker-rseidelsohn": "^5.0.1",
|
|
103
108
|
"markdownlint": "^0.41.1",
|
|
104
109
|
"prettier": "^3.9.6",
|
|
105
|
-
"ts-node": "^10.9.1",
|
|
106
|
-
"ts-unused-exports": "^11.0.1",
|
|
107
|
-
"typescript": "^6.0.3",
|
|
108
|
-
"yaml": "^2.9.0"
|
|
109
|
-
},
|
|
110
|
-
"devDependencies": {
|
|
111
|
-
"conventional-commits-filter": "^6.0.1",
|
|
112
|
-
"conventional-commits-parser": "^7.1.2",
|
|
113
110
|
"pyright": "^1.1.413",
|
|
114
111
|
"standard-version": "^9.5.0",
|
|
115
|
-
"
|
|
112
|
+
"ts-node": "^10.9.1",
|
|
113
|
+
"ts-unused-exports": "^11.0.1",
|
|
114
|
+
"typedoc": "^0.28.20",
|
|
115
|
+
"typescript": "^6.0.3"
|
|
116
116
|
},
|
|
117
117
|
"overrides": {
|
|
118
118
|
"dpdm": {
|
|
119
119
|
"typescript": "$typescript"
|
|
120
|
-
}
|
|
120
|
+
},
|
|
121
|
+
"minimatch": "^11.0.3",
|
|
122
|
+
"glob": "^14.0.3",
|
|
123
|
+
"katex": "^0.19.1",
|
|
124
|
+
"dotgitignore": "file:./tools/dotgitignore"
|
|
121
125
|
}
|
|
122
126
|
}
|
package/src/config/.eslintrc.js
CHANGED
|
@@ -41,7 +41,7 @@ module.exports = {
|
|
|
41
41
|
sourceType: 'module',
|
|
42
42
|
project: './tsconfig.json',
|
|
43
43
|
},
|
|
44
|
-
plugins: ['@typescript-eslint', 'prettier', 'import-
|
|
44
|
+
plugins: ['@typescript-eslint', 'prettier', 'simple-import-sort', 'jsdoc'],
|
|
45
45
|
extends: [
|
|
46
46
|
'eslint:recommended',
|
|
47
47
|
'plugin:@typescript-eslint/recommended',
|
|
@@ -85,14 +85,8 @@ module.exports = {
|
|
|
85
85
|
// Complexity analysis (#61)
|
|
86
86
|
complexity: ['warn', 30],
|
|
87
87
|
// Import ordering (#65)
|
|
88
|
-
'import-
|
|
89
|
-
|
|
90
|
-
{
|
|
91
|
-
groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index'],
|
|
92
|
-
alphabetize: { order: 'asc', caseInsensitive: true },
|
|
93
|
-
},
|
|
94
|
-
],
|
|
95
|
-
'import-x/no-duplicates': 'error',
|
|
88
|
+
'simple-import-sort/imports': 'warn',
|
|
89
|
+
'no-duplicate-imports': ['error', { allowSeparateTypeImports: true }],
|
|
96
90
|
// Documentation (#62). `jsdoc/require-jsdoc` is deliberately absent — see the
|
|
97
91
|
// note in eslint-flat-config.mjs. These three check docblocks that exist and
|
|
98
92
|
// fix only inside them; they never fabricate one.
|
|
@@ -26,14 +26,8 @@
|
|
|
26
26
|
"sonarjs/cognitive-complexity": ["warn", 30],
|
|
27
27
|
"sonarjs/no-duplicate-string": ["warn", { "threshold": 3 }],
|
|
28
28
|
"sonarjs/no-identical-functions": "warn",
|
|
29
|
-
"import/
|
|
30
|
-
|
|
31
|
-
{
|
|
32
|
-
"groups": ["builtin", "external", "internal", "parent", "sibling", "index"],
|
|
33
|
-
"alphabetize": { "order": "asc", "caseInsensitive": true }
|
|
34
|
-
}
|
|
35
|
-
],
|
|
36
|
-
"import/no-duplicates": "error",
|
|
29
|
+
"simple-import-sort/imports": "warn",
|
|
30
|
+
"no-duplicate-imports": ["error", { "allowSeparateTypeImports": true }],
|
|
37
31
|
"jsdoc/check-param-names": "warn",
|
|
38
32
|
"jsdoc/check-tag-names": "warn",
|
|
39
33
|
"jsdoc/check-types": "warn",
|