Generator adapted from voxel-hello-world and generator-webapp-watchify