pr-checkmate 1.23.24 → 2.1.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 (105) hide show
  1. package/README.md +89 -13
  2. package/cspell.json +11 -9
  3. package/dist/cli.js +37 -64
  4. package/dist/config/constants.d.ts +51 -3
  5. package/dist/config/constants.js +73 -11
  6. package/dist/config/pr-checkmate-workflow-docker.yml +79 -0
  7. package/dist/config/pr-checkmate-workflow.yml +65 -326
  8. package/dist/core/checks/dependencies/banned-imports.js +23 -24
  9. package/dist/core/checks/dependencies/circular-deps.js +1 -0
  10. package/dist/core/checks/dependencies/dependency-check.js +1 -0
  11. package/dist/core/checks/dependencies/grype-scan.js +1 -0
  12. package/dist/core/checks/dependencies/npm-audit.js +6 -1
  13. package/dist/core/checks/dependencies/vuln-scan.js +1 -0
  14. package/dist/core/checks/findings.d.ts +198 -19
  15. package/dist/core/checks/findings.js +474 -22
  16. package/dist/core/checks/git/custom-rules.js +21 -16
  17. package/dist/core/checks/git/diff-smell.d.ts +17 -0
  18. package/dist/core/checks/git/diff-smell.js +43 -24
  19. package/dist/core/checks/git/large-files.js +14 -2
  20. package/dist/core/checks/git/leftover-debug.js +23 -14
  21. package/dist/core/checks/git/lockfile-drift.js +2 -1
  22. package/dist/core/checks/git/merge-conflict.js +19 -8
  23. package/dist/core/checks/git/missing-tests.js +22 -6
  24. package/dist/core/checks/git/todo-fixme.js +10 -9
  25. package/dist/core/checks/languages/shellcheck.d.ts +1 -1
  26. package/dist/core/checks/languages/shellcheck.js +1 -1
  27. package/dist/core/checks/languages/typecheck.js +1 -0
  28. package/dist/core/checks/pr/pr-size-check.js +2 -1
  29. package/dist/core/checks/quality/config-validation.d.ts +14 -4
  30. package/dist/core/checks/quality/config-validation.js +119 -17
  31. package/dist/core/checks/quality/dead-code.js +1 -0
  32. package/dist/core/checks/quality/duplicate-check.js +1 -0
  33. package/dist/core/checks/quality/license-header.js +12 -2
  34. package/dist/core/checks/quality/markdown-lint.js +7 -2
  35. package/dist/core/checks/quality/spellcheck.d.ts +50 -0
  36. package/dist/core/checks/quality/spellcheck.js +141 -13
  37. package/dist/core/checks/quality/yaml-lint.js +22 -9
  38. package/dist/core/checks/security/diff-security.js +115 -28
  39. package/dist/core/checks/security/dockerfile-security.js +23 -20
  40. package/dist/core/checks/security/migration-safety.js +19 -17
  41. package/dist/core/checks/security/sensitive-file-guard.js +37 -5
  42. package/dist/core/checks/security/workflow-security.d.ts +10 -0
  43. package/dist/core/checks/security/workflow-security.js +48 -26
  44. package/dist/core/commands.d.ts +27 -0
  45. package/dist/core/commands.js +91 -0
  46. package/dist/core/context.d.ts +12 -3
  47. package/dist/core/context.js +118 -16
  48. package/dist/core/install/cache.d.ts +39 -0
  49. package/dist/core/install/cache.js +99 -0
  50. package/dist/core/install/doctor.d.ts +35 -0
  51. package/dist/core/install/doctor.js +145 -0
  52. package/dist/core/install/ensure.d.ts +60 -0
  53. package/dist/core/install/ensure.js +169 -0
  54. package/dist/core/install/lock.d.ts +33 -0
  55. package/dist/core/install/lock.js +99 -0
  56. package/dist/core/install/profiles.d.ts +64 -0
  57. package/dist/core/install/profiles.js +170 -0
  58. package/dist/core/reporters.d.ts +13 -2
  59. package/dist/core/reporters.js +145 -104
  60. package/dist/core/run-checks.d.ts +25 -1
  61. package/dist/core/run-checks.js +124 -14
  62. package/dist/core/targets.js +26 -4
  63. package/dist/core/types.d.ts +49 -1
  64. package/dist/init.d.ts +29 -14
  65. package/dist/init.js +284 -263
  66. package/dist/interfaces/index.d.ts +120 -0
  67. package/dist/scripts/copy-configs.js +4 -0
  68. package/dist/scripts/generate-install-manifests.d.ts +39 -0
  69. package/dist/scripts/generate-install-manifests.js +121 -0
  70. package/dist/scripts/publish-github.js +18 -4
  71. package/dist/utils/detect-language.d.ts +37 -4
  72. package/dist/utils/detect-language.js +113 -19
  73. package/dist/utils/http.d.ts +59 -0
  74. package/dist/utils/http.js +119 -0
  75. package/dist/utils/logger.d.ts +52 -6
  76. package/dist/utils/logger.js +125 -33
  77. package/dist/utils/pool.d.ts +49 -0
  78. package/dist/utils/pool.js +124 -0
  79. package/dist/utils/update-notifier.d.ts +9 -0
  80. package/dist/utils/update-notifier.js +57 -3
  81. package/eslint-default-rules.json +1 -1
  82. package/eslint.config.mjs +14 -2
  83. package/install-manifests/commitlint/package-lock.json +1028 -0
  84. package/install-manifests/commitlint/package.json +9 -0
  85. package/install-manifests/core/package-lock.json +1335 -0
  86. package/install-manifests/core/package.json +11 -0
  87. package/install-manifests/cpp/package-lock.json +29 -0
  88. package/install-manifests/cpp/package.json +8 -0
  89. package/install-manifests/duplicate/package-lock.json +113 -0
  90. package/install-manifests/duplicate/package.json +8 -0
  91. package/install-manifests/js/package-lock.json +5099 -0
  92. package/install-manifests/js/package.json +26 -0
  93. package/install-manifests/markdown/package-lock.json +1281 -0
  94. package/install-manifests/markdown/package.json +8 -0
  95. package/install-manifests/python/package-lock.json +21 -0
  96. package/install-manifests/python/package.json +8 -0
  97. package/install-manifests/spellcheck/package-lock.json +1047 -0
  98. package/install-manifests/spellcheck/package.json +8 -0
  99. package/package.json +14 -28
  100. package/pr-checkmate.schema.json +1062 -104
  101. package/src/config/cspell.json +11 -9
  102. package/src/config/eslint-default-rules.json +1 -1
  103. package/src/config/pr-checkmate-workflow-docker.yml +79 -0
  104. package/src/config/pr-checkmate-workflow.yml +65 -326
  105. package/src/config/pr-checkmate.schema.json +1062 -104
