<p dir="auto">The following code should be disallowed in strict mode and ES5:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="&quot;\5&quot;;
&quot;\05&quot;;
&quot;\55&quot;;
&quot;\055&quot;;"><pre class="notranslate"><code class="notranslate">"\5";
"\05";
"\55";
"\055";
</code></pre></div>
<p dir="auto">This is disallowed by Annex B.1.2 of the EcmaScript 5 spec.</p>
<p dir="auto">When setting up a default <code class="notranslate">tsconfig.json</code> file, we had initially put <code class="notranslate">noEmit: true</code>, so that people could run tsc to typecheck without generating a file (useful for some people's IDE configs and development styles).</p>
<p dir="auto">It would be nice to be able to still use <code class="notranslate">--out</code> (or perhaps some other keyword if <code class="notranslate">noEmit</code> is meant to capture mistakes) so that we wouldn't need to modify our config to generate an output file, while not having people accidentally generate a bunch of files when calling without <code class="notranslate">--out</code>.</p>
<p dir="auto">Current behavior is:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="╰─$ tsc --out test.tsout
error TS5053: Option 'noEmit' cannot be specified with option 'out'."><pre class="notranslate"><code class="notranslate">╰─$ tsc --out test.tsout
error TS5053: Option 'noEmit' cannot be specified with option 'out'.
</code></pre></div>