<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/zeit/next.js/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h2 dir="auto">Expected Behavior</h2>
<p dir="auto">Shall we remove react &amp; react-dom from peerDependencies? Since using preact (without react) is already an option.</p>
<h2 dir="auto">Current Behavior</h2>
<p dir="auto">will warning about:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="npm WARN next@3.0.1-beta.18 requires a peer of react@^15.5.4 but none was installed.
npm WARN next@3.0.1-beta.18 requires a peer of react-dom@^15.5.4 but none was installed."><pre class="notranslate"><code class="notranslate">npm WARN next@3.0.1-beta.18 requires a peer of react@^15.5.4 but none was installed.
npm WARN next@3.0.1-beta.18 requires a peer of react-dom@^15.5.4 but none was installed.
</code></pre></div>
<h2 dir="auto">Steps to Reproduce</h2>
<p dir="auto"><code class="notranslate">npm install next@beta preact preact-compat</code></p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/zeit/next.js/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h2 dir="auto">Expected Behavior</h2>


<p dir="auto">Throwing undefined in the <code class="notranslate">renderToHTML</code> shouldn't halt the request.</p>
<h2 dir="auto">Current Behavior</h2>
<p dir="auto">Throwing undefined halt the request.</p>
<h2 dir="auto">Steps to Reproduce (for bugs)</h2>


<ol dir="auto">
<li>Throw <code class="notranslate">undefined</code> in a <code class="notranslate">.getInitialProps()</code> method.</li>
</ol>
<h2 dir="auto">Context</h2>


<p dir="auto">To be more specific an error is raised from this line:<br>
<a href="https://github.com/zeit/next.js/blob/2ec397b3564d5dbca933e8def9cd0801ebd3a2b5/server/index.js#L321">https://github.com/zeit/next.js/blob/2ec397b3564d5dbca933e8def9cd0801ebd3a2b5/server/index.js#L321</a></p>
<blockquote>
<p dir="auto">unhandledRejection reason TypeError: Cannot read property 'code' of undefined<br>
at Server._callee18$ (/app/node_modules/next/dist/server/index.js:943:37)</p>
</blockquote>
<p dir="auto">Yes, throwing undefined is <a href="https://stackoverflow.com/questions/30049093/javascript-is-it-safe-to-throw-undefined" rel="nofollow">supported by JavaScript</a>. It was a mistake on my end. I don't throw undefined on purpose 😁 .</p>
<h2 dir="auto">Your Environment</h2>

<table role="table">
<thead>
<tr>
<th>Tech</th>
<th>Version</th>
</tr>
</thead>
<tbody>
<tr>
<td>next</td>
<td>v4.0.2</td>
</tr>
<tr>
<td>node</td>
<td>v8.5.0</td>
</tr>
<tr>
<td>OS</td>
<td>Linux</td>
</tr>
<tr>
<td>browser</td>
<td>Chrome</td>
</tr>
</tbody>
</table>