<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Feb 22, 2017 at 5:50 PM, Isiah Meadows <span dir="ltr"><<a href="mailto:isiahmeadows@gmail.com" target="_blank">isiahmeadows@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><p dir="ltr">I'll point out that Babel doesn't follow spec perfectly because it can't transpile the bindings correctly in the case of synchronously executed code with circular dependencies. That's a CommonJS limitation that Babel can't work around any more than it already does.</p></blockquote><div>I was wondering about that. Greg, re your example where you said:</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12.8px">In the latest Babel the above code fails to run on the first line of app.js (at the time it attempts to execute `_inherits(B, _A);`.). This is because "A" is undefined in module b.js due to the circular dependency. In this case Babel basically executed code in the incorrect order for this to be able to work. </span></blockquote><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">What does the *spec* say should happen in that situation? (You've clearly been into it in some detail.) As opposed to what Babel does, since of course Babel while excellent is working with some limitations...?</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">-- T.J. Crowder</span></div></div></div></div>