apk
45d70f49b9
feat(cli): beautify health badge, weigh duplication by kind, format reports
...
- Console health badge: reverse-video grade chip, eighth-block gauges per
dimension, one row per sub-score with what it was measured from.
- markdown/html reporters for --dashboard and --health, alongside the
existing console/json/badge; the health SVG badge moves into badge.rs.
- --dashboard's Duplication section lists a breakdown by format instead of
by file, sourced from the same jscpd statistics as everywhere else.
- Duplication no longer counts markup, stylesheet and template clones
(HTML, CSS, Handlebars, ...): a repeating style rule is not the
maintenance problem repeating programming logic is. The exclusion
follows the clone's own format, not the file it lives in, so a .svelte
or .vue file's style/template block is left out even though the
component itself is full weight.
- The duplication line and format-breakdown table now name what they
actually measured and, only for categories the project has files in,
what was left out (e.g. "5.4% in typescript (no text)") instead of a
fixed disclaimer.
2026-09-18 11:48:45 +02:00
..
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 11:12:51 +02:00
2020-04-29 19:14:00 +03:00
2026-05-13 08:21:50 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 11:12:51 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-05-14 07:08:01 +02:00
2026-07-23 08:44:08 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-09-18 11:48:45 +02:00
2026-09-17 13:49:55 +02:00
2026-05-12 20:11:56 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-09-11 08:45:09 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-09-14 20:35:29 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-01-26 00:06:42 +13:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2026-09-12 08:26:27 +02:00
2026-05-09 15:00:38 +02:00
2022-12-07 11:20:58 +01:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-09-05 09:46:31 +02:00
2021-06-09 14:08:04 +03:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-13 11:00:29 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-09-08 13:49:33 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-09-06 21:12:26 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-06-20 21:24:01 +03:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2026-06-20 10:42:33 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2026-09-08 08:50:24 +02:00
2026-05-13 20:48:59 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2026-09-17 18:15:45 +02:00
2026-05-13 09:35:53 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-09-07 18:51:21 +02:00
2026-09-17 18:15:45 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-09 15:00:38 +02:00
2026-05-12 19:43:21 +02:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2026-09-13 07:44:22 +02:00
2026-05-09 15:00:38 +02:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2020-04-29 19:14:00 +03:00
2026-05-09 15:00:38 +02:00
2020-08-11 14:44:32 +03:00
2020-04-29 19:14:00 +03:00