pr-checkmate 1.23.20 → 1.23.22

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 CHANGED
@@ -70,13 +70,15 @@ module.exports = {
70
70
  'space-before-function-paren': 'off',
71
71
  'operator-linebreak': 'off',
72
72
  'max-len': ['warn', { code: 100 }],
73
- semi: ['error', 'always'],
74
- quotes: ['error', 'single', { avoidEscape: true }],
75
- 'object-curly-spacing': ['error', 'always'],
76
- 'space-infix-ops': 'error',
77
- 'keyword-spacing': ['error', { before: true, after: true }],
73
+ // Formatting is advisory — see the note above `rules` in eslint-flat-config.mjs.
74
+ // Keep these in sync with src/config/eslint-default-rules.json.
75
+ semi: ['warn', 'always'],
76
+ quotes: ['warn', 'single', { avoidEscape: true }],
77
+ 'object-curly-spacing': ['warn', 'always'],
78
+ 'space-infix-ops': 'warn',
79
+ 'keyword-spacing': ['warn', { before: true, after: true }],
78
80
  'padding-line-between-statements': [
79
- 'error',
81
+ 'warn',
80
82
  { blankLine: 'always', prev: 'block', next: '*' },
81
83
  { blankLine: 'always', prev: '*', next: 'return' },
82
84
  ],
@@ -108,7 +110,7 @@ module.exports = {
108
110
  'jsdoc/check-tag-names': 'warn',
109
111
  'jsdoc/check-types': 'warn',
110
112
  'prettier/prettier': [
111
- 'error',
113
+ 'warn',
112
114
  {
113
115
  semi: true,
114
116
  singleQuote: true,
package/LICENSE CHANGED
@@ -1,7 +1,7 @@
1
1
  PROPRIETARY SOFTWARE LICENSE
2
2
  All Rights Reserved
3
3
 
4
- Copyright (c) 2025-2026 Mybono. All Rights Reserved.
4
+ Copyright (c) 2025-2026 Artur Polishchuk. All Rights Reserved.
5
5
 
6
6
  ================================================================================
7
7
  NOTICE
@@ -9,7 +9,7 @@ NOTICE
9
9
 
10
10
  This software and its source code, documentation, data, models, and all
11
11
  associated materials (collectively, the "Software") are the confidential and
12
- proprietary property of Mybono (the "Owner").
12
+ proprietary property of Artur Polishchuk (the "Owner").
13
13
 
14
14
  NO LICENSE TO THE SOURCE CODE IS GRANTED. This is NOT open-source software.
15
15
  The source code is made available for viewing solely to persons explicitly
@@ -95,4 +95,4 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
95
95
  CONTACT
96
96
  ================================================================================
97
97
 
98
- For licensing inquiries or permission requests, contact the Owner: Mybono.
98
+ For licensing inquiries or permission requests, contact the Owner: Artur Polishchuk.
package/README.md CHANGED
@@ -3,16 +3,18 @@
3
3
  [![npm](https://img.shields.io/npm/v/pr-checkmate?label=npm&color=CB3837&logo=npm&logoColor=white)](https://www.npmjs.com/package/pr-checkmate)
4
4
  [![Downloads](https://img.shields.io/npm/dm/pr-checkmate?color=blue)](https://www.npmjs.com/package/pr-checkmate)
5
5
  ![License](https://img.shields.io/badge/license-Proprietary-lightgrey)
6
+ [![Security scan](https://img.shields.io/badge/security-SBOM_%2B_VirusTotal-2ea44f)](https://github.com/Mybono/pr_checkmate_public/releases/latest)
6
7
  ![ESLint](https://img.shields.io/badge/ESLint-10-4B32C3?logo=eslint&logoColor=white)
7
8
  ![Prettier](https://img.shields.io/badge/Prettier-3-F7B93E?logo=prettier&logoColor=white)
8
9
  ![TypeScript](https://img.shields.io/badge/TypeScript-6-3178C6?logo=typescript&logoColor=white)
9
10
  ![cspell](https://img.shields.io/badge/cspell-10-4285F4)
10
11
  ![jscpd](https://img.shields.io/badge/jscpd-5-blue)
11
12
  [![API Docs](https://img.shields.io/badge/API_docs-TypeDoc-9600FF?logo=readthedocs&logoColor=white)](https://pr-checkmate-docs.pages.dev)
12
- [![Security scan](https://img.shields.io/badge/security-SBOM_%2B_VirusTotal-2ea44f)](https://github.com/Mybono/pr_checkmate_public/releases/latest)
13
13
 
14
- > PR CheckMate is a universal PR quality checker: one `npm install`, 51 checks across
15
- > 11 languages, running in CI on every pull request. The bundled languages need no
14
+ > PR CheckMate is a security-first PR gate: secret scanning, dependency
15
+ > vulnerability checks, and a signed SBOM + independent VirusTotal scan on
16
+ > every release — plus 51 code-quality checks across 11 languages bundled in
17
+ > for free, running in CI on every pull request. The bundled languages need no
16
18
  > per-language toolchain setup.
17
19
 
18
20
  Every release is published with a CycloneDX SBOM and an independent
@@ -22,21 +24,47 @@ of the exact npm tarball, attached to that version's
22
24
 
23
25
  ## Why PR CheckMate
24
26
 
25
- Most teams wire up linters and formatters separately in every repo. PR CheckMate ships
26
- them pre-bundled. You add one step to a GitHub Actions workflow and the checks run on
27
- every PR.
27
+ Most teams wire up a different tool for each concern, in every repo, per language:
28
+ ESLint or Ruff or SwiftLint for lint, Prettier or `gofmt` or `rustfmt` for format,
29
+ gitleaks for secrets, `npm audit` or grype for dependency risk — each with its own
30
+ install step, its own config file, its own version to keep pinned. PR CheckMate
31
+ replaces that whole stack with one npm package and one `pr-checkmate.json`: lint,
32
+ format, type-check, secret scanning, dependency risk, and SBOM/VirusTotal-verified
33
+ releases, for all 11 supported languages, configured in one place instead of stitched
34
+ together tool by tool, language by language. You add one step to a GitHub Actions
35
+ workflow and everything runs on every PR.
36
+
37
+ - Secret scanning on every diff. gitleaks runs on every PR, bundled, no setup.
38
+ - Verifiable releases. Every version ships a CycloneDX SBOM and an independent
39
+ VirusTotal scan of the exact published tarball, attached to the GitHub release.
40
+ - Dependency risk visibility. License compliance, `npm audit`, and osv-scanner/grype
41
+ vulnerability scans.
42
+
43
+ Also included, bundled the same way:
28
44
 
29
45
  - One package, any stack. Language is auto-detected from the repo.
30
46
  - Bundled tooling. ESLint, Prettier, Ruff, clang-format, and gitleaks run inside the
31
47
  package (WASM/JS), so clients install nothing for those languages.
32
- - Delta mode. In a PR only the changed files are checked; a full-project scan is the
33
- fallback outside PR context.
48
+ - Delta mode. A PR run checks only the changed files; outside CI the default is every tracked
49
+ file. `--full` forces that anywhere, and a run that cannot resolve its base falls back to it.
34
50
  - Parallel phases. Checks run concurrently within each phase: blocking, then
35
51
  informational, then format.
36
52
  - Reports in the PR. Results post as a single comment that updates in place, and
37
53
  formatter fixes are committed back to the branch.
38
54
  - Tunable. Any check can be re-scoped, downgraded, or disabled in `pr-checkmate.json`.
39
55
 
56
+ ## Security & Supply Chain
57
+
58
+ - Secret scanning. gitleaks runs on every diff, bundled, no setup.
59
+ - Verifiable releases. Every version ships a CycloneDX SBOM and an independent
60
+ [VirusTotal scan](https://github.com/Mybono/pr_checkmate_public/releases/latest) of
61
+ the exact published npm tarball, attached to that version's GitHub release notes.
62
+ - Dependency risk. License compliance, `npm audit`, a cross-language vulnerability scan
63
+ (osv-scanner, opt-in), and a direct-dependency vulnerability scan (grype, on by
64
+ default).
65
+ - CI/CD hardening. GitHub Actions workflow and Dockerfile security checks run as part
66
+ of the universal git-diff checks below.
67
+
40
68
  ## Language Support
41
69
 
42
70
  Bundled languages need nothing on the runner. Runner-dependency languages need their
@@ -79,6 +107,24 @@ Run all checks:
79
107
  npx pr-checkmate all
80
108
  ```
81
109
 
110
+ Scope depends on where the command runs. In CI it reviews the pull request diff, taking the
111
+ base SHA from the GitHub `pull_request` event or Bitbucket's destination branch; a CI build
112
+ with no PR attached falls back to `HEAD^`. Locally, with no CI environment detected, it
113
+ reviews every tracked file. It used to fall back to `HEAD^` there too, so a local run saw
114
+ only the last commit and would report a clean project with a `debugger` committed the day
115
+ before. `--full` forces the whole-repo review anywhere, including inside a CI build, and it
116
+ composes with any command:
117
+
118
+ ```bash
119
+ npx pr-checkmate all --full
120
+ npx pr-checkmate lint --full
121
+ ```
122
+
123
+ The 16 checks that only make sense on a diff (PR Size, Diff Security, Merge Conflict, Custom
124
+ Rules, Banned Imports, the git-diff family) drop out of the report on a full scan. The
125
+ [per-check reference](https://github.com/Mybono/pr_checkmate_public/blob/main/documentation/checks/INDEX.md)
126
+ spells out the rules under "Review scope".
127
+
82
128
  ### Running in CI without installing
83
129
 
84
130
  Plenty of repos never add pr-checkmate to `package.json` and call it on the fly in CI
@@ -221,4 +267,6 @@ affect it.
221
267
 
222
268
  ## License
223
269
 
224
- LicenseRef Proprietary © 2025
270
+ LicenseRef Proprietary © 2025-2026 Artur Polishchuk. Free to install and run via the
271
+ published npm package (see [LICENSE](LICENSE) for the exact grant); the source is not
272
+ open-source and is not licensed for copying, modification, or redistribution.