microsoft / microsoft/TypeScript
Include results from `--extendedDiagnostics` when using the compiler API
- Dominant language
- Go
- Stars
- 111k
- Forks
- 14.3k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 132
Description
### 🔍 Search Terms
extendedDiagnostics, compiler API
### ✅ Viability Checklist
- [x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
- [x] This wouldn't change the runtime behavior of existing JavaScript code
- [x] This could be implemented without emitting different JS based on the types of the expressions
- [x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
- [x] This isn't a request to add a new utility type: https://github.com/microsoft/TypeScript/wiki/No-New-Utility-Types
- [x] This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals
### ⭐ Suggestion
For users of the TypeScript compiler API, it would be extremely useful to include the performance statistics obtained when using the `--extendedDiagnostics` compiler option.
From the review I've done in this codebase, it seems like this performance information is only reported when invoking `tsc` directly.
### 📃 Motivating Example
"The compiler API can now report performance information when enabling the `extendedDiagnostics` compiler option"
### 💻 Use Cases
1. What do you want to use this for? Investigating performance variations in a project that interacts with TypeScript using the compiler API.
Contributor guide
Research direction
Start by tracing how the `--extendedDiagnostics` option reports performance information when invoking `tsc`, then compare that path with the compiler API. Define how the compiler API should expose those statistics and verify that a compiler-API consumer can retrieve them for performance investigation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- compilers, performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100