I just had to take a minute to say - Vue’s automatic PWA support is amazing. Enable it with the Vue CLI and it Just Works.

Okay, you have to supply your own icons and stuff, but that's pretty reasonable I think. ;-)