我怎样才能强制在grunt中运行的JSHint始终使用--verbose标志

How can I force JSHint running in grunt to always use the --verbose flag

本文关键字:JSHint 标志 --verbose 运行 grunt      更新时间:2023-09-26

我有一个特殊的JSHint/Grunt设置,我想在其中完成以下任务:

  1. 从一个.jshintrc文件加载,以允许我的IDE linter获取我的设置
  2. 能够在其他繁重的任务中覆盖.jshintrc中的单个选项
  3. 让JSHint始终以verbose模式运行,这样我就可以始终看到警告数字,而不需要使用--verbose运行所有的grunt

以下内容允许我从.jshintrc加载并始终以详细方式运行,但不允许选项重写。文档提到应该是这种情况,但没有说明详细的选项,它有效:

jshint: {
    options:{
        jshintrc: '.jshintrc',
        verbose: true,
    },
    source: {
        options: {
            ignores: ['src/**/*.test.js'],
        },
        files:{
            src:['src/**/*.js']
        }
    },
    tests: {
        options: {
            unused: false
        },
        files: {
             src: ['src/**/*.test.js']
        }
    }
}

为了绕过覆盖限制,只需让grunt将.jshintrc文件的内容注入到配置中是相当容易的,但无论出于何种原因,这都会导致linter现在抛出"第0行第0列错误选项:'verbose'.(E001)"错误(如果我删除了options.verbose=true;行,但没有verbose标志,则会正确运行):

jshint: {
    options:(function () {
        var options = grunt.file.readJSON('.jshintrc');
        options.verbose = true;
        return options;
    }()),
    source: {
        options: {
            ignores: ['src/**/*.test.js'],
        },
        files:{
            src:['src/**/*.js']
        }
    },
    tests: {
        options: (function () {
            var options = grunt.file.readJSON('.jshintrc');
            options.unused = false;
            return options;
        }()),
        files: {
            src: ['src/**/*.test.js']
        }
    }
}

那么,考虑到我的三个标准,有没有一种方法可以配置grunt以这种方式运行?

如何使用grunt contrib jshint:在特定文件上运行jshint

./node_modules/grunt-contrib-jshint/node_modules/jshint/bin/jshint --verbose app/sources/modules/dashboard/views/dashboard-performance/dashboard-performance-ctrl.js

没有办法在选项中为grunt jshint定义详细模式。而且,它不会得到解决,直到咕哝更新(感谢MaxPRafferty)