pr-checkmate 2.1.2 → 3.0.1
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/README.md +63 -268
- package/cspell.json +470 -447
- package/dist/cli.js +1 -1
- package/dist/config/constants.d.ts +6 -1
- package/dist/config/constants.js +9 -7
- package/dist/config/index.d.ts +23 -11
- package/dist/config/index.js +27 -33
- package/dist/core/checks/dependencies/banned-imports.js +4 -1
- package/dist/core/checks/dependencies/circular-deps.js +14 -5
- package/dist/core/checks/dependencies/dependency-check.js +1 -1
- package/dist/core/checks/dependencies/grype-scan.js +2 -1
- package/dist/core/checks/dependencies/vuln-scan.js +2 -1
- package/dist/core/checks/findings.d.ts +46 -2
- package/dist/core/checks/findings.js +140 -2
- package/dist/core/checks/git/custom-rules.js +2 -0
- package/dist/core/checks/git/diff-smell.js +6 -1
- package/dist/core/checks/git/leftover-debug.js +8 -2
- package/dist/core/checks/git/lockfile-drift.js +6 -1
- package/dist/core/checks/git/merge-conflict.js +1 -1
- package/dist/core/checks/git/missing-tests.js +1 -1
- package/dist/core/checks/git/todo-fixme.js +10 -2
- package/dist/core/checks/languages/cpp-format.js +19 -42
- package/dist/core/checks/languages/external-checks.d.ts +77 -0
- package/dist/core/checks/languages/external-checks.js +200 -0
- package/dist/core/checks/languages/external-runner.d.ts +119 -0
- package/dist/core/checks/languages/external-runner.js +143 -0
- package/dist/core/checks/languages/go-format.d.ts +4 -4
- package/dist/core/checks/languages/go-format.js +151 -30
- package/dist/core/checks/languages/lint.js +19 -19
- package/dist/core/checks/languages/prettier.js +2 -7
- package/dist/core/checks/languages/python-typecheck.d.ts +10 -5
- package/dist/core/checks/languages/python-typecheck.js +161 -37
- package/dist/core/checks/languages/ruff-shared.d.ts +3 -3
- package/dist/core/checks/languages/ruff-shared.js +27 -4
- package/dist/core/checks/languages/typecheck.js +10 -8
- package/dist/core/checks/pr/commitlint.js +7 -1
- package/dist/core/checks/quality/case-collision.js +6 -4
- package/dist/core/checks/quality/config-validation.d.ts +0 -7
- package/dist/core/checks/quality/config-validation.js +30 -0
- package/dist/core/checks/quality/coverage.js +6 -1
- package/dist/core/checks/quality/dead-code.js +12 -3
- package/dist/core/checks/quality/duplicate-check.js +54 -27
- package/dist/core/checks/quality/license-header.js +7 -4
- package/dist/core/checks/quality/markdown-lint.js +1 -6
- package/dist/core/checks/quality/package-size.d.ts +15 -0
- package/dist/core/checks/quality/package-size.js +130 -0
- package/dist/core/checks/quality/spellcheck.js +34 -5
- package/dist/core/checks/quality/symlinks.js +6 -4
- package/dist/core/checks/security/diff-security.js +26 -18
- package/dist/core/checks/security/dockerfile-security.js +7 -1
- package/dist/core/checks/security/migration-safety.js +32 -4
- package/dist/core/checks/security/security.d.ts +56 -0
- package/dist/core/checks/security/security.js +135 -11
- package/dist/core/checks/security/sensitive-file-guard.js +40 -6
- package/dist/core/checks/security/workflow-security.js +7 -1
- package/dist/core/checks/tool-install.d.ts +102 -0
- package/dist/core/checks/tool-install.js +69 -0
- package/dist/core/commands.js +1 -0
- package/dist/core/context.js +9 -1
- package/dist/core/install/cache.d.ts +20 -1
- package/dist/core/install/cache.js +65 -12
- package/dist/core/install/doctor.js +49 -15
- package/dist/core/install/ensure.d.ts +31 -14
- package/dist/core/install/ensure.js +165 -61
- package/dist/core/install/lock.d.ts +2 -1
- package/dist/core/install/merge.d.ts +47 -0
- package/dist/core/install/merge.js +91 -0
- package/dist/core/install/prepare.d.ts +76 -0
- package/dist/core/install/prepare.js +147 -0
- package/dist/core/install/profiles.d.ts +17 -3
- package/dist/core/install/profiles.js +27 -0
- package/dist/core/install/reuse.d.ts +41 -0
- package/dist/core/install/reuse.js +107 -0
- package/dist/core/registry.js +12 -18
- package/dist/core/run-checks.js +74 -3
- package/dist/core/targets.d.ts +116 -5
- package/dist/core/targets.js +101 -16
- package/dist/core/types.d.ts +8 -2
- package/dist/init.js +21 -1
- package/dist/interfaces/index.d.ts +6 -0
- package/dist/utils/resolve-bin.d.ts +56 -6
- package/dist/utils/resolve-bin.js +136 -26
- package/gitleaks.toml +14 -0
- package/install-manifests/commitlint/package-lock.json +128 -250
- package/install-manifests/commitlint/package.json +2 -2
- package/install-manifests/core/package-lock.json +76 -76
- package/install-manifests/core/package.json +1 -1
- package/install-manifests/duplicate/package-lock.json +45 -45
- package/install-manifests/duplicate/package.json +1 -1
- package/install-manifests/go/package-lock.json +24 -0
- package/install-manifests/go/package.json +8 -0
- package/install-manifests/js/package-lock.json +248 -283
- package/install-manifests/js/package.json +9 -9
- package/install-manifests/python/package-lock.json +4 -4
- package/install-manifests/python/package.json +1 -1
- package/install-manifests/pytypes/package-lock.json +45 -0
- package/install-manifests/pytypes/package.json +8 -0
- package/package.json +21 -19
- package/pr-checkmate.schema.json +41 -13
- package/src/config/cspell.json +470 -447
- package/src/config/pr-checkmate.schema.json +41 -13
- package/dist/core/checks/languages/csharp-format.d.ts +0 -13
- package/dist/core/checks/languages/csharp-format.js +0 -52
- package/dist/core/checks/languages/go-lint.d.ts +0 -8
- package/dist/core/checks/languages/go-lint.js +0 -48
- package/dist/core/checks/languages/kotlin-lint.d.ts +0 -2
- package/dist/core/checks/languages/kotlin-lint.js +0 -42
- package/dist/core/checks/languages/php-format.d.ts +0 -9
- package/dist/core/checks/languages/php-format.js +0 -49
- package/dist/core/checks/languages/ruby-lint.d.ts +0 -8
- package/dist/core/checks/languages/ruby-lint.js +0 -50
- package/dist/core/checks/languages/rust-format.d.ts +0 -9
- package/dist/core/checks/languages/rust-format.js +0 -45
- package/dist/core/checks/languages/rust-lint.d.ts +0 -8
- package/dist/core/checks/languages/rust-lint.js +0 -50
- package/dist/core/checks/languages/shellcheck.d.ts +0 -8
- package/dist/core/checks/languages/shellcheck.js +0 -55
- package/dist/core/checks/languages/swift-lint.d.ts +0 -2
- package/dist/core/checks/languages/swift-lint.js +0 -46
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
"version": "1.0.0",
|
|
4
4
|
"dependencies": {
|
|
5
5
|
"typescript": "6.0.3",
|
|
6
|
-
"eslint": "10.
|
|
6
|
+
"eslint": "10.8.1",
|
|
7
7
|
"eslint-config-prettier": "10.1.8",
|
|
8
8
|
"eslint-plugin-import-x": "4.17.1",
|
|
9
|
-
"eslint-plugin-jsdoc": "
|
|
10
|
-
"eslint-plugin-prettier": "5.5.
|
|
11
|
-
"eslint-plugin-sonarjs": "4.
|
|
12
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
13
|
-
"@typescript-eslint/parser": "8.
|
|
14
|
-
"prettier": "3.
|
|
15
|
-
"dpdm": "4.
|
|
16
|
-
"knip": "6.
|
|
9
|
+
"eslint-plugin-jsdoc": "64.2.1",
|
|
10
|
+
"eslint-plugin-prettier": "5.5.6",
|
|
11
|
+
"eslint-plugin-sonarjs": "4.2.0",
|
|
12
|
+
"@typescript-eslint/eslint-plugin": "8.67.0",
|
|
13
|
+
"@typescript-eslint/parser": "8.67.0",
|
|
14
|
+
"prettier": "3.9.6",
|
|
15
|
+
"dpdm": "4.3.0",
|
|
16
|
+
"knip": "6.32.2",
|
|
17
17
|
"ts-unused-exports": "11.0.1",
|
|
18
18
|
"license-checker-rseidelsohn": "5.0.1"
|
|
19
19
|
},
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
"name": "pr-checkmate-profile-python",
|
|
9
9
|
"version": "1.0.0",
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@astral-sh/ruff-wasm-nodejs": "0.
|
|
11
|
+
"@astral-sh/ruff-wasm-nodejs": "0.16.3"
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"node_modules/@astral-sh/ruff-wasm-nodejs": {
|
|
15
|
-
"version": "0.
|
|
16
|
-
"resolved": "https://registry.npmjs.org/@astral-sh/ruff-wasm-nodejs/-/ruff-wasm-nodejs-0.
|
|
17
|
-
"integrity": "sha512-
|
|
15
|
+
"version": "0.16.3",
|
|
16
|
+
"resolved": "https://registry.npmjs.org/@astral-sh/ruff-wasm-nodejs/-/ruff-wasm-nodejs-0.16.3.tgz",
|
|
17
|
+
"integrity": "sha512-3mYx2a04I0/ekpwCqEKkqa/V7dBFDTrFpFh/BgG3jiqkCmUScY/1HXxifMrqP9NdRrtlTxxD200H8aiQvrfjGw==",
|
|
18
18
|
"license": "MIT"
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "pr-checkmate-profile-pytypes",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"lockfileVersion": 3,
|
|
5
|
+
"requires": true,
|
|
6
|
+
"packages": {
|
|
7
|
+
"": {
|
|
8
|
+
"name": "pr-checkmate-profile-pytypes",
|
|
9
|
+
"version": "1.0.0",
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"pyright": "1.1.413"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"node_modules/fsevents": {
|
|
15
|
+
"version": "2.3.3",
|
|
16
|
+
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
|
|
17
|
+
"integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
|
|
18
|
+
"hasInstallScript": true,
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"optional": true,
|
|
21
|
+
"os": [
|
|
22
|
+
"darwin"
|
|
23
|
+
],
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"node_modules/pyright": {
|
|
29
|
+
"version": "1.1.413",
|
|
30
|
+
"resolved": "https://registry.npmjs.org/pyright/-/pyright-1.1.413.tgz",
|
|
31
|
+
"integrity": "sha512-1lpxKrh0DHHpfAQOfciZo2ojua2jase3wwO9at8kldc+F/p1PBscxA5CQ3G1qg5lMOMhXo6ZaiMLMXEAqADIAg==",
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"bin": {
|
|
34
|
+
"pyright": "index.js",
|
|
35
|
+
"pyright-langserver": "langserver.index.js"
|
|
36
|
+
},
|
|
37
|
+
"engines": {
|
|
38
|
+
"node": ">=14.0.0"
|
|
39
|
+
},
|
|
40
|
+
"optionalDependencies": {
|
|
41
|
+
"fsevents": "~2.3.3"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pr-checkmate",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.1",
|
|
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",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"spellcheck": "cspell '**/*.{ts,tsx,js,jsx,md,json}' --no-progress",
|
|
53
53
|
"docs": "typedoc",
|
|
54
54
|
"scan:secrets": "gitleaks-secret-scanner --diff-mode ci --html-report gitleaks-report.html",
|
|
55
|
-
"test": "node --require ts-node/register --test --test-timeout=60000
|
|
55
|
+
"test": "node --require ts-node/register --test --test-timeout=60000 \"tests/**/*.test.ts\"",
|
|
56
56
|
"test:ci": "bash scripts/test-per-file.sh",
|
|
57
57
|
"verify:tarball": "bash scripts/verify-tarball.sh",
|
|
58
58
|
"security-scan": "npx pr-checkmate security",
|
|
@@ -75,37 +75,39 @@
|
|
|
75
75
|
"author": "Artur Polishchuk",
|
|
76
76
|
"license": "SEE LICENSE IN LICENSE",
|
|
77
77
|
"dependencies": {
|
|
78
|
-
"@astral-sh/ruff-wasm-nodejs": "^0.
|
|
79
|
-
"@commitlint/cli": "^21.2.
|
|
80
|
-
"@commitlint/config-conventional": "^21.2.
|
|
81
|
-
"@types/node": "^26.
|
|
82
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
83
|
-
"@typescript-eslint/parser": "^8.
|
|
78
|
+
"@astral-sh/ruff-wasm-nodejs": "^0.16.3",
|
|
79
|
+
"@commitlint/cli": "^21.2.2",
|
|
80
|
+
"@commitlint/config-conventional": "^21.2.2",
|
|
81
|
+
"@types/node": "^26.2.0",
|
|
82
|
+
"@typescript-eslint/eslint-plugin": "^8.67.0",
|
|
83
|
+
"@typescript-eslint/parser": "^8.67.0",
|
|
84
84
|
"@wasm-fmt/clang-format": "^22.1.8",
|
|
85
|
+
"@wasm-fmt/gofmt": "^0.7.3",
|
|
85
86
|
"cspell": "^10.0.1",
|
|
86
|
-
"dpdm": "^4.
|
|
87
|
-
"eslint": "^10.
|
|
87
|
+
"dpdm": "^4.3.0",
|
|
88
|
+
"eslint": "^10.8.1",
|
|
88
89
|
"eslint-config-prettier": "^10.1.8",
|
|
89
90
|
"eslint-plugin-import-x": "^4.17.1",
|
|
90
|
-
"eslint-plugin-jsdoc": "^
|
|
91
|
-
"eslint-plugin-prettier": "^5.5.
|
|
92
|
-
"eslint-plugin-sonarjs": "^4.
|
|
91
|
+
"eslint-plugin-jsdoc": "^64.2.1",
|
|
92
|
+
"eslint-plugin-prettier": "^5.5.6",
|
|
93
|
+
"eslint-plugin-sonarjs": "^4.2.0",
|
|
93
94
|
"execa": "^9.6.0",
|
|
94
95
|
"gitleaks-secret-scanner-fixed": "^2.1.3",
|
|
95
|
-
"inquirer": "^14.0
|
|
96
|
-
"jscpd": "^5.0.
|
|
97
|
-
"knip": "^6.
|
|
96
|
+
"inquirer": "^14.1.0",
|
|
97
|
+
"jscpd": "^5.0.16",
|
|
98
|
+
"knip": "^6.32.2",
|
|
98
99
|
"license-checker-rseidelsohn": "^5.0.1",
|
|
99
100
|
"markdownlint-cli2": "^0.23.1",
|
|
100
|
-
"prettier": "
|
|
101
|
+
"prettier": "^3.9.6",
|
|
101
102
|
"ts-node": "^10.9.1",
|
|
102
103
|
"ts-unused-exports": "^11.0.1",
|
|
103
104
|
"typescript": "^6.0.3",
|
|
104
105
|
"yaml": "^2.9.0"
|
|
105
106
|
},
|
|
106
107
|
"devDependencies": {
|
|
107
|
-
"conventional-commits-filter": "^
|
|
108
|
-
"conventional-commits-parser": "^
|
|
108
|
+
"conventional-commits-filter": "^6.0.1",
|
|
109
|
+
"conventional-commits-parser": "^7.1.2",
|
|
110
|
+
"pyright": "^1.1.413",
|
|
109
111
|
"standard-version": "^9.5.0",
|
|
110
112
|
"typedoc": "^0.28.20"
|
|
111
113
|
},
|
package/pr-checkmate.schema.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"default": "."
|
|
25
25
|
},
|
|
26
26
|
"excludePaths": {
|
|
27
|
-
"description": "Files and folders no check ever looks at, as globs (\"src/generated/**\", \"vendor/legacy.ts\", \"**/*.min.js\"). Unlike ignoreDirs
|
|
27
|
+
"description": "Files and folders no check ever looks at, as globs (\"src/generated/**\", \"vendor/legacy.ts\", \"**/*.min.js\"). Unlike ignoreDirs \u2014 which matches a directory NAME on any segment \u2014 this addresses one path or one file.",
|
|
28
28
|
"type": "array",
|
|
29
29
|
"items": {
|
|
30
30
|
"type": "string"
|
|
@@ -270,7 +270,7 @@
|
|
|
270
270
|
"description": "Secret scanning (gitleaks) and npm audit."
|
|
271
271
|
},
|
|
272
272
|
"mergeConflict": {
|
|
273
|
-
"description": "Conflict markers left in a file. Blocking by default
|
|
273
|
+
"description": "Conflict markers left in a file. Blocking by default \u2014 this is breakage, not an opinion.",
|
|
274
274
|
"type": "object",
|
|
275
275
|
"properties": {
|
|
276
276
|
"enabled": {
|
|
@@ -336,7 +336,7 @@
|
|
|
336
336
|
"type": "object",
|
|
337
337
|
"properties": {
|
|
338
338
|
"ignorePaths": {
|
|
339
|
-
"description": "Globs for files this check never looks at
|
|
339
|
+
"description": "Globs for files this check never looks at \u2014 the exclusion for a single false positive (a .pem fixture). Unlike \"ignore\", it does not silence a whole category.",
|
|
340
340
|
"type": "array",
|
|
341
341
|
"items": {
|
|
342
342
|
"type": "string"
|
|
@@ -502,7 +502,7 @@
|
|
|
502
502
|
"default": true
|
|
503
503
|
}
|
|
504
504
|
},
|
|
505
|
-
"description": "Validates the pull request description
|
|
505
|
+
"description": "Validates the pull request description \u2014 minimum length, ticket reference."
|
|
506
506
|
},
|
|
507
507
|
"cpp": {
|
|
508
508
|
"$ref": "#/$defs/toggle"
|
|
@@ -573,7 +573,7 @@
|
|
|
573
573
|
"enum": ["auto", "always", "never"]
|
|
574
574
|
},
|
|
575
575
|
"onDegradedScope": {
|
|
576
|
-
"description": "What to do when a CI run wanted a diff range, could not build one, and fell back to a full scan
|
|
576
|
+
"description": "What to do when a CI run wanted a diff range, could not build one, and fell back to a full scan \u2014 which silently drops every diff-only check. Never triggers outside CI.",
|
|
577
577
|
"enum": ["warn", "error", "off"]
|
|
578
578
|
},
|
|
579
579
|
"concurrency": {
|
|
@@ -622,7 +622,7 @@
|
|
|
622
622
|
"type": "number"
|
|
623
623
|
},
|
|
624
624
|
"retries": {
|
|
625
|
-
"description": "Attempts per request for retryable failures
|
|
625
|
+
"description": "Attempts per request for retryable failures \u2014 5xx, 429, network (default 3).",
|
|
626
626
|
"type": "number"
|
|
627
627
|
},
|
|
628
628
|
"maxPages": {
|
|
@@ -654,12 +654,12 @@
|
|
|
654
654
|
}
|
|
655
655
|
},
|
|
656
656
|
"commands": {
|
|
657
|
-
"description": "Quick CLI reference written by init. Informational only
|
|
657
|
+
"description": "Quick CLI reference written by init. Informational only \u2014 ignored at runtime.",
|
|
658
658
|
"type": "object",
|
|
659
659
|
"additionalProperties": true
|
|
660
660
|
},
|
|
661
661
|
"documentation": {
|
|
662
|
-
"description": "Documentation links written by init. Informational only
|
|
662
|
+
"description": "Documentation links written by init. Informational only \u2014 ignored at runtime.",
|
|
663
663
|
"type": "object",
|
|
664
664
|
"additionalProperties": true
|
|
665
665
|
},
|
|
@@ -727,7 +727,7 @@
|
|
|
727
727
|
"default": 1
|
|
728
728
|
},
|
|
729
729
|
"reuseLocal": {
|
|
730
|
-
"description": "Reuse a tool already in the
|
|
730
|
+
"description": "Reuse a tool already present in the repository's node_modules instead of our copy. \"compatible\" (default) reuses when the major matches ours, or when the tool reads the repository's own config (a legacy .eslintrc can only be read by the ESLint that wrote it, and a tsconfig by its own compiler). \"always\" reuses across a major gap at your own risk. \"off\" always uses our pinned copy, for reproducibility.",
|
|
731
731
|
"type": "string",
|
|
732
732
|
"enum": ["compatible", "always", "off"],
|
|
733
733
|
"default": "compatible"
|
|
@@ -761,7 +761,7 @@
|
|
|
761
761
|
"default": "~/.cache/pr-checkmate"
|
|
762
762
|
},
|
|
763
763
|
"prewarm": {
|
|
764
|
-
"description": "
|
|
764
|
+
"description": "NOT IMPLEMENTED \u2014 accepted and ignored. Warming the cache would need a postinstall hook, which would run npm inside npm on every install of this package; for a supply-chain tool that is not a trade worth making. Pre-warm with \"npx pr-checkmate install --all\" instead. Documented as inert rather than quietly doing nothing.",
|
|
765
765
|
"type": "boolean",
|
|
766
766
|
"default": true
|
|
767
767
|
},
|
|
@@ -1011,7 +1011,7 @@
|
|
|
1011
1011
|
}
|
|
1012
1012
|
},
|
|
1013
1013
|
"log": {
|
|
1014
|
-
"description": "Diagnostic output
|
|
1014
|
+
"description": "Diagnostic output \u2014 the running commentary around the run, as opposed to the summary it produces.",
|
|
1015
1015
|
"type": "object",
|
|
1016
1016
|
"properties": {
|
|
1017
1017
|
"level": {
|
|
@@ -1042,6 +1042,28 @@
|
|
|
1042
1042
|
"type": "number"
|
|
1043
1043
|
}
|
|
1044
1044
|
}
|
|
1045
|
+
},
|
|
1046
|
+
"packageSize": {
|
|
1047
|
+
"description": "Growth of the published npm package since the last release. Advisory by default.",
|
|
1048
|
+
"type": "object",
|
|
1049
|
+
"additionalProperties": false,
|
|
1050
|
+
"properties": {
|
|
1051
|
+
"enabled": {
|
|
1052
|
+
"type": "boolean",
|
|
1053
|
+
"default": true
|
|
1054
|
+
},
|
|
1055
|
+
"maxGrowthPercent": {
|
|
1056
|
+
"description": "Growth above this, in percent of the previous release's unpacked size, is reported.",
|
|
1057
|
+
"type": "number",
|
|
1058
|
+
"minimum": 0,
|
|
1059
|
+
"default": 20
|
|
1060
|
+
},
|
|
1061
|
+
"compareWith": {
|
|
1062
|
+
"description": "dist-tag or version to compare against. Default \"latest\".",
|
|
1063
|
+
"type": "string",
|
|
1064
|
+
"default": "latest"
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
1045
1067
|
}
|
|
1046
1068
|
},
|
|
1047
1069
|
"$defs": {
|
|
@@ -1137,7 +1159,7 @@
|
|
|
1137
1159
|
}
|
|
1138
1160
|
},
|
|
1139
1161
|
"disablePatterns": {
|
|
1140
|
-
"description": "Built-in rules to switch off by label substring
|
|
1162
|
+
"description": "Built-in rules to switch off by label substring \u2014 the rule never runs.",
|
|
1141
1163
|
"type": "array",
|
|
1142
1164
|
"items": {
|
|
1143
1165
|
"type": "string"
|
|
@@ -1165,7 +1187,7 @@
|
|
|
1165
1187
|
"enum": ["error", "warn"]
|
|
1166
1188
|
},
|
|
1167
1189
|
"view": {
|
|
1168
|
-
"description": "\"code\" matches with string literals blanked out
|
|
1190
|
+
"description": "\"code\" matches with string literals blanked out \u2014 use it to find a call, not text inside a string.",
|
|
1169
1191
|
"enum": ["raw", "code"]
|
|
1170
1192
|
},
|
|
1171
1193
|
"flags": {
|
|
@@ -1174,6 +1196,12 @@
|
|
|
1174
1196
|
}
|
|
1175
1197
|
}
|
|
1176
1198
|
}
|
|
1199
|
+
},
|
|
1200
|
+
"dataflowWindow": {
|
|
1201
|
+
"type": "integer",
|
|
1202
|
+
"minimum": 0,
|
|
1203
|
+
"default": 10,
|
|
1204
|
+
"description": "Added lines a value stays tainted for, connecting an interpolated string assigned on one line to a query on a later line. 0 disables the cross-line heuristic. Advisory only \u2014 it has no scopes and no reassignment tracking, so it never blocks a run."
|
|
1177
1205
|
}
|
|
1178
1206
|
}
|
|
1179
1207
|
},
|