<p dir="auto">I've got a little React component with a decorator that is created with an arrow function. With a fairly recent release of Babel, the decorator appears to be completely removed:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="@connect(data =&gt; ({ account: data.account }))
class C extend React.Component {
}"><pre class="notranslate">@<span class="pl-en">connect</span><span class="pl-kos">(</span><span class="pl-s1">data</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">(</span><span class="pl-kos">{</span> <span class="pl-c1">account</span>: <span class="pl-s1">data</span><span class="pl-kos">.</span><span class="pl-c1">account</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">)</span>
<span class="pl-k">class</span> <span class="pl-v">C</span> <span class="pl-s1">extend</span> <span class="pl-v">React</span><span class="pl-kos">.</span><span class="pl-v">Component</span> <span class="pl-kos">{</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto">Changing the arrow function fixes the issue as a workaround:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="@connect(data =&gt; { return { account: data.account }; })
class C extend React.Component {
}"><pre class="notranslate">@<span class="pl-en">connect</span><span class="pl-kos">(</span><span class="pl-s1">data</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span> <span class="pl-k">return</span> <span class="pl-kos">{</span> <span class="pl-c1">account</span>: <span class="pl-s1">data</span><span class="pl-kos">.</span><span class="pl-c1">account</span> <span class="pl-kos">}</span><span class="pl-kos">;</span> <span class="pl-kos">}</span><span class="pl-kos">)</span>
<span class="pl-k">class</span> <span class="pl-v">C</span> <span class="pl-s1">extend</span> <span class="pl-v">React</span><span class="pl-kos">.</span><span class="pl-v">Component</span> <span class="pl-kos">{</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto">It's fine with other arrow functions like this:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="data =&gt; 1
data =&gt; []"><pre class="notranslate"><span class="pl-s1">data</span> <span class="pl-c1">=&gt;</span> <span class="pl-c1">1</span>
<span class="pl-s1">data</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">[</span><span class="pl-kos">]</span></pre></div>
<p dir="auto">So something about the parens is causing the issue.</p>
<p dir="auto">Compare the output of these two to show the difference.</p>
<p dir="auto"><a href="https://babeljs.io/repl/#?experimental=true&amp;evaluate=true&amp;loose=false&amp;spec=false&amp;code=%40decorate((arg)%20%3D%3E%20null)%0Aclass%20Example1%20%7B%0A%7D%0A%0A%40decorate(arg%20%3D%3E%20null)%0Aclass%20Example2%20%7B%0A%7D" rel="nofollow">https://babeljs.io/repl/#?experimental=true&amp;evaluate=true&amp;loose=false&amp;spec=false&amp;code=%40decorate((arg)%20%3D%3E%20null)%0Aclass%20Example1%20%7B%0A%7D%0A%0A%40decorate(arg%20%3D%3E%20null)%0Aclass%20Example2%20%7B%0A%7D</a></p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="@decorate((arg) =&gt; null)
class Example1 {
}

@decorate(arg =&gt; null)
class Example2 {
}"><pre class="notranslate">@<span class="pl-en">decorate</span><span class="pl-kos">(</span><span class="pl-kos">(</span><span class="pl-s1">arg</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-c1">null</span><span class="pl-kos">)</span>
<span class="pl-k">class</span> <span class="pl-v">Example1</span> <span class="pl-kos">{</span>
<span class="pl-kos">}</span>

@<span class="pl-en">decorate</span><span class="pl-kos">(</span><span class="pl-s1">arg</span> <span class="pl-c1">=&gt;</span> <span class="pl-c1">null</span><span class="pl-kos">)</span>
<span class="pl-k">class</span> <span class="pl-v">Example2</span> <span class="pl-kos">{</span>
<span class="pl-kos">}</span></pre></div>