<p dir="auto">At the moment:</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="class Article {
   @Relation
   author: OneRelation&lt;User&gt;;
}"><pre class="notranslate"><span class="pl-k">class</span> <span class="pl-smi">Article</span> <span class="pl-kos">{</span>
   @<span class="pl-smi">Relation</span>
   <span class="pl-c1">author</span>: <span class="pl-smi">OneRelation</span><span class="pl-kos">&lt;</span><span class="pl-smi">User</span><span class="pl-kos">&gt;</span><span class="pl-kos">;</span>
<span class="pl-kos">}</span></pre></div>
<p dir="auto">emits:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="__metadata('design:type', OneRelation)"><pre class="notranslate"><span class="pl-en">__metadata</span><span class="pl-kos">(</span><span class="pl-s">'design:type'</span><span class="pl-kos">,</span> <span class="pl-v">OneRelation</span><span class="pl-kos">)</span></pre></div>
<p dir="auto">My suggestion is that that instead of just type it would also include the type args.</p>
<p dir="auto">Maybe something like this:</p>
<div class="highlight highlight-source-js notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="__metadata('design:type', {type: OneRelation, args: [{type: User, args: []}])"><pre class="notranslate"><span class="pl-en">__metadata</span><span class="pl-kos">(</span><span class="pl-s">'design:type'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span><span class="pl-c1">type</span>: <span class="pl-v">OneRelation</span><span class="pl-kos">,</span> <span class="pl-c1">args</span>: <span class="pl-kos">[</span><span class="pl-kos">{</span><span class="pl-c1">type</span>: <span class="pl-v">User</span><span class="pl-kos">,</span> <span class="pl-c1">args</span>: <span class="pl-kos">[</span><span class="pl-kos">]</span><span class="pl-kos">}</span><span class="pl-kos">]</span><span class="pl-kos"></span><span class="pl-kos">)</span></pre></div>
<p dir="auto">With the latter i don't have to repeat myself in decorator that this is a one relation to user as i have already specified this in type.</p>
<p dir="auto">Thanks,<br>
Reio</p>
<p dir="auto">Using TypeScript 1.8 beta with the "--allowJs" flag to compile a .js file with JSDoc comments causes a compiler crash for any file JS containing a JSDoc <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/return/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/return">@return</a> comment.  For example:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="/**
 * @return the number 5
 */
 function five() {
    return 5;
 }"><pre class="notranslate"><code class="notranslate">/**
 * @return the number 5
 */
 function five() {
    return 5;
 }
</code></pre></div>
<p dir="auto">% tsc --allowJs --outDir /tmp test.js</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:32796
                throw e;
                ^

TypeError: Cannot read property 'type' of undefined
    at getReturnTypeFromJSDocComment (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:19407:68)
    at getSignatureFromDeclaration (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:14802:36)
    at checkSpecializedSignatureDeclaration (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:20664:29)
    at checkSignatureDeclaration (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:20420:13)
    at checkFunctionOrMethodDeclaration (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:21170:13)
    at checkFunctionDeclaration (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:21161:17)
    at checkSourceElement (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:22800:28)
    at Object.forEach (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:98:30)
    at checkSourceFileWorker (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:22908:20)
    at checkSourceFile (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:22894:13)
``"><pre class="notranslate"><code class="notranslate">/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:32796
                throw e;
                ^

TypeError: Cannot read property 'type' of undefined
    at getReturnTypeFromJSDocComment (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:19407:68)
    at getSignatureFromDeclaration (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:14802:36)
    at checkSpecializedSignatureDeclaration (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:20664:29)
    at checkSignatureDeclaration (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:20420:13)
    at checkFunctionOrMethodDeclaration (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:21170:13)
    at checkFunctionDeclaration (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:21161:17)
    at checkSourceElement (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:22800:28)
    at Object.forEach (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:98:30)
    at checkSourceFileWorker (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:22908:20)
    at checkSourceFile (/home/bill/Applications/node-v4.2.4-linux-x64/lib/node_modules/typescript/lib/tsc.js:22894:13)
``
</code></pre></div>