我正在开发一个PHP / Javascript项目,我很好地建立了一个构建工作流程。它涉及测试,缩小,压缩成最终的zip可交付物,以及许多其他好东西。
我想构建一个在源代码中存在某些模式时失败的任务。我想查找任何print_r()
,error_log()
,{{1等等函数,如果有的话,暂停构建过程。也许以后我想检查Javascript或CSS中的内容,这样这不仅仅是一个PHP问题。
我知道可以使用var_dump()
和grunt-shell
来完成,但我想了解以下内容:
答案 0 :(得分:1)
对我的问题不是一个完整的答案,但我最近遇到了这个有点相关的咕噜插件。它从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
布尔选项,可以指示特定的正则表达式模式是否会导致构建在找到时失败。