I am working on a PHP/Javascript project where I've nicely set up a build workflow. It involves testing, minifying, compressing into the final zip deliverable, and a whole lot of other nice stuff.
I want to build a task that fails when there are certain patterns in the source code. I would like to look for any print_r()
, error_log()
, var_dump()
, etc functions, and halt the build process if there are any. Perhaps later I would like to check for things in Javascript or CSS so this is not only a PHP question.
I know it can be done with grunt-shell
and grep
but I'd like to know the following:
- Are there any grunt plugins specific to this task? Ideally I would like to be able to specify a list of regexes per file type, and to set whether to continue or fail the build on pattern match.
- How do others tackle the problem of double-checking the packaged source for the most common debug statements or other patterns?
Not a complete answer to my question, but I've recently come across this grunt plugin which is somewhat related. It removes
console.log
statements from JavaScript. Haven't tried it yet. Looks good. I still would like to know if there's something similar for PHP though.http://grunt-tasks.com/grunt-remove-logging-calls/
Edit: Seeing as there's only tumbleweeds rolling in the wind here, I'm posting my workaround that's based on
grunt-shell
. However this is not what I was looking for. It's not perfect because it doesn't do proper syntax parsing:and
Edit 2: I finally found the exact grunt plugin I was looking for. It is grunt-search. There is a
failOnMatch
boolean option that lets you indicate if a particular regex pattern should cause the build to fail when found.