Just wondering if using - as filename to tell json-edit to use stdin/stdout would be better than making the filename optional.

I guess it doesn't matter much... Although I could see an issue with scripts using json-edit and getting blocked because they pass a non-existing env var to json-edit, which will then block on stdin.