@ng-prism/plugin-coverage 21.12.0 → 22.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -42,14 +42,15 @@ export class CoverageHeaderBadgeComponent {
|
|
|
42
42
|
`Functions ${meta.total.functions.pct}% · ` +
|
|
43
43
|
`Statements ${meta.total.statements.pct}%`,
|
|
44
44
|
};
|
|
45
|
-
},
|
|
45
|
+
}, /* @ts-ignore */
|
|
46
|
+
...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
46
47
|
static ɵfac = function CoverageHeaderBadgeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CoverageHeaderBadgeComponent)(); };
|
|
47
48
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CoverageHeaderBadgeComponent, selectors: [["prism-coverage-header-badge"]], decls: 1, vars: 1, consts: [[1, "cov-pill", 3, "cov-pill--ok", "cov-pill--warn", "cov-pill--danger", "title"], [1, "cov-pill", 3, "title"], [1, "cov-pill__dot"], [1, "cov-pill__label"], [1, "cov-pill__value"]], template: function CoverageHeaderBadgeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
48
49
|
i0.ɵɵconditionalCreate(0, CoverageHeaderBadgeComponent_Conditional_0_Template, 8, 8, "span", 0);
|
|
49
50
|
} if (rf & 2) {
|
|
50
51
|
let tmp_0_0;
|
|
51
52
|
i0.ɵɵconditional((tmp_0_0 = ctx.data()) ? 0 : -1, tmp_0_0);
|
|
52
|
-
} }, styles: ["[_nghost-%COMP%] { display: inline-flex; align-items: center; }\n\n .cov-pill[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: var(--font-mono);\n font-size: var(--fs-xs);\n padding: 2px 10px;\n border-radius: 9999px;\n line-height: 1.4;\n border: 1px solid var(--prism-border);\n background: var(--prism-input-bg);\n color: var(--prism-text-muted);\n white-space: nowrap;\n }\n\n .cov-pill__dot[_ngcontent-%COMP%] {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: currentColor;\n }\n\n .cov-pill__label[_ngcontent-%COMP%] {\n color: var(--prism-text-ghost);\n letter-spacing: 0.02em;\n }\n\n .cov-pill__value[_ngcontent-%COMP%] {\n color: var(--prism-text);\n font-weight: 600;\n }\n .cov-pill__value[_ngcontent-%COMP%] small[_ngcontent-%COMP%] {\n font-size: 9px;\n margin-left: 1px;\n color: var(--prism-text-muted);\n font-weight: 500;\n }\n\n .cov-pill--ok[_ngcontent-%COMP%] {\n color: var(--prism-success);\n border-color: color-mix(in srgb, var(--prism-success) 35%, transparent);\n background: color-mix(in srgb, var(--prism-success) 12%, transparent);\n }\n .cov-pill--ok[_ngcontent-%COMP%] .cov-pill__label[_ngcontent-%COMP%], \n .cov-pill--ok[_ngcontent-%COMP%] .cov-pill__value[_ngcontent-%COMP%] { color: var(--prism-success); }\n\n .cov-pill--warn[_ngcontent-%COMP%] {\n color: var(--prism-warn);\n border-color: color-mix(in srgb, var(--prism-warn) 35%, transparent);\n background: color-mix(in srgb, var(--prism-warn) 12%, transparent);\n }\n .cov-pill--warn[_ngcontent-%COMP%] .cov-pill__label[_ngcontent-%COMP%], \n .cov-pill--warn[_ngcontent-%COMP%] .cov-pill__value[_ngcontent-%COMP%] { color: var(--prism-warn); }\n\n .cov-pill--danger[_ngcontent-%COMP%] {\n color: var(--prism-danger);\n border-color: color-mix(in srgb, var(--prism-danger) 35%, transparent);\n background: color-mix(in srgb, var(--prism-danger) 12%, transparent);\n }\n .cov-pill--danger[_ngcontent-%COMP%] .cov-pill__label[_ngcontent-%COMP%], \n .cov-pill--danger[_ngcontent-%COMP%] .cov-pill__value[_ngcontent-%COMP%] { color: var(--prism-danger); }"]
|
|
53
|
+
} }, styles: ["[_nghost-%COMP%] { display: inline-flex; align-items: center; }\n\n .cov-pill[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-family: var(--font-mono);\n font-size: var(--fs-xs);\n padding: 2px 10px;\n border-radius: 9999px;\n line-height: 1.4;\n border: 1px solid var(--prism-border);\n background: var(--prism-input-bg);\n color: var(--prism-text-muted);\n white-space: nowrap;\n }\n\n .cov-pill__dot[_ngcontent-%COMP%] {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: currentColor;\n }\n\n .cov-pill__label[_ngcontent-%COMP%] {\n color: var(--prism-text-ghost);\n letter-spacing: 0.02em;\n }\n\n .cov-pill__value[_ngcontent-%COMP%] {\n color: var(--prism-text);\n font-weight: 600;\n }\n .cov-pill__value[_ngcontent-%COMP%] small[_ngcontent-%COMP%] {\n font-size: 9px;\n margin-left: 1px;\n color: var(--prism-text-muted);\n font-weight: 500;\n }\n\n .cov-pill--ok[_ngcontent-%COMP%] {\n color: var(--prism-success);\n border-color: color-mix(in srgb, var(--prism-success) 35%, transparent);\n background: color-mix(in srgb, var(--prism-success) 12%, transparent);\n }\n .cov-pill--ok[_ngcontent-%COMP%] .cov-pill__label[_ngcontent-%COMP%], \n .cov-pill--ok[_ngcontent-%COMP%] .cov-pill__value[_ngcontent-%COMP%] { color: var(--prism-success); }\n\n .cov-pill--warn[_ngcontent-%COMP%] {\n color: var(--prism-warn);\n border-color: color-mix(in srgb, var(--prism-warn) 35%, transparent);\n background: color-mix(in srgb, var(--prism-warn) 12%, transparent);\n }\n .cov-pill--warn[_ngcontent-%COMP%] .cov-pill__label[_ngcontent-%COMP%], \n .cov-pill--warn[_ngcontent-%COMP%] .cov-pill__value[_ngcontent-%COMP%] { color: var(--prism-warn); }\n\n .cov-pill--danger[_ngcontent-%COMP%] {\n color: var(--prism-danger);\n border-color: color-mix(in srgb, var(--prism-danger) 35%, transparent);\n background: color-mix(in srgb, var(--prism-danger) 12%, transparent);\n }\n .cov-pill--danger[_ngcontent-%COMP%] .cov-pill__label[_ngcontent-%COMP%], \n .cov-pill--danger[_ngcontent-%COMP%] .cov-pill__value[_ngcontent-%COMP%] { color: var(--prism-danger); }"] });
|
|
53
54
|
}
|
|
54
55
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CoverageHeaderBadgeComponent, [{
|
|
55
56
|
type: Component,
|
|
@@ -109,11 +109,13 @@ const FALLBACK_THRESHOLDS = {
|
|
|
109
109
|
statements: 80,
|
|
110
110
|
};
|
|
111
111
|
export class CoveragePanelComponent {
|
|
112
|
-
activeComponent = input(null,
|
|
112
|
+
activeComponent = input(null, /* @ts-ignore */
|
|
113
|
+
...(ngDevMode ? [{ debugName: "activeComponent" }] : /* istanbul ignore next */ []));
|
|
113
114
|
coverage = computed(() => {
|
|
114
115
|
const comp = this.activeComponent();
|
|
115
116
|
return (comp?.meta?.showcaseConfig?.meta?.['coverage'] ?? null);
|
|
116
|
-
},
|
|
117
|
+
}, /* @ts-ignore */
|
|
118
|
+
...(ngDevMode ? [{ debugName: "coverage" }] : /* istanbul ignore next */ []));
|
|
117
119
|
summaryStats = computed(() => {
|
|
118
120
|
const c = this.coverage();
|
|
119
121
|
if (!c?.found)
|
|
@@ -124,13 +126,16 @@ export class CoveragePanelComponent {
|
|
|
124
126
|
{ label: 'Functions', pct: c.functions.pct },
|
|
125
127
|
{ label: 'Statements', pct: c.statements.pct },
|
|
126
128
|
];
|
|
127
|
-
},
|
|
129
|
+
}, /* @ts-ignore */
|
|
130
|
+
...(ngDevMode ? [{ debugName: "summaryStats" }] : /* istanbul ignore next */ []));
|
|
128
131
|
files = computed(() => {
|
|
129
132
|
return this.coverage()?.files ?? [];
|
|
130
|
-
},
|
|
133
|
+
}, /* @ts-ignore */
|
|
134
|
+
...(ngDevMode ? [{ debugName: "files" }] : /* istanbul ignore next */ []));
|
|
131
135
|
thresholds = computed(() => {
|
|
132
136
|
return this.coverage()?.thresholds ?? FALLBACK_THRESHOLDS;
|
|
133
|
-
},
|
|
137
|
+
}, /* @ts-ignore */
|
|
138
|
+
...(ngDevMode ? [{ debugName: "thresholds" }] : /* istanbul ignore next */ []));
|
|
134
139
|
fileName(path) {
|
|
135
140
|
const parts = path.split('/');
|
|
136
141
|
return parts[parts.length - 1];
|
|
@@ -139,9 +144,8 @@ export class CoveragePanelComponent {
|
|
|
139
144
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CoveragePanelComponent, selectors: [["prism-coverage-panel"]], inputs: { activeComponent: [1, "activeComponent"] }, decls: 2, vars: 1, consts: [[1, "cov-body"], [1, "cov-empty"], [1, "cov-summary"], [1, "cov-stat"], [1, "cov-files"], [1, "cov-stat-k"], [1, "cov-stat-v"], [1, "cov-bar"], [1, "cov-bar-fill"], [1, "cov-file", "cov-file--header"], [1, "cov-file"], [1, "cov-file-name"], [1, "cov-file-val"]], template: function CoveragePanelComponent_Template(rf, ctx) { if (rf & 1) {
|
|
140
145
|
i0.ɵɵconditionalCreate(0, CoveragePanelComponent_Conditional_0_Template, 5, 1, "div", 0)(1, CoveragePanelComponent_Conditional_1_Template, 3, 0, "div", 1);
|
|
141
146
|
} if (rf & 2) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
} }, styles: ["[_nghost-%COMP%] { display: block; height: 100%; overflow: auto; }\n\n .cov-body[_ngcontent-%COMP%] { padding: 20px 24px; }\n\n .cov-summary[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 12px;\n margin-bottom: 18px;\n }\n\n .cov-stat[_ngcontent-%COMP%] {\n padding: 12px 14px;\n background: var(--prism-bg-surface);\n border: 1px solid var(--prism-border);\n border-radius: 8px;\n }\n .cov-stat-k[_ngcontent-%COMP%] {\n font-size: 10.5px;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--prism-text-ghost);\n font-weight: 700;\n margin-bottom: 6px;\n }\n .cov-stat-v[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: 22px;\n font-weight: 700;\n color: var(--prism-text);\n letter-spacing: -0.02em;\n }\n .cov-stat-v[_ngcontent-%COMP%] small[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--prism-text-muted);\n font-weight: 500;\n }\n .cov-bar[_ngcontent-%COMP%] {\n margin-top: 8px;\n height: 4px;\n background: var(--prism-input-bg);\n border-radius: 2px;\n overflow: hidden;\n }\n .cov-bar-fill[_ngcontent-%COMP%] {\n height: 100%;\n background: linear-gradient(90deg, var(--prism-primary-from), var(--prism-primary-to));\n border-radius: 2px;\n transition: width 0.6s;\n }\n\n .cov-files[_ngcontent-%COMP%] {\n padding: 12px;\n background: var(--prism-bg-surface);\n border: 1px solid var(--prism-border);\n border-radius: 8px;\n }\n\n .cov-file[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr auto auto auto auto;\n align-items: center;\n gap: 16px;\n padding: 7px 4px;\n font-family: var(--font-mono);\n font-size: 12px;\n border-bottom: 1px solid var(--prism-border);\n }\n .cov-file[_ngcontent-%COMP%]:last-child { border-bottom: 0; }\n\n .cov-file--header[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--prism-border-strong);\n padding-bottom: 8px;\n color: var(--prism-text-ghost);\n font-size: 10.5px;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n font-weight: 700;\n }\n\n .cov-file-name[_ngcontent-%COMP%] { color: var(--prism-text-2); }\n .cov-file-val[_ngcontent-%COMP%] {\n color: var(--prism-text);\n min-width: 54px;\n text-align: right;\n }\n .cov-file-val.bad[_ngcontent-%COMP%] { color: var(--prism-warn); }\n\n .cov-empty[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 120px;\n color: var(--prism-text-muted);\n font-size: 13px;\n text-align: center;\n }"], changeDetection: 0 });
|
|
147
|
+
i0.ɵɵconditional(ctx.coverage()?.found ? 0 : 1);
|
|
148
|
+
} }, styles: ["[_nghost-%COMP%] { display: block; height: 100%; overflow: auto; }\n\n .cov-body[_ngcontent-%COMP%] { padding: 20px 24px; }\n\n .cov-summary[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 12px;\n margin-bottom: 18px;\n }\n\n .cov-stat[_ngcontent-%COMP%] {\n padding: 12px 14px;\n background: var(--prism-bg-surface);\n border: 1px solid var(--prism-border);\n border-radius: 8px;\n }\n .cov-stat-k[_ngcontent-%COMP%] {\n font-size: 10.5px;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--prism-text-ghost);\n font-weight: 700;\n margin-bottom: 6px;\n }\n .cov-stat-v[_ngcontent-%COMP%] {\n font-family: var(--font-mono);\n font-size: 22px;\n font-weight: 700;\n color: var(--prism-text);\n letter-spacing: -0.02em;\n }\n .cov-stat-v[_ngcontent-%COMP%] small[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--prism-text-muted);\n font-weight: 500;\n }\n .cov-bar[_ngcontent-%COMP%] {\n margin-top: 8px;\n height: 4px;\n background: var(--prism-input-bg);\n border-radius: 2px;\n overflow: hidden;\n }\n .cov-bar-fill[_ngcontent-%COMP%] {\n height: 100%;\n background: linear-gradient(90deg, var(--prism-primary-from), var(--prism-primary-to));\n border-radius: 2px;\n transition: width 0.6s;\n }\n\n .cov-files[_ngcontent-%COMP%] {\n padding: 12px;\n background: var(--prism-bg-surface);\n border: 1px solid var(--prism-border);\n border-radius: 8px;\n }\n\n .cov-file[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr auto auto auto auto;\n align-items: center;\n gap: 16px;\n padding: 7px 4px;\n font-family: var(--font-mono);\n font-size: 12px;\n border-bottom: 1px solid var(--prism-border);\n }\n .cov-file[_ngcontent-%COMP%]:last-child { border-bottom: 0; }\n\n .cov-file--header[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--prism-border-strong);\n padding-bottom: 8px;\n color: var(--prism-text-ghost);\n font-size: 10.5px;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n font-weight: 700;\n }\n\n .cov-file-name[_ngcontent-%COMP%] { color: var(--prism-text-2); }\n .cov-file-val[_ngcontent-%COMP%] {\n color: var(--prism-text);\n min-width: 54px;\n text-align: right;\n }\n .cov-file-val.bad[_ngcontent-%COMP%] { color: var(--prism-warn); }\n\n .cov-empty[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 120px;\n color: var(--prism-text-muted);\n font-size: 13px;\n text-align: center;\n }"] });
|
|
145
149
|
}
|
|
146
150
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CoveragePanelComponent, [{
|
|
147
151
|
type: Component,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ng-prism/plugin-coverage",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "22.0.0-beta.1",
|
|
4
4
|
"description": "Test coverage panel for ng-prism.",
|
|
5
5
|
"ng-add": {
|
|
6
6
|
"save": "devDependencies"
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"!**/*.tsbuildinfo"
|
|
35
35
|
],
|
|
36
36
|
"peerDependencies": {
|
|
37
|
-
"@angular/core": ">=
|
|
38
|
-
"@ng-prism/core": "^
|
|
37
|
+
"@angular/core": ">=20.0.0",
|
|
38
|
+
"@ng-prism/core": "^22.0.0-0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@ng-prism/core": "*"
|