Fix source maps

Source map files were being written, but they were empty. As far as I can tell, this new API is the preferred way to get at the source map for now. I also wrote a test that assert the source map files are not empty.