Top-level types can be permanently shadowed. For instance, if I name a type &quot;Date&quot; within a namespace, then <i>every</i> file within that namespace or a sub-namespace will no longer be able to access the JavaScript native Date type. This also apparently isn&#x27;t something they&#x27;re inclined to fix. [0]<p>The tsconfig.json file does not allow for glob-type inclusion of files, or even inclusion of directories. However, you can exclude entire directories. So if I want to simply compile everything in the &quot;src&quot; directory, my best option is to exclude every other directory.<p>[0] <a href="https:&#x2F;&#x2F;github.com&#x2F;Microsoft&#x2F;TypeScript&#x2F;issues&#x2F;983" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Microsoft&#x2F;TypeScript&#x2F;issues&#x2F;983</a>