Files
shields/lib/refactoring-cli.js
2018-10-10 19:22:30 +01:00

23 lines
898 B
JavaScript

'use strict'
const chalk = require('chalk')
const mapValues = require('lodash.mapvalues')
const colorscheme = require('../lib/colorscheme.json')
const colorsMap = mapValues(colorscheme, 'colorB')
const { floorCount } = require('./color-formatters')
const { loadServiceClasses } = require('../services')
const serviceClasses = loadServiceClasses()
const legacyServices = serviceClasses
.map(cls => (typeof cls.registerLegacyRouteHandler === 'function' ? 1 : 0))
.reduce((a, b) => a + b)
const newServices = serviceClasses.length - legacyServices
const percentDone = ((newServices / serviceClasses.length) * 100).toFixed(2)
const color = floorCount(percentDone, 10, 50, 100)
console.log(`Found ${serviceClasses.length} services:`)
console.log(`- ${legacyServices} legacy services`)
console.log(`- ${newServices} new services`)
console.log(chalk.hex(colorsMap[color])(`${percentDone}% done`))