<div dir="ltr">Realistically, the engine would give back file name and line number (and hopefully character offset) of the code from the fully translated, fully minified, actual logic that the engine loaded. Source maps could be used to convert that obscure value back into actual original source code locations. It would also be nice if there were a way to perform a lookup at runtime, a function that takes a function and returns the internal Location object for that function.</div><br><div class="gmail_quote"><div dir="ltr">On Fri, Aug 24, 2018 at 3:16 PM Aaron Gray <<a href="mailto:aaronngray.lists@gmail.com">aaronngray.lists@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Ideally at some point we won't be using transpilers anymore ;)</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, 24 Aug 2018 at 19:37, Bob Myers <<a href="mailto:rtm@gol.com" target="_blank">rtm@gol.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">What does line number, or filename for that matter, mean when a file has gone through one or more transpilation and/or minification passes?<div>Is the notion that the first processor that touches the file would substitute those values?<br clear="all"><div><div dir="ltr" class="m_-5204215569568067827m_59926884110083672gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><br></div><div>Bob</div></div></div></div><br><br><div class="gmail_quote"><div dir="ltr">On Fri, Aug 24, 2018 at 11:34 PM Claude Pache <<a href="mailto:claude.pache@gmail.com" target="_blank">claude.pache@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><br><div><br><blockquote type="cite"><div>Le 24 août 2018 à 05:55, J Decker <<a href="mailto:d3ck0r@gmail.com" target="_blank">d3ck0r@gmail.com</a>> a écrit :</div><br class="m_-5204215569568067827m_59926884110083672m_6507790400983423495Apple-interchange-newline"><div><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Thu, Aug 23, 2018 at 5:26 PM Aaron Gray <<a href="mailto:aaronngray.lists@gmail.com" target="_blank">aaronngray.lists@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I am debugging existing code that I have modularized, and am class'izing that has unittests and it just would have been very useful to have this facility.</div></blockquote><div>In a  browser, console.log is usually associated with the file and line number anyway; which includes using devtools with node.... but it would be handy for logging.  with V8 there is console.trace; which spits out the stack trace too... before I discovered that I did a logging function like... </div><div><br></div><div>(from  <a href="https://stackoverflow.com/questions/591857/how-can-i-get-a-javascript-stack-trace-when-i-throw-an-exception" target="_blank">https://stackoverflow.com/questions/591857/how-can-i-get-a-javascript-stack-trace-when-i-throw-an-exception</a> )</div>function stackTrace() { var err = new Error(); return err.stack; }  // parse stack to get frame-1 online</div><br>// or maybe just frame-1...<br>function stackTrace() { var err = new Error(); return err.stack.split( "\n" )[1]; }  <br><br>---<br>function stacktrace() { <br>  function st2(f) {<br>    return !f ? [] : <br>        st2(f.caller).concat([f.toString().split('(')[0].substring(9) + '(' + f.arguments.join(',') + ')']);<br>  }<br>  return st2(arguments.callee.caller);<br>}<br><br> EDIT 2 (2017) :<br><br>In all modern browsers you can simply call: console.trace(); (MDN Reference)<div>---</div><div><br></div><div>Although I do still miss just being able to get __FILE__ and __LINE__ </div></div></div></blockquote><div><br></div><div><br></div><div><div>See also:</div><div><br></div><div><a href="https://github.com/tc39/proposal-error-stacks" target="_blank">https://github.com/tc39/proposal-error-stacks</a></div><div><br></div><div>If/when that proposal is implemented, you'll have a simple way to get a *structured* representation of the trace:</div><div><br></div><div>```js</div><div>System.getTrace(new Error)</div><div>```<br><div><br></div><div>from which you can much more easily extract line number, filename, etc.</div></div><div><br></div><div>—Claude</div></div></div></div>
</blockquote></div></div></div>
_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="m_-5204215569568067827gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Aaron Gray</div><div><br></div><div>Independent Open Source Software Engineer, Computer Language Researcher, Information Theorist, and amateur computer scientist.<br></div></div></div></div></div>
_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</blockquote></div>