{"id":18053727,"url":"https://github.com/microsoft/typescript-dom-lib-generator","last_synced_at":"2026-05-02T07:04:22.154Z","repository":{"id":37590753,"uuid":"43449678","full_name":"microsoft/TypeScript-DOM-lib-generator","owner":"microsoft","description":"Tool for generating dom related TypeScript and JavaScript library files ","archived":false,"fork":false,"pushed_at":"2026-04-07T16:17:03.000Z","size":22996,"stargazers_count":728,"open_issues_count":205,"forks_count":469,"subscribers_count":47,"default_branch":"main","last_synced_at":"2026-04-17T00:41:18.030Z","etag":null,"topics":["dom","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-09-30T18:01:12.000Z","updated_at":"2026-04-10T16:10:43.000Z","dependencies_parsed_at":"2026-01-22T07:01:01.375Z","dependency_job_id":"3d344142-9760-4254-bbe7-46bafcdaf118","html_url":"https://github.com/microsoft/TypeScript-DOM-lib-generator","commit_stats":{"total_commits":1965,"total_committers":252,"mean_commits":"7.7976190476190474","dds":0.5903307888040712,"last_synced_commit":"c971a22154b3fb3517e932d69fb8fed77c8cb3f4"},"previous_names":[],"tags_count":883,"template":false,"template_full_name":null,"purl":"pkg:github/microsoft/TypeScript-DOM-lib-generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FTypeScript-DOM-lib-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FTypeScript-DOM-lib-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FTypeScript-DOM-lib-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FTypeScript-DOM-lib-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/TypeScript-DOM-lib-generator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FTypeScript-DOM-lib-generator/sbom","scorecard":{"id":643206,"data":{"date":"2022-08-15","repo":{"name":"github.com/microsoft/TypeScript-DOM-lib-generator","commit":"321faea739848ceade8d40aa5db16fadf8cd25c2"},"scorecard":{"version":"v4.5.0-26-g10b6052","commit":"10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93"},"score":7,"checks":[{"name":"Maintained","score":10,"reason":"14 commit(s) out of 30 and 1 issue activity out of 30 found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#maintained"}},{"name":"Code-Review","score":9,"reason":"GitHub code reviews found for 29 commits out of the last 30 -- score normalized to 9","details":["Warn: no reviews found for commit: 7c68e9c217ed4f3fe13cc8a56a447efeb9e3693b"],"documentation":{"short":"Determines if the project requires code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no badge detected","details":null,"documentation":{"short":"Determines if the project has a CII Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"no vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#vulnerabilities"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: Dependabot detected: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#dependency-update-tool"}},{"name":"Token-Permissions","score":0,"reason":"non read-only tokens detected in GitHub workflows","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/ci.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/codeowners-merge.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/codeowners-merge.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/deploy.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/deploy.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/pr-to-typescript.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/pr-to-typescript.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/test_typescript.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/test_typescript.yml/master?enable=permissions","Warn: no topLevel permission defined: .github/workflows/update-core-deps.yml:1: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/update-core-deps.yml/master?enable=permissions"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#token-permissions"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: : LICENSE.txt:1"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#license"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"no published package detected","details":["Warn: no GitHub publishing workflow detected"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:9: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeowners-merge.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/codeowners-merge.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/codeowners-merge.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/codeowners-merge.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deploy.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/deploy.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/deploy.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/deploy.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr-to-typescript.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/pr-to-typescript.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr-to-typescript.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/pr-to-typescript.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pr-to-typescript.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/pr-to-typescript.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/pr-to-typescript.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/pr-to-typescript.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_typescript.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/test_typescript.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test_typescript.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/test_typescript.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-core-deps.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/update-core-deps.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/update-core-deps.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/update-core-deps.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/update-core-deps.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/kamil1b/git-taxbreak/update-core-deps.yml/master?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/deploy.yml:22","Warn: npmCommand not pinned by hash: .github/workflows/deploy.yml:31","Warn: npmCommand not pinned by hash: .github/workflows/pr-to-typescript.yml:31","Warn: npmCommand not pinned by hash: .github/workflows/test_typescript.yml:25","Warn: npmCommand not pinned by hash: .github/workflows/test_typescript.yml:36","Warn: npmCommand not pinned by hash: .github/workflows/update-core-deps.yml:22","Warn: npmCommand not pinned by hash: .github/workflows/update-core-deps.yml:24","Info: Dockerfile dependencies are pinned","Info: no insecure (not pinned by hash) dependency downloads found in Dockerfiles","Info: no insecure (not pinned by hash) dependency downloads found in shell scripts"],"documentation":{"short":"Determines if the project has declared and pinned its dependencies.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":["Warn: no GitHub releases found"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#branch-protection"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":null,"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy detected in org repo: github.com/microsoft/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/10b6052acfb4f0b8136bc4876cb6f5b6f26bfe93/docs/checks.md#security-policy"}}]},"last_synced_at":"2025-08-21T11:23:08.473Z","repository_id":37590753,"created_at":"2025-08-21T11:23:08.473Z","updated_at":"2025-08-21T11:23:08.473Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32036801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dom","typescript"],"created_at":"2024-10-31T00:07:37.135Z","updated_at":"2026-04-20T07:01:45.201Z","avatar_url":"https://github.com/microsoft.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TypeScript and JavaScript lib generator\n\nThis tool is used to generate the web-based `lib.dom.d.ts` file which is included with TypeScript releases, and as the `@types/web` package.\n\n## Why is my fancy API still not available here?\n\nA feature needs to be supported by two or more major browser engines to be included here, to make sure there is a good consensus among vendors: __Gecko__ (Firefox), __Blink__ (Chrome/Edge), and __WebKit__ (Safari).\n\nIf the condition is met but still is not available here, first check the [contribution guidelines](#contribution-guidelines) below and then please [file an issue](https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/new).\n\n## Build Instructions\n\nTo get things setup:\n\n```sh\nnpm install\n```\n\nTo generate the `.d.ts` files\n\n```sh\nnpm run build\n```\n\nTo test:\n\n```sh\nnpm run test\n```\n\n\n## `@types/[lib]` to TypeScript Versions\n\n| `@types/[lib]` version | TypeScript Version  | Minimum TypeScript Support |\n| ------------------------------------------------------------------------- | ----------- | -------------- |\n| `@types/web` [0.0.1](https://www.npmjs.com/package/@types/web/v/0.0.1)    | ~4.3        | 4.4            |\n| `@types/web` [0.0.2](https://www.npmjs.com/package/@types/web/v/0.0.2)    | ~4.4 beta   | 4.4            |\n| `@types/web` [0.0.25](https://www.npmjs.com/package/@types/web/v/0.0.25)  | 4.4         | 4.4            |\n| `@types/web` [0.0.28](https://www.npmjs.com/package/@types/web/v/0.0.28)  | 4.5 beta    | 4.4            |\n| `@types/web` [0.0.37](https://www.npmjs.com/package/@types/web/v/0.0.37)  | 4.5 rc      | 4.4            |\n| `@types/web` [0.0.37](https://www.npmjs.com/package/@types/web/v/0.0.37)  | 4.5         | 4.4            |\n| `@types/web` [0.0.50](https://www.npmjs.com/package/@types/web/v/0.0.50)  | 4.6 beta    | 4.4            |\n| `@types/web` [0.0.51](https://www.npmjs.com/package/@types/web/v/0.0.51)  | 4.6 rc      | 4.4            |\n| `@types/web` [0.0.51](https://www.npmjs.com/package/@types/web/v/0.0.51)  | 4.6         | 4.4            |\n| `@types/web` [0.0.61](https://www.npmjs.com/package/@types/web/v/0.0.61)  | 4.7 beta    | 4.4            |\n| `@types/web` [0.0.61](https://www.npmjs.com/package/@types/web/v/0.0.61)  | 4.7 rc      | 4.4            |\n| `@types/web` [0.0.61](https://www.npmjs.com/package/@types/web/v/0.0.61)  | 4.7         | 4.4            |\n| `@types/web` [0.0.68](https://www.npmjs.com/package/@types/web/v/0.0.68)  | 4.8 beta    | 4.4            |\n| `@types/web` [0.0.69](https://www.npmjs.com/package/@types/web/v/0.0.69)  | 4.8 rc      | 4.4            |\n| `@types/web` [0.0.69](https://www.npmjs.com/package/@types/web/v/0.0.69)  | 4.8         | 4.4            |\n| `@types/web` [0.0.76](https://www.npmjs.com/package/@types/web/v/0.0.76)  | 4.9         | 4.4            |\n\n## `@types/[lib]` Minimum Target\n\nThe libraries available on `@types/` like `@types/web` require a [`\"target\"`](https://www.typescriptlang.org/tsconfig#target) of ES6 or above, because [iterator](https://www.typescriptlang.org/docs/handbook/iterators-and-generators.html) APIs are included.\n\n## Contribution Guidelines\n\nThe files in the `baselines/` directory from the TypeScript repo are used as baselines.\nFor each pull request, we will run the script and compare the generated files with the baseline files.\nIn order to make the tests pass, please update the baseline as well in any pull requests.\n\n### When the type is missing\n\nIt's possible that the automated algorithm decided that it's not well supported by browsers and thus removed it. Say we want to add a new interface named `Foo`. Check if there is a document about that interface in [MDN](https://developer.mozilla.org/). If there is, see the browser compatibility section and check whether it's supported by two or more browser engines. (Note that Chromium-based browsers use the same browser engine and thus support from them counts as a single support.)\n\nIf all the conditions are fulfilled, it could be that the type is incorrectly removed by `inputfiles/removedTypes.jsonc`. Try finding and removing the relevant item there and run `npm run generate`.\n\nIf conditions are not fulfilled but you think MDN is wrong, please file an issue at https://github.com/mdn/browser-compat-data/issues/. The type will be automatically added in a few weeks when MDN fixes their data.\n\n### When the type exists but is wrong\n\nIt's possible that the type is too specific or too general. First you need to check whether `inputfiles/overridingTypes.jsonc` or `inputfiles/addedTypes.jsonc` have a relevant item, which can be fixed if exists. If they don't, add one in `overridingTypes.jsonc`. Run `npm run generate` to make sure the resulting changes are what you want.\n\nIf you are familiar with Web IDL, you may also want to check whether the upstream IDL itself can be made more specific. Doing so will reduce the need for manual overrides in this repository and thus can be more helpful.\n\n# This repo\n\n## Code Structure\n\n- `src/build.ts`: handles the emitting of the `.d.ts` files.\n- `src/test.ts`: verifies the output by comparing the `generated/` and `baseline/` contents.\n\n## Input Files\n\n- `addedTypes.jsonc`: types that should exist but are missing from the spec data.\n- `overridingTypes.jsonc`: types that are defined in the spec but have TypeScript-friendly modifications in the json files.\n- `removedTypes.jsonc`: types that are defined in the spec but should be removed.\n- `patches/*.kdl`: KDL types\n- `comments.json`: comment strings to be embedded in the generated .d.ts files.\n- `deprecatedMessage.json`: the reason why one type is deprecated.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Ftypescript-dom-lib-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Ftypescript-dom-lib-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Ftypescript-dom-lib-generator/lists"}