4 ms·
I'll volunteer mine, in the hopes that it's been solved already: After transpilation, minification, and with flaky source map support in many places (e.g. roll
by jonstaab 7y ago
I'll volunteer mine, in the hopes that it's been solved already:
After transpilation, minification, and with flaky source map support in many places (e.g. rollbar downloads new source maps after the first error, and doesn't apply them retroacively to the stack trace), a lot of information about errors is lost. Combine this with ubiquitous async programming, and all you get is something like "a.x is undefined", which hardly actionable.
I propose two solutions. First, instrumentation of functions (like rollbar does in python) where you can see the function's local variables and arguments alongside the stack trace. Second, async traces, which trace the scopes where a promise was created, fulfilled, rejected, and awaited. These are huge omissions in javascript tooling today.
- s_y_n_t_a_x 7y agoI haven't used rollbar, but both Sentry and BugSnag allow you to upload source maps on build. I've been satisfied with stack traces.
- Cthulhu_ 7y agoWhat I'd like to see is compiled JS with the equivalent of debug symbols; minified JS with source maps feels like a patchy solution at best, after all it's still JS which is represented and transferred as ASCII text; I feel like this could be accellerated by a lot. I wouldn't mind common libraries (jquery, react, etc) to be shipped by browsers (lazy loaded), with signature verification in the browsers themselves. CDNs / single code locations sorta help by increasing the change of a browser cache hit, but that too seems like a workaround.