mirror of
https://github.com/mudita/mudita-center.git
synced 2025-12-23 22:28:03 -05:00
Co-authored-by: Daniel Karski <daniel.karski5q@gmail.com> Co-authored-by: Oskar Michalkiewicz <32848134+OskarMichalkiewicz@users.noreply.github.com> Co-authored-by: Łukasz Kowalczyk <freelancer.lukasz.kowalczyk@gmail.com> Co-authored-by: Michał Kurczewski <michalkurczewski94@gmail.com> Co-authored-by: mkurczewski <michal@kurczewski.dev>
46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
const fs = require("fs")
|
|
const path = require("path")
|
|
|
|
/**
|
|
* Automatically bumps required coverage threshold when current coverage is bigger by coverageTolerance
|
|
* @param {number} [coverageTolerance=2] - Tolerance for auto bump
|
|
*/
|
|
const coverageAutoBump = (coverageTolerance = 2) => {
|
|
const currentCoverage = require(path.resolve(
|
|
__dirname,
|
|
"./coverage/coverage-summary.json"
|
|
))
|
|
const requiredCoverage = require(path.resolve(
|
|
__dirname,
|
|
"./jest.coverage.json"
|
|
))
|
|
|
|
const desiredCoverage = requiredCoverage
|
|
|
|
for (const key in currentCoverage.total) {
|
|
const requiredValue = requiredCoverage.coverageThreshold.global[key]
|
|
const currentValue = currentCoverage.total[key].pct
|
|
|
|
if (currentValue > requiredValue + coverageTolerance) {
|
|
const newTolerance = currentValue - coverageTolerance
|
|
desiredCoverage.coverageThreshold.global[key] = Math.max(newTolerance, 0)
|
|
}
|
|
}
|
|
|
|
fs.writeFile(
|
|
path.resolve(__dirname, "./jest.coverage.json"),
|
|
JSON.stringify(desiredCoverage, null, 2),
|
|
"utf8",
|
|
(error) => {
|
|
if (error) console.log(error)
|
|
}
|
|
)
|
|
}
|
|
|
|
module.exports = (results) => {
|
|
if (results.hasOwnProperty("coverageMap")) {
|
|
coverageAutoBump(3)
|
|
}
|
|
return results
|
|
}
|