<p dir="auto">Just updated to 5.8.23 and noticed this in our diff:</p>
<p dir="auto">Input <a href="https://github.com/tgriesser/bookshelf/blob/72308871b5a114d96a7519c6a84ed8480285bf59/src/base/collection.js#L180-L185">(context)</a>:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="    } else if (add) {
      if (!(model = this._prepareModel(attrs, options))) continue;
      toAdd.push(model);
      this._byId[model.cid] = model;
      if (model.id != null) this._byId[model.id] = model;
    }"><pre class="notranslate">    <span class="pl-kos">}</span> <span class="pl-k">else</span> <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-s1">add</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
      <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-c1">!</span><span class="pl-kos">(</span><span class="pl-s1">model</span> <span class="pl-c1">=</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-en">_prepareModel</span><span class="pl-kos">(</span><span class="pl-s1">attrs</span><span class="pl-kos">,</span> <span class="pl-s1">options</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-k">continue</span><span class="pl-kos">;</span>
      <span class="pl-s1">toAdd</span><span class="pl-kos">.</span><span class="pl-en">push</span><span class="pl-kos">(</span><span class="pl-s1">model</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
      <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">_byId</span><span class="pl-kos">[</span><span class="pl-s1">model</span><span class="pl-kos">.</span><span class="pl-c1">cid</span><span class="pl-kos">]</span> <span class="pl-c1">=</span> <span class="pl-s1">model</span><span class="pl-kos">;</span>
      <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-s1">model</span><span class="pl-kos">.</span><span class="pl-c1">id</span> <span class="pl-c1">!=</span> <span class="pl-c1">null</span><span class="pl-kos">)</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">_byId</span><span class="pl-kos">[</span><span class="pl-s1">model</span><span class="pl-kos">.</span><span class="pl-c1">id</span><span class="pl-kos">]</span> <span class="pl-c1">=</span> <span class="pl-s1">model</span><span class="pl-kos">;</span>
    <span class="pl-kos">}</span></pre></div>
<p dir="auto">Output <a href="https://github.com/tgriesser/bookshelf/blob/72308871b5a114d96a7519c6a84ed8480285bf59/lib/base/collection.js#L186-L191">(context)</a>:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="    } else if (add) {
        if (!(model = this._prepareModel(attrs, options))) continue;
        toAdd.push(model);
        this._byId[model.cid] = model;
        if (model.id != null) this._byId[model.id] = model;
      }"><pre class="notranslate">    <span class="pl-kos">}</span> <span class="pl-k">else</span> <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-s1">add</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
        <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-c1">!</span><span class="pl-kos">(</span><span class="pl-s1">model</span> <span class="pl-c1">=</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-en">_prepareModel</span><span class="pl-kos">(</span><span class="pl-s1">attrs</span><span class="pl-kos">,</span> <span class="pl-s1">options</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-k">continue</span><span class="pl-kos">;</span>
        <span class="pl-s1">toAdd</span><span class="pl-kos">.</span><span class="pl-en">push</span><span class="pl-kos">(</span><span class="pl-s1">model</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
        <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">_byId</span><span class="pl-kos">[</span><span class="pl-s1">model</span><span class="pl-kos">.</span><span class="pl-c1">cid</span><span class="pl-kos">]</span> <span class="pl-c1">=</span> <span class="pl-s1">model</span><span class="pl-kos">;</span>
        <span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-s1">model</span><span class="pl-kos">.</span><span class="pl-c1">id</span> <span class="pl-c1">!=</span> <span class="pl-c1">null</span><span class="pl-kos">)</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">_byId</span><span class="pl-kos">[</span><span class="pl-s1">model</span><span class="pl-kos">.</span><span class="pl-c1">id</span><span class="pl-kos">]</span> <span class="pl-c1">=</span> <span class="pl-s1">model</span><span class="pl-kos">;</span>
      <span class="pl-kos">}</span></pre></div>
<p dir="auto">No changes in the source file (as far as I can tell).</p>
<p dir="auto">Unfortunately I'm not sure how to check which version of Babel I was using previously as I just ran <code class="notranslate">npm update</code>. Somewhere between 5.5.8 and 5.8.23.</p>
<p dir="auto">Thanks for the great work. <g-emoji class="g-emoji" alias="+1" fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f44d.png">👍</g-emoji></p>
<p dir="auto">In 5.8.9, this:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="if (a) {
  b(); // this comment breaks the code generators indentation
} else {
  c();
}"><pre class="notranslate"><span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-s1">a</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
  <span class="pl-en">b</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// this comment breaks the code generators indentation</span>
<span class="pl-kos">}</span> <span class="pl-k">else</span> <span class="pl-kos">{</span>
  <span class="pl-en">c</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto">results in:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="&quot;use strict&quot;;

if (a) {
  b(); // this comment breaks the code generators indentation
} else {
    c();
  }"><pre class="notranslate"><span class="pl-s">"use strict"</span><span class="pl-kos">;</span>

<span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-s1">a</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
  <span class="pl-en">b</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// this comment breaks the code generators indentation</span>
<span class="pl-kos">}</span> <span class="pl-k">else</span> <span class="pl-kos">{</span>
    <span class="pl-en">c</span><span class="pl-kos">(</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
  <span class="pl-kos">}</span></pre></div>