I ran into an issue where gulp-replace was trying to parse binary files in my project, which lead me to discover the skipBinary option. This is set to false, by default.
Why is a string replacement library trying to parse binary files, by default? I can't think of a use case where this is a sensible default. It seems far more sane to have skipBinary be true by default and, if someone needs to parse binary files, they adjust that setting to false.