<p dir="auto">Filed <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="146081575" data-permission-text="Title is private" data-url="https://github.com/TypeStrong/ntypescript/issues/19" data-hovercard-type="issue" data-hovercard-url="/TypeStrong/ntypescript/issues/19/hovercard" href="https://github.com/TypeStrong/ntypescript/issues/19">TypeStrong/ntypescript#19</a>, but it was closed due to not being nTypeScript specific. Opening here.</p>
<p dir="auto"><strong>TypeScript Version:</strong></p>
<p dir="auto">Latest nTypeScript release</p>
<p dir="auto"><strong>Code</strong></p>
<p dir="auto">tsconfig.json:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="{
  &quot;compilerOptions&quot;: {
    &quot;target&quot;: &quot;ES5&quot;,
    &quot;module&quot;: &quot;system&quot;,
    &quot;moduleResolution&quot;: &quot;node&quot;,
    &quot;sourceMap&quot;: true,
    &quot;emitDecoratorMetadata&quot;: true,
    &quot;experimentalDecorators&quot;: true,
    &quot;removeComments&quot;: false,
    &quot;noImplicitAny&quot;: false,
    &quot;outDir&quot;: &quot;javascript&quot;
  },
  &quot;files&quot;: [
    &quot;./typescript/main.ts&quot;,
    &quot;./typed/sha.js.d.ts&quot;
  ],
  &quot;exclude&quot;: [
    &quot;node_modules&quot;
  ]
}"><pre class="notranslate"><code class="notranslate">{
  "compilerOptions": {
    "target": "ES5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "outDir": "javascript"
  },
  "files": [
    "./typescript/main.ts",
    "./typed/sha.js.d.ts"
  ],
  "exclude": [
    "node_modules"
  ]
}
</code></pre></div>
<p dir="auto">main.ts:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="/// &lt;reference path=&quot;../typings/browser.d.ts&quot;/&gt;

import &quot;angular2/bundles/angular2-polyfills&quot;;

import {bootstrap} from &quot;angular2/platform/browser&quot;;
import {AppComponent} from &quot;./app.component&quot;;
import {ROUTER_PROVIDERS} from &quot;angular2/router&quot;;

bootstrap(AppComponent, [ROUTER_PROVIDERS]);"><pre class="notranslate"><code class="notranslate">/// &lt;reference path="../typings/browser.d.ts"/&gt;

import "angular2/bundles/angular2-polyfills";

import {bootstrap} from "angular2/platform/browser";
import {AppComponent} from "./app.component";
import {ROUTER_PROVIDERS} from "angular2/router";

bootstrap(AppComponent, [ROUTER_PROVIDERS]);
</code></pre></div>
<p dir="auto"><strong>Expected behavior:</strong></p>
<p dir="auto">everything should compile successfully</p>
<p dir="auto"><strong>Actual behavior:</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="node_modules/ntypescript/bin/lib.d.ts(1266,14): error TS2300: Duplicate identifier 'PropertyKey'.
typings/browser/ambient/es6-shim/index.d.ts(8,14): error TS2300: Duplicate identifier 'PropertyKey'."><pre class="notranslate"><code class="notranslate">node_modules/ntypescript/bin/lib.d.ts(1266,14): error TS2300: Duplicate identifier 'PropertyKey'.
typings/browser/ambient/es6-shim/index.d.ts(8,14): error TS2300: Duplicate identifier 'PropertyKey'.
</code></pre></div>
<p dir="auto">Core-js definition file defines a <code class="notranslate">PropertyKey</code> like the one in lib.es6.d.ts, now that this is in the main library, this is breaking the core-js compilation.<br>
See <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/core-js/core-js.d.ts#L21">https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/core-js/core-js.d.ts#L21</a></p>
<p dir="auto">Possible fix, rename the type declaration to something else now, to avoid breaking changes with the next TS release.</p>