@@ -0,0 +1,8 @@
1
+ {
2
+ "name": "pr-checkmate-profile-spellcheck",
3
+ "version": "1.0.0",
4
+ "dependencies": {
5
+ "cspell": "10.0.1"
6
+ },
7
+ "private": true
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pr-checkmate",
3
- "version": "1.23.24",
3
+ "version": "2.1.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",
@@ -34,27 +34,31 @@
34
34
  ".prettierrc",
35
35
  "cspell.json",
36
36
  "src/config/pr-checkmate-workflow.yml",
37
+ "src/config/pr-checkmate-workflow-docker.yml",
37
38
  "pr-checkmate.schema.json",
38
39
  ".markdownlint.json",
39
40
  "gitleaks.toml",
40
- "LICENSE"
41
+ "LICENSE",
42
+ "install-manifests"
41
43
  ],
42
44
  "scripts": {
43
45
  "copy-configs": "ts-node src/scripts/copy-configs.ts",
44
- "build": "npm run clean && npm run copy-configs && tsc -p tsconfig.build.json && npm run fix-shebang",
46
+ "build": "npm run clean && npm run copy-configs && npm run manifests && tsc -p tsconfig.build.json && npm run fix-shebang",
45
47
  "fix-shebang": "node -e \"const fs=require('fs'); const path='dist/cli.js'; let content=fs.readFileSync(path,'utf8'); if(!content.startsWith('#!')){content='#!/usr/bin/env node\\n'+content; fs.writeFileSync(path,content);} fs.chmodSync(path,'755');\"",
46
48
  "check": "npm run build && npm run lint && npm run prettier && npm run spellcheck",
47
49
  "prepublishOnly": "npm run build",
48
- "lint": "eslint \"src/**/*.{ts,tsx}\" --fix",
49
- "prettier": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"",
50
+ "lint": "eslint \"src/**/*.{ts,tsx}\" \"tests/**/*.{ts,tsx}\" --fix",
51
+ "prettier": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\" \"tests/**/*.{ts,tsx}\"",
50
52
  "spellcheck": "cspell '**/*.{ts,tsx,js,jsx,md,json}' --no-progress",
51
53
  "docs": "typedoc",
52
54
  "scan:secrets": "gitleaks-secret-scanner --diff-mode ci --html-report gitleaks-report.html",
53
- "test": "node --require ts-node/register --test \"src/**/*.test.ts\"",
55
+ "test": "node --require ts-node/register --test --test-timeout=60000 --test-concurrency=1 \"tests/**/*.test.ts\"",
56
+ "test:ci": "bash scripts/test-per-file.sh",
54
57
  "verify:tarball": "bash scripts/verify-tarball.sh",
55
58
  "security-scan": "npx pr-checkmate security",
56
59
  "clean": "rm -rf dist",
57
- "release": "standard-version"
60
+ "release": "standard-version",
61
+ "manifests": "ts-node src/scripts/generate-install-manifests.ts"
58
62
  },
59
63
  "engines": {
60
64
  "node": ">=20.0.0",
@@ -74,11 +78,6 @@
74
78
  "@astral-sh/ruff-wasm-nodejs": "^0.15.20",
75
79
  "@commitlint/cli": "^21.2.0",
76
80
  "@commitlint/config-conventional": "^21.2.0",
77
- "@cspell/dict-es-es": "^3.0.8",
78
- "@cspell/dict-fr-fr": "^2.2.2",
79
- "@cspell/dict-he": "^4.0.2",
80
- "@cspell/dict-ru_ru": "^2.2.1",
81
- "@cspell/dict-uk-ua": "^4.0.0",
82
81
  "@types/node": "^26.1.0",
83
82
  "@typescript-eslint/eslint-plugin": "^8.62.1",
84
83
  "@typescript-eslint/parser": "^8.62.1",
@@ -111,21 +110,8 @@
111
110
  "typedoc": "^0.28.20"
112
111
  },
113
112
  "overrides": {
114
- "markdownlint-cli2": {
115
- "js-yaml": "5.2.2"
116
- },
117
- "cosmiconfig": {
118
- "js-yaml": "4.3.0"
119
- },
120
- "tar": "7.5.22",
121
- "axios": "1.18.1",
122
- "form-data": "4.0.6",
123
- "brace-expansion": "5.0.9",
124
- "fast-uri": "4.1.2",
125
- "follow-redirects": "1.16.0",
126
- "lodash": "4.18.1",
127
- "minimatch": "10.2.5",
128
- "postcss": "8.5.23",
129
- "handlebars": "4.7.9"
113
+ "dpdm": {
114
+ "typescript": "$typescript"
115
+ }
130
116
  }
131
117
  }