UNPKG

bloom-layout

Version:
60 lines (50 loc) 2 kB
<!DOCTYPE html> <html> <!--<script type="text/javascript" src="https://rawgithub.com/novocaine/sourcemapped-stacktrace/master/dist/sourcemapped-stacktrace.js"></script>--> <script type="text/javascript" src="sourcemapped-stacktrace.js"></script> <script type="text/javascript" src="bork_coffee.js"></script> <script type="text/javascript" src="bork.babel.js"></script> <body> <p>A demo of printing a stack trace from an error thrown within transpiled code. </p> <button type="button" onclick="errorAndPrint(coffee_bork)"> Throw an error in sourcemapped code from coffeescript </button> <button type="button" onclick="errorAndPrint(babel_bork)"> Throw an error in sourcemapped code from babel </button> <p>Source-mapped Stack trace (pointing to original code):</p> <pre id="mapped"> </pre> <p>Unmapped Stack trace (pointing to transpiled code):</p> <pre id="unmapped"> </pre> <p>Alternatively, try throwing and not catching, to compare the trace in your browser's console: </p> <button type="button" onclick="coffee_bork()">Throw uncaught</button> <script type="text/javascript"> var errorAndPrint = function(bork_func) { try { bork_func(); } catch (e) { // display unmapped trace var unmapped = document.getElementById("unmapped"); unmapped.innerHTML = ""; var unmappedNode = document.createTextNode(e.stack); unmapped.appendChild(unmappedNode); // invoke smst sourceMappedStackTrace.mapStackTrace(e.stack, function(mappedStack) { // mappedStack is an array of strings, one per frame in e.stack var mappedElem = document.getElementById("mapped"); mappedElem.innerHTML = ""; var textNode = document.createTextNode(e.message + "\n" + mappedStack.join("\n")); mappedElem.appendChild(textNode); }); } } </script> </body> </html>