add missing cache tests, detect server.js directly

A node app without a package.json can still work as long as it has a root-level server.js file.