build: add test report generator (task 0003)
Add scripts/test-report.ts (bun run test:report): it runs the full suite with JUnit + lcov output, then renders a gitignored reports/test-report.md — a summary, a describe-grouped inventory (pass/todo/fail), and a coverage table. The report is written even when tests fail and the script exits with the test run's own status, so CI can gate on it later. Adds fast-xml-parser (dev) for robust JUnit parsing; lcov is parsed by hand.
This commit is contained in:
32
bun.nix
32
bun.nix
@@ -51,6 +51,10 @@
|
||||
};
|
||||
"@kitchen-md/bin" = copyPathToStore ./packages/bin;
|
||||
"@kitchen-md/core" = copyPathToStore ./packages/core;
|
||||
"@nodable/entities@3.0.0" = fetchurl {
|
||||
url = "https://registry.npmjs.org/@nodable/entities/-/entities-3.0.0.tgz";
|
||||
hash = "sha512-8L9xFeTYKhm49xfIypoe2W5wV1m/3Z58kT+7kR9A8OyFxcPduI4VmxaUMQyKYrRjUoLLSXv6EKKID5Tvj9cUVw==";
|
||||
};
|
||||
"@types/debug@4.1.13" = fetchurl {
|
||||
url = "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz";
|
||||
hash = "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==";
|
||||
@@ -71,6 +75,10 @@
|
||||
url = "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz";
|
||||
hash = "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==";
|
||||
};
|
||||
"anynum@1.0.1" = fetchurl {
|
||||
url = "https://registry.npmjs.org/anynum/-/anynum-1.0.1.tgz";
|
||||
hash = "sha512-N6//FLET/tXYNM/F6ABca1oH6fWB+KlTt909Le28WMDBk8oaT4vY17DCrwg2MvmuqUKt3Ni4N5dGJ/EoBgcO6A==";
|
||||
};
|
||||
"bail@2.0.2" = fetchurl {
|
||||
url = "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz";
|
||||
hash = "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==";
|
||||
@@ -119,6 +127,14 @@
|
||||
url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
|
||||
hash = "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
|
||||
};
|
||||
"fast-xml-builder@1.3.0" = fetchurl {
|
||||
url = "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.3.0.tgz";
|
||||
hash = "sha512-F74cZEdCvuw9P41GAC3rod4X04jjWGM1JPEv/GWSqFTWLsdyMSBMBMlm9Hk3GLBgLBbdBNY8yee0pQh2RBVESQ==";
|
||||
};
|
||||
"fast-xml-parser@5.10.1" = fetchurl {
|
||||
url = "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.10.1.tgz";
|
||||
hash = "sha512-IEMIf7298kXuZSRFoGfMYrl7is8LpavODgbNz1cwIudv7KwVFnuU+UsMporfq6PD6aXSlawZlARiA3UywCTfMw==";
|
||||
};
|
||||
"fault@2.0.1" = fetchurl {
|
||||
url = "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz";
|
||||
hash = "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==";
|
||||
@@ -131,6 +147,10 @@
|
||||
url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz";
|
||||
hash = "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==";
|
||||
};
|
||||
"is-unsafe@2.0.0" = fetchurl {
|
||||
url = "https://registry.npmjs.org/is-unsafe/-/is-unsafe-2.0.0.tgz";
|
||||
hash = "sha512-2LdV822R+wmI86unXA93WCFpL6g+av8ynWk0nrHyJqGop5VoocYsSLFgN8jrfalT6iGeLNM4KXuVSsULP53kEA==";
|
||||
};
|
||||
"longest-streak@3.1.0" = fetchurl {
|
||||
url = "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz";
|
||||
hash = "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==";
|
||||
@@ -251,6 +271,10 @@
|
||||
url = "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz";
|
||||
hash = "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
|
||||
};
|
||||
"path-expression-matcher@1.6.2" = fetchurl {
|
||||
url = "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.6.2.tgz";
|
||||
hash = "sha512-enSlaiat05iasnzmgNxRj8reFdj3puY2QpNgP1aPIaVfT6nn9ICuPoFlKHk8EN22HcwewshO+mN2DGbkCEOtqQ==";
|
||||
};
|
||||
"remark-frontmatter@5.0.0" = fetchurl {
|
||||
url = "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz";
|
||||
hash = "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==";
|
||||
@@ -263,6 +287,10 @@
|
||||
url = "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz";
|
||||
hash = "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==";
|
||||
};
|
||||
"strnum@2.4.1" = fetchurl {
|
||||
url = "https://registry.npmjs.org/strnum/-/strnum-2.4.1.tgz";
|
||||
hash = "sha512-M9eUSMT2dCB2cTNPG7UYj6KuK7RJR2SN2+yCV/fTW3xzTCS6EaGZ5pSMgDIjB7r8zSfTGk+dvvn9rTjpVS9Mwg==";
|
||||
};
|
||||
"trough@2.2.0" = fetchurl {
|
||||
url = "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz";
|
||||
hash = "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==";
|
||||
@@ -299,6 +327,10 @@
|
||||
url = "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz";
|
||||
hash = "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==";
|
||||
};
|
||||
"xml-naming@0.3.0" = fetchurl {
|
||||
url = "https://registry.npmjs.org/xml-naming/-/xml-naming-0.3.0.tgz";
|
||||
hash = "sha512-ghig2TBE/H11aOVgmahA3MhimvkBr6JIYknH/Dhdk10nXwdbIqBJsbfMxpvFPG8bAw77gN29aQWvKpmVoPlvPQ==";
|
||||
};
|
||||
"yaml@2.9.0" = fetchurl {
|
||||
url = "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz";
|
||||
hash = "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==";
|
||||
|
||||
Reference in New Issue
Block a user