<p dir="auto">Are there plans to support the <code class="notranslate">using</code> keyword? In large projects there are usually set of modules called "utils" and it's pretty annoying to write <code class="notranslate">import foo = utils.foo;</code> for every used entity.</p>
<p dir="auto">We have some legacy .js files which we ported to .ts. These files are AMD modules, so we generate external AMD modules with tsc.<br>
We have 2 files with the same name (app.js), one at the compilation root directory and another in a subdirectory. The inner file has the one at the root level as a dependency:</p>
<p dir="auto"><code class="notranslate">define(["app"], function(app){...});</code></p>
<p dir="auto">As in RequireJS paths which don't start with . are treated a relative to the compilation root, it includes the root app.js correctly.<br>
When porting this files to the equivalent Typescript:</p>
<p dir="auto"><code class="notranslate">import app = require("app");</code></p>
<p dir="auto">The compiler started crashing with a Out of stack space error.<br>
If we use a relative path: require("../app"), or we rename either file, the error goes away.<br>
I think there are two issues here. On the one hand, I don't know if require expression above is wrong (suspect as it may seem).  I expected tsc to follow the AMD resolution mechanism and map app to the app.ts in the compilation root but it seems to resolve to the current module, which would explain the out of stack error.<br>
On the other hand, even if it were an invalid expression it should issue an error message not a compiler crash. So this one at least I believe to be a bug.</p>