<p dir="auto">Hi everyone. I have a babel application, use to work fine, but ever since I updated to 6.0 it had had an issue. On android 4.2, my application was not working. I lookup and found the culprit, my line</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="if (assetToPreload instanceof Image) {"><pre class="notranslate"><span class="pl-k">if</span> <span class="pl-kos">(</span><span class="pl-s1">assetToPreload</span> <span class="pl-k">instanceof</span> <span class="pl-v">Image</span><span class="pl-kos">)</span> <span class="pl-kos">{</span><span class="pl-kos"></span></pre></div>
<p dir="auto">was replaced by a call to this function</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="function n(t, e) {
    return null != e &amp;&amp; e[Symbol.hasInstance] ? e[Symbol.hasInstance](t) : t instanceof e
 }"><pre class="notranslate"><span class="pl-k">function</span> <span class="pl-en">n</span><span class="pl-kos">(</span><span class="pl-s1">t</span><span class="pl-kos">,</span> <span class="pl-s1">e</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-k">return</span> <span class="pl-c1">null</span> <span class="pl-c1">!=</span> <span class="pl-s1">e</span> <span class="pl-c1">&amp;&amp;</span> <span class="pl-s1">e</span><span class="pl-kos">[</span><span class="pl-v">Symbol</span><span class="pl-kos">.</span><span class="pl-c1">hasInstance</span><span class="pl-kos">]</span> ? <span class="pl-s1">e</span><span class="pl-kos">[</span><span class="pl-v">Symbol</span><span class="pl-kos">.</span><span class="pl-c1">hasInstance</span><span class="pl-kos">]</span><span class="pl-kos">(</span><span class="pl-s1">t</span><span class="pl-kos">)</span> : <span class="pl-s1">t</span> <span class="pl-k">instanceof</span> <span class="pl-s1">e</span>
 <span class="pl-kos">}</span></pre></div>
<p dir="auto">namely the _instanceof helper in helpers.js</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="var _instanceof = _babelTemplate2[&quot;default&quot;](&quot;\n  (function (left, right) {\n    if (right != null &amp;&amp; right[Symbol.hasInstance]) {\n      return right[Symbol.hasInstance](left);\n    } else {\n      return left instanceof right;\n    }\n  });\n&quot;);"><pre class="notranslate"><span class="pl-k">var</span> <span class="pl-s1">_instanceof</span> <span class="pl-c1">=</span> <span class="pl-s1">_babelTemplate2</span><span class="pl-kos">[</span><span class="pl-s">"default"</span><span class="pl-kos">]</span><span class="pl-kos">(</span><span class="pl-s">"\n  (function (left, right) {\n    if (right != null &amp;&amp; right[Symbol.hasInstance]) {\n      return right[Symbol.hasInstance](left);\n    } else {\n      return left instanceof right;\n    }\n  });\n"</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">but you can see that this helper assume that Symbol exists, which might not be the case if you don't have the polyfill and are not on a recent browser.<br>
replacing the helper by</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="var _instanceof = _babelTemplate2[&quot;default&quot;](&quot;\n  (function (left, right) {\n    if (right != null &amp;&amp; window.Symbol &amp;&amp; right[Symbol.hasInstance]) {\n      return right[Symbol.hasInstance](left);\n    } else {\n      return left instanceof right;\n    }\n  });\n&quot;);]"><pre class="notranslate"><span class="pl-k">var</span> <span class="pl-s1">_instanceof</span> <span class="pl-c1">=</span> <span class="pl-s1">_babelTemplate2</span><span class="pl-kos">[</span><span class="pl-s">"default"</span><span class="pl-kos">]</span><span class="pl-kos">(</span><span class="pl-s">"\n  (function (left, right) {\n    if (right != null &amp;&amp; window.Symbol &amp;&amp; right[Symbol.hasInstance]) {\n      return right[Symbol.hasInstance](left);\n    } else {\n      return left instanceof right;\n    }\n  });\n"</span><span class="pl-kos">)</span><span class="pl-kos">;</span><span class="pl-kos">]</span></pre></div>
<p dir="auto">does the trick, but I'm don't have time to see the procedure to make a pull request.<br>
Have a nice day.</p>
<p dir="auto">My <a href="https://travis-ci.org/benmosher/eslint-plugin-import/jobs/88737228#L306" rel="nofollow">Node 0.10 build</a> is failing due to Symbol being undefined down in <code class="notranslate">classCallCheck.js</code>. Succeeds on 0.12+ presumably because V8 defines <code class="notranslate">Symbol</code> since then.</p>
<p dir="auto">Not a problem in <code class="notranslate">transform-runtime@6.0.2</code>.</p>
<p dir="auto">I tried adding <code class="notranslate">external-helpers-2</code> as a shot in the dark; it seemed to fail more tests for the same reason.</p>