@archwall/core 0.2.0 → 1.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.
- package/CHANGELOG.md +110 -0
- package/dist/index.cjs +0 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +93 -7
- package/dist/index.d.mts +93 -7
- package/dist/index.mjs +0 -0
- package/dist/index.mjs.map +1 -1
- package/dist/internal.cjs +1 -1
- package/dist/internal.d.cts +1 -1
- package/dist/internal.d.mts +1 -1
- package/dist/internal.mjs +1 -1
- package/dist/{prepare-BjMxyYOm.mjs → prepare-BxSeKFYq.mjs} +72 -72
- package/dist/{prepare-BjMxyYOm.mjs.map → prepare-BxSeKFYq.mjs.map} +1 -1
- package/dist/{prepare-CEaZxLPI.cjs → prepare-DNER1gV3.cjs} +71 -71
- package/dist/{prepare-CEaZxLPI.cjs.map → prepare-DNER1gV3.cjs.map} +1 -1
- package/dist/{transform-CzxyWbUC.d.mts → transform-beNJIws-.d.cts} +49 -24
- package/dist/{transform-CzxyWbUC.d.cts → transform-beNJIws-.d.mts} +49 -24
- package/package.json +10 -4
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as ModuleKind, A as ViolationInput, B as Capability, C as ClassifierContext, D as Severity, E as FINGERPRINT_SCHEME, F as locationsOf, G as GraphDelivery, H as EdgeAttributes, I as primaryEdge, J as HostInfo, L as primaryModule, M as compareViolations, N as countBySeverity, O as SeverityCounts, P as fingerprintOf, Q as ModuleIdScheme, R as primarySourceLocation, S as Classifier, T as defineClassifier, U as EdgeKind, V as Edge, W as FIRST_PARTY_KINDS, X as MODULE_ID_SCHEMES, Y as IR_VERSION, Z as ModuleId, _ as DiagnosticSeverity, a as defineGraphComputation, at as WellKnownCapability, b as UnscannableFilesDetails, ct as displayModuleId, d as ModuleSelection, dt as isThirdParty, et as ModuleNode, ft as parseModuleId, g as DiagnosticCode, h as Diagnostic, i as GraphComputation, it as THIRD_PARTY_KINDS, j as ViolationLocation, k as Violation, l as GraphView, lt as irMajor, m as BaselineStaleDetails, n as TransformContext, nt as ProjectGraphInit, o as EdgeFilter, ot as WellKnownEdgeKind, p as BaselineInvalidDetails, q as GraphMutation, r as defineTransform, rt as SourceLocation, st as assertIrCompatible, t as GraphTransform, tt as ProjectGraph, u as ModuleFilter, ut as isFirstParty, v as EmptyScopeDetails, w as TagPatch, x as WellKnownDiagnosticCode, y as RuleSkippedDetails, z as renderMessage } from "./transform-beNJIws-.cjs";
|
|
2
2
|
//#region src/analysis/scc.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* Strongly connected components over static+reexport edges (a dynamic import is a
|
|
@@ -7,6 +7,88 @@ import { $ as ProjectGraph, A as primaryEdge, B as EdgeAttributes, C as Violatio
|
|
|
7
7
|
*/
|
|
8
8
|
declare const stronglyConnectedComponents: GraphComputation<readonly (readonly string[])[]>;
|
|
9
9
|
//#endregion
|
|
10
|
+
//#region src/baseline.d.ts
|
|
11
|
+
/**
|
|
12
|
+
* One accepted violation.
|
|
13
|
+
*
|
|
14
|
+
* `fingerprint` is the ONLY field matching keys on. Everything else is context for the human
|
|
15
|
+
* reading the diff, and is deliberately regenerated rather than compared — a rule improving
|
|
16
|
+
* its wording must not invalidate the debt a team already accepted, which is the whole reason
|
|
17
|
+
* `fingerprintOf` excludes the message in the first place.
|
|
18
|
+
*
|
|
19
|
+
* The alternative — a file of bare hashes — was rejected because a baseline lands in a pull
|
|
20
|
+
* request, and "+4 opaque hashes" is not something a reviewer can approve.
|
|
21
|
+
*/
|
|
22
|
+
interface BaselineEntry {
|
|
23
|
+
fingerprint: string;
|
|
24
|
+
/** Rule instance id. Context only. */
|
|
25
|
+
ruleId: string;
|
|
26
|
+
/** Repo-relative rendering of the primary location. Context only. */
|
|
27
|
+
location: string;
|
|
28
|
+
/** Rendered message at the time the entry was written. Context only. */
|
|
29
|
+
message: string;
|
|
30
|
+
}
|
|
31
|
+
interface BaselineFile {
|
|
32
|
+
/**
|
|
33
|
+
* The fingerprint scheme the entries were produced under; must equal
|
|
34
|
+
* {@link FINGERPRINT_SCHEME}.
|
|
35
|
+
*
|
|
36
|
+
* Checked rather than ignored because the failure is otherwise invisible: under a bumped
|
|
37
|
+
* scheme every entry stops matching, and a silent no-match looks exactly like "someone
|
|
38
|
+
* introduced 400 violations" — which is the one message this file exists to prevent.
|
|
39
|
+
*/
|
|
40
|
+
scheme: string;
|
|
41
|
+
entries: readonly BaselineEntry[];
|
|
42
|
+
}
|
|
43
|
+
/** Either a usable file or the reason it is not; never a throw. See {@link parseBaseline}. */
|
|
44
|
+
type BaselineParseResult = {
|
|
45
|
+
file: BaselineFile;
|
|
46
|
+
} | {
|
|
47
|
+
error: string;
|
|
48
|
+
};
|
|
49
|
+
/** The partition {@link applyBaseline} produces. */
|
|
50
|
+
interface AppliedBaseline {
|
|
51
|
+
/** Findings that COUNT — not present in the baseline. */
|
|
52
|
+
violations: readonly Violation[];
|
|
53
|
+
/** Findings the baseline accepted, in the same relative order. */
|
|
54
|
+
suppressed: readonly Violation[];
|
|
55
|
+
/**
|
|
56
|
+
* Fingerprints in the baseline that this run did not produce.
|
|
57
|
+
*
|
|
58
|
+
* Reported, never acted on here: whether they mean "fixed" or "not looked at" depends on
|
|
59
|
+
* whether the run was complete, which is knowledge only the run edge has.
|
|
60
|
+
*/
|
|
61
|
+
stale: readonly string[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Renders a baseline file. Deterministic: two runs over the same findings produce the same
|
|
65
|
+
* bytes, so a regenerated baseline that changed is a change in the findings.
|
|
66
|
+
*
|
|
67
|
+
* Sorted by `(ruleId, location, fingerprint)` and NOT by message — a reworded rule would
|
|
68
|
+
* otherwise reorder the file and turn a no-op regeneration into a large diff. Deduped by
|
|
69
|
+
* fingerprint, because one fingerprint can legitimately cover several findings.
|
|
70
|
+
*/
|
|
71
|
+
declare function serializeBaseline(violations: readonly Violation[], repoRoot: string): string;
|
|
72
|
+
/**
|
|
73
|
+
* Reads a baseline file.
|
|
74
|
+
*
|
|
75
|
+
* Returns the reason instead of throwing: the caller is the run edge, and every failure here
|
|
76
|
+
* has to become a `baseline-invalid` diagnostic rather than an exception that destroys the
|
|
77
|
+
* other findings in the run.
|
|
78
|
+
*/
|
|
79
|
+
declare function parseBaseline(text: string): BaselineParseResult;
|
|
80
|
+
/**
|
|
81
|
+
* Splits findings into counted and accepted, by fingerprint.
|
|
82
|
+
*
|
|
83
|
+
* Input order is preserved in both outputs, so the total order `compareViolations` established
|
|
84
|
+
* survives suppression and reporter output stays byte-stable.
|
|
85
|
+
*
|
|
86
|
+
* A fingerprint that matches several findings suppresses ALL of them — two imports of one
|
|
87
|
+
* dependency from one module share a fingerprint by design (see `fingerprintOf`), and
|
|
88
|
+
* accepting "domain must not import react" has to mean accepting it, not one arbitrary half.
|
|
89
|
+
*/
|
|
90
|
+
declare function applyBaseline(violations: readonly Violation[], file: BaselineFile): AppliedBaseline;
|
|
91
|
+
//#endregion
|
|
10
92
|
//#region src/classifiers/path.d.ts
|
|
11
93
|
interface PathPattern {
|
|
12
94
|
/**
|
|
@@ -457,7 +539,10 @@ interface FailOnDiagnostics {
|
|
|
457
539
|
emptyScope?: boolean;
|
|
458
540
|
/** A rule's options failed its schema, so the rule did not run. Default true. */
|
|
459
541
|
invalidOptions?: boolean;
|
|
460
|
-
/**
|
|
542
|
+
/**
|
|
543
|
+
* The configuration itself is wrong and something was dropped, or a configured baseline
|
|
544
|
+
* could not be read. Default true.
|
|
545
|
+
*/
|
|
461
546
|
invalidConfig?: boolean;
|
|
462
547
|
/** A configured rule is deprecated. Default false. */
|
|
463
548
|
deprecated?: boolean;
|
|
@@ -524,7 +609,7 @@ declare const DIAGNOSTIC_GATES: {
|
|
|
524
609
|
readonly default: true;
|
|
525
610
|
};
|
|
526
611
|
readonly invalidConfig: {
|
|
527
|
-
readonly codes: readonly ["invalid-config"];
|
|
612
|
+
readonly codes: readonly ["invalid-config", "baseline-invalid"];
|
|
528
613
|
readonly default: true;
|
|
529
614
|
};
|
|
530
615
|
readonly deprecated: {
|
|
@@ -635,8 +720,9 @@ interface UserConfig {
|
|
|
635
720
|
/**
|
|
636
721
|
* Path to a baseline file of accepted violations, relative to {@link repoRoot}.
|
|
637
722
|
*
|
|
638
|
-
*
|
|
639
|
-
* `AnalysisResult.suppressed`.
|
|
723
|
+
* Read at the RUN EDGE, not by `analyze` — suppression is policy, like `failOn`, and the
|
|
724
|
+
* engine stays pure. Matched findings move to `AnalysisResult.suppressed`. Write the file
|
|
725
|
+
* with `archwall check --update-baseline`.
|
|
640
726
|
*
|
|
641
727
|
* A graph-based linter has no other suppression mechanism available: with no source text
|
|
642
728
|
* there can be no `// archwall-ignore`, so accepting existing findings has to be a file
|
|
@@ -664,7 +750,7 @@ interface ResolvedRule {
|
|
|
664
750
|
interface ResolvedConfig {
|
|
665
751
|
/** Absolute. Base for reported paths and fingerprints. */
|
|
666
752
|
repoRoot: string;
|
|
667
|
-
/** Absolute path to the baseline file, or null
|
|
753
|
+
/** Absolute path to the baseline file, or null when none is configured. */
|
|
668
754
|
baseline: string | null;
|
|
669
755
|
/** Absolute, at or below {@link repoRoot}. Base for the boundary and classifiers. */
|
|
670
756
|
sourceRoot: string;
|
|
@@ -829,5 +915,5 @@ declare function dropSelfEdges(): GraphTransform;
|
|
|
829
915
|
*/
|
|
830
916
|
declare function dropTypeOnlyEdges(): GraphTransform;
|
|
831
917
|
//#endregion
|
|
832
|
-
export { type AnalysisResult, type AnalysisStats, type AnalyzeOptions, ArchWallError, BUILTIN_REPORTER_NAMES, type BuiltinReporterName, type CallableRule, type Capability, type Classifier, type ClassifierContext, type ConfiguredRule, DIAGNOSTIC_GATES, type Diagnostic, type DiagnosticCode, type DiagnosticSeverity, type Edge, type EdgeAttributes, type EdgeFilter, type EdgeKind, type EmptyScopeDetails, FINGERPRINT_SCHEME, FIRST_PARTY_KINDS, type FailOn, type FailOnDiagnostics, type GraphComputation, type GraphDelivery, type GraphMutation, type GraphTransform, type GraphView, type HostInfo, IR_VERSION, IrVersionMismatchError, MODULE_ID_SCHEMES, type ModuleFilter, type ModuleId, type ModuleIdScheme, type ModuleKind, type ModuleNode, type ModuleSelection, type OutputDestination, type OutputSink, type PathClassifierOptions, type PathPattern, type Preset, type PresetMeta, type PresetSpec, ProjectGraph, type ProjectGraphInit, type Reporter, type ReporterIO, type ReporterOutputSpec, type ReporterSpec, type ResolvedConfig, type ResolvedFailOnDiagnostics, type ResolvedReporters, type ResolvedRule, type Rule, type RuleContext, type RuleDeprecation, type RuleMeta, type RuleOverride, type RuleRunInfo, type RuleScope, type RuleSettings, type RuleSkippedDetails, type RuleSpec, type RuleVisitors, type RunInfo, type Severity, type SeverityCounts, type SourceLocation, type StandardSchemaIssue, type StandardSchemaResult, type StandardSchemaV1, THIRD_PARTY_KINDS, type TagPatch, type TransformContext, type UnscannableFilesDetails, type UserConfig, type Violation, type ViolationInput, type ViolationLocation, type WellKnownCapability, type WellKnownDiagnosticCode, type WellKnownEdgeKind, analyze, assertIrCompatible, compareViolations, configureRule, consoleReporter, countBySeverity, defaultIO, defineClassifier, defineConfig, defineGraphComputation, definePreset, defineReporter, defineRule, defineTransform, displayModuleId, dropSelfEdges, dropTypeOnlyEdges, failingDiagnosticCodes, fingerprintOf, formatViolation, irMajor, isBuiltinReporterName, isFirstParty, isThirdParty, jsonReporter, locationsOf, matchCaptures, matchesPattern, parseModuleId, pathClassifier, primaryEdge, primaryModule, primarySourceLocation, renderMessage, resolveConfig, resolveFailOnDiagnostics, resolveReporters, sarifReporter, stronglyConnectedComponents };
|
|
918
|
+
export { type AnalysisResult, type AnalysisStats, type AnalyzeOptions, type AppliedBaseline, ArchWallError, BUILTIN_REPORTER_NAMES, type BaselineEntry, type BaselineFile, type BaselineInvalidDetails, type BaselineParseResult, type BaselineStaleDetails, type BuiltinReporterName, type CallableRule, type Capability, type Classifier, type ClassifierContext, type ConfiguredRule, DIAGNOSTIC_GATES, type Diagnostic, type DiagnosticCode, type DiagnosticSeverity, type Edge, type EdgeAttributes, type EdgeFilter, type EdgeKind, type EmptyScopeDetails, FINGERPRINT_SCHEME, FIRST_PARTY_KINDS, type FailOn, type FailOnDiagnostics, type GraphComputation, type GraphDelivery, type GraphMutation, type GraphTransform, type GraphView, type HostInfo, IR_VERSION, IrVersionMismatchError, MODULE_ID_SCHEMES, type ModuleFilter, type ModuleId, type ModuleIdScheme, type ModuleKind, type ModuleNode, type ModuleSelection, type OutputDestination, type OutputSink, type PathClassifierOptions, type PathPattern, type Preset, type PresetMeta, type PresetSpec, ProjectGraph, type ProjectGraphInit, type Reporter, type ReporterIO, type ReporterOutputSpec, type ReporterSpec, type ResolvedConfig, type ResolvedFailOnDiagnostics, type ResolvedReporters, type ResolvedRule, type Rule, type RuleContext, type RuleDeprecation, type RuleMeta, type RuleOverride, type RuleRunInfo, type RuleScope, type RuleSettings, type RuleSkippedDetails, type RuleSpec, type RuleVisitors, type RunInfo, type Severity, type SeverityCounts, type SourceLocation, type StandardSchemaIssue, type StandardSchemaResult, type StandardSchemaV1, THIRD_PARTY_KINDS, type TagPatch, type TransformContext, type UnscannableFilesDetails, type UserConfig, type Violation, type ViolationInput, type ViolationLocation, type WellKnownCapability, type WellKnownDiagnosticCode, type WellKnownEdgeKind, analyze, applyBaseline, assertIrCompatible, compareViolations, configureRule, consoleReporter, countBySeverity, defaultIO, defineClassifier, defineConfig, defineGraphComputation, definePreset, defineReporter, defineRule, defineTransform, displayModuleId, dropSelfEdges, dropTypeOnlyEdges, failingDiagnosticCodes, fingerprintOf, formatViolation, irMajor, isBuiltinReporterName, isFirstParty, isThirdParty, jsonReporter, locationsOf, matchCaptures, matchesPattern, parseBaseline, parseModuleId, pathClassifier, primaryEdge, primaryModule, primarySourceLocation, renderMessage, resolveConfig, resolveFailOnDiagnostics, resolveReporters, sarifReporter, serializeBaseline, stronglyConnectedComponents };
|
|
833
919
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as ModuleKind, A as ViolationInput, B as Capability, C as ClassifierContext, D as Severity, E as FINGERPRINT_SCHEME, F as locationsOf, G as GraphDelivery, H as EdgeAttributes, I as primaryEdge, J as HostInfo, L as primaryModule, M as compareViolations, N as countBySeverity, O as SeverityCounts, P as fingerprintOf, Q as ModuleIdScheme, R as primarySourceLocation, S as Classifier, T as defineClassifier, U as EdgeKind, V as Edge, W as FIRST_PARTY_KINDS, X as MODULE_ID_SCHEMES, Y as IR_VERSION, Z as ModuleId, _ as DiagnosticSeverity, a as defineGraphComputation, at as WellKnownCapability, b as UnscannableFilesDetails, ct as displayModuleId, d as ModuleSelection, dt as isThirdParty, et as ModuleNode, ft as parseModuleId, g as DiagnosticCode, h as Diagnostic, i as GraphComputation, it as THIRD_PARTY_KINDS, j as ViolationLocation, k as Violation, l as GraphView, lt as irMajor, m as BaselineStaleDetails, n as TransformContext, nt as ProjectGraphInit, o as EdgeFilter, ot as WellKnownEdgeKind, p as BaselineInvalidDetails, q as GraphMutation, r as defineTransform, rt as SourceLocation, st as assertIrCompatible, t as GraphTransform, tt as ProjectGraph, u as ModuleFilter, ut as isFirstParty, v as EmptyScopeDetails, w as TagPatch, x as WellKnownDiagnosticCode, y as RuleSkippedDetails, z as renderMessage } from "./transform-beNJIws-.mjs";
|
|
2
2
|
//#region src/analysis/scc.d.ts
|
|
3
3
|
/**
|
|
4
4
|
* Strongly connected components over static+reexport edges (a dynamic import is a
|
|
@@ -7,6 +7,88 @@ import { $ as ProjectGraph, A as primaryEdge, B as EdgeAttributes, C as Violatio
|
|
|
7
7
|
*/
|
|
8
8
|
declare const stronglyConnectedComponents: GraphComputation<readonly (readonly string[])[]>;
|
|
9
9
|
//#endregion
|
|
10
|
+
//#region src/baseline.d.ts
|
|
11
|
+
/**
|
|
12
|
+
* One accepted violation.
|
|
13
|
+
*
|
|
14
|
+
* `fingerprint` is the ONLY field matching keys on. Everything else is context for the human
|
|
15
|
+
* reading the diff, and is deliberately regenerated rather than compared — a rule improving
|
|
16
|
+
* its wording must not invalidate the debt a team already accepted, which is the whole reason
|
|
17
|
+
* `fingerprintOf` excludes the message in the first place.
|
|
18
|
+
*
|
|
19
|
+
* The alternative — a file of bare hashes — was rejected because a baseline lands in a pull
|
|
20
|
+
* request, and "+4 opaque hashes" is not something a reviewer can approve.
|
|
21
|
+
*/
|
|
22
|
+
interface BaselineEntry {
|
|
23
|
+
fingerprint: string;
|
|
24
|
+
/** Rule instance id. Context only. */
|
|
25
|
+
ruleId: string;
|
|
26
|
+
/** Repo-relative rendering of the primary location. Context only. */
|
|
27
|
+
location: string;
|
|
28
|
+
/** Rendered message at the time the entry was written. Context only. */
|
|
29
|
+
message: string;
|
|
30
|
+
}
|
|
31
|
+
interface BaselineFile {
|
|
32
|
+
/**
|
|
33
|
+
* The fingerprint scheme the entries were produced under; must equal
|
|
34
|
+
* {@link FINGERPRINT_SCHEME}.
|
|
35
|
+
*
|
|
36
|
+
* Checked rather than ignored because the failure is otherwise invisible: under a bumped
|
|
37
|
+
* scheme every entry stops matching, and a silent no-match looks exactly like "someone
|
|
38
|
+
* introduced 400 violations" — which is the one message this file exists to prevent.
|
|
39
|
+
*/
|
|
40
|
+
scheme: string;
|
|
41
|
+
entries: readonly BaselineEntry[];
|
|
42
|
+
}
|
|
43
|
+
/** Either a usable file or the reason it is not; never a throw. See {@link parseBaseline}. */
|
|
44
|
+
type BaselineParseResult = {
|
|
45
|
+
file: BaselineFile;
|
|
46
|
+
} | {
|
|
47
|
+
error: string;
|
|
48
|
+
};
|
|
49
|
+
/** The partition {@link applyBaseline} produces. */
|
|
50
|
+
interface AppliedBaseline {
|
|
51
|
+
/** Findings that COUNT — not present in the baseline. */
|
|
52
|
+
violations: readonly Violation[];
|
|
53
|
+
/** Findings the baseline accepted, in the same relative order. */
|
|
54
|
+
suppressed: readonly Violation[];
|
|
55
|
+
/**
|
|
56
|
+
* Fingerprints in the baseline that this run did not produce.
|
|
57
|
+
*
|
|
58
|
+
* Reported, never acted on here: whether they mean "fixed" or "not looked at" depends on
|
|
59
|
+
* whether the run was complete, which is knowledge only the run edge has.
|
|
60
|
+
*/
|
|
61
|
+
stale: readonly string[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Renders a baseline file. Deterministic: two runs over the same findings produce the same
|
|
65
|
+
* bytes, so a regenerated baseline that changed is a change in the findings.
|
|
66
|
+
*
|
|
67
|
+
* Sorted by `(ruleId, location, fingerprint)` and NOT by message — a reworded rule would
|
|
68
|
+
* otherwise reorder the file and turn a no-op regeneration into a large diff. Deduped by
|
|
69
|
+
* fingerprint, because one fingerprint can legitimately cover several findings.
|
|
70
|
+
*/
|
|
71
|
+
declare function serializeBaseline(violations: readonly Violation[], repoRoot: string): string;
|
|
72
|
+
/**
|
|
73
|
+
* Reads a baseline file.
|
|
74
|
+
*
|
|
75
|
+
* Returns the reason instead of throwing: the caller is the run edge, and every failure here
|
|
76
|
+
* has to become a `baseline-invalid` diagnostic rather than an exception that destroys the
|
|
77
|
+
* other findings in the run.
|
|
78
|
+
*/
|
|
79
|
+
declare function parseBaseline(text: string): BaselineParseResult;
|
|
80
|
+
/**
|
|
81
|
+
* Splits findings into counted and accepted, by fingerprint.
|
|
82
|
+
*
|
|
83
|
+
* Input order is preserved in both outputs, so the total order `compareViolations` established
|
|
84
|
+
* survives suppression and reporter output stays byte-stable.
|
|
85
|
+
*
|
|
86
|
+
* A fingerprint that matches several findings suppresses ALL of them — two imports of one
|
|
87
|
+
* dependency from one module share a fingerprint by design (see `fingerprintOf`), and
|
|
88
|
+
* accepting "domain must not import react" has to mean accepting it, not one arbitrary half.
|
|
89
|
+
*/
|
|
90
|
+
declare function applyBaseline(violations: readonly Violation[], file: BaselineFile): AppliedBaseline;
|
|
91
|
+
//#endregion
|
|
10
92
|
//#region src/classifiers/path.d.ts
|
|
11
93
|
interface PathPattern {
|
|
12
94
|
/**
|
|
@@ -457,7 +539,10 @@ interface FailOnDiagnostics {
|
|
|
457
539
|
emptyScope?: boolean;
|
|
458
540
|
/** A rule's options failed its schema, so the rule did not run. Default true. */
|
|
459
541
|
invalidOptions?: boolean;
|
|
460
|
-
/**
|
|
542
|
+
/**
|
|
543
|
+
* The configuration itself is wrong and something was dropped, or a configured baseline
|
|
544
|
+
* could not be read. Default true.
|
|
545
|
+
*/
|
|
461
546
|
invalidConfig?: boolean;
|
|
462
547
|
/** A configured rule is deprecated. Default false. */
|
|
463
548
|
deprecated?: boolean;
|
|
@@ -524,7 +609,7 @@ declare const DIAGNOSTIC_GATES: {
|
|
|
524
609
|
readonly default: true;
|
|
525
610
|
};
|
|
526
611
|
readonly invalidConfig: {
|
|
527
|
-
readonly codes: readonly ["invalid-config"];
|
|
612
|
+
readonly codes: readonly ["invalid-config", "baseline-invalid"];
|
|
528
613
|
readonly default: true;
|
|
529
614
|
};
|
|
530
615
|
readonly deprecated: {
|
|
@@ -635,8 +720,9 @@ interface UserConfig {
|
|
|
635
720
|
/**
|
|
636
721
|
* Path to a baseline file of accepted violations, relative to {@link repoRoot}.
|
|
637
722
|
*
|
|
638
|
-
*
|
|
639
|
-
* `AnalysisResult.suppressed`.
|
|
723
|
+
* Read at the RUN EDGE, not by `analyze` — suppression is policy, like `failOn`, and the
|
|
724
|
+
* engine stays pure. Matched findings move to `AnalysisResult.suppressed`. Write the file
|
|
725
|
+
* with `archwall check --update-baseline`.
|
|
640
726
|
*
|
|
641
727
|
* A graph-based linter has no other suppression mechanism available: with no source text
|
|
642
728
|
* there can be no `// archwall-ignore`, so accepting existing findings has to be a file
|
|
@@ -664,7 +750,7 @@ interface ResolvedRule {
|
|
|
664
750
|
interface ResolvedConfig {
|
|
665
751
|
/** Absolute. Base for reported paths and fingerprints. */
|
|
666
752
|
repoRoot: string;
|
|
667
|
-
/** Absolute path to the baseline file, or null
|
|
753
|
+
/** Absolute path to the baseline file, or null when none is configured. */
|
|
668
754
|
baseline: string | null;
|
|
669
755
|
/** Absolute, at or below {@link repoRoot}. Base for the boundary and classifiers. */
|
|
670
756
|
sourceRoot: string;
|
|
@@ -829,5 +915,5 @@ declare function dropSelfEdges(): GraphTransform;
|
|
|
829
915
|
*/
|
|
830
916
|
declare function dropTypeOnlyEdges(): GraphTransform;
|
|
831
917
|
//#endregion
|
|
832
|
-
export { type AnalysisResult, type AnalysisStats, type AnalyzeOptions, ArchWallError, BUILTIN_REPORTER_NAMES, type BuiltinReporterName, type CallableRule, type Capability, type Classifier, type ClassifierContext, type ConfiguredRule, DIAGNOSTIC_GATES, type Diagnostic, type DiagnosticCode, type DiagnosticSeverity, type Edge, type EdgeAttributes, type EdgeFilter, type EdgeKind, type EmptyScopeDetails, FINGERPRINT_SCHEME, FIRST_PARTY_KINDS, type FailOn, type FailOnDiagnostics, type GraphComputation, type GraphDelivery, type GraphMutation, type GraphTransform, type GraphView, type HostInfo, IR_VERSION, IrVersionMismatchError, MODULE_ID_SCHEMES, type ModuleFilter, type ModuleId, type ModuleIdScheme, type ModuleKind, type ModuleNode, type ModuleSelection, type OutputDestination, type OutputSink, type PathClassifierOptions, type PathPattern, type Preset, type PresetMeta, type PresetSpec, ProjectGraph, type ProjectGraphInit, type Reporter, type ReporterIO, type ReporterOutputSpec, type ReporterSpec, type ResolvedConfig, type ResolvedFailOnDiagnostics, type ResolvedReporters, type ResolvedRule, type Rule, type RuleContext, type RuleDeprecation, type RuleMeta, type RuleOverride, type RuleRunInfo, type RuleScope, type RuleSettings, type RuleSkippedDetails, type RuleSpec, type RuleVisitors, type RunInfo, type Severity, type SeverityCounts, type SourceLocation, type StandardSchemaIssue, type StandardSchemaResult, type StandardSchemaV1, THIRD_PARTY_KINDS, type TagPatch, type TransformContext, type UnscannableFilesDetails, type UserConfig, type Violation, type ViolationInput, type ViolationLocation, type WellKnownCapability, type WellKnownDiagnosticCode, type WellKnownEdgeKind, analyze, assertIrCompatible, compareViolations, configureRule, consoleReporter, countBySeverity, defaultIO, defineClassifier, defineConfig, defineGraphComputation, definePreset, defineReporter, defineRule, defineTransform, displayModuleId, dropSelfEdges, dropTypeOnlyEdges, failingDiagnosticCodes, fingerprintOf, formatViolation, irMajor, isBuiltinReporterName, isFirstParty, isThirdParty, jsonReporter, locationsOf, matchCaptures, matchesPattern, parseModuleId, pathClassifier, primaryEdge, primaryModule, primarySourceLocation, renderMessage, resolveConfig, resolveFailOnDiagnostics, resolveReporters, sarifReporter, stronglyConnectedComponents };
|
|
918
|
+
export { type AnalysisResult, type AnalysisStats, type AnalyzeOptions, type AppliedBaseline, ArchWallError, BUILTIN_REPORTER_NAMES, type BaselineEntry, type BaselineFile, type BaselineInvalidDetails, type BaselineParseResult, type BaselineStaleDetails, type BuiltinReporterName, type CallableRule, type Capability, type Classifier, type ClassifierContext, type ConfiguredRule, DIAGNOSTIC_GATES, type Diagnostic, type DiagnosticCode, type DiagnosticSeverity, type Edge, type EdgeAttributes, type EdgeFilter, type EdgeKind, type EmptyScopeDetails, FINGERPRINT_SCHEME, FIRST_PARTY_KINDS, type FailOn, type FailOnDiagnostics, type GraphComputation, type GraphDelivery, type GraphMutation, type GraphTransform, type GraphView, type HostInfo, IR_VERSION, IrVersionMismatchError, MODULE_ID_SCHEMES, type ModuleFilter, type ModuleId, type ModuleIdScheme, type ModuleKind, type ModuleNode, type ModuleSelection, type OutputDestination, type OutputSink, type PathClassifierOptions, type PathPattern, type Preset, type PresetMeta, type PresetSpec, ProjectGraph, type ProjectGraphInit, type Reporter, type ReporterIO, type ReporterOutputSpec, type ReporterSpec, type ResolvedConfig, type ResolvedFailOnDiagnostics, type ResolvedReporters, type ResolvedRule, type Rule, type RuleContext, type RuleDeprecation, type RuleMeta, type RuleOverride, type RuleRunInfo, type RuleScope, type RuleSettings, type RuleSkippedDetails, type RuleSpec, type RuleVisitors, type RunInfo, type Severity, type SeverityCounts, type SourceLocation, type StandardSchemaIssue, type StandardSchemaResult, type StandardSchemaV1, THIRD_PARTY_KINDS, type TagPatch, type TransformContext, type UnscannableFilesDetails, type UserConfig, type Violation, type ViolationInput, type ViolationLocation, type WellKnownCapability, type WellKnownDiagnosticCode, type WellKnownEdgeKind, analyze, applyBaseline, assertIrCompatible, compareViolations, configureRule, consoleReporter, countBySeverity, defaultIO, defineClassifier, defineConfig, defineGraphComputation, definePreset, defineReporter, defineRule, defineTransform, displayModuleId, dropSelfEdges, dropTypeOnlyEdges, failingDiagnosticCodes, fingerprintOf, formatViolation, irMajor, isBuiltinReporterName, isFirstParty, isThirdParty, jsonReporter, locationsOf, matchCaptures, matchesPattern, parseBaseline, parseModuleId, pathClassifier, primaryEdge, primaryModule, primarySourceLocation, renderMessage, resolveConfig, resolveFailOnDiagnostics, resolveReporters, sarifReporter, serializeBaseline, stronglyConnectedComponents };
|
|
833
919
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.mjs
CHANGED
|
Binary file
|