1

我正在开发一个 PHP/Javascript 项目,我已经很好地设置了构建工作流程。它涉及测试、缩小、压缩成最终的 zip 可交付成果,以及许多其他好东西。

我想构建一个在源代码中存在某些模式时失败的任务。我想寻找任何print_r(), error_log(), var_dump(), 等函数,如果有的话,停止构建过程。也许稍后我想检查 Javascript 或 CSS 中的内容,所以这不仅仅是一个 PHP 问题。

我知道它可以完成,grunt-shellgrep我想知道以下内容:

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

1 回答 1

1

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

http://grunt-tasks.com/grunt-remove-logging-calls/

编辑:看到这里只有风滚草在风中滚动,我发布了基于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 )'
        }
    },

grunt.loadNpmTasks( 'grunt-shell' );

编辑 2:我终于找到了我正在寻找的确切的 grunt 插件。它是grunt-search。有一个failOnMatch布尔选项可让您指示特定的正则表达式模式是否应该在找到时导致构建失败。

于 2016-05-11T09:24:10.123 回答