improve code

This commit is contained in:
Rene Haas
2022-07-31 13:45:14 +02:00
parent 64ea796f79
commit e347e7d236
5 changed files with 1278 additions and 4796 deletions
@@ -58,8 +58,8 @@ module.exports = () => {
let output;
// eslint-disable-next-line no-empty-pattern
test.beforeAll(async ({}, { file }) => {
({ close, url, output } = await createRollupBundle(dirname(file), true));
test.beforeAll(async ({}, { file, config }) => {
({ close, url, output } = await createRollupBundle(dirname(file), true, config.quiet));
});
test.beforeEach(async ({ page, browserName }) => {
+1207 -4789
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -75,10 +75,10 @@
"@local/browser-testing": "file:./local/browser-testing"
},
"scripts": {
"test": "yarn workspaces run test",
"test:jsdom": "yarn workspaces run test:jsdom",
"test:playwright": "yarn workspaces run test:playwright",
"build": "yarn workspaces run build",
"test:jsdom": "npm run test:jsdom --workspace=overlayscrollbars",
"test:playwright": "npm run test:playwright --workspace=overlayscrollbars",
"test:playwright:dev": "npm run test:playwright --workspace=overlayscrollbars",
"build": "npm run build --workspace=overlayscrollbars",
"lint": "npx eslint --fix ."
}
}
+2 -1
View File
@@ -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"
}
}
+63
View File
@@ -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);
});