mirror of
https://github.com/tenrok/OverlayScrollbars.git
synced 2026-06-08 17:12:29 +03:00
improve code
This commit is contained in:
@@ -12,7 +12,8 @@
|
||||
"test:jsdom": "jest --coverage --runInBand --detectOpenHandles --testPathPattern",
|
||||
"posttest:jsdom": "full-coverage",
|
||||
"build": "rollup -c",
|
||||
"test:playwright": "playwright test",
|
||||
"test:playwright": "playwright test --quiet",
|
||||
"test:playwright:dev": "playwright test",
|
||||
"posttest:playwright": "playwright-merge-coverage && full-coverage"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
const fs = require('fs-extra');
|
||||
const glob = require('glob');
|
||||
const { createContext } = require('istanbul-lib-report');
|
||||
const istanbulCoverage = require('istanbul-lib-coverage');
|
||||
const reports = require('istanbul-reports');
|
||||
|
||||
/* [ Configuration ] */
|
||||
const rootDir = './.coverage/';
|
||||
const reportOut = './.coverage/report';
|
||||
|
||||
const normalizeJestCoverage = (obj) => {
|
||||
const result = { ...obj };
|
||||
|
||||
Object.entries(result)
|
||||
.filter(([k, v]) => v.data)
|
||||
.forEach(([k, v]) => {
|
||||
result[k] = v.data;
|
||||
});
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
const mergeAllReports = (coverageMap, reports) => {
|
||||
if (Array.isArray(reports) === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
reports.forEach((reportFile) => {
|
||||
const coverageReport = fs.readJSONSync(reportFile);
|
||||
coverageMap.merge(coverageReport);
|
||||
});
|
||||
};
|
||||
|
||||
const findAllCoverageReports = (path, callback) => {
|
||||
glob(path, {}, (err, reports) => {
|
||||
callback(reports, err);
|
||||
});
|
||||
};
|
||||
|
||||
const generateReport = (coverageMap, types) => {
|
||||
const reporter = createContext({
|
||||
dir: reportOut,
|
||||
coverageMap,
|
||||
});
|
||||
const report = reports.create('text');
|
||||
report.execute(reporter);
|
||||
};
|
||||
|
||||
async function main() {
|
||||
const coverageMap = istanbulCoverage.createCoverageMap({});
|
||||
|
||||
findAllCoverageReports(`${rootDir}/**/coverage-final.json`, (reports, err) => {
|
||||
if (Array.isArray(reports)) {
|
||||
mergeAllReports(coverageMap, reports);
|
||||
generateReport(coverageMap, ['text']);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
main().catch((err) => {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user