Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | const {badgen} = require('badgen'); const fs = require('fs'); function badgeColor(percent) { // #9f9f9f lightgrey / inactive let color = 'e05d44'; // 'red'; if (percent > 25) color = 'fe7d37'; // 'orange'; if (percent > 50) color = 'dfb317'; // 'yellow'; if (percent > 70) color = 'a4a61d'; // 'yellowgreen'; if (percent > 80) color = '97ca00'; // 'green'; if (percent > 90) color = '4c1'; // 'brightgreen'; return color; } const report = require('../generated/maintainability/report.json'); const config = require('../package.json'); const maintainabilityThreshold = config.maintainabilityThreshold; const avgMaintainabilityScore = Math.round(Number.parseFloat(report.summary.average.maintainability)); const avgMaintainabilityColor = badgeColor(avgMaintainabilityScore); const worstMaintainabilityScore = Math.floor(report.reports.reduce((acc, cur) => Math.min(acc, Number.parseFloat(cur.complexity.maintainability)), 100)); const worstMaintainabilityColor = badgeColor(worstMaintainabilityScore); const sloc = report.summary.total.sloc; try { fs.writeFileSync('generated/avg-maintainability.svg', badgen({ label: 'maintainability', status: `${avgMaintainabilityScore}`, color: avgMaintainabilityColor }), 'utf8'); } catch (error) { console.error(error); } try { fs.writeFileSync('generated/worst-maintainability.svg', badgen({ label: 'maintainability', status: `${worstMaintainabilityScore}`, color: worstMaintainabilityColor }), 'utf8'); } catch (error) { console.error(error); } try { fs.writeFileSync('generated/total-sloc.svg', badgen({ label: 'code lines', status: `${sloc}`, color: '007ec6' // 'blue' }), 'utf8'); } catch (error) { console.error(error); } if (avgMaintainabilityScore >= maintainabilityThreshold.global) { console.log(`Global project maintainability : ${avgMaintainabilityScore} ( >= ${maintainabilityThreshold.global} )`); } else throw new Error(`Global project maintainability too low : ${avgMaintainabilityScore} < ${maintainabilityThreshold.global}`); if (worstMaintainabilityScore >= maintainabilityThreshold.file) { console.log(`Worst project file maintainability : ${worstMaintainabilityScore} ( >= ${maintainabilityThreshold.file} )`); } else throw new Error(`Worst project file maintainability too low : ${worstMaintainabilityScore} < ${maintainabilityThreshold.file}`); |