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
- 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 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
- export { c as clearCoverageCache, requireTestCoverageRule as default, requireTestCoverageMeta as meta } from './index.js';
2
- import '@typescript-eslint/utils/ts-eslint';
3
- import 'uilint-eslint';
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
@@ -1,2 +1,5 @@
1
1
  export { CoverageState, default as coveragePlugin } from './plugin/index.js';
2
+ export { clearCoverageCache } from './eslint-rules/require-test-coverage.js';
2
3
  import 'uilint-core';
4
+ import '@typescript-eslint/utils/ts-eslint';
5
+ import 'uilint-eslint';
package/dist/index.js CHANGED
@@ -1,8 +1,12 @@
1
1
  import {
2
2
  coveragePlugin
3
3
  } from "./chunk-OUFXDT77.js";
4
+ import {
5
+ clearCoverageCache
6
+ } from "./chunk-MSJUSFNN.js";
4
7
  import "./chunk-3XMA7KZX.js";
5
8
  export {
9
+ clearCoverageCache,
6
10
  coveragePlugin
7
11
  };
8
12
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uilint-coverage",
3
- "version": "0.2.152",
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.154",
80
- "uilint-eslint": "0.2.154"
79
+ "uilint-core": "0.2.155",
80
+ "uilint-eslint": "0.2.155"
81
81
  },
82
82
  "keywords": [
83
83
  "test-coverage",