pr-checkmate 1.23.23 → 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 (101) hide show
  1. package/README.md +68 -15
  2. package/cspell.json +3 -8
  3. package/dist/cli.js +37 -62
  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 +8 -0
  25. package/dist/core/checks/languages/shellcheck.js +55 -0
  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/symlinks.d.ts +16 -0
  36. package/dist/core/checks/quality/symlinks.js +62 -0
  37. package/dist/core/checks/quality/yaml-lint.js +22 -9
  38. package/dist/core/checks/security/diff-security.js +111 -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/registry.js +4 -0
  59. package/dist/core/reporters.d.ts +13 -2
  60. package/dist/core/reporters.js +145 -104
  61. package/dist/core/run-checks.js +91 -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 +204 -262
  66. package/dist/interfaces/index.d.ts +130 -0
  67. package/dist/scripts/generate-install-manifests.d.ts +39 -0
  68. package/dist/scripts/generate-install-manifests.js +121 -0
  69. package/dist/scripts/publish-github.js +18 -4
  70. package/dist/utils/detect-language.d.ts +37 -4
  71. package/dist/utils/detect-language.js +113 -19
  72. package/dist/utils/http.d.ts +59 -0
  73. package/dist/utils/http.js +119 -0
  74. package/dist/utils/logger.d.ts +52 -6
  75. package/dist/utils/logger.js +125 -33
  76. package/dist/utils/pool.d.ts +49 -0
  77. package/dist/utils/pool.js +124 -0
  78. package/dist/utils/update-notifier.d.ts +9 -0
  79. package/dist/utils/update-notifier.js +57 -3
  80. package/eslint.config.mjs +14 -2
  81. package/install-manifests/commitlint/package-lock.json +1028 -0
  82. package/install-manifests/commitlint/package.json +9 -0
  83. package/install-manifests/core/package-lock.json +1335 -0
  84. package/install-manifests/core/package.json +11 -0
  85. package/install-manifests/cpp/package-lock.json +29 -0
  86. package/install-manifests/cpp/package.json +8 -0
  87. package/install-manifests/duplicate/package-lock.json +113 -0
  88. package/install-manifests/duplicate/package.json +8 -0
  89. package/install-manifests/js/package-lock.json +5099 -0
  90. package/install-manifests/js/package.json +26 -0
  91. package/install-manifests/markdown/package-lock.json +1281 -0
  92. package/install-manifests/markdown/package.json +8 -0
  93. package/install-manifests/python/package-lock.json +21 -0
  94. package/install-manifests/python/package.json +8 -0
  95. package/install-manifests/spellcheck/package-lock.json +1047 -0
  96. package/install-manifests/spellcheck/package.json +8 -0
  97. package/package.json +13 -28
  98. package/pr-checkmate.schema.json +1070 -96
  99. package/src/config/cspell.json +3 -8
  100. package/src/config/pr-checkmate-workflow.yml +33 -327
  101. package/src/config/pr-checkmate.schema.json +1070 -96
@@ -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.23",
3
+ "version": "2.0.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",
@@ -37,24 +37,27 @@
37
37
  "pr-checkmate.schema.json",
38
38
  ".markdownlint.json",
39
39
  "gitleaks.toml",
40
- "LICENSE"
40
+ "LICENSE",
41
+ "install-manifests"
41
42
  ],
42
43
  "scripts": {
43
44
  "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",
45
+ "build": "npm run clean && npm run copy-configs && npm run manifests && tsc -p tsconfig.build.json && npm run fix-shebang",
45
46
  "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
47
  "check": "npm run build && npm run lint && npm run prettier && npm run spellcheck",
47
48
  "prepublishOnly": "npm run build",
48
- "lint": "eslint \"src/**/*.{ts,tsx}\" --fix",
49
- "prettier": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\"",
49
+ "lint": "eslint \"src/**/*.{ts,tsx}\" \"tests/**/*.{ts,tsx}\" --fix",
50
+ "prettier": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\" \"tests/**/*.{ts,tsx}\"",
50
51
  "spellcheck": "cspell '**/*.{ts,tsx,js,jsx,md,json}' --no-progress",
51
52
  "docs": "typedoc",
52
53
  "scan:secrets": "gitleaks-secret-scanner --diff-mode ci --html-report gitleaks-report.html",
53
- "test": "node --require ts-node/register --test \"src/**/*.test.ts\"",
54
+ "test": "node --require ts-node/register --test --test-timeout=60000 --test-concurrency=1 \"tests/**/*.test.ts\"",
55
+ "test:ci": "bash scripts/test-per-file.sh",
54
56
  "verify:tarball": "bash scripts/verify-tarball.sh",
55
57
  "security-scan": "npx pr-checkmate security",
56
58
  "clean": "rm -rf dist",
57
- "release": "standard-version"
59
+ "release": "standard-version",
60
+ "manifests": "ts-node src/scripts/generate-install-manifests.ts"
58
61
  },
59
62
  "engines": {
60
63
  "node": ">=20.0.0",
@@ -74,11 +77,6 @@
74
77
  "@astral-sh/ruff-wasm-nodejs": "^0.15.20",
75
78
  "@commitlint/cli": "^21.2.0",
76
79
  "@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
80
  "@types/node": "^26.1.0",
83
81
  "@typescript-eslint/eslint-plugin": "^8.62.1",
84
82
  "@typescript-eslint/parser": "^8.62.1",
@@ -111,21 +109,8 @@
111
109
  "typedoc": "^0.28.20"
112
110
  },
113
111
  "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"
112
+ "dpdm": {
113
+ "typescript": "$typescript"
114
+ }
130
115
  }
131
116
  }