Reminds me a lot of nexe, a project a friend of mine is the maintainer of. I'd like to compare the differences between this, nexe and enclosejs, in terms of speed and final binary size.
It's large, of course. But you have a full VM and a bunch of unminified javascript dependencies sitting in there. V8 isn't known for being small, either.
Compared to a proper systems language it's always going to look ridiculous. And it appears to be 3-4x larger than, say, py2exe. You can apparently get about a 30% reduction using `strip`, and there's likely other low-hanging fruit.
It's about 12MB compressed. It's not so terrible in today's world, and the simplicity at runtime is worthwhile IMO. I don't worry too much about my tools getting larger, so long as they solve problems and don't cause them.
I would be interested in that. Do any of these solutions include source protection or v8 snapshots? I think I saw that the overhead of using snapshots is negligible with a recent update of v8 (at least according to the author of nwjs).