turns out phantomjs just hangs on syntax errors. awful.