The image compressor and minifier are quite similar in the tasks that they do. They both follow the same basic pattern. I find myself tackling this and the easiest thing is to copy and paste from Img's Program.cs into Minifier's Program.cs. Suggest perhaps:
creating a base class in Common project
moving implementation out of Program.cs in each proj into a new class that handles all this; Program.cs should really just be the in and out, and it should call out to a class that does all the work for the project. (should be, right.).
have each of those new classes inherit from this proposed new base class that would house common functionality and be accessible to both. Result: less duplication of code. e.g. QueueExistingFiles() and EnsureCacheExists()
some implementations are different, really, so those methods belong in an interface that would be implemented. e.g. ProcessQueue() and AddToQueue().
So it turns out you've pulled in a change that wasn't in my original PR.
Silly me, working in and commiting to master. You've actually pulled changes to TextMinifier\Program.cs that I had just committed and was confusing on how to make another PR from the same branch. Lesson learned: make a new branch per feature or PR.
I didn't realize that subsequent commits to a branch after a PR is made would be included if the PR is accepted.
So this issue has been solved basically by a copy of the ImgCompressor's implementation, copy paste over to TextMinifier.
It'll output via help switch the exact same params as ImgCompress, even though they're not used.
Let's keep it. Should be all good and functional. I meant to include it as you've accepted it (copy/pasted from ImgCompress), with the intent to refactor later with a base class and interface, etc later.