【问题标题】:How to use jsHint to extract code metrics in the CLI report?如何使用 jsHint 提取 CLI 报告中的代码指标?
【发布时间】:2021-12-11 09:39:24
【问题描述】:

我正在尝试从jshint 获取代码指标,例如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.

cli 执行仅显示 linting 输出,如 missing semicolon 等,但不输出任何这些指标。但是,上面的链接似乎对任何粘贴的代码都很好。

如何在所有 JS 文件/模块中获得这样的代码报告?从技术上讲,这些信息应该是可用的,但我无法通过 CLI 获得与上述类似的任何输出。翻阅源代码似乎完全有可能,但我不知道是否有比破解源代码更容易的方法。

【问题讨论】:

    标签: javascript jshint


    【解决方案1】:

    在翻阅源代码查看在线文档后,您似乎可以编写自己的reporter,如here 所示。但是,它没有提到您还可以添加其他参数以在回调中获取其他信息,如其cli.js 中的代码所示:

    结合这两者,您可以编写将指标打印到控制台的自定义报告函数。这是一个从repo 中修改的粗略示例,以防有人偶然发现:

    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);
                });
            });
        }
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-18
      • 1970-01-01
      • 1970-01-01
      • 2014-08-21
      • 1970-01-01
      • 2013-04-15
      • 2014-09-09
      • 1970-01-01
      相关资源
      最近更新 更多