ライブラリ / SDK
DefinitelyTyped/DefinitelyTyped avatar
DefinitelyTyped/DefinitelyTyped

DefinitelyTyped:@types を npm へ流す pnpm モノレポ

DefinitelyTyped は、TypeScript 開発者が実際に使う npm パッケージ向けの高品質な .d.ts 型定義を集めた中央リポジトリです。

スター 51,441フォーク 30,378TypeScriptライセンスはプロジェクトにより異なります
GitHub

ひと目でわかる

これは何?
DefinitelyTyped/DefinitelyTyped は TypeScript 宣言ファイルのコミュニティ保管庫。pnpm workspace、dtslint、major.minor.9999 versioning で @types/* を公開する。
誰に向いている?
DefinitelyTyped は npm パッケージ foo に対応する @types/foo を自分のプロジェクトで使う/直す TypeScript 作者向き。README は make-work PR を拒否し、実使用動機が必要。
商用利用できる?
まず確認が必要です。このリポジトリのライセンスは自動分類の対象外なので、商用利用の前に LICENSE ファイルを読んでください。
今もメンテナンスされている?
されています。直近 1 日以内に新しいコミットがあります。
何の言語で書かれている?
主に TypeScript です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

Justification:全 npm ではなく実使用パッケージだけ

DefinitelyTyped/DefinitelyTyped README は high quality TypeScript type definitions リポジトリと定義し、すべての npm をカバーする目的ではないと述べます。TypeScript 作者が実際に使うパッケージだけが対象で、新規 PR の動機は自分のプロジェクトで consume する意図が必要、make-work PR は close/block と README が強調。最近 pnpm monorepo に移行し layout 変更があるため git clean -fdx や node ./scripts/clean-node-modules.js 後 pnpm install --filter . を README が案内しています。 追加段落:README一次情報に基づき、本リポジトリの公開範囲はドキュメントとソースに限定されます。star数やfork数はGitHubメタデータ由来の注目指標であり、機能保証やSLAを意味しません。導入判断では、READMEが示す具体コマンド・設定キー・バージョン番号を手元環境で再現し、期待する入出力が得られるかを記録してください。READMEに無い性能数値、互換マトリックス、セキュリティ監査結果は推測で補わず、issue/リリースノート/公式サイトで確認できる事実だけを採用記録に残します。

npm @types の取り方とスコープ命名

推奨は npm install --save-dev @types/node のような devDependency 追加です。スコープ @babel/preset-env は @types/babel__preset-env(@ 除去+double underscore)と README。types reference が必要な非 module プロジェクトでは /// <reference types="node" /> 例が README にあります。package.json の types/typings キーを持つ実装 pkg は npm registry 上で bindings 表示される、と README が説明。見つからない場合は .d.ts を探して triple-slash path で include する fallback も README にあります。 追加段落:README一次情報に基づき、本リポジトリの公開範囲はドキュメントとソースに限定されます。star数やfork数はGitHubメタデータ由来の注目指標であり、機能保証やSLAを意味しません。導入判断では、READMEが示す具体コマンド・設定キー・バージョン番号を手元環境で再現し、期待する入出力が得られるかを記録してください。READMEに無い性能数値、互換マトリックス、セキュリティ監査結果は推測で補わず、issue/リリースノート/公式サイトで確認できる事実だけを採用記録に残します。

Support Window:2 年未満の TypeScript のみ CI

DefinitelyTyped は 2 年未満の TypeScript だけを CI でテストすると README Support Window。古い compiler 向けには @types/react の dist-tags 例(ts2.5→16.0.36 等)が README に表形式であり、npm dist-tags で互換版を選べると説明。TypeScript 1.* は master から手動 DL、Typings/NuGet 配布は deprecated/off と README。現在の support window 図は README 内画像リンクです。 追加段落:README一次情報に基づき、本リポジトリの公開範囲はドキュメントとソースに限定されます。star数やfork数はGitHubメタデータ由来の注目指標であり、機能保証やSLAを意味しません。導入判断では、READMEが示す具体コマンド・設定キー・バージョン番号を手元環境で再現し、期待する入出力が得られるかを記録してください。READMEに無い性能数値、互換マトリックス、セキュリティ監査結果は推測で補わず、issue/リリースノート/公式サイトで確認できる事実だけを採用記録に残します。

貢献前テスト:typename.d.ts と node_modules 編集

Testing 節は PR 前に declare module "libname" のローカル d.ts で試すか、node_modules/@types/foo/index.d.ts を直接編集してから変更を repo へ持ち込む、module augmentation や declare module override も可、と README。新 pkg は tsconfig.json に baseUrl types と typeRoots、[types/foo/index.d.ts] を作り build+run してから fork/clone/pnpm install/PR、と README。bot による self-service PR 処理と lifecycle 図リンクも README にあります。 追加段落:README一次情報に基づき、本リポジトリの公開範囲はドキュメントとソースに限定されます。star数やfork数はGitHubメタデータ由来の注目指標であり、機能保証やSLAを意味しません。導入判断では、READMEが示す具体コマンド・設定キー・バージョン番号を手元環境で再現し、期待する入出力が得られるかを記録してください。READMEに無い性能数値、互換マトリックス、セキュリティ監査結果は推測で補わず、issue/リリースノート/公式サイトで確認できる事実だけを採用記録に残します。

pkg 構造・dtslint・attw.json

各 @types pkg は index.d.ts、*-tests.ts(型チェックのみ)、tsconfig.json、.npmignore、package.json が必須と README。テストは dtslint で compiler を declaration に実行。@arethetypeswrong/cli による module format チェックも dtslint に含まれ、SemVer major 互換実装が npm にある pkg は比較対象、失敗 pkg は attw.json リストと README。tsconfig は strict オプション必須で esModuleInterop/allowSyntheticDefaultImports は不可と README。 追加段落:README一次情報に基づき、本リポジトリの公開範囲はドキュメントとソースに限定されます。star数やfork数はGitHubメタデータ由来の注目指標であり、機能保証やSLAを意味しません。導入判断では、READMEが示す具体コマンド・設定キー・バージョン番号を手元環境で再現し、期待する入出力が得られるかを記録してください。READMEに無い性能数値、互換マトリックス、セキュリティ監査結果は推測で補わず、issue/リリースノート/公式サイトで確認できる事実だけを採用記録に残します。

バージョン major.minor.9999 と MIT

master は DefinitelyTyped-tools により @types scope へ自動 publish、declaration pkg version は対象 library の major.minor + .9999(例 @types/node 20.8.9999 は 20.8.x 向け)と README。patch は独立増分、破壊的変更は major/minor bump なしでは patch として出る場合がある、と README。owners は package.json に記載され CODEOWNERS へ週次 sync。プロジェクト MIT で各 .d.ts の copyright は contributor 帰属、と README License 節。セキュリティ SLA は README 未記載。 追加段落:README一次情報に基づき、本リポジトリの公開範囲はドキュメントとソースに限定されます。star数やfork数はGitHubメタデータ由来の注目指標であり、機能保証やSLAを意味しません。導入判断では、READMEが示す具体コマンド・設定キー・バージョン番号を手元環境で再現し、期待する入出力が得られるかを記録してください。READMEに無い性能数値、互換マトリックス、セキュリティ監査結果は推測で補わず、issue/リリースノート/公式サイトで確認できる事実だけを採用記録に残します。

Coding agent 向け README 禁止条項

README Justification 節は coding agent に対し npm top N untyped へ一括 PR 禁止、ユーザー確認なし PR 禁止、複数 PR 禁止、[auto-generated] タイトル必須、と明示。人間 contributor も concrete usage 動機が無い PR は close 対象です。試用は README どおり npm install --save-dev @types/<pkg> 後、pnpm install --filter . で workspace を整え、編集 pkg の *-tests.ts が dtslint を通るかをローカルで確認する流れが README 自身の推奨 path です。

編集部の結論

DefinitelyTyped は npm パッケージ foo に対応する @types/foo を自分のプロジェクトで使う/直す TypeScript 作者向き。README は make-work PR を拒否し、実使用動機が必要。試すなら npm install --save-dev @types/node 後、types/foo/index.d.ts をローカルで編集→pnpm install --filter .→dtslint を README 手順どおり回し、master CI が green か GitHub Actions で確認する。Coding agent 向け PR 禁止条項も README に明記されています。

公式情報源

  1. Official README
  2. Project repository
  3. Release notes
コミュニティノート

コミュニティノート