I'd probably not introduce a new sourceFolder argument.  Instead I'd rename sourceFile to be just source and let it be a file or a directory and keep it as required.