This document outlines our focused tasks for TypeScript 3.8, as well as some of the discussion that explains how/why we prioritized certain work items. Nothing is set in stone, but we will strive to complete them in a reasonable timeframe.
Dates
Work Items
Expected Work Items
- Compiler Features
- Performance
- Command Line Tooling
- Editor Productivity
- Investigate performance improvements
- Migration tooling investigation: Elicit feedback on…
- Refactorings
- Quick Fixes
- Call Hierarchy API
- Infrastructure
- Documentation
Deferred Work Items
Planning Meeting Notes
Motivations
- Bug backlog
- Goals and current 6-month roadmap
- GitHub user feedback (👍s)
- Feedback from customer interviews, social media, past iteration plans
- Visual Studio and Visual Studio Code feedback, as well as new functionality demands
- Actionable PRs (need to make a call)
Notes
- Compiler Features
- New Export Forms
- Top-Level Await
- Private Fields (Flagged?)
- Address anticipated feedback from 3.7
- Lib Updates?
- Declaration emit
- Bug Squashing!
- Debt reduction for addressing bugs
- Awareness of release
- Performance
- Investigate async file-writing
- Plugin Investigation: async plugins?
- Declaration emit
updateGraph
details in TSServer responses
- Provides easier analysis for TSServer performance problems.
- Requires synchronization with editor teams.
- Investigate recompilation speed
tsc --watch
isn’t as fast as gulp-tsb
(because it’s less accurate). Is there a fast and loose mode?
- Tooling
- dts-downlevel
- Several library authors have explained that it is hard to support older versions of TypeScript while using the latest.
.d.ts
files keep artifacts of your version of TS even when “uninteresting” for older versions of TS.
- Goes back to long-standing request (e.g.
readonly
properties broke earlier versions of TS)
- Enabled by
typesVersions
- Editor Productivity
- Interactive diagnostics ❌
- Probably won’t be able to prioritize during this release.
- Investigate performance improvements
- Cross-file go-to-definition
- Noticed in partner team codebases
- Request refactorings less often
- Investigate automatic editor migrations
- Do existing tools solve the problem?
- Can we do a good job in the editor?
- Leave room open to refactoring discoverability and triggers.
- Refactorings without spans might need to be triggerable.
- Refactorings
- Infrastructure
- Triage & Scheduling
- Weekly Status Mails for Bug Reduction
- JIT deoptimization analysis
- VS Code extension
- CI integration (e.g.
@typescript-bot what deoptimizes?
)
- Will be learning here from general perf investigations. Not certain if this will be useful.
extendedDiagnostics
diffs on PRs
- GitHub Package Registry publishing for
@types
.
- Expand version list for crash dumps
- We should be looking at beta and RC.
- Documentation
- Handbook
- Website
- Contributing Guidelines
#TypeScript #jaascript #web-development #angular