Files
shields/scripts/refactoring-cli.js
Paul Melnikow be7cb93773 Refactor service loader (#2861)
This moves the loader code into `core/base-service`, leaving behind in `services/index.js` only the convenience imports.

Ref #2832
2019-01-24 22:55:10 -05:00

21 lines
827 B
JavaScript

'use strict'
const chalk = require('chalk')
const { namedColors } = require('../gh-badges/lib/color')
const { floorCount } = require('../lib/color-formatters')
const { loadServiceClasses } = require('../core/base-service/loader')
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(namedColors[color])(`${percentDone}% done`))