Gruntjs 源中存在调试打印时grunt生成失败

Gruntjs 源中存在调试打印时grunt生成失败,gruntjs,build-process,post-processing,software-quality,debug-print,Gruntjs,Build Process,Post Processing,Software Quality,Debug Print,我正在从事一个PHP/Javascript项目,我已经很好地设置了一个构建工作流。它包括测试、缩小、压缩到最终的zip交付文件,以及其他许多好东西 我想构建一个在源代码中存在某些模式时失败的任务。我想查找任何print\u r()、error\u log()、var\u dump()等函数,如果有,则停止构建过程。也许稍后我会检查Javascript或CSS中的内容,所以这不仅仅是一个PHP问题 我知道可以用grunt shell和grep完成,但我想知道以下几点: 是否有任何特定于此任务的gr

我正在从事一个PHP/Javascript项目,我已经很好地设置了一个构建工作流。它包括测试、缩小、压缩到最终的zip交付文件,以及其他许多好东西

我想构建一个在源代码中存在某些模式时失败的任务。我想查找任何
print\u r()
error\u log()
var\u dump()
等函数,如果有,则停止构建过程。也许稍后我会检查Javascript或CSS中的内容,所以这不仅仅是一个PHP问题

我知道可以用
grunt shell
grep
完成,但我想知道以下几点:

  • 是否有任何特定于此任务的grunt插件?理想情况下,我希望能够指定每种文件类型的正则表达式列表,并设置是否继续或使构建模式匹配失败
  • 其他人如何解决双重检查打包源代码中最常见的调试语句或其他模式的问题

  • 不是我问题的完整答案,但我最近遇到了这个grunt插件,它有点相关。它从JavaScript中删除
    console.log
    语句。我还没试过。看起来不错。我仍然想知道PHP是否也有类似的功能

    编辑:鉴于这里只有风滚草在随风飘动,我发布了基于
    grunt shell
    的解决方案。然而,这不是我想要的。它并不完美,因为它没有进行正确的语法分析:

        shell: {
            check_debug_prints: {
                command: '(! (egrep -r "var_dump|print_r|error_log" --include=*.php src || egrep -r "console\.\w+|debugger;" --include=*.js src) ) || (echo "Debug prints in source - build aborted" && false )'
            }
        },
    

    编辑2:我终于找到了我想要的grunt插件。它是。有一个
    failOnMatch
    boolean选项,用于指示特定的正则表达式模式在找到时是否会导致生成失败

    grunt.loadNpmTasks( 'grunt-shell' );