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

complexity check

parent 1666d9d2
Branches
Tags
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