repo-contract 0.7.1 → 0.7.2
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/CHANGELOG.md +7 -0
- package/README.md +8 -0
- package/bin/templates.mjs +4 -4
- package/dist/.dts/config/define-repo-contract.d.ts +1 -0
- package/dist/.dts/config/define-repo-contract.d.ts.map +1 -1
- package/dist/.dts/errors.d.ts +21 -2
- package/dist/.dts/errors.d.ts.map +1 -1
- package/dist/.dts/helpers/exception-policy.d.ts +22 -2
- package/dist/.dts/helpers/exception-policy.d.ts.map +1 -1
- package/dist/.dts/helpers/load-exception-registry.d.ts +1 -0
- package/dist/.dts/helpers/load-exception-registry.d.ts.map +1 -1
- package/dist/.dts/helpers/reconcile-exceptions.d.ts +7 -1
- package/dist/.dts/helpers/reconcile-exceptions.d.ts.map +1 -1
- package/dist/.dts/helpers/write-exception-registry.d.ts +1 -0
- package/dist/.dts/helpers/write-exception-registry.d.ts.map +1 -1
- package/dist/.dts/policy/run-policies.d.ts.map +1 -1
- package/dist/.dts/presets/arethetypeswrong.d.ts +4 -1
- package/dist/.dts/presets/arethetypeswrong.d.ts.map +1 -1
- package/dist/.dts/presets/broken-links.d.ts +1 -0
- package/dist/.dts/presets/broken-links.d.ts.map +1 -1
- package/dist/.dts/presets/commitlint.d.ts +1 -0
- package/dist/.dts/presets/commitlint.d.ts.map +1 -1
- package/dist/.dts/presets/dead-code.d.ts +1 -0
- package/dist/.dts/presets/dead-code.d.ts.map +1 -1
- package/dist/.dts/presets/duplication.d.ts +1 -0
- package/dist/.dts/presets/duplication.d.ts.map +1 -1
- package/dist/.dts/presets/e2e.d.ts +4 -1
- package/dist/.dts/presets/e2e.d.ts.map +1 -1
- package/dist/.dts/presets/format.d.ts +4 -1
- package/dist/.dts/presets/format.d.ts.map +1 -1
- package/dist/.dts/presets/license.d.ts +4 -1
- package/dist/.dts/presets/license.d.ts.map +1 -1
- package/dist/.dts/presets/lint.d.ts +1 -0
- package/dist/.dts/presets/lint.d.ts.map +1 -1
- package/dist/.dts/presets/markdownlint.d.ts +1 -0
- package/dist/.dts/presets/markdownlint.d.ts.map +1 -1
- package/dist/.dts/presets/publint.d.ts +1 -0
- package/dist/.dts/presets/publint.d.ts.map +1 -1
- package/dist/.dts/presets/security-deps.d.ts +4 -1
- package/dist/.dts/presets/security-deps.d.ts.map +1 -1
- package/dist/.dts/presets/security-secrets.d.ts +4 -1
- package/dist/.dts/presets/security-secrets.d.ts.map +1 -1
- package/dist/.dts/presets/stylelint.d.ts +1 -0
- package/dist/.dts/presets/stylelint.d.ts.map +1 -1
- package/dist/.dts/presets/test.d.ts +4 -1
- package/dist/.dts/presets/test.d.ts.map +1 -1
- package/dist/.dts/presets/typecheck.d.ts +4 -1
- package/dist/.dts/presets/typecheck.d.ts.map +1 -1
- package/dist/.dts/run-repo-contract.d.ts +1 -0
- package/dist/.dts/run-repo-contract.d.ts.map +1 -1
- package/dist/.dts/standard-schema/types.d.ts +12 -1
- package/dist/.dts/standard-schema/types.d.ts.map +1 -1
- package/dist/.dts/types.d.ts +48 -9
- package/dist/.dts/types.d.ts.map +1 -1
- package/dist/helpers.cjs.map +1 -1
- package/dist/helpers.js.map +1 -1
- package/dist/index.cjs +18 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -1
- package/dist/presets.cjs +15 -4
- package/dist/presets.cjs.map +1 -1
- package/dist/presets.js +15 -4
- package/dist/presets.js.map +1 -1
- package/package.json +1 -1
- package/schemas/verdict.schema.json +1 -1
- package/src/config/define-repo-contract.ts +1 -0
- package/src/errors.ts +21 -2
- package/src/helpers/exception-policy.ts +22 -2
- package/src/helpers/load-exception-registry.ts +1 -0
- package/src/helpers/reconcile-exceptions.ts +7 -1
- package/src/helpers/write-exception-registry.ts +1 -0
- package/src/policy/run-policies.ts +65 -6
- package/src/presets/arethetypeswrong.ts +4 -1
- package/src/presets/broken-links.ts +1 -0
- package/src/presets/commitlint.ts +1 -0
- package/src/presets/dead-code.ts +1 -0
- package/src/presets/duplication.ts +1 -0
- package/src/presets/e2e.ts +4 -1
- package/src/presets/format.ts +4 -1
- package/src/presets/license.ts +4 -1
- package/src/presets/lint.ts +1 -0
- package/src/presets/markdownlint.ts +1 -0
- package/src/presets/publint.ts +1 -0
- package/src/presets/security-deps.ts +4 -1
- package/src/presets/security-secrets.ts +4 -1
- package/src/presets/stylelint.ts +1 -0
- package/src/presets/test.ts +36 -6
- package/src/presets/typecheck.ts +4 -1
- package/src/run-repo-contract.ts +1 -0
- package/src/standard-schema/types.ts +12 -1
- package/src/types.ts +48 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.7.2](https://github.com/MaverickCER/repo-contract/compare/repo-contract-v0.7.1...repo-contract-v0.7.2) (2026-09-27)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* badges/docs-evidence carry forward checks instead of failing every push ([#83](https://github.com/MaverickCER/repo-contract/issues/83)) ([215db16](https://github.com/MaverickCER/repo-contract/commit/215db1666ec334a2cc341a8eedba38cc343abd7c))
|
|
9
|
+
|
|
3
10
|
## [0.7.1](https://github.com/MaverickCER/repo-contract/compare/repo-contract-v0.7.0...repo-contract-v0.7.1) (2026-09-26)
|
|
4
11
|
|
|
5
12
|
|
package/README.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://github.com/MaverickCER/repo-contract/actions/workflows/ci.yml)
|
|
4
4
|
[](https://www.npmjs.com/package/repo-contract)
|
|
5
|
+
[](https://socket.dev/npm/package/repo-contract)
|
|
5
6
|
[](https://www.npmjs.com/package/repo-contract)
|
|
6
7
|
[](scripts/run-coverage.mjs)
|
|
7
8
|
[](checks/mutation.ts)
|
|
@@ -66,6 +67,12 @@ npx repo-contract init
|
|
|
66
67
|
npm run contract
|
|
67
68
|
```
|
|
68
69
|
|
|
70
|
+
This assumes an existing project: a `tsconfig.json`, an ESLint flat config, and at least one test
|
|
71
|
+
file already in place. `init` only wires up checks for tools it finds as devDependencies — it does
|
|
72
|
+
not scaffold the tools' own configuration, so in a truly empty project (e.g. straight off `npm init`)
|
|
73
|
+
`typecheck`, `lint`, and `test` will each fail with that tool's own "no config found" error until you
|
|
74
|
+
add one, exactly as running `tsc`/`eslint`/`vitest` directly would.
|
|
75
|
+
|
|
69
76
|
`init` reads your `package.json`'s existing devDependencies (`typescript`, `vitest`, and `eslint`
|
|
70
77
|
above — install whichever of the [presets](GUIDE.md#presets) apply to you, `init` only wires up
|
|
71
78
|
what it finds), writes the same two files shown below
|
|
@@ -203,6 +210,7 @@ Pre-1.0. Per [VERSIONING.md](VERSIONING.md), a `0.x` minor may carry a breaking
|
|
|
203
210
|
## Learn more
|
|
204
211
|
|
|
205
212
|
- **[Guide](GUIDE.md)** — how to integrate it, define checks, parse output, write cross-check policies, use presets, and handle errors.
|
|
213
|
+
- **[Adoption guide](ADOPTION.md)** — decision-maker summary covering security posture, versioning/stability tiers, and architectural guarantees.
|
|
206
214
|
- **[Security](SECURITY.md)** — how commands run, which capabilities the consumer supplies, and the enforced no-network guarantee.
|
|
207
215
|
- **[API reference](https://maverickcer.github.io/repo-contract/api/)** — every exported type, field, and error code, generated from source so it cannot drift.
|
|
208
216
|
- **[Architecture](specs/architecture.md)** and the **[ADRs](https://github.com/MaverickCER/repo-contract/tree/main/specs/decisions)** — why it is built this way.
|
package/bin/templates.mjs
CHANGED
|
@@ -54,11 +54,11 @@ export function buildConfigTemplate(detectedPresets) {
|
|
|
54
54
|
return `// repo-contract.config.mts — generated by \`repo-contract init\`; this file is yours, edit it freely
|
|
55
55
|
//
|
|
56
56
|
// Each check below was detected from this repository's package.json -- see GUIDE.md's preset
|
|
57
|
-
// table (https://
|
|
58
|
-
// which options it takes. A policy can also read another check's own result to relate them --
|
|
57
|
+
// table (https://github.com/MaverickCER/repo-contract/blob/main/GUIDE.md#presets) for what it wraps
|
|
58
|
+
// and which options it takes. A policy can also read another check's own result to relate them --
|
|
59
59
|
// see GUIDE.md's cross-check example
|
|
60
|
-
// (https://
|
|
61
|
-
// what that looks like; nothing below invents one on your behalf.
|
|
60
|
+
// (https://github.com/MaverickCER/repo-contract/blob/main/GUIDE.md#a-fuller-example-cross-check-policy)
|
|
61
|
+
// for what that looks like; nothing below invents one on your behalf.
|
|
62
62
|
import { spawn } from "${CHILD_PROCESS_SPECIFIER}"
|
|
63
63
|
import { defineRepoContract } from "repo-contract"
|
|
64
64
|
import { ${importList} } from "repo-contract/presets"
|
|
@@ -29,6 +29,7 @@ import type { CheckSchema, RepoContractConfig, ValidatedCheckSchema } from "../t
|
|
|
29
29
|
* the `output`-to-`policy` one above.
|
|
30
30
|
* @param config - the config to type-check and return unchanged.
|
|
31
31
|
* @returns the same `config` object, untouched and uncloned.
|
|
32
|
+
* @public
|
|
32
33
|
*/
|
|
33
34
|
export declare function defineRepoContract<const TChecks extends CheckSchema>(config: RepoContractConfig<TChecks> & {
|
|
34
35
|
readonly checks: ValidatedCheckSchema<TChecks>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-repo-contract.d.ts","sourceRoot":"","sources":["../../../src/config/define-repo-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAExF
|
|
1
|
+
{"version":3,"file":"define-repo-contract.d.ts","sourceRoot":"","sources":["../../../src/config/define-repo-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAExF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,OAAO,SAAS,WAAW,EAClE,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAA;CAAE,GACvF,kBAAkB,CAAC,OAAO,CAAC,CAE7B"}
|
package/dist/.dts/errors.d.ts
CHANGED
|
@@ -15,18 +15,31 @@
|
|
|
15
15
|
* a check failing its contract -- it propagates as a rejected
|
|
16
16
|
* `runRepoContract()` promise (`PolicyThrewError`), never silently
|
|
17
17
|
* turned into a failed verdict entry.
|
|
18
|
+
* @public
|
|
18
19
|
*/
|
|
19
20
|
export declare abstract class RepoContractError extends Error {
|
|
20
21
|
/** Stable, machine-readable identifier for this error's specific failure mode. */
|
|
21
22
|
abstract readonly code: string;
|
|
22
23
|
}
|
|
23
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* The top-level `RepoContractConfig` itself is structurally invalid -- e.g. `checks` is not an
|
|
26
|
+
* object, or `concurrency` is not a positive integer. (A `checks` object with zero entries is
|
|
27
|
+
* deliberately valid: the run produces an empty, passing `Verdict`.) Thrown synchronously by
|
|
28
|
+
* `runRepoContract`, before anything spawns -- not by `defineRepoContract`, which performs no
|
|
29
|
+
* runtime validation of its own (see its own doc comment).
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
24
32
|
export declare class InvalidRepoContractConfigError extends RepoContractError {
|
|
25
33
|
/** Always `"REPO_CONTRACT_INVALID_CONFIG"`. */
|
|
26
34
|
readonly code = "REPO_CONTRACT_INVALID_CONFIG";
|
|
27
35
|
constructor(reason: string);
|
|
28
36
|
}
|
|
29
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* One check's `CheckDefinition` is structurally invalid -- e.g. an empty `run`, a `run` string
|
|
39
|
+
* containing an unquoted shell operator without `shell: true`, or a missing `policy`. Thrown
|
|
40
|
+
* synchronously, before that check (or any other) spawns.
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
30
43
|
export declare class InvalidCheckConfigError extends RepoContractError {
|
|
31
44
|
/** Always `"REPO_CONTRACT_INVALID_CHECK_CONFIG"`. */
|
|
32
45
|
readonly code = "REPO_CONTRACT_INVALID_CHECK_CONFIG";
|
|
@@ -39,6 +52,7 @@ export declare class InvalidCheckConfigError extends RepoContractError {
|
|
|
39
52
|
* the configured `checks`. Unlike a `dependsOn` id (already validated to exist by
|
|
40
53
|
* `validateRepoContractConfig` before any run starts), `options.checks` is only ever checked once
|
|
41
54
|
* `runChecks` actually resolves it -- there is no earlier structural-validation pass for it.
|
|
55
|
+
* @public
|
|
42
56
|
*/
|
|
43
57
|
export declare class UnknownCheckIdError extends RepoContractError {
|
|
44
58
|
/** Always `"REPO_CONTRACT_UNKNOWN_CHECK_ID"`. */
|
|
@@ -53,6 +67,7 @@ export declare class UnknownCheckIdError extends RepoContractError {
|
|
|
53
67
|
* doc comment. Declaration order doubles as the required topological order, so this is the only
|
|
54
68
|
* way an invalid dependency graph can arise; a real cycle is structurally impossible once every
|
|
55
69
|
* edge points backward. Thrown synchronously, before any check spawns.
|
|
70
|
+
* @public
|
|
56
71
|
*/
|
|
57
72
|
export declare class DependencyDeclaredLaterError extends RepoContractError {
|
|
58
73
|
/** Always `"REPO_CONTRACT_DEPENDENCY_DECLARED_LATER"`. */
|
|
@@ -72,6 +87,7 @@ export declare class DependencyDeclaredLaterError extends RepoContractError {
|
|
|
72
87
|
* a schema *throwing* means the validator itself is broken, so it propagates as a rejected
|
|
73
88
|
* `runRepoContract()` promise instead. The original thrown/rejected value is preserved verbatim
|
|
74
89
|
* via the native `Error` `cause` chain.
|
|
90
|
+
* @public
|
|
75
91
|
*/
|
|
76
92
|
export declare class StandardSchemaValidateThrewError extends RepoContractError {
|
|
77
93
|
/** Always `"REPO_CONTRACT_STANDARD_SCHEMA_VALIDATE_THREW"`. */
|
|
@@ -96,6 +112,7 @@ export declare class StandardSchemaValidateThrewError extends RepoContractError
|
|
|
96
112
|
* or one of its two narrower siblings below (`PolicyReadUnrequestedOutputError`,
|
|
97
113
|
* `PolicyReadFailedParseValueError`) when the failure matches one of their
|
|
98
114
|
* more specific shapes -- rather than surfacing only the first one found.
|
|
115
|
+
* @public
|
|
99
116
|
*/
|
|
100
117
|
export declare class PolicyThrewError extends RepoContractError {
|
|
101
118
|
/** Always `"REPO_CONTRACT_POLICY_THREW"`. */
|
|
@@ -124,6 +141,7 @@ export declare class PolicyThrewError extends RepoContractError {
|
|
|
124
141
|
* original `TypeError` verbatim, exactly as `PolicyThrewError` guarantees
|
|
125
142
|
* for every other policy failure, so the true cause remains recoverable
|
|
126
143
|
* either way.
|
|
144
|
+
* @public
|
|
127
145
|
*/
|
|
128
146
|
export declare class PolicyReadUnrequestedOutputError extends RepoContractError {
|
|
129
147
|
/** Always `"REPO_CONTRACT_POLICY_READ_UNREQUESTED_OUTPUT"`. */
|
|
@@ -149,6 +167,7 @@ export declare class PolicyReadUnrequestedOutputError extends RepoContractError
|
|
|
149
167
|
* necessarily a little broader. `cause` still holds the original `TypeError`
|
|
150
168
|
* verbatim; the message never repeats `result.output.error`'s own text, which may
|
|
151
169
|
* contain raw stdout content (see SECURITY.md).
|
|
170
|
+
* @public
|
|
152
171
|
*/
|
|
153
172
|
export declare class PolicyReadFailedParseValueError extends RepoContractError {
|
|
154
173
|
/** Always `"REPO_CONTRACT_POLICY_READ_FAILED_PARSE_VALUE"`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,8BAAsB,iBAAkB,SAAQ,KAAK;IACnD,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAC/B;AAED;;;;;;;GAOG;AACH,qBAAa,8BAA+B,SAAQ,iBAAiB;IACnE,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,kCAAiC;gBAElC,MAAM,EAAE,MAAM;CAI3B;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,iBAAiB;IAC5D,qDAAqD;IACrD,QAAQ,CAAC,IAAI,wCAAuC;IACpD,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAK5C;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,iDAAiD;IACjD,QAAQ,CAAC,IAAI,oCAAmC;IAChD,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,OAAO,EAAE,MAAM;CAO5B;AAED;;;;;;;GAOG;AACH,qBAAa,4BAA6B,SAAQ,iBAAiB;IACjE,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,6CAA4C;IACzD,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,oEAAoE;IACpE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;gBAEjB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;CAUlD;AAED;;;;;;;;;;GAUG;AACH,qBAAa,gCAAiC,SAAQ,iBAAiB;IACrE,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,kDAAiD;IAC9D,yEAAyE;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAQ5C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,gBAAiB,SAAQ,iBAAiB;IACrD,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,gCAA+B;IAC5C,0DAA0D;IAC1D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAK5C;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,gCAAiC,SAAQ,iBAAiB;IACrE,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,kDAAiD;IAC9D,yFAAyF;IACzF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAY9D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,+BAAgC,SAAQ,iBAAiB;IACpE,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,kDAAiD;IAC9D,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAU9D"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* filled in makes each one individually reviewable against a specific question instead. This is
|
|
11
11
|
* the same design `scripts/suppression-governance/policy-config.ts`'s `SuppressionPolicy`
|
|
12
12
|
* establishes for the disable-comment domain this type generalizes.
|
|
13
|
+
* @beta
|
|
13
14
|
*/
|
|
14
15
|
export type ExceptionPolicy = {
|
|
15
16
|
readonly mode: "forbidden";
|
|
@@ -27,6 +28,7 @@ export type ExceptionPolicy = {
|
|
|
27
28
|
* `minimatch` glob pattern -- `resolveExceptionPolicy` tries an exact match first and only
|
|
28
29
|
* consults glob matching once no exact key exists, so a glob can never shadow a more specific
|
|
29
30
|
* exact entry.
|
|
31
|
+
* @beta
|
|
30
32
|
*/
|
|
31
33
|
export interface ExceptionCategoryGroup {
|
|
32
34
|
/** This group's fallback policy when `category` matches neither an exact nor a glob key in `rules`. Falls through to the caller's `globalDefault` when omitted. */
|
|
@@ -39,6 +41,7 @@ export interface ExceptionCategoryGroup {
|
|
|
39
41
|
* suppression domain). The core never invents the names "domain"/"rule"/"severity"/
|
|
40
42
|
* "exceptionType" -- those are every consumer's own vocabulary, expressed here purely as
|
|
41
43
|
* `{ group, category }` (see `ExceptionClassification`).
|
|
44
|
+
* @beta
|
|
42
45
|
*/
|
|
43
46
|
export type ExceptionPolicyConfig = Readonly<Record<string, ExceptionCategoryGroup>>;
|
|
44
47
|
/**
|
|
@@ -49,6 +52,7 @@ export type ExceptionPolicyConfig = Readonly<Record<string, ExceptionCategoryGro
|
|
|
49
52
|
* `security-socket`'s `{ group: "socket", category: normalizedSeverity }`) -- the core itself
|
|
50
53
|
* never interprets `group`/`category` beyond using them as lookup keys into an
|
|
51
54
|
* `ExceptionPolicyConfig`.
|
|
55
|
+
* @beta
|
|
52
56
|
*/
|
|
53
57
|
export interface ExceptionClassification {
|
|
54
58
|
/** The top-level key this classification resolves against in an `ExceptionPolicyConfig`. */
|
|
@@ -56,9 +60,19 @@ export interface ExceptionClassification {
|
|
|
56
60
|
/** The `rules` key (exact or glob-matched) this classification resolves against within `group`. */
|
|
57
61
|
readonly category: string;
|
|
58
62
|
}
|
|
59
|
-
/**
|
|
63
|
+
/**
|
|
64
|
+
* A resolved judgment about one record, once its `ExceptionPolicy` has been checked against its
|
|
65
|
+
* own field values. See `ExceptionDeterminant`.
|
|
66
|
+
* @beta
|
|
67
|
+
*/
|
|
60
68
|
export type ExceptionVerdict = "forbidden" | "insufficient" | "permitted";
|
|
61
|
-
/**
|
|
69
|
+
/**
|
|
70
|
+
* One record's resolved policy verdict, and (for `"insufficient"`) which required fields are
|
|
71
|
+
* still empty. Never published as a batch/matched-vs-unmatched shape -- matching a finding to a
|
|
72
|
+
* record stays entirely check-owned (each check reconciles its own findings against its own
|
|
73
|
+
* registry via `reconcileExceptions`).
|
|
74
|
+
* @beta
|
|
75
|
+
*/
|
|
62
76
|
export interface ExceptionDeterminant<TRecord> {
|
|
63
77
|
/** The record this determinant was computed for, returned verbatim. */
|
|
64
78
|
readonly record: TRecord;
|
|
@@ -116,6 +130,7 @@ export declare function stricterOf(a: ExceptionPolicy, b: ExceptionPolicy): Exce
|
|
|
116
130
|
* @param config - The exception policy configuration to resolve against.
|
|
117
131
|
* @param globalDefault - The policy to fall back to when `classification.group` has no entry in `config` at all.
|
|
118
132
|
* @returns The resolved policy for `classification`.
|
|
133
|
+
* @beta
|
|
119
134
|
*/
|
|
120
135
|
export declare function resolveExceptionPolicy(classification: ExceptionClassification, config: ExceptionPolicyConfig, globalDefault: ExceptionPolicy): ExceptionPolicy;
|
|
121
136
|
/**
|
|
@@ -123,6 +138,7 @@ export declare function resolveExceptionPolicy(classification: ExceptionClassifi
|
|
|
123
138
|
* shared by `evaluateExceptionRecord` and `evaluateExceptionRecords` (whose own `inputs` is just
|
|
124
139
|
* `readonly ExceptionRecordEvaluation<TRecord>[]`) so the same five-field shape isn't declared
|
|
125
140
|
* twice.
|
|
141
|
+
* @beta
|
|
126
142
|
*/
|
|
127
143
|
export interface ExceptionRecordEvaluation<TRecord> {
|
|
128
144
|
/** The record to evaluate. */
|
|
@@ -149,6 +165,7 @@ export interface ExceptionRecordEvaluation<TRecord> {
|
|
|
149
165
|
* `requirement` itself, it only ever calls `fieldValue(record, requirement)` and trims the result.
|
|
150
166
|
* @param input - The record to evaluate, its classifications, the policy configuration and global default to resolve them against, and the field-value accessor -- see `ExceptionRecordEvaluation`'s own per-field doc comments.
|
|
151
167
|
* @returns The record's verdict, and which required fields (if any) are still missing.
|
|
168
|
+
* @beta
|
|
152
169
|
*/
|
|
153
170
|
export declare function evaluateExceptionRecord<TRecord>(input: ExceptionRecordEvaluation<TRecord>): ExceptionDeterminant<TRecord>;
|
|
154
171
|
/**
|
|
@@ -160,6 +177,7 @@ export declare function evaluateExceptionRecord<TRecord>(input: ExceptionRecordE
|
|
|
160
177
|
* any matching of its own.
|
|
161
178
|
* @param inputs - Each already-matched record to evaluate, in the same shape `evaluateExceptionRecord` itself takes.
|
|
162
179
|
* @returns Each input's own determinant, in the same order as `inputs`.
|
|
180
|
+
* @beta
|
|
163
181
|
*/
|
|
164
182
|
export declare function evaluateExceptionRecords<TRecord>(inputs: readonly ExceptionRecordEvaluation<TRecord>[]): readonly ExceptionDeterminant<TRecord>[];
|
|
165
183
|
/**
|
|
@@ -175,6 +193,7 @@ export declare function evaluateExceptionRecords<TRecord>(inputs: readonly Excep
|
|
|
175
193
|
* @param config - The exception policy configuration to validate.
|
|
176
194
|
* @param validRequirements - The complete set of field names this consumer's policy may require, if the consumer wants that checked. Omit to skip that check entirely.
|
|
177
195
|
* @returns Every configuration problem found; empty if `config` is valid.
|
|
196
|
+
* @beta
|
|
178
197
|
*/
|
|
179
198
|
export declare function validateExceptionPolicyConfig(config: ExceptionPolicyConfig, validRequirements?: readonly string[]): readonly string[];
|
|
180
199
|
/**
|
|
@@ -194,6 +213,7 @@ export declare function validateExceptionPolicyConfig(config: ExceptionPolicyCon
|
|
|
194
213
|
* @param fields - Which fields (by name, in this exact order) to include in the digest -- the same names `fieldValue` would be called with by `evaluateExceptionRecord`.
|
|
195
214
|
* @param fieldValue - Resolves one named field's current string value on `record`, exactly like `evaluateExceptionRecord`'s own `fieldValue` parameter.
|
|
196
215
|
* @returns A hex-encoded SHA-256 digest of `fields`' current values.
|
|
216
|
+
* @beta
|
|
197
217
|
*/
|
|
198
218
|
export declare function hashRequirementFields<TRecord>(record: TRecord, fields: readonly string[], fieldValue: (record: TRecord, requirement: string) => string): string;
|
|
199
219
|
//# sourceMappingURL=exception-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exception-policy.d.ts","sourceRoot":"","sources":["../../../src/helpers/exception-policy.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"exception-policy.d.ts","sourceRoot":"","sources":["../../../src/helpers/exception-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ import type { StandardSchemaV1 } from "../standard-schema/types.js";
|
|
|
26
26
|
* @param input.schema - Validates (and may transform) the envelope's `exceptions` array once this function's own envelope checks pass.
|
|
27
27
|
* @param input.readFile - Reads `input.path`'s content. Defaults to `node:fs/promises`' own `readFile(path, "utf8")`.
|
|
28
28
|
* @returns Every valid record (`ok: true`), or every problem found reading/parsing/validating the file (`ok: false`).
|
|
29
|
+
* @beta
|
|
29
30
|
*/
|
|
30
31
|
export declare function loadExceptionRegistry<T>(input: {
|
|
31
32
|
readonly path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-exception-registry.d.ts","sourceRoot":"","sources":["../../../src/helpers/load-exception-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAsCnE
|
|
1
|
+
{"version":3,"file":"load-exception-registry.d.ts","sourceRoot":"","sources":["../../../src/helpers/load-exception-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAsCnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAA;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACtD,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC,CAgE1F"}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
* the owning check. A registry adds its own typed fields on top; this is the shared core the
|
|
14
14
|
* generic machinery (`reconcileExceptions`, `serializeExceptionRegistry`,
|
|
15
15
|
* `validateExceptionRegistry` in the check-owned layer) relies on.
|
|
16
|
+
* @beta
|
|
16
17
|
*/
|
|
17
18
|
export interface ExceptionRecordCore {
|
|
18
19
|
/** The check-namespaced semantic identity of the finding this record waives (e.g. `"suppression:eslint:no-console:src/foo.ts:<module>"`). Equals the finding id; a record whose id matches no current finding is stale. Never derived from prose. */
|
|
@@ -22,7 +23,10 @@ export interface ExceptionRecordCore {
|
|
|
22
23
|
/** The one human-authored field: why this guardrail is deliberately bypassed, and what was checked to confirm the finding is real. `""` in a freshly scaffolded stub (the policy, not the validator, rejects a blank/placeholder value). */
|
|
23
24
|
readonly justification: string;
|
|
24
25
|
}
|
|
25
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* The outcome of reconciling one run's findings against one exception registry.
|
|
28
|
+
* @beta
|
|
29
|
+
*/
|
|
26
30
|
export interface ExceptionReconciliation<TFinding, TRecord> {
|
|
27
31
|
/** Each finding paired with the existing record it matched, in `findings` order. */
|
|
28
32
|
readonly matchedPairs: readonly {
|
|
@@ -59,6 +63,7 @@ export interface ExceptionReconciliation<TFinding, TRecord> {
|
|
|
59
63
|
* @param input.deriveId - The finding's check-namespaced semantic id. Must be injective over `findings`.
|
|
60
64
|
* @param input.createStub - Builds a fresh record for an unmatched finding; receives the canonical id and must return a record carrying it.
|
|
61
65
|
* @returns The reconciliation, or the first integrity problem found.
|
|
66
|
+
* @beta
|
|
62
67
|
*/
|
|
63
68
|
export declare function reconcileExceptions<TFinding, TRecord extends {
|
|
64
69
|
readonly id: string;
|
|
@@ -84,6 +89,7 @@ export declare function reconcileExceptions<TFinding, TRecord extends {
|
|
|
84
89
|
* Assumes `records` have unique ids (the caller reconciled them and validated its registry).
|
|
85
90
|
* @param records - The reconciled records (`activeRecords` plus any `staleRecords`, in any order).
|
|
86
91
|
* @returns The exact file contents to persist.
|
|
92
|
+
* @beta
|
|
87
93
|
*/
|
|
88
94
|
export declare function serializeExceptionRegistry(records: readonly (Record<string, unknown> & {
|
|
89
95
|
readonly id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconcile-exceptions.d.ts","sourceRoot":"","sources":["../../../src/helpers/reconcile-exceptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH
|
|
1
|
+
{"version":3,"file":"reconcile-exceptions.d.ts","sourceRoot":"","sources":["../../../src/helpers/reconcile-exceptions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,qPAAqP;IACrP,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,4OAA4O;IAC5O,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB,CAAC,QAAQ,EAAE,OAAO;IACxD,oFAAoF;IACpF,QAAQ,CAAC,YAAY,EAAE,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAE,EAAE,CAAA;IAC1F,mJAAmJ;IACnJ,QAAQ,CAAC,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;IAC1C,gLAAgL;IAChL,QAAQ,CAAC,YAAY,EAAE,SAAS,OAAO,EAAE,CAAA;IACzC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,SAAS;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE;IAC5F,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,QAAQ,EAAE,CAAA;IACtC,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,MAAM,CAAA;IAChD,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAA;CAChE,GACG;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;CAAE,GAC1F;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAkDjD;AA2BD;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,GACtE,MAAM,CAWR"}
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
* @param input.rename - Replaces the target with the temp file. Default: `node:fs/promises` `rename`.
|
|
26
26
|
* @param input.isSymlink - Whether `path` is a symlink. Default: `lstat(path).isSymbolicLink()`, treating a missing path as not a symlink.
|
|
27
27
|
* @returns `{ ok: true, written }` on success, or `{ ok: false, error }` for a symlink, an unreadable target, or a failed write/rename.
|
|
28
|
+
* @beta
|
|
28
29
|
*/
|
|
29
30
|
export declare function writeExceptionRegistry(input: {
|
|
30
31
|
readonly path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-exception-registry.d.ts","sourceRoot":"","sources":["../../../src/helpers/write-exception-registry.ts"],"names":[],"mappings":"AA8BA
|
|
1
|
+
{"version":3,"file":"write-exception-registry.d.ts","sourceRoot":"","sources":["../../../src/helpers/write-exception-registry.ts"],"names":[],"mappings":"AA8BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAA;IAChF,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACxD,GAAG,OAAO,CACT;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAClG,CAiDA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-policies.d.ts","sourceRoot":"","sources":["../../../src/policy/run-policies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAMrE,OAAO,KAAK,EAEV,QAAQ,EAIR,OAAO,EACR,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"run-policies.d.ts","sourceRoot":"","sources":["../../../src/policy/run-policies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAMrE,OAAO,KAAK,EAEV,QAAQ,EAIR,OAAO,EACR,MAAM,aAAa,CAAA;AAuLpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,OAAO,CAAC,CAsFlB"}
|
|
@@ -34,6 +34,9 @@ export interface AttwProblem {
|
|
|
34
34
|
* @returns the pass/fail outcome and its rationale.
|
|
35
35
|
*/
|
|
36
36
|
export declare function evaluateAttwReport(report: unknown): PolicyResult;
|
|
37
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* Published-package type-resolution correctness via `@arethetypeswrong/cli`.
|
|
39
|
+
* @beta
|
|
40
|
+
*/
|
|
38
41
|
export declare const arethetypeswrong: CheckDefinitionConfig;
|
|
39
42
|
//# sourceMappingURL=arethetypeswrong.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arethetypeswrong.d.ts","sourceRoot":"","sources":["../../../src/presets/arethetypeswrong.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAItE;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC,CAAA;CAC3D;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;CACzC;AAkBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,CA6BhE;AAUD
|
|
1
|
+
{"version":3,"file":"arethetypeswrong.d.ts","sourceRoot":"","sources":["../../../src/presets/arethetypeswrong.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAItE;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC,CAAA;CAC3D;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;CACzC;AAkBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,CA6BhE;AAUD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,qBAmB9B,CAAA"}
|
|
@@ -10,6 +10,7 @@ interface BrokenLinksOptions {
|
|
|
10
10
|
* wasting the crawl on vendored files that were never authored content.
|
|
11
11
|
* @param options - configuration for this check; see {@link BrokenLinksOptions}.
|
|
12
12
|
* @returns the configured check.
|
|
13
|
+
* @beta
|
|
13
14
|
*/
|
|
14
15
|
export declare function brokenLinks(options?: BrokenLinksOptions): CheckDefinitionConfig;
|
|
15
16
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broken-links.d.ts","sourceRoot":"","sources":["../../../src/presets/broken-links.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAgBxD,+CAA+C;AAC/C,UAAU,kBAAkB;IAC1B,2GAA2G;IAC3G,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAYD
|
|
1
|
+
{"version":3,"file":"broken-links.d.ts","sourceRoot":"","sources":["../../../src/presets/broken-links.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAgBxD,+CAA+C;AAC/C,UAAU,kBAAkB;IAC1B,2GAA2G;IAC3G,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAYD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,qBAAqB,CAuDnF"}
|
|
@@ -16,6 +16,7 @@ interface CommitlintOptions {
|
|
|
16
16
|
* rather than relying on an unconfirmed flag.
|
|
17
17
|
* @param options - configuration for this check; see {@link CommitlintOptions}.
|
|
18
18
|
* @returns the configured check.
|
|
19
|
+
* @beta
|
|
19
20
|
*/
|
|
20
21
|
export declare function commitlint(options?: CommitlintOptions): CheckDefinitionConfig;
|
|
21
22
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commitlint.d.ts","sourceRoot":"","sources":["../../../src/presets/commitlint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAKxD,8CAA8C;AAC9C,UAAU,iBAAiB;IACzB,wFAAwF;IACxF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CACrB;AA2BD
|
|
1
|
+
{"version":3,"file":"commitlint.d.ts","sourceRoot":"","sources":["../../../src/presets/commitlint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAKxD,8CAA8C;AAC9C,UAAU,iBAAiB;IACzB,wFAAwF;IACxF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CACrB;AA2BD;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,qBAAqB,CA2BjF"}
|
|
@@ -17,6 +17,7 @@ interface DeadCodeOptions {
|
|
|
17
17
|
* Dead/unused-code detection via knip.
|
|
18
18
|
* @param options - configuration for this check; see {@link DeadCodeOptions}.
|
|
19
19
|
* @returns the configured check.
|
|
20
|
+
* @beta
|
|
20
21
|
*/
|
|
21
22
|
export declare function deadCode(options?: DeadCodeOptions): CheckDefinitionConfig;
|
|
22
23
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dead-code.d.ts","sourceRoot":"","sources":["../../../src/presets/dead-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AA8CxD,4CAA4C;AAC5C,UAAU,eAAe;IACvB;;;;;;;;;OASG;IACH,QAAQ,CAAC,2BAA2B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACzD;AA6DD
|
|
1
|
+
{"version":3,"file":"dead-code.d.ts","sourceRoot":"","sources":["../../../src/presets/dead-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AA8CxD,4CAA4C;AAC5C,UAAU,eAAe;IACvB;;;;;;;;;OASG;IACH,QAAQ,CAAC,2BAA2B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACzD;AA6DD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,qBAAqB,CAiG7E"}
|
|
@@ -8,6 +8,7 @@ interface DuplicationOptions {
|
|
|
8
8
|
* Duplicated-code detection via jscpd.
|
|
9
9
|
* @param options - configuration for this check; see {@link DuplicationOptions}.
|
|
10
10
|
* @returns the configured check.
|
|
11
|
+
* @beta
|
|
11
12
|
*/
|
|
12
13
|
export declare function duplication(options?: DuplicationOptions): CheckDefinitionConfig;
|
|
13
14
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplication.d.ts","sourceRoot":"","sources":["../../../src/presets/duplication.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAkCxD,+CAA+C;AAC/C,UAAU,kBAAkB;IAC1B,iMAAiM;IACjM,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAgBD
|
|
1
|
+
{"version":3,"file":"duplication.d.ts","sourceRoot":"","sources":["../../../src/presets/duplication.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAkCxD,+CAA+C;AAC/C,UAAU,kBAAkB;IAC1B,iMAAiM;IACjM,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAgBD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,qBAAqB,CA4EnF"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { CheckDefinitionConfig } from "../types.js";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* End-to-end test execution via Playwright, reading its JSON reporter output.
|
|
4
|
+
* @beta
|
|
5
|
+
*/
|
|
3
6
|
export declare const e2e: CheckDefinitionConfig;
|
|
4
7
|
//# sourceMappingURL=e2e.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e2e.d.ts","sourceRoot":"","sources":["../../../src/presets/e2e.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AA+ExD
|
|
1
|
+
{"version":3,"file":"e2e.d.ts","sourceRoot":"","sources":["../../../src/presets/e2e.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AA+ExD;;;GAGG;AACH,eAAO,MAAM,GAAG,EAAE,qBA+DjB,CAAA"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { CheckDefinitionConfig } from "../types.js";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Code formatting via Prettier, applied in place.
|
|
4
|
+
* @beta
|
|
5
|
+
*/
|
|
3
6
|
export declare const format: CheckDefinitionConfig;
|
|
4
7
|
//# sourceMappingURL=format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/presets/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAKxD
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/presets/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAKxD;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,qBAkBpB,CAAA"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { CheckDefinitionConfig } from "../types.js";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Dependency license compliance via licensee.
|
|
4
|
+
* @beta
|
|
5
|
+
*/
|
|
3
6
|
export declare const license: CheckDefinitionConfig;
|
|
4
7
|
//# sourceMappingURL=license.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../../src/presets/license.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAuBxD
|
|
1
|
+
{"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../../src/presets/license.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAuBxD;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,qBAiErB,CAAA"}
|
|
@@ -14,6 +14,7 @@ interface LintOptions {
|
|
|
14
14
|
* finding as equally blocking.
|
|
15
15
|
* @param options - configuration for this check; see {@link LintOptions}.
|
|
16
16
|
* @returns the configured check.
|
|
17
|
+
* @beta
|
|
17
18
|
*/
|
|
18
19
|
export declare function lint(options?: LintOptions): CheckDefinitionConfig;
|
|
19
20
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../../src/presets/lint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AA0BxD,wCAAwC;AACxC,UAAU,WAAW;IACnB,yKAAyK;IACzK,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAoBD
|
|
1
|
+
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../../src/presets/lint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AA0BxD,wCAAwC;AACxC,UAAU,WAAW;IACnB,yKAAyK;IACzK,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAoBD;;;;;;;;;;;GAWG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,qBAAqB,CAsDrE"}
|
|
@@ -17,6 +17,7 @@ interface MarkdownlintOptions {
|
|
|
17
17
|
* alongside `markdownlint-cli2` itself.
|
|
18
18
|
* @param options - configuration for this check; see {@link MarkdownlintOptions}.
|
|
19
19
|
* @returns the configured check.
|
|
20
|
+
* @beta
|
|
20
21
|
*/
|
|
21
22
|
export declare function markdownlint(options?: MarkdownlintOptions): CheckDefinitionConfig;
|
|
22
23
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownlint.d.ts","sourceRoot":"","sources":["../../../src/presets/markdownlint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAmBxD,gDAAgD;AAChD,UAAU,mBAAmB;IAC3B,4GAA4G;IAC5G,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAeD
|
|
1
|
+
{"version":3,"file":"markdownlint.d.ts","sourceRoot":"","sources":["../../../src/presets/markdownlint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAmBxD,gDAAgD;AAChD,UAAU,mBAAmB;IAC3B,4GAA4G;IAC5G,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAeD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,qBAAqB,CAmDrF"}
|
|
@@ -8,6 +8,7 @@ import type { CheckDefinitionConfig } from "../types.js";
|
|
|
8
8
|
* to distinguish blocking findings from non-blocking ones, without
|
|
9
9
|
* depending on any per-message structure publint doesn't expose. Relevant
|
|
10
10
|
* only to repositories that publish an npm package.
|
|
11
|
+
* @beta
|
|
11
12
|
*/
|
|
12
13
|
export declare const publint: CheckDefinitionConfig;
|
|
13
14
|
//# sourceMappingURL=publint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publint.d.ts","sourceRoot":"","sources":["../../../src/presets/publint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAKxD
|
|
1
|
+
{"version":3,"file":"publint.d.ts","sourceRoot":"","sources":["../../../src/presets/publint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAKxD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,EAAE,qBAsBrB,CAAA"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { CheckDefinitionConfig } from "../types.js";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Dependency vulnerability scanning via `npm audit`.
|
|
4
|
+
* @beta
|
|
5
|
+
*/
|
|
3
6
|
export declare const securityDeps: CheckDefinitionConfig;
|
|
4
7
|
//# sourceMappingURL=security-deps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security-deps.d.ts","sourceRoot":"","sources":["../../../src/presets/security-deps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AA0CxD
|
|
1
|
+
{"version":3,"file":"security-deps.d.ts","sourceRoot":"","sources":["../../../src/presets/security-deps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AA0CxD;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,qBAkG1B,CAAA"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { CheckDefinitionConfig } from "../types.js";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Secret-leak scanning via secretlint.
|
|
4
|
+
* @beta
|
|
5
|
+
*/
|
|
3
6
|
export declare const securitySecrets: CheckDefinitionConfig;
|
|
4
7
|
//# sourceMappingURL=security-secrets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security-secrets.d.ts","sourceRoot":"","sources":["../../../src/presets/security-secrets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAsBxD
|
|
1
|
+
{"version":3,"file":"security-secrets.d.ts","sourceRoot":"","sources":["../../../src/presets/security-secrets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAsBxD;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,qBAoE7B,CAAA"}
|
|
@@ -11,6 +11,7 @@ interface StylelintOptions {
|
|
|
11
11
|
* `lint` preset treats ESLint's own severities.
|
|
12
12
|
* @param options - configuration for this check; see {@link StylelintOptions}.
|
|
13
13
|
* @returns the configured check.
|
|
14
|
+
* @beta
|
|
14
15
|
*/
|
|
15
16
|
export declare function stylelint(options?: StylelintOptions): CheckDefinitionConfig;
|
|
16
17
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stylelint.d.ts","sourceRoot":"","sources":["../../../src/presets/stylelint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAqBxD,6CAA6C;AAC7C,UAAU,gBAAgB;IACxB,mMAAmM;IACnM,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED
|
|
1
|
+
{"version":3,"file":"stylelint.d.ts","sourceRoot":"","sources":["../../../src/presets/stylelint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAqBxD,6CAA6C;AAC7C,UAAU,gBAAgB;IACxB,mMAAmM;IACnM,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,qBAAqB,CAiE/E"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { CheckDefinitionConfig } from "../types.js";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Unit/integration test execution via Vitest, reading its JSON reporter output.
|
|
4
|
+
* @beta
|
|
5
|
+
*/
|
|
3
6
|
export declare const test: CheckDefinitionConfig;
|
|
4
7
|
//# sourceMappingURL=test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/presets/test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/presets/test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAgB,MAAM,aAAa,CAAA;AAgBtE;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,qBA2BlB,CAAA"}
|