<p dir="auto">Is it possible to turn off the <code class="notranslate">name</code> -&gt; <code class="notranslate">_name</code> renaming used for <code class="notranslate">let</code> vars?</p>
<p dir="auto">This works in Firefox (and Traceur) but doesn't work with 6to5:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="function foo (n) {
    let bar = n;
    eval('console.log(bar)');
}

foo(42);"><pre class="notranslate"><span class="pl-k">function</span> <span class="pl-en">foo</span> <span class="pl-kos">(</span><span class="pl-s1">n</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-k">let</span> <span class="pl-s1">bar</span> <span class="pl-c1">=</span> <span class="pl-s1">n</span><span class="pl-kos">;</span>
    <span class="pl-en">eval</span><span class="pl-kos">(</span><span class="pl-s">'console.log(bar)'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>

<span class="pl-en">foo</span><span class="pl-kos">(</span><span class="pl-c1">42</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">6to5 produces:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="&quot;use strict&quot;;
function foo (n) {
    var _bar = n;
    eval('console.log(bar)');
}

foo(42);"><pre class="notranslate"><span class="pl-s">"use strict"</span><span class="pl-kos">;</span>
<span class="pl-k">function</span> <span class="pl-en">foo</span> <span class="pl-kos">(</span><span class="pl-s1">n</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-k">var</span> <span class="pl-s1">_bar</span> <span class="pl-c1">=</span> <span class="pl-s1">n</span><span class="pl-kos">;</span>
    <span class="pl-en">eval</span><span class="pl-kos">(</span><span class="pl-s">'console.log(bar)'</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span>

<span class="pl-en">foo</span><span class="pl-kos">(</span><span class="pl-c1">42</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">Function parameters are affected as well in some circumstances, which could break  <a href="https://stackoverflow.com/questions/1356283/what-are-some-real-world-uses-for-function-tostring-in-javascript" rel="nofollow"><code class="notranslate">Function.toString</code></a> hacks (e.g. DI in AngularJS):</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="let n = 42;

function square(n) {
    return n * n;
}"><pre class="notranslate"><span class="pl-k">let</span> <span class="pl-s1">n</span> <span class="pl-c1">=</span> <span class="pl-c1">42</span><span class="pl-kos">;</span>

<span class="pl-k">function</span> <span class="pl-en">square</span><span class="pl-kos">(</span><span class="pl-s1">n</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-k">return</span> <span class="pl-s1">n</span> <span class="pl-c1">*</span> <span class="pl-s1">n</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto">6to5:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="&quot;use strict&quot;;
var _n = 42;

function square(_n) {
    return _n * _n;
}"><pre class="notranslate"><span class="pl-s">"use strict"</span><span class="pl-kos">;</span>
<span class="pl-k">var</span> <span class="pl-s1">_n</span> <span class="pl-c1">=</span> <span class="pl-c1">42</span><span class="pl-kos">;</span>

<span class="pl-k">function</span> <span class="pl-en">square</span><span class="pl-kos">(</span><span class="pl-s1">_n</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-k">return</span> <span class="pl-s1">_n</span> <span class="pl-c1">*</span> <span class="pl-s1">_n</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span></pre></div>
<blockquote>
<p dir="auto">Issue originally made by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/aoberoi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/aoberoi">@aoberoi</a></p>
</blockquote>
<h3 dir="auto">Bug information</h3>
<ul dir="auto">
<li><strong>Babel version:</strong> 6.2.0</li>
<li><strong>Node version:</strong> 4.2.2</li>
<li><strong>npm version:</strong> 2.14.7</li>
</ul>
<h3 dir="auto">Description</h3>
<p dir="auto">I'd like to be able to declare my "extensions" inside my <code class="notranslate">.babelrc</code> file so that anyone running babel-cli in the project directory will get the same "extensions" option I chose. As I understand, this would mean extending the general options for babel to use extensions, rather than baking that into the babel-cli module. I think this makes sense because the extensions in which the code is authored is more a concern at the project level than a concern that someone could have regarding where input comes from and where output goes to (such as the current babel-cli options).</p>