mirror of
https://github.com/maputnik/editor.git
synced 2026-07-09 15:37:28 +00:00
24 lines
910 B
TypeScript
24 lines
910 B
TypeScript
import fs from "node:fs";
|
|
import path from "node:path";
|
|
import { execFileSync } from "node:child_process";
|
|
|
|
/**
|
|
* Merges the per-test istanbul coverage chunks collected in `.nyc_output` into a
|
|
* report (configured by `.nycrc.json`) once the whole e2e run has finished.
|
|
*/
|
|
export default function globalTeardown(): void {
|
|
const dir = path.resolve(process.cwd(), ".nyc_output");
|
|
const hasCoverage = fs.existsSync(dir) && fs.readdirSync(dir).some((f) => f.endsWith(".json"));
|
|
if (!hasCoverage) {
|
|
console.warn("No coverage data collected; skipping coverage report.");
|
|
return;
|
|
}
|
|
try {
|
|
execFileSync("npx", ["nyc", "report"], { stdio: "inherit" });
|
|
} catch (error) {
|
|
// Don't fail the whole run if the report can't be generated (e.g. when
|
|
// running against a container whose source paths differ from the host).
|
|
console.warn("Failed to generate coverage report:", error);
|
|
}
|
|
}
|