Estoy tratando de obtener métricas de código de jshint como en jshint.com :
Metrics There is only one function in this file. It takes no arguments. This function contains 2 statements. Cyclomatic complexity number for this function is 1. La ejecución de cli solo muestra salidas de pelusa, como missing semicolon , etc., pero no genera ninguna de estas métricas. Sin embargo, el enlace anterior parece funcionar bien para cualquier código pegado.
¿Cómo puedo obtener dicho informe de código en todos los archivos/módulos JS? Técnicamente, esta información debería estar disponible, pero no puedo obtener ningún resultado similar al anterior a través de la CLI. Rebuscar en el código fuente parece completamente posible, pero no puedo entender si hay una manera más fácil que piratear el código fuente.
Después de hurgar en el código fuente y revisar los documentos en línea, parece que puede escribir su propio reportero como se muestra aquí . Sin embargo, no menciona que también puede agregar argumentos adicionales para obtener información adicional en la devolución de llamada como se ve en el código en su cli.js :
Combinando los dos, así es como puede escribir su función de reportero personalizado que imprime las métricas en la consola. Es un ejemplo crudo modificado de uno en el repositorio en caso de que alguien tropiece con esto:
module.exports = { reporter: function (res,data,options) { //console.dir(data,{depth:5}) //To see entire object data.forEach(d => { d.functions.forEach(f => { console.log(d.file, f.name, f.param, f.metrics); }); }); } };