Previously, prepareStackTraceWithStackAssignment could end up calling
itself when third-party code assigned Error.prepareStackTrace back
to its original value. Now, we short-circuit this process if the
rawStack property has already been assigned.
Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
...which always returns the source map as a string. This is needed because
`Buffer` now requires to be initialized with either a number, a buffer, an array
or a string.
Previously, our Error.convertStackTrace function was provided by coffeestack,
which only works for coffee-script. This adds a dependency on 'source-map-support',
which works for any source file with inline source maps.
This also refactors the code for registering our compilers (coffee-script,
typescript, and babel) so that caching logic is shared.