Is there a reason for not doing so?
My idea is that the potential git diff will happen in package.json. I would like to treat the yarn.lock as a binary.
I posted this question on in Yarn's issue tracker on GitHub. Sebastian McKenzie answered the following:
No it shouldn't. The file is plain text and there can be merge conflicts in the file that you may need to resolve.