This document describes how to effectively report issues to the TypeScript repository on GitHub, including bugs, feature requests, library definition problems, and module resolution issues. Following these guidelines ensures issues are actionable and helps maintainers respond efficiently.
For information about contributing code changes, see Contributing Guide. For information about the pull request process, see Pull Request Process.
TypeScript uses GitHub Issues with structured templates to manage bug reports, feature requests, and other feedback. The repository enforces specific requirements for each issue type to ensure quality and actionability.
Sources: CONTRIBUTING.md31-77 .github/ISSUE_TEMPLATE/bug_report.yml1-10
Before creating any issue, all reporters must complete these mandatory steps:
The TypeScript FAQ contains answers to common questions and documents known limitations that are not bugs. Issues asking questions already answered in the FAQ are closed without elaboration.
Sources: CONTRIBUTING.md33-38
Search existing issues thoroughly before filing new reports. The repository has thousands of open and closed issues covering most common scenarios.
Search Strategy:
| Method | Example | Notes |
|---|---|---|
| GitHub Search | Search in repository issues | Basic but limited |
| Search Engine | site:github.com/microsoft/TypeScript <keywords> | Better relevancy ranking |
| Error Codes | Search for diagnostic codes like TS2822 | Direct match for compiler errors |
| Function Names | Search top function names from stack traces | For crash reports |
Search Tips:
Sources: CONTRIBUTING.md39-49 .github/ISSUE_TEMPLATE/bug_report.yml7-12
Questions about usage should be directed to:
typescript)The issue tracker is exclusively for bugs and suggestions, not usage questions.
Sources: CONTRIBUTING.md50-55 README.md44-46
TypeScript provides several structured issue templates, each with specific required fields to facilitate triage.
Sources: .github/ISSUE_TEMPLATE/bug_report.yml1-100 .github/ISSUE_TEMPLATE/feature_request.yml1-80
For details on specific reporting categories, see the following child pages:
lib.d.ts files and the process for DOM API updates via TypeScript-DOM-lib-generator.--traceResolution and --showConfig output.The TypeScript repository uses several GitHub Actions workflows to maintain issue quality and validate contributions.
The twoslash-repros.yaml workflow allows maintainers to run code samples from issues against specific TypeScript versions to confirm bugs or perform bisections.
Sources: .github/workflows/twoslash-repros.yaml1-35
The pr-modified-files.yml workflow (referenced in standard maintenance) validates pull requests that modify sensitive files:
src/lib/dom.generated.d.ts are automatically flagged, as these must be changed in the TypeScript-DOM-lib-generator repository.tests/baselines/reference/api/typescript.d.ts indicate a change to the public compiler API and require explicit review.Sources: .github/workflows/ci.yml125-131 .github/workflows/new-release-branch.yaml78-87
Effective code samples are:
Sources: CONTRIBUTING.md56-64 .github/ISSUE_TEMPLATE/bug_report.yml69-79
Always specify the version of TypeScript where the issue occurs. You can find this by running tsc --version. It is highly recommended to test against the nightly build (npm install typescript@next) before reporting.
Sources: CONTRIBUTING.md59-63 README.md23-27
🚨 Important: Development in this repository is winding down as the team moves toward a new implementation (TypeScript-go). PRs and issues for this codebase are currently limited to:
Feature additions and general behavioral changes are currently on pause until the next major version is completed.
Sources: CONTRIBUTING.md5-6 README.md31-39
The repository employs a bot system (typescript-automation[bot]) to handle routine tasks like setting versions, creating release branches, and updating the Last Known Good (LKG) compiler artifacts.
Sources: .github/workflows/new-release-branch.yaml89-91 .github/workflows/update-package-lock.yaml53-56
Refresh this wiki