<p dir="auto">There are a few individual TypeScript definitions in the NuGet package library, but it would be neat to have a package for the whole DefinatelyTyped collection.<br>
I could put it in a shared folder to be referenced by all different packages.</p>
<p dir="auto">Just a thought.</p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I tried using the <code class="notranslate">@types/xxxx</code> package and had problems.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I tried using the latest stable version of tsc. <a href="https://www.npmjs.com/package/typescript" rel="nofollow">https://www.npmjs.com/package/typescript</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> I have a question that is inappropriate for <a href="https://stackoverflow.com/" rel="nofollow">StackOverflow</a>.  (Please ask any appropriate questions there).</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a href="https://github.com/blog/821-mention-somebody-they-re-notified">Mention</a> the authors (see <code class="notranslate">Definitions by:</code> in <code class="notranslate">index.d.ts</code>) so they can respond.
<ul dir="auto">
<li>Authors: <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Igorbek/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Igorbek">@Igorbek</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Igmat/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Igmat">@Igmat</a> @Lavoaster <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Jessidhia/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Jessidhia">@Jessidhia</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jkillian/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jkillian">@jkillian</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eps1lon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eps1lon">@eps1lon</a> @flavordaaave</li>
</ul>
</li>
</ul>
<p dir="auto">Given this <code class="notranslate">tsconfig.json</code> in a project using <code class="notranslate">@types/styled-components</code>, you get a bunch of errors like this:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="node_modules/typescript/lib/lib.dom.iterable.d.ts:67:11 - error TS2300: Duplicate identifier 'FormData'.

67 interface FormData {
             ~~~~~~~~

  node_modules/@types/react-native/globals.d.ts:40:15
    40 declare class FormData {
                     ~~~~~~~~
    'FormData' was also declared here."><pre class="notranslate"><code class="notranslate">node_modules/typescript/lib/lib.dom.iterable.d.ts:67:11 - error TS2300: Duplicate identifier 'FormData'.

67 interface FormData {
             ~~~~~~~~

  node_modules/@types/react-native/globals.d.ts:40:15
    40 declare class FormData {
                     ~~~~~~~~
    'FormData' was also declared here.
</code></pre></div>
<p dir="auto"><code class="notranslate">tsconfig.json</code></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="{
  &quot;compilerOptions&quot;: {
    &quot;target&quot;: &quot;es6&quot;,
    &quot;allowJs&quot;: true,
    &quot;skipLibCheck&quot;: false,
    &quot;esModuleInterop&quot;: true,
    &quot;allowSyntheticDefaultImports&quot;: true,
    &quot;strict&quot;: true,
    &quot;forceConsistentCasingInFileNames&quot;: true,
    &quot;module&quot;: &quot;commonjs&quot;,
    &quot;moduleResolution&quot;: &quot;node&quot;,
    &quot;resolveJsonModule&quot;: true,
    &quot;isolatedModules&quot;: true,
    &quot;noEmit&quot;: true,
    &quot;strictPropertyInitialization&quot;: false,
    &quot;noUnusedLocals&quot;: true,
    &quot;noUnusedParameters&quot;: false,
    &quot;removeComments&quot;: false,
    &quot;preserveConstEnums&quot;: true,
    &quot;sourceMap&quot;: true,
    &quot;jsx&quot;: &quot;react&quot;,
    &quot;typeRoots&quot;: [&quot;./types&quot;, &quot;./node_modules/@types&quot;],
    &quot;baseUrl&quot;: &quot;src&quot;,
    &quot;paths&quot;: {
      &quot;@/*&quot;: [&quot;*&quot;]
    }
  },
  &quot;include&quot;: [
    &quot;types/*&quot;,
    &quot;src/*&quot;,
    &quot;node_modules/@/**/*&quot;
  ]
}"><pre class="notranslate"><code class="notranslate">{
  "compilerOptions": {
    "target": "es6",
    "allowJs": true,
    "skipLibCheck": false,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "commonjs",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "strictPropertyInitialization": false,
    "noUnusedLocals": true,
    "noUnusedParameters": false,
    "removeComments": false,
    "preserveConstEnums": true,
    "sourceMap": true,
    "jsx": "react",
    "typeRoots": ["./types", "./node_modules/@types"],
    "baseUrl": "src",
    "paths": {
      "@/*": ["*"]
    }
  },
  "include": [
    "types/*",
    "src/*",
    "node_modules/@/**/*"
  ]
}
</code></pre></div>
<p dir="auto">I am not using <code class="notranslate">react-native</code> and there is absolutely no reason I can see that <code class="notranslate">styled-components</code> should be pulling this dependency into my project to begin with. Even though it is not inside the <code class="notranslate">package.json</code> of these types, my <code class="notranslate">yarn.lock</code> pulls it as a dependency:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="&quot;@types/styled-components@^4.1.18&quot;:
  version &quot;4.1.18&quot;
  dependencies:
    &quot;@types/react&quot; &quot;*&quot;
    &quot;@types/react-native&quot; &quot;*&quot;
    csstype &quot;^2.2.0&quot;"><pre class="notranslate"><code class="notranslate">"@types/styled-components@^4.1.18":
  version "4.1.18"
  dependencies:
    "@types/react" "*"
    "@types/react-native" "*"
    csstype "^2.2.0"
</code></pre></div>