uilint-coverage 0.2.152 → 0.2.153
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.
|
@@ -1,73 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Rule: require-test-coverage
|
|
6
|
-
*
|
|
7
|
-
* Enforces that source files have test coverage above a configurable threshold.
|
|
8
|
-
* Checks for:
|
|
9
|
-
* - Existence of test files
|
|
10
|
-
* - Coverage data in Istanbul JSON format
|
|
11
|
-
* - Statement coverage percentage
|
|
12
|
-
*/
|
|
13
|
-
type MessageIds = "noCoverage" | "belowThreshold" | "noCoverageData" | "belowAggregateThreshold" | "jsxBelowThreshold" | "chunkBelowThreshold" | "untestedFunction";
|
|
14
|
-
type SeverityLevel = "error" | "warn" | "off";
|
|
15
|
-
type Options = [
|
|
16
|
-
{
|
|
17
|
-
/** Path to coverage JSON file. Default: "coverage/coverage-final.json" */
|
|
18
|
-
coveragePath?: string;
|
|
19
|
-
/** Coverage threshold percentage. Default: 80 */
|
|
20
|
-
threshold?: number;
|
|
21
|
-
/** Pattern-specific thresholds */
|
|
22
|
-
thresholdsByPattern?: Array<{
|
|
23
|
-
pattern: string;
|
|
24
|
-
threshold: number;
|
|
25
|
-
}>;
|
|
26
|
-
/** Severity levels for different issue types */
|
|
27
|
-
severity?: {
|
|
28
|
-
noCoverage?: SeverityLevel;
|
|
29
|
-
belowThreshold?: SeverityLevel;
|
|
30
|
-
};
|
|
31
|
-
/** Patterns to detect test files. Default: [".test.ts", ".test.tsx", ".spec.ts", ".spec.tsx", "__tests__/"] */
|
|
32
|
-
testPatterns?: string[];
|
|
33
|
-
/** Glob patterns for files to ignore. Default: ["**\/*.d.ts", "**\/index.ts"] */
|
|
34
|
-
ignorePatterns?: string[];
|
|
35
|
-
/** Mode: "all" checks all code, "changed" only checks git-changed lines. Default: "all" */
|
|
36
|
-
mode?: "all" | "changed";
|
|
37
|
-
/** Base branch for "changed" mode. Default: "main" */
|
|
38
|
-
baseBranch?: string;
|
|
39
|
-
/** Aggregate coverage threshold for components. Default: 70 */
|
|
40
|
-
aggregateThreshold?: number;
|
|
41
|
-
/** Severity for aggregate coverage check. Default: "warn" */
|
|
42
|
-
aggregateSeverity?: SeverityLevel;
|
|
43
|
-
/** JSX element coverage threshold percentage. Default: 50 */
|
|
44
|
-
jsxThreshold?: number;
|
|
45
|
-
/** Severity for JSX element coverage check. Default: "warn" */
|
|
46
|
-
jsxSeverity?: SeverityLevel;
|
|
47
|
-
/** Enable chunk-level coverage reporting (replaces file-level). Default: false */
|
|
48
|
-
chunkCoverage?: boolean;
|
|
49
|
-
/** Threshold for strict categories (utility/hook/store). Default: 80 */
|
|
50
|
-
chunkThreshold?: number;
|
|
51
|
-
/** Focus on non-React code with relaxed thresholds for components. Default: false */
|
|
52
|
-
focusNonReact?: boolean;
|
|
53
|
-
/** Threshold for relaxed categories (component/handler). Default: 50 */
|
|
54
|
-
relaxedThreshold?: number;
|
|
55
|
-
/** Severity for chunk coverage. Default: "warn" */
|
|
56
|
-
chunkSeverity?: SeverityLevel;
|
|
57
|
-
/** Minimum statements in file to require coverage. Default: 5 */
|
|
58
|
-
minStatements?: number;
|
|
59
|
-
}
|
|
60
|
-
];
|
|
61
|
-
/**
|
|
62
|
-
* Rule metadata
|
|
63
|
-
*/
|
|
64
|
-
declare const meta: uilint_eslint.RuleMeta;
|
|
65
|
-
/**
|
|
66
|
-
* Clear the coverage cache (useful for testing)
|
|
67
|
-
*/
|
|
68
|
-
declare function clearCoverageCache(): void;
|
|
69
|
-
declare const _default: _typescript_eslint_utils_ts_eslint.RuleModule<MessageIds, Options, unknown, _typescript_eslint_utils_ts_eslint.RuleListener> & {
|
|
70
|
-
name: string;
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
export { clearCoverageCache as c, meta as requireTestCoverageMeta, _default as requireTestCoverageRule };
|
|
1
|
+
export { meta as requireTestCoverageMeta, default as requireTestCoverageRule } from './require-test-coverage.js';
|
|
2
|
+
import '@typescript-eslint/utils/ts-eslint';
|
|
3
|
+
import 'uilint-eslint';
|
|
@@ -1,3 +1,73 @@
|
|
|
1
|
-
|
|
2
|
-
import '
|
|
3
|
-
|
|
1
|
+
import * as _typescript_eslint_utils_ts_eslint from '@typescript-eslint/utils/ts-eslint';
|
|
2
|
+
import * as uilint_eslint from 'uilint-eslint';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Rule: require-test-coverage
|
|
6
|
+
*
|
|
7
|
+
* Enforces that source files have test coverage above a configurable threshold.
|
|
8
|
+
* Checks for:
|
|
9
|
+
* - Existence of test files
|
|
10
|
+
* - Coverage data in Istanbul JSON format
|
|
11
|
+
* - Statement coverage percentage
|
|
12
|
+
*/
|
|
13
|
+
type MessageIds = "noCoverage" | "belowThreshold" | "noCoverageData" | "belowAggregateThreshold" | "jsxBelowThreshold" | "chunkBelowThreshold" | "untestedFunction";
|
|
14
|
+
type SeverityLevel = "error" | "warn" | "off";
|
|
15
|
+
type Options = [
|
|
16
|
+
{
|
|
17
|
+
/** Path to coverage JSON file. Default: "coverage/coverage-final.json" */
|
|
18
|
+
coveragePath?: string;
|
|
19
|
+
/** Coverage threshold percentage. Default: 80 */
|
|
20
|
+
threshold?: number;
|
|
21
|
+
/** Pattern-specific thresholds */
|
|
22
|
+
thresholdsByPattern?: Array<{
|
|
23
|
+
pattern: string;
|
|
24
|
+
threshold: number;
|
|
25
|
+
}>;
|
|
26
|
+
/** Severity levels for different issue types */
|
|
27
|
+
severity?: {
|
|
28
|
+
noCoverage?: SeverityLevel;
|
|
29
|
+
belowThreshold?: SeverityLevel;
|
|
30
|
+
};
|
|
31
|
+
/** Patterns to detect test files. Default: [".test.ts", ".test.tsx", ".spec.ts", ".spec.tsx", "__tests__/"] */
|
|
32
|
+
testPatterns?: string[];
|
|
33
|
+
/** Glob patterns for files to ignore. Default: ["**\/*.d.ts", "**\/index.ts"] */
|
|
34
|
+
ignorePatterns?: string[];
|
|
35
|
+
/** Mode: "all" checks all code, "changed" only checks git-changed lines. Default: "all" */
|
|
36
|
+
mode?: "all" | "changed";
|
|
37
|
+
/** Base branch for "changed" mode. Default: "main" */
|
|
38
|
+
baseBranch?: string;
|
|
39
|
+
/** Aggregate coverage threshold for components. Default: 70 */
|
|
40
|
+
aggregateThreshold?: number;
|
|
41
|
+
/** Severity for aggregate coverage check. Default: "warn" */
|
|
42
|
+
aggregateSeverity?: SeverityLevel;
|
|
43
|
+
/** JSX element coverage threshold percentage. Default: 50 */
|
|
44
|
+
jsxThreshold?: number;
|
|
45
|
+
/** Severity for JSX element coverage check. Default: "warn" */
|
|
46
|
+
jsxSeverity?: SeverityLevel;
|
|
47
|
+
/** Enable chunk-level coverage reporting (replaces file-level). Default: false */
|
|
48
|
+
chunkCoverage?: boolean;
|
|
49
|
+
/** Threshold for strict categories (utility/hook/store). Default: 80 */
|
|
50
|
+
chunkThreshold?: number;
|
|
51
|
+
/** Focus on non-React code with relaxed thresholds for components. Default: false */
|
|
52
|
+
focusNonReact?: boolean;
|
|
53
|
+
/** Threshold for relaxed categories (component/handler). Default: 50 */
|
|
54
|
+
relaxedThreshold?: number;
|
|
55
|
+
/** Severity for chunk coverage. Default: "warn" */
|
|
56
|
+
chunkSeverity?: SeverityLevel;
|
|
57
|
+
/** Minimum statements in file to require coverage. Default: 5 */
|
|
58
|
+
minStatements?: number;
|
|
59
|
+
}
|
|
60
|
+
];
|
|
61
|
+
/**
|
|
62
|
+
* Rule metadata
|
|
63
|
+
*/
|
|
64
|
+
declare const meta: uilint_eslint.RuleMeta;
|
|
65
|
+
/**
|
|
66
|
+
* Clear the coverage cache (useful for testing)
|
|
67
|
+
*/
|
|
68
|
+
declare function clearCoverageCache(): void;
|
|
69
|
+
declare const _default: _typescript_eslint_utils_ts_eslint.RuleModule<MessageIds, Options, unknown, _typescript_eslint_utils_ts_eslint.RuleListener> & {
|
|
70
|
+
name: string;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export { clearCoverageCache, _default as default, meta };
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "uilint-coverage",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.153",
|
|
4
4
|
"description": "Test coverage analysis plugin for UILint",
|
|
5
5
|
"author": "Peter Suggate",
|
|
6
6
|
"repository": {
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
"vitest": "^4.0.16"
|
|
77
77
|
},
|
|
78
78
|
"peerDependencies": {
|
|
79
|
-
"uilint-core": "0.2.
|
|
80
|
-
"uilint-eslint": "0.2.
|
|
79
|
+
"uilint-core": "0.2.155",
|
|
80
|
+
"uilint-eslint": "0.2.155"
|
|
81
81
|
},
|
|
82
82
|
"keywords": [
|
|
83
83
|
"test-coverage",
|