Skip to content
Snippets Groups Projects
Commit 6d529c36 authored by Millicent Billette's avatar Millicent Billette
Browse files

complexity check

parent 1666d9d2
No related branches found
No related tags found
No related merge requests found
const {badgen} = require('badgen');
const fs = require('fs');
function badgeColor(percent) {
let color = 'red';
if (percent > 25) color = 'orange';
if (percent > 50) color = 'yellow';
if (percent > 70) color = 'yellowgreen';
if (percent > 80) color = 'green';
if (percent > 90) color = 'brightgreen';
return color;
}
const report = require('../generated/complexity/report.json');
const maintainabilityScore = Math.round(Number.parseFloat(report.summary.average.maintainability));
const maintainabilityColor = badgeColor(maintainabilityScore);
const sloc = report.summary.total.sloc;
try {
fs.writeFileSync('../generated/maintainability.svg', badgen({
label: 'maintainability',
status: maintainabilityScore,
color: maintainabilityColor
}), 'utf8');
} catch (error) {
console.error(error);
}
try {
fs.writeFileSync('../generated/total-sloc.svg', badgen({
label: 'total sloc',
status: sloc,
color: 'blue'
}), 'utf8');
} catch (error) {
console.error(error);
}
//const execSync = require('child_process').execSync;
//execSync('wget -q -O ../plato/maintainability.svg https://img.shields.io/badge/maintainability-'+maintainabilityScore+'-'+maintainabilityColor+'.svg');
//execSync('wget -q -O ../plato/total-sloc.svg "https://img.shields.io/badge/total sloc-'+sloc+'-blue.svg"');
[![pipeline status](https://framagit.org/g1/g1lib.js/badges/main/pipeline.svg)](https://framagit.org/g1/g1lib.js/-/pipelines) [![pipeline status](https://framagit.org/g1/g1lib.js/badges/main/pipeline.svg)](https://framagit.org/g1/g1lib.js/-/pipelines)
[![coverage report](https://framagit.org/g1/g1lib.js/badges/main/coverage.svg)](https://framagit.org/g1/g1lib.js/-/commits/main) [![coverage report](https://framagit.org/g1/g1lib.js/badges/main/coverage.svg)](https://g1.frama.io/g1lib.js/coverage/)
[![maintainability](https://mycelia.tools/ci/mycelia-front-app/plato/maintainability.svg)](https://mycelia.tools/ci/mycelia-front-app/plato/)
[![duplication](https://g1.frama.io/g1lib.js/jscpd-badge.svg)](https://g1.frama.io/g1lib.js/jscpd/)
[![complexity](https://mycelia.tools/ci/mycelia-front-app/plato/maintainability.svg)](https://mycelia.tools/ci/mycelia-front-app/plato/)
[![release](https://img.shields.io/npm/v/g1lib.svg)](https://www.npmjs.com/package/g1lib) [![release](https://img.shields.io/npm/v/g1lib.svg)](https://www.npmjs.com/package/g1lib)
[![usage as download](https://img.shields.io/npm/dy/g1lib.svg)](https://www.npmjs.com/package/g1lib) [![usage as download](https://img.shields.io/npm/dy/g1lib.svg)](https://www.npmjs.com/package/g1lib)
......
{
"extensions": [".js", ".jsx", ".ts", ".tsx", ".mjs", ".es6"],
"skipDirectories": ["/node_modules","/generated"]
}
This diff is collapsed.
...@@ -18,10 +18,12 @@ ...@@ -18,10 +18,12 @@
"test:dev:qualityCheck": "xo", "test:dev:qualityCheck": "xo",
"test:dev:runTests": "ava", "test:dev:runTests": "ava",
"test:dev:duplication": "jscpd ./ -s", "test:dev:duplication": "jscpd ./ -s",
"test:dev:complexity": "codehawk ./",
"test:production": "run-s test:production:**", "test:production": "run-s test:production:**",
"test:production:qualityCheck": "xo", "test:production:qualityCheck": "xo",
"test:production:duplication": "jscpd ./", "test:production:duplication": "jscpd ./",
"xtest:production:complexity-report": "./node_modules/.bin/es6-plato -r -d generated/plato-complexity-report ./**/*.mjs", "test:production:complexity": "./node_modules/.bin/es6-plato -r -d generated/complexity ./src/*",
"test:production:complexity:badges": "node CI/plato-badges.js",
"test:production:test2npm": "cp src/*.test.mjs generated/npm/", "test:production:test2npm": "cp src/*.test.mjs generated/npm/",
"test:production:runTests": "cd generated/npm/ && c8 ava", "test:production:runTests": "cd generated/npm/ && c8 ava",
"test:production:clean": "rm -rf generated/npm/*.test.mjs generated/npm/node_modules" "test:production:clean": "rm -rf generated/npm/*.test.mjs generated/npm/node_modules"
...@@ -31,17 +33,20 @@ ...@@ -31,17 +33,20 @@
"tweetnacl": "^1.0.3" "tweetnacl": "^1.0.3"
}, },
"devDependencies": { "devDependencies": {
"@jscpd/badge-reporter": "^3.3.22",
"ava": "^3.14.0", "ava": "^3.14.0",
"badgen": "^3.2.2",
"c8": "^7.3.5", "c8": "^7.3.5",
"codehawk-cli": "^6.0.3",
"es6-plato": "https://github.com/1000i100/es6-plato#master",
"jscpd": "^3.3.22", "jscpd": "^3.3.22",
"jscpd-badge-reporter": "^1.1.3",
"mkdirp": "^1.0.4", "mkdirp": "^1.0.4",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"rollup": "^2.34.2", "rollup": "^2.34.2",
"xo": "^0.34.2" "xo": "^0.34.2"
}, },
"disabledDependenciesTODOAddComplexityQualityCheck": { "disabledDependenciesTODOAddComplexityQualityCheck": {
"es6-plato": "^1.2.3", "es6-plato": "https://github.com/1000i100/es6-plato#master",
"code-forensics": "^2.3.1", "code-forensics": "^2.3.1",
"codehawk-cli": "^6.0.3" "codehawk-cli": "^6.0.3"
}, },
...@@ -72,5 +77,19 @@ ...@@ -72,5 +77,19 @@
}, },
"gitignore": true, "gitignore": true,
"output": "generated/jscpd/" "output": "generated/jscpd/"
},
"codehawk": {
"extensions": [
".js",
".jsx",
".ts",
".tsx",
".mjs",
".es6"
],
"skipDirectories": [
"/node_modules",
"/generated"
]
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment