Files
OverlayScrollbars/local/playwright-tooling/bin/mergeCoverage.js
T
Rene Haas f22443dce8 changes
2022-11-25 10:31:14 +00:00

37 lines
1.2 KiB
JavaScript
Executable File

#!/usr/bin/env node
const fs = require('fs');
const { execSync } = require('child_process');
const { join } = require('path');
const { coverageDirectory, tmpCoverageDirectory } = require('@~local/config/playwright.coverage');
const mergeCoverage = async () => {
if (fs.existsSync(tmpCoverageDirectory)) {
const mergeDestination = join(tmpCoverageDirectory, `merged_${Date.now()}.json`);
execSync(`nyc merge ${tmpCoverageDirectory} ${mergeDestination}`);
const files = fs.readdirSync(tmpCoverageDirectory);
files.forEach((file) => {
const filePath = join(tmpCoverageDirectory, file);
if (filePath !== mergeDestination) {
fs.rmSync(filePath);
}
});
execSync(
`nyc report --reporter=lcov --reporter=text --reporter=clover --reporter=json --report-dir=${coverageDirectory} --temp-dir=${tmpCoverageDirectory}`,
{ stdio: 'inherit' }
);
fs.rmSync(tmpCoverageDirectory, { recursive: true });
}
};
(async () => {
try {
await mergeCoverage();
} catch (e) {
// console.error(`Playwright coverage couldn't be merged.`, e);
if (fs.existsSync(tmpCoverageDirectory)) {
fs.rmSync(tmpCoverageDirectory, { recursive: true });
}
}
})